/* Scoped AGAPE visual layer. Core forms and calendar work without JavaScript. */
.agape-calendar,.agape-live-form{--experience-blue:#196eac;--experience-red:#ca1a2c;--experience-purple:#6841a0;--experience-navy:#10334f;border:1px solid #cadfed;border-radius:26px;box-shadow:0 18px 50px #10334f10;background:linear-gradient(145deg,#f3f9ff 0%,#fff 40%,#fff6f7 100%);padding:30px}
.agape-calendar .agape-cal-top{position:relative;isolation:isolate;overflow:hidden;margin:-30px -30px 0;padding:32px;border-radius:25px 25px 0 0;min-height:150px;background:linear-gradient(115deg,#10334f,#196eac);color:#fff;border-bottom:5px solid #ca1a2c}
.agape-calendar .agape-cal-top::after,.agape-form-heading::after{content:'';position:absolute;z-index:-1;width:230px;height:230px;right:-55px;top:-100px;border:35px solid #ffffff12;border-radius:50%;pointer-events:none}
.agape-calendar .agape-cal-top h3{color:#fff;max-width:650px;font-size:clamp(25px,3vw,36px);line-height:1.15;text-wrap:balance}
.agape-calendar .agape-cal-top .eyebrow{color:#dfedff;letter-spacing:.13em;font-size:11px}
.agape-calendar .agape-cal-zone{background:#ffffff14;color:#fff;border-color:#ffffff45;font-weight:700;padding:10px 14px}
.agape-calendar .agape-cal-demo{border:1px solid #f3b8c0;border-left:4px solid #ca1a2c;border-radius:12px;background:#fff0f2;padding:13px 17px;color:#8b1423;font-weight:600}
.agape-calendar .agape-cal-tools{margin:22px 0 12px;gap:12px}
.agape-calendar-enhanced .agape-cal-tools label{display:none}
.agape-calendar .agape-cal-tools p{color:#405971;font-size:13px}
.agape-program-filters{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 26px}
.agape-program-filter{--program-color:#10334f;--program-tint:#eaf0f6;display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:10px 14px;font-size:12px;line-height:1.25;font-weight:700;border:1px solid #c4d6e5;background:#fff;border-radius:24px;color:var(--program-color);cursor:pointer;transition:transform .18s,background .18s,box-shadow .18s}
.agape-program-filter::before{content:'';width:8px;height:8px;flex-shrink:0;background:var(--program-color);border-radius:50%}
.agape-program-filter[data-program=food]{--program-color:#196eac;--program-tint:#e6f2fc}
.agape-program-filter[data-program=learning]{--program-color:#6841a0;--program-tint:#f1eafd}
.agape-program-filter[data-program=community]{--program-color:#10334f;--program-tint:#eaf0f6}
.agape-program-filter[data-program=volunteer]{--program-color:#ca1a2c;--program-tint:#ffe9ed}
.agape-program-filter[aria-pressed=true]{background:var(--program-color);border-color:var(--program-color);color:#fff;box-shadow:0 5px 12px #10334f20}
.agape-program-filter[aria-pressed=true]::before{background:#fff}
.agape-calendar .fc{--fc-border-color:#dce7f1;--fc-today-bg-color:#eaf4ff;background:#fff;border-radius:16px;padding:18px;box-shadow:0 4px 24px #10334f08}
.agape-calendar .fc .fc-toolbar{margin-bottom:23px}
.agape-calendar .fc .fc-toolbar-title{color:#10334f;font-size:23px}
.agape-calendar .fc .fc-button-group{gap:4px;background:#eff4fa;border-radius:14px;padding:5px}
.agape-calendar .fc .fc-button-group>.fc-button{margin-left:0;border-radius:10px!important}
.agape-calendar .fc .fc-button-primary{min-height:44px;border:1px solid transparent;background:#edf4fb;color:#164f7c;font-weight:700;box-shadow:none;transition:background .18s,color .18s,transform .18s}
.agape-calendar .fc .fc-button-primary:not(:disabled).fc-button-active{background:#ca1a2c;border-color:#ca1a2c;color:#fff;box-shadow:0 4px 10px #ca1a2c25}
.agape-calendar .fc .fc-button-primary:not(:disabled):hover{background:#196eac;border-color:#196eac;color:#fff}
.agape-calendar .fc .fc-col-header-cell{background:#edf4fb;color:#164f7c;font-size:12px}
.agape-calendar .fc .fc-daygrid-day-number{margin:4px;border-radius:50%;min-width:30px;text-align:center}
.agape-calendar .fc .fc-day-today .fc-daygrid-day-number{background:#196eac;color:#fff}
.agape-calendar .fc .fc-daygrid-event{border-radius:8px;margin:3px 4px;padding:6px 7px;box-shadow:0 3px 7px #10334f15;transition:transform .18s,box-shadow .18s}
.agape-calendar .fc .fc-timegrid-event{border-radius:8px;box-shadow:0 2px 6px #10334f20;transition:filter .18s}
.agape-calendar .fc .fc-list-event td{padding-top:17px;padding-bottom:17px;transition:background .18s}
.agape-calendar .fc .fc-list-event:hover td{background:#eef5ff}
.agape-calendar .fc .fc-list-day-cushion{background:linear-gradient(90deg,#e7f2fd,#f3edfb);padding:14px}
.agape-cal-sample{display:inline-block;margin-top:3px;padding:1px 5px;background:#ffffff20;border-radius:4px;font-size:9px;font-weight:600;opacity:1}
.agape-calendar .fc-list .agape-cal-sample{background:#fff0f2;color:#9f1527;margin-left:8px}
.agape-cal-dialog{border-top:7px solid #ca1a2c;border-radius:24px;background:linear-gradient(145deg,#eaf4ff,#fff 55%);padding:38px;box-shadow:0 25px 100px #071b3a60}
.agape-cal-dialog::backdrop{background:#0d2941bc;backdrop-filter:blur(4px)}
.agape-cal-dialog .agape-cal-kind{display:inline-block;background:#196eac;color:#fff;border-radius:20px;padding:7px 12px;font-weight:700}
.agape-cal-dialog .agape-cal-date{border-left:4px solid #196eac;background:#e5f0fc;padding:14px;border-radius:0 12px 12px 0;color:#164f7c}
.agape-cal-dialog .agape-cal-close{width:44px;height:44px;background:#fff;color:#ca1a2c;box-shadow:0 3px 10px #10334f15;transition:transform .18s}
.agape-live-form{padding:32px;position:relative;isolation:isolate;border-color:#d5dfea}
.agape-live-form .agape-form-heading{position:relative;isolation:isolate;overflow:hidden;margin:-32px -32px 25px;padding:30px 32px;border-radius:25px 25px 0 0;background:linear-gradient(115deg,#196eac,#10334f);border-bottom:5px solid #ca1a2c;color:#fff}
.agape-live-form .agape-form-heading h2{color:#fff;font-size:clamp(27px,3vw,34px);margin:10px 0 0;line-height:1.16;max-width:95%;text-wrap:balance}
.agape-form-kicker{display:block;font-size:10px;line-height:1.6;text-transform:uppercase;letter-spacing:.12em;font-weight:700;color:#e4f1ff;max-width:90%}
.agape-live-form>p{font-size:14px;color:#405971;overflow-wrap:anywhere}
.agape-form-progress{margin:24px 0 22px;padding:15px 18px;border:1px solid #d2e3f2;background:#eaf3fc;border-radius:14px}
.agape-form-progress>span{font-size:12px;font-weight:700;display:block;color:#164f7c}
.agape-form-progress progress{display:block;width:100%;height:7px;margin-top:10px;border:0;border-radius:10px;overflow:hidden;appearance:none;background:#d1dfec;color:#196eac}
.agape-form-progress progress::-webkit-progress-bar{background:#d1dfec;border-radius:10px}
.agape-form-progress progress::-webkit-progress-value{background:linear-gradient(90deg,#196eac,#6841a0);border-radius:10px;transition:width .25s}
.agape-form-progress progress::-moz-progress-bar{background:#196eac;border-radius:10px}
.agape-form-progress.is-complete{background:#f0ebfa;border-color:#d6c6ef}
.agape-live-form label{color:#183c5b;font-size:13px;margin-top:19px}
.agape-live-form input:not([type=checkbox]):not([type=hidden]),.agape-live-form select,.agape-live-form textarea{border:1px solid #b9cfdf;border-radius:12px;background:#fff;color:#183c5b;padding:14px;min-height:50px;box-shadow:0 2px 4px #10334f04;transition:border-color .2s,box-shadow .2s,background .2s}
.agape-live-form textarea{resize:vertical;min-height:145px}
.agape-live-form input:not([type=checkbox]):focus,.agape-live-form select:focus,.agape-live-form textarea:focus{border-color:#196eac;background:#f7fbff;box-shadow:0 0 0 4px #196eac15}
.agape-live-form .agape-touched:invalid,.agape-live-form [aria-invalid=true]{border-color:#ca1a2c!important;background:#fff6f7!important}
.agape-live-form .check{display:flex;align-items:flex-start;gap:10px;padding:17px;border:1px solid #d3deeb;border-radius:14px;background:#edf4fc;font-size:13px;cursor:pointer}
.agape-live-form .check:has(:checked){border-color:#6841a0;background:#f3eefc}
.agape-live-form input[type=checkbox]{width:20px;height:20px;min-width:20px;accent-color:#196eac;margin:0;margin-top:2px;cursor:pointer}
.agape-live-form #agape-data-note{font-size:12px;line-height:1.6;margin-top:12px}
.agape-live-form .button[type=submit]{background:#ca1a2c;border-color:#ca1a2c;border-radius:14px;min-height:54px;padding:17px 25px;color:#fff;box-shadow:0 7px 18px #ca1a2c22;transition:transform .2s,box-shadow .2s,background .2s;cursor:pointer}
.agape-live-form .button[type=submit] span{transition:transform .2s}
.agape-live-form .button[type=submit]:disabled{background:#10334f;border-color:#10334f;color:#fff;cursor:wait;transform:none}
.agape-live-form .button.is-sending::after{content:'';height:16px;width:16px;border:2px solid #ffffff55;border-top-color:#fff;border-radius:50%;animation:agape-spin .7s linear infinite}
.agape-live-form .agape-send-status{margin-top:12px;color:#164f7c}
.agape-live-form .agape-send-status:empty{display:none}
.agape-live-form .notice[role=status]{background:#eaf4ff;border:1px solid #bad4ed;border-left:5px solid #196eac;border-radius:14px;padding:24px;color:#10334f}
.agape-live-form .notice[role=status] strong{font-size:20px;line-height:1.4;display:block;margin-bottom:14px}
.agape-live-form .notice[role=alert]{background:#fff0f2;border-radius:14px;border-color:#ca1a2c;color:#861828}
.agape-calendar :is(button,a):focus-visible,.agape-live-form :is(button,a,input,select,textarea):focus-visible{outline:3px solid #6841a0;outline-offset:3px}
@keyframes agape-spin{to{transform:rotate(360deg)}}
@media(hover:hover){.agape-program-filter:hover{transform:translateY(-2px);box-shadow:0 5px 12px #10334f18}.agape-program-filter:not([aria-pressed=true]):hover{background:var(--program-tint)}.agape-calendar .fc .fc-daygrid-event:hover{transform:translateY(-2px);box-shadow:0 6px 14px #10334f30}.agape-cal-close:hover{transform:rotate(8deg)}.agape-live-form .button[type=submit]:not(:disabled):hover{background:#aa1122;transform:translateY(-2px);box-shadow:0 10px 22px #ca1a2c30}.agape-live-form .button[type=submit]:hover span{transform:translate(2px,-2px)}}
@media(max-width:900px){.agape-calendar{padding:22px}.agape-calendar .agape-cal-top{margin:-22px -22px 0;padding:26px}.agape-calendar .fc{padding:12px}.agape-calendar .fc .fc-toolbar-chunk:nth-child(2){order:-1;flex-basis:100%;text-align:center}}
@media(max-width:640px){.agape-calendar,.agape-live-form{border-radius:20px}.agape-calendar{padding:14px 10px}.agape-calendar .agape-cal-top{margin:-14px -10px 0;padding:24px 18px;border-radius:19px 19px 0 0;gap:14px}.agape-calendar .agape-cal-demo{font-size:11px;padding:11px 12px;margin-block:18px!important}.agape-program-filters{gap:6px;margin-bottom:18px}.agape-program-filter{font-size:11px;padding:9px 10px;min-height:44px;gap:6px}.agape-calendar .fc{padding:8px 4px}.agape-calendar .fc .fc-toolbar{gap:10px}.agape-calendar .fc .fc-button{font-size:11px;padding:9px 8px}.agape-calendar .fc .fc-toolbar-title{font-size:21px}.agape-calendar .fc .fc-daygrid-event{padding:3px;margin:2px 1px;font-size:9px}.agape-calendar .fc .fc-col-header-cell{font-size:10px}.agape-calendar .fc .fc-daygrid-day-number{min-width:24px;margin:2px;padding:4px}.agape-calendar .fc .fc-list-event td{padding:12px 6px}.agape-live-form{padding:22px 18px}.agape-live-form .agape-form-heading{margin:-22px -18px 22px;padding:26px 20px;border-radius:19px 19px 0 0}.agape-live-form .fields{grid-template-columns:1fr;gap:0}.agape-live-form input:not([type=checkbox]),.agape-live-form select,.agape-live-form textarea{font-size:16px}.agape-live-form .button[type=submit]{width:100%}.agape-form-progress{padding:13px}.agape-cal-dialog{padding:30px 22px}}
@media(prefers-reduced-motion:reduce){.agape-calendar *,.agape-calendar *::before,.agape-calendar *::after,.agape-live-form *,.agape-live-form *::before,.agape-live-form *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.agape-calendar .fc .fc-event:hover,.agape-program-filter:hover,.agape-cal-close:hover,.agape-live-form .button:hover,.agape-live-form .button:hover span{transform:none!important}}
