:root{--icwp-space:8px;--icwp-radius:24px;--icwp-control-radius:999px;--icwp-motion:180ms;--icwp-ease:cubic-bezier(.22,.61,.36,1);--icwp-border:#d5e4da;--icwp-green:#153f35}
.button{min-height:46px;border-radius:var(--icwp-control-radius);transition:background var(--icwp-motion),box-shadow var(--icwp-motion),transform 100ms}
.button:active{transform:scale(.98)}
.button:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #568d69;outline-offset:3px}
[hidden]{display:none!important}
.giving-campaigns{gap:24px}
.campaign-option{position:relative;transition:transform 130ms ease,box-shadow 180ms ease;display:flex;flex-direction:column;align-items:center}
.campaign-option .campaign-art{aspect-ratio:4/3;object-fit:contain;width:100%;max-width:520px}
.campaign-option p{max-width:52ch;line-height:1.7;margin:0 auto 24px}
.campaign-option .button{margin-top:auto}
.campaign-option .button::after{content:"";position:absolute;inset:0;border-radius:28px}
.campaign-option:active{transform:scale(.99)}
.campaign-option:focus-within{outline:3px solid #568d69;outline-offset:4px}
@media(hover:hover){.campaign-option:hover{box-shadow:0 10px 30px #153f3510}}
.donation-page .zeffy-notice{font-size:.95rem!important;line-height:1.75;max-width:70ch!important}
.giving-other h3{margin-top:36px}.giving-other .address-copy{margin:0 auto 12px}.copy-status{min-height:24px;font-size:.9rem}
.flyer-viewer{border:1px solid var(--icwp-border);border-radius:24px;padding:0;width:min(960px,94vw);max-width:94vw;max-height:92dvh;color:var(--icwp-green);background:white;overflow:hidden}
.flyer-viewer::backdrop{background:#092c24b8}
.flyer-toolbar{display:flex;align-items:center;gap:10px;padding:16px;flex-wrap:wrap;border-bottom:1px solid var(--icwp-border)}
.flyer-toolbar h2{font-size:20px;flex:1;margin:0;min-width:160px}
.flyer-toolbar button,.flyer-toolbar a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:10px 16px;border:1px solid var(--icwp-border);border-radius:999px;background:#edf5ef;color:var(--icwp-green);font:inherit;text-decoration:none;cursor:pointer}
.flyer-scroll{overflow:auto;max-height:calc(92dvh - 110px);padding:16px;overscroll-behavior:contain}.flyer-scroll img{display:block;width:100%;height:auto;margin:auto}.zoomed .flyer-scroll img{width:150%;max-width:none}
.reflection .ayah-passage{max-width:900px;margin-inline:auto;padding-bottom:52px}
.reflection #ayah-ar{line-height:2.05;max-height:none;overflow:visible;margin:24px auto;white-space:normal}
.reflection #ayah-en{max-width:65ch;margin:22px auto;line-height:1.75;font-size:clamp(1.15rem,2.2vw,1.55rem);max-height:none;overflow:visible;-webkit-line-clamp:unset;display:block}
.reflection .verse-credit{line-height:1.6;gap:8px}
#ayah-reciter-name{display:block;min-height:2.8em}
#ayah-play{min-width:160px;justify-content:center}
#ayah-audio-status{min-height:24px}
#ayah-play[aria-busy="true"]{opacity:.75}
#ayah-copy,#ayah-share,#ayah-shuffle{min-width:44px;min-height:44px}
.day-filters{position:relative}.day-indicator{left:0!important;top:0!important}
.activities-page .schedule{max-width:1000px;margin-inline:auto}
.activities-page .day{border-radius:var(--icwp-radius)}
@media(pointer:coarse){.ayah-copy-button{opacity:1!important;visibility:visible!important;pointer-events:auto!important}}
@media(max-width:650px){.flyer-toolbar h2{flex-basis:100%;text-align:center}.flyer-toolbar{justify-content:center}.flyer-scroll{max-height:calc(92dvh - 155px)}.reflection #ayah-ar{font-size:clamp(1.8rem,7.5vw,2.6rem)}.reflection .ayah-actions{justify-content:center;flex-wrap:wrap}.campaign-option .campaign-art{max-height:none}.giving-other address{font-size:1.4rem}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.reveal-ready{opacity:1!important;transform:none!important}}
/* Activity filters wrap as independent pills; no shared full-height indicator. */
.activities-page .day-filters{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;background:transparent;padding:8px 0;height:auto}
.activities-page .day-indicator{display:none!important}
.activities-page .day-filters button{position:relative;flex:0 0 auto;min-height:44px;height:auto;padding:12px 20px;border:1px solid #d5e4da;border-radius:999px;background:#f0f6f2;color:#153f35;line-height:1.3;transition:background 160ms,color 160ms}
.activities-page .day-filters button[aria-pressed="true"]{background:#153f35;color:white;border-color:#153f35}
.activities-page .schedule-item{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:8px!important;width:100%;text-align:center!important}
.activities-page .schedule-item>span,.activities-page .schedule-item>h3{width:auto;max-width:100%;margin:0;text-align:center!important}
.activities-page .day>div{display:flex;flex-direction:column;align-items:center;gap:20px}
@media(max-width:600px){.activities-page .day-filters button{font-size:14px;padding:11px 16px}}

/* Responsive finishing pass: stable card hit areas and comfortable reading widths. */
.campaign-option .button{position:static}
.campaign-option .button::after{z-index:1}
.campaign-option h2{max-width:22ch;text-wrap:balance;margin-inline:auto}
.giving-other{max-width:760px;margin-inline:auto;text-align:center}
.giving-other p{max-width:64ch;margin-inline:auto;overflow-wrap:break-word}
.giving-other address{line-height:1.55;font-style:normal;margin:24px auto}
body:has(.flyer-viewer[open]){overflow:hidden}
.flyer-viewer{box-sizing:border-box}
.flyer-scroll{touch-action:pan-x pan-y pinch-zoom;-webkit-overflow-scrolling:touch}
.reflection .verse-credit{flex-wrap:wrap;justify-content:center}
#ayah-reciter-name{min-height:0;line-height:1.5;max-width:30ch;margin-inline:auto;text-wrap:balance}
@media(max-width:600px){
 .giving-campaigns{gap:20px}
 .campaign-option{padding:24px 20px!important;min-width:0}
 .campaign-option .button{max-width:100%;white-space:normal;text-align:center}
 .campaign-option .campaign-art{margin-bottom:24px}
 .giving-other{padding-inline:24px}
 .reflection .ayah-actions{gap:12px}
 .reflection .verse-credit{font-size:14px}
 .flyer-toolbar{gap:8px;padding:12px}
 .flyer-toolbar button,.flyer-toolbar a{padding:10px 13px;font-size:14px}
 .flyer-scroll{padding:10px}
}

/* Action links use the same rounded control language everywhere. */
.text-link{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;padding:12px 22px;border:1px solid #d5e4da;border-radius:999px;background:#edf5ef;color:#153f35;text-decoration:none!important;line-height:1.4;text-align:center;transition:background 180ms,transform 100ms}
.text-link:hover{background:#dcece1;text-decoration:none!important}
.text-link:active{transform:scale(.98)}
.button,.button:hover,button,button:hover,a[role="button"],a[role="button"]:hover{text-decoration:none!important}
.prose a.text-link{ text-decoration:none!important }
@media(max-width:600px){.text-link{max-width:100%;white-space:normal}}

/* All-page responsive audit: consistent controls and resilient text flow. */
button,input[type="submit"],input[type="button"],a[role="button"],.button,.text-link,.select-trigger{border-radius:999px!important;text-decoration:none!important}
button,.button,.text-link{max-width:100%;white-space:normal;overflow-wrap:break-word}
button:not(.select-option),.button,.text-link{min-height:44px}
button svg,.button svg,.text-link svg{flex-shrink:0}
.select-trigger{gap:12px;min-width:0}
.ayah-copy-button{padding:10px 18px!important}
main h1,main h2,main h3{overflow-wrap:break-word;text-wrap:balance}
main p,main label,main address{overflow-wrap:break-word}
main input:not([type="checkbox"]):not([type="radio"]),main textarea,main select{max-width:100%;min-width:0;box-sizing:border-box}
.hijri-compact,.cal-mobile-key{display:none}
@media(max-width:600px){
 .hijri-full{display:none}.hijri-compact{display:inline;white-space:nowrap}
 .cal-mobile-key{display:block;text-align:center;font-size:12px;line-height:1.65;margin:18px auto 0;max-width:40ch}
 .calendar-grid{gap:4px}
 .cal-day{min-width:0;padding:9px 2px;min-height:70px}
 .cal-day small{font-size:11px;line-height:1.4;word-break:normal}
 .cal-day>span{font-size:10px;line-height:1.4;overflow-wrap:break-word}
 .calendar-toolbar{gap:10px}
 .calendar-toolbar h2{font-size:clamp(19px,5vw,25px);min-width:0}
 .page-head h1{line-height:1.12}
 .actions,.tool-actions,.ayah-actions{flex-wrap:wrap;justify-content:center;gap:12px}
 .email-line{width:100%;min-width:0}
 .email-line>input,.email-line>.button{width:100%;max-width:100%}
 .link-row{gap:12px;min-width:0}.link-row>span:first-child{min-width:0}
 .prose{overflow-wrap:break-word}
}
.dua-discovery #dua-reset{justify-self:center;margin-inline:auto}
.dua-topics a{border-radius:999px;display:flex;align-items:center;justify-content:center;gap:8px;min-height:44px;text-align:center}
@media(max-width:600px){.dua-discovery{margin-bottom:32px}.dua-layout{margin-top:32px}.dua-topics{gap:10px}.dua-topics a{padding:14px 18px;line-height:1.5}.dua-topics a svg{flex-shrink:0}}
.dua-discovery{padding-bottom:24px;margin-bottom:0;align-items:end}
.dua-discovery #dua-reset{align-self:end;margin-top:0;margin-bottom:0}
.dua-layout{padding-top:24px}
@media(max-width:600px){.dua-discovery{padding-top:32px;padding-bottom:20px}.dua-layout{padding-top:12px;margin-top:0}}
.dua-discovery .tool-field{margin-bottom:0}

/* Themed dropdowns stay within the usable viewport. */
.select-options{z-index:1500!important;box-sizing:border-box;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;border:1px solid #c9ded1!important;border-radius:22px!important;background:#fff!important;box-shadow:0 12px 32px #153f3520;padding:8px!important;margin:0!important}
.select-option{white-space:normal!important;overflow-wrap:break-word;min-height:44px;padding:12px 16px!important;line-height:1.5;border-radius:999px!important;color:#153f35!important;text-align:left}
.select-option.active,.select-option[aria-selected="true"]{background:#dceee3!important;color:#153f35!important}
.select-option[aria-disabled="true"]{opacity:.5}
.select-chevron{flex:none;transition:transform 180ms}
.select-trigger[aria-expanded="true"] .select-chevron{transform:rotate(180deg)}
.mobile-navigation details[open]>summary{background:#153f35!important;color:white!important;border-radius:999px!important}
.mobile-navigation .mobile-selection-pill{display:none!important}
.mobile-navigation .mega-menu a{min-height:48px;overflow-wrap:break-word}
.select-options{right:auto!important}.select-option{padding-right:40px!important}
.mobile-navigation details:not([open])>summary{color:#153f35!important;background:transparent!important}

.campaign-option .campaign-art.campaign-icon{width:min(100%,300px);height:300px;max-height:none;aspect-ratio:1;object-fit:contain;border-radius:0;background:transparent;margin:0 auto 24px}
@media(max-width:600px){.campaign-option .campaign-art.campaign-icon{width:min(100%,240px);height:240px;margin-bottom:20px}}

/* Painterly illustration system: transparent artwork stays fully in frame. */
img[data-painted-icon]{object-fit:contain;object-position:center;flex-shrink:0;max-width:100%;border-radius:0!important;background:transparent;}
.dua-illustration[data-painted-icon]{width:104px;height:104px;margin-bottom:24px;}
.text-program .program-quran[data-painted-icon]{width:80px;height:80px;}
@media(max-width:700px){
 .dua-illustration[data-painted-icon]{width:88px;height:88px;margin:0 auto 22px;}
 .text-program .program-quran[data-painted-icon]{width:64px;height:64px;}
}

/* Allow the learning card to fit its illustration, copy and pill without clipping. */
.text-program{height:auto;min-height:390px;}
.text-program .text-link{flex-shrink:0;}
@media(max-width:700px){.text-program{min-height:0;}}
