/* Public page interiors. Shared chrome and the completed feature pages remain separate. */
.public-restyled { --pp-ink: #192f4d; --pp-muted: #5c6d81; --pp-line: #dfe7f0; --pp-surface: #f3f7fb; --pp-shadow: 0 12px 36px rgba(24,48,78,.055); }
.public-restyled #main-content { background: #fff; }
.public-restyled #main-content .container { max-width: 1200px; }
.public-restyled #main-content :is(.section-grid > *, .program-highlights > *, .ministry-grid > *, .form-group, .bs-form-group, .donate-field) { min-width: 0; }
.public-restyled #main-content .section { padding-block: clamp(56px,7vw,96px); }
.public-restyled #main-content .bg-accent { background: var(--pp-surface); }
.public-restyled #main-content .section-header { margin-bottom: 38px; }
.public-restyled #main-content .section-header h2,
.public-restyled #main-content .section-content h2 { color: var(--pp-ink); font-size: clamp(1.9rem,3.1vw,2.7rem); line-height: 1.22; letter-spacing: -.025em; }
.public-restyled #main-content .section-header p { max-width: 650px; margin-inline: auto; color: var(--pp-muted); line-height: 1.85; }
.public-restyled #main-content .section-label { font-size: .7rem; font-weight: 700; letter-spacing: .16em; }
.public-restyled #main-content .page-hero { padding: clamp(60px,7vw,94px) 0; min-height: 0; background: radial-gradient(ellipse at 90% 0,rgba(74,137,214,.23),transparent 57%),linear-gradient(120deg,#14283f,#203d60); border-bottom: 5px solid #d7e8fb; }
.public-restyled #main-content .page-hero-overlay { background: none; }
.public-restyled #main-content .page-hero-content { text-align: left; position: relative; }
.public-restyled #main-content .page-hero-badge { border: 1px solid #ffffff30; background: #ffffff0a; padding: 9px 14px; font-size: .72rem; letter-spacing: .08em; border-radius: 6px; margin-bottom: 22px; }
.public-restyled #main-content .page-hero h1 { max-width: 880px; font-size: clamp(2.1rem,4.4vw,3.8rem); line-height: 1.16; letter-spacing: -.025em; margin-bottom: 20px; }
.public-restyled #main-content .page-hero p { max-width: 720px; margin-inline: 0; font-size: clamp(.95rem,1.3vw,1.08rem); line-height: 1.9; color: #d6e1ef; }
.public-restyled #main-content .donate-hero :is(h1,p) { margin-inline: auto; }
.public-restyled #main-content .social-share { justify-content: flex-start; margin-top: 25px; }
.public-restyled #main-content .btn { border-radius: 8px; min-height: 46px; white-space: normal; line-height: 1.5; text-align: center; }
.public-restyled #main-content .btn-outline { border-color: #c5d3e3; color: var(--pp-ink); }
.public-restyled #main-content :is(.program-highlights,.ministry-grid) { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 22px; }
.public-restyled #main-content :is(.program-card,.ministry-card,.donate-card) { background: #fff; padding: 32px; border: 1px solid var(--pp-line); border-radius: 14px; box-shadow: var(--pp-shadow); text-align: left; }
.public-restyled #main-content :is(.program-card,.ministry-card,.donate-card) h3 { color: var(--pp-ink); font-size: 1.2rem; margin-block: 20px 12px; }
.public-restyled #main-content :is(.program-card,.ministry-card,.donate-card) p { color: var(--pp-muted); line-height: 1.85; }
.public-restyled #main-content :is(.program-card-icon,.ministry-card-icon,.donate-icon) { width: 54px; height: 54px; font-size: 1.3rem; border-radius: 12px; background: #eaf2fc; color: #3269a9; margin-inline: 0; box-shadow: none; }
.public-restyled #main-content .section-grid.two-col { gap: clamp(28px,5vw,72px); grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.public-restyled #main-content .info-box { border: 1px solid #ceddec; border-radius: 16px; padding: clamp(25px,4vw,48px); background: #fff; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .info-box-quote { font-size: clamp(1.2rem,2vw,1.6rem); line-height: 1.8; color: var(--pp-ink); }
.public-restyled #main-content .check-list li { line-height: 1.8; padding-block: 7px; }
.public-restyled #main-content .cta-section { margin: 0 24px 48px; padding: clamp(40px,6vw,72px) 20px; border-radius: 18px; background: linear-gradient(115deg,#172e49,#284c73); overflow: hidden; }
.public-restyled #main-content .cta-overlay { background: none; }
.public-restyled #main-content .cta-content h2 { font-size: clamp(1.8rem,3vw,2.8rem); color: #fff; }
.public-restyled #main-content .cta-content p { color: #d8e4f2; max-width: 680px; line-height: 1.85; }
.public-restyled #main-content .cta-buttons { gap: 12px; flex-wrap: wrap; }
.public-restyled #main-content .cta-content .section-label { color: #b4d5fb; }
/* Contact, prayer and volunteering: calm information columns and clear forms. */
.public-restyled #main-content .contact-form-wrap { padding: 0; border: 0; background: transparent; box-shadow: none; }
.public-restyled #main-content .contact-cards { display: grid; gap: 13px; }
.public-restyled #main-content .contact-card { padding: 19px; border-radius: 11px; border: 1px solid var(--pp-line); background: #fff; box-shadow: none; gap: 16px; align-items: flex-start; }
.public-restyled #main-content .contact-card > div { min-width: 0; }
.public-restyled #main-content .contact-card p,
.public-restyled #main-content .contact-card a { overflow-wrap: anywhere; }
.public-restyled #main-content .contact-card-icon { width: 42px; height: 42px; flex-shrink: 0; background: #eaf2fc; border-radius: 10px; color: #3269a9; font-size: 1rem; }
.public-restyled #main-content :is(.contact-form-card,.prayer-form-card,.bs-order-form-wrap) { border: 1px solid var(--pp-line); border-radius: 16px; background: #fff; padding: clamp(22px,3vw,38px); box-shadow: var(--pp-shadow); }
.public-restyled #main-content .contact-form-card h3 { padding-bottom: 23px; border-bottom: 1px solid var(--pp-line); margin-bottom: 26px; line-height: 1.5; }
.public-restyled #main-content .prayer-form-card h3 { padding-bottom: 23px; border-bottom: 1px solid var(--pp-line); margin-bottom: 26px; line-height: 1.5; }
.public-restyled #main-content :is(.contact-form,.bs-order-form,.donate-form) :is(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=file]):not(.donate-input--amount),select,textarea) { width: 100%; max-width: 100%; min-height: 48px; font-size: 1rem; border: 1px solid #ccd8e5; border-radius: 8px; background: #fbfcfe; color: var(--pp-ink); }
.public-restyled #main-content :is(.contact-form,.bs-order-form,.donate-form) :is(input:not(.donate-input--amount),select,textarea):focus { outline: 3px solid #2865c533; outline-offset: 2px; border-color: #4e83bf; }
.public-restyled #main-content .donate-amount-wrap { display: flex; align-items: stretch; min-width: 0; min-height: 48px; border: 1px solid #ccd8e5; border-radius: 8px; background: #fbfcfe; overflow: hidden; }
.public-restyled #main-content .donate-amount-wrap:focus-within { outline: 3px solid #2865c533; outline-offset: 2px; border-color: #4e83bf; box-shadow: none; }
.public-restyled #main-content .donate-amount-wrap .donate-currency-sym { display: flex; align-items: center; flex-shrink: 0; padding: 0 12px; border-right: 1px solid #ccd8e5; background: #f0f4f9; color: #5c6d81; font-size: .88rem; }
.public-restyled #main-content .donate-amount-wrap .donate-input--amount { width: 0; min-width: 0; flex: 1 1 0%; min-height: 46px; padding: 10px 12px; border: 0; border-radius: 0; outline: none; background: transparent; color: var(--pp-ink); font-size: 1rem; }
.public-restyled #main-content :is(.form-group,.bs-form-group) label { font-size: .82rem; color: #334a64; font-weight: 600; line-height: 1.7; }
.public-restyled #main-content .form-group { margin-bottom: 21px; }
.public-restyled #main-content .prayer-card { border: 1px solid var(--pp-line); border-radius: 13px; padding: 28px; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .prayer-card-meta { border-top: 1px solid var(--pp-line); padding-top: 16px; margin-top: 18px; }
/* Church directory. Existing filters and service dialogs keep their hooks. */
.public-restyled .branches-stats { border: 1px solid var(--pp-line); box-shadow: var(--pp-shadow); border-radius: 14px; }
.public-restyled .branches-toolbar { border: 1px solid var(--pp-line); border-radius: 14px; background: #f6f9fc; padding: clamp(20px,3vw,30px); }
.public-restyled .branches-grid { gap: 24px; }
.public-restyled .branches-card { border: 1px solid var(--pp-line); border-radius: 14px; box-shadow: var(--pp-shadow); }
.public-restyled .branches-card-head { background: #f3f7fc; border-bottom: 1px solid var(--pp-line); }
.public-restyled .branches-card-title h3 { line-height: 1.5; }
.public-restyled .branches-card-foot { background: #f8fafc; padding-block: 19px; }
.public-restyled .branches-pill { border-radius: 7px; }
.public-restyled .branch-modal-dialog { border-radius: 16px; border: 1px solid var(--pp-line); }
/* Testimonies and FAQs. */
.public-restyled #main-content .tm-card { border: 1px solid var(--pp-line); border-radius: 14px; padding: 32px; box-shadow: var(--pp-shadow); background: #fff; }
.public-restyled #main-content .tm-card-author { border-top: 1px solid var(--pp-line); padding-top: 20px; }
.public-restyled #main-content .tm-video-card { border: 1px solid var(--pp-line); border-radius: 14px; overflow: hidden; }
.public-restyled #main-content .faq-categories { gap: 10px; flex-wrap: wrap; margin-bottom: 32px; }
.public-restyled #main-content .faq-cat { border-radius: 8px; padding: 12px 18px; min-height: 44px; }
.public-restyled #main-content .faq-grid { max-width: 900px; margin-inline: auto; }
.public-restyled #main-content .faq-item { border: 1px solid var(--pp-line); border-radius: 12px; margin-bottom: 14px; box-shadow: 0 4px 18px #192f4d04; }
.public-restyled #main-content .faq-question { padding: 23px; gap: 14px; line-height: 1.65; }
.public-restyled #main-content .faq-q-text { min-width: 0; }
.public-restyled #main-content .faq-icon { flex-shrink: 0; }
.public-restyled #main-content .faq-cta { max-width: 900px; margin: 35px auto 0; padding: 28px; border-radius: 12px; background: var(--pp-surface); text-align: center; }
/* Bookstore: generously spaced catalog and practical order form. */
.public-restyled #main-content .bs-filters { flex-wrap: wrap; gap: 10px; }
.public-restyled #main-content .bs-filter-btn { border-radius: 8px; padding: 12px 20px; min-height: 44px; }
.public-restyled #main-content .bs-grid { gap: 26px; }
.public-restyled #main-content .bs-card { border: 1px solid var(--pp-line); border-radius: 15px; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .bs-card-img { background: #edf3fa; }
.public-restyled #main-content .bs-card-img img { object-fit: contain; padding: 20px; }
.public-restyled #main-content .bs-card-body { padding: 26px; }
.public-restyled #main-content .bs-card-title { font-size: 1.2rem; line-height: 1.5; }
.public-restyled #main-content .bs-card-footer { border-top: 1px solid var(--pp-line); padding-top: 19px; gap: 12px; flex-wrap: wrap; }
.public-restyled #main-content .bs-steps { gap: 22px; }
.public-restyled #main-content .bs-step { padding: 28px 20px; border: 1px solid var(--pp-line); border-radius: 12px; background: #fff; }
.public-restyled #main-content .bs-step::after { display: none; }
.public-restyled #main-content .bs-order-selected { border-radius: 10px; gap: 12px; flex-wrap: wrap; }
/* Giving: retain bank details, amounts, receipt handling and state messages. */
.public-restyled #main-content .donate-step-card { border: 1px solid var(--pp-line); border-radius: 16px; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .donate-step-card-head { background: #eef4fb; padding: 26px; border-bottom: 1px solid var(--pp-line); }
.public-restyled #main-content .donate-step-card-body { padding: clamp(22px,3vw,32px); }
.public-restyled #main-content .donate-step-card-head h3 { color: var(--pp-ink); }
.public-restyled #main-content .donate-step-card-head p { color: var(--pp-muted); }
.public-restyled #main-content .donate-step-num { background: #234b78; color: #fff; border-color: #234b78; }
.public-restyled #main-content .donate-give-intro p { color: var(--pp-muted); line-height: 1.85; }
.public-restyled #main-content .donate-steps-row { align-items: start; }
.public-restyled #main-content .donate-wallet-card { border-radius: 10px; box-shadow: none; }
.public-restyled #main-content .donate-impact-band { background: var(--pp-surface); border-radius: 16px; padding: clamp(25px,4vw,48px); }
.public-restyled #main-content .donate-impact-card { border: 1px solid var(--pp-line); border-radius: 12px; box-shadow: none; background: #fff; }
.public-restyled #main-content .donate-success-card { border: 1px solid var(--pp-line); border-radius: 18px; padding: clamp(24px,5vw,60px); box-shadow: var(--pp-shadow); }
.public-restyled #main-content .donate-success-actions { flex-wrap: wrap; gap: 12px; }
.public-restyled #main-content .donate-success-lead { overflow-wrap: anywhere; }
/* Library and bilingual resources: retain script-specific type and direction. */
.public-restyled #main-content :is(.bb-hero,.sb-hero,.cr-hero) { background: radial-gradient(ellipse at 85% 0,#335c874d,transparent 60%),linear-gradient(120deg,#14283f,#203d60); padding-block: clamp(50px,6vw,80px); }
.public-restyled #main-content :is(.bb-hero,.sb-hero,.cr-hero) h1 { color: #fff; }
.public-restyled #main-content :is(.bb-hero-bg,.sb-hero-bg,.cr-hero-bg) { opacity: .2; }
.public-restyled #main-content :is(.bb-hero-icon,.sb-hero-icon,.cr-hero-icon) { border-radius: 16px; background: #ffffff0e; border: 1px solid #ffffff26; box-shadow: none; }
.public-restyled #main-content :is(.bb-main,.sb-main,.cr-main) { background: #f6f8fc; padding-block: 48px 72px; }
.public-restyled #main-content :is(.bb-search-wrap,.sb-search-wrap) { border-radius: 12px; border: 1px solid #d6e1ed; box-shadow: 0 8px 28px #18304e12; }
.public-restyled #main-content :is(.bb-search-input,.sb-search-input) { min-width: 0; }
.public-restyled #main-content .sb-search-bar { margin-top: 0; padding: 0; background: #f6f8fc; }
.public-restyled #main-content .sb-search-bar > .container { transform: translateY(-50%); margin-bottom: -28px; }
.public-restyled #main-content .sb-search-wrap { width: 100%; max-width: none; min-height: 56px; padding: 8px 18px; gap: 14px; box-shadow: 0 4px 18px #18304e08; }
.public-restyled #main-content .sb-search-input { width: 100%; padding: 8px 0; font-family: var(--font-body),'Noto Nastaliq Urdu',sans-serif; font-size: .95rem; line-height: 1.6; }
.public-restyled #main-content .sb-search-wrap:focus-within { border-color: #4e83bf; outline: 3px solid #2865c51a; outline-offset: 2px; }
.public-restyled #main-content .sb-search-count:empty { display: none; }
.public-restyled #main-content .bb-search-bar { margin-top: -29px; padding: 0; background: linear-gradient(to bottom,transparent 29px,#f6f8fc 29px); }
.public-restyled #main-content .bb-search-outer { width: 100%; max-width: none; }
.public-restyled #main-content .bb-search-wrap { width: 100%; max-width: none; min-height: 58px; padding: 8px 18px; gap: 14px; box-shadow: 0 4px 18px #18304e08; }
.public-restyled #main-content .bb-search-input { width: 100%; padding: 8px 0; font-family: var(--font-body),'Noto Nastaliq Urdu',sans-serif; font-size: .95rem; line-height: 1.6; direction: revert; text-align: start; }
.public-restyled #main-content .bb-search-wrap:focus-within { border-color: #4e83bf; outline: 3px solid #2865c51a; outline-offset: 2px; }
.public-restyled #main-content .bb-search-count:empty { display: none; }
.public-restyled #main-content .bb-filter-toggle { min-width: 36px; min-height: 36px; }
.public-restyled #main-content :is(.bb-filter-toggle,.bb-search-wrap > i,.sb-search-wrap > i) { flex-shrink: 0; }
.public-restyled #main-content .bs-empty { max-width: 760px; margin: 24px auto 0; padding: 45px 24px; border: 1px dashed #c5d4e5; border-radius: 15px; background: #f7fafe; }
.public-restyled #main-content .tm-featured { border: 1px solid var(--pp-line); border-radius: 16px; overflow: hidden; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .tm-featured-quote { background: #f1f6fc; padding: clamp(24px,4vw,44px); }
.public-restyled #main-content :is(.bb-tab,.sb-tab) { border-radius: 10px; border: 1px solid #dce5ef; min-height: 52px; }
.public-restyled #main-content :is(.bb-category,.sb-index,.cr-toc,.cr-card) { border: 1px solid var(--pp-line); border-radius: 14px; background: #fff; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .bb-cat-head { padding-block: 20px; border-bottom: 1px solid var(--pp-line); }
.public-restyled #main-content .bb-cat-grid { gap: 12px; padding: 20px; }
.public-restyled #main-content .bb-card { border: 1px solid #dce5ef; border-radius: 10px; min-height: 105px; padding: 17px 10px; background: #fbfcfe; }
.public-restyled #main-content .bb-card:hover { background: #203e60; border-color: #203e60; }
.public-restyled #main-content .bb-card-en { font-size: .72rem; line-height: 1.7; }
.public-restyled #main-content .sb-index-header { padding: 25px; background: #203e60; }
.public-restyled #main-content .sb-index-header :is(h2,h3) { color: #fff; }
.public-restyled #main-content .sb-index-header p { color: #cbdcec; }
.public-restyled #main-content .sb-index-header h2 { font-family: 'Noto Nastaliq Urdu',serif; font-size: 1.25rem; line-height: 2.2; margin: 0; }
.public-restyled #main-content #sb-english .sb-index-header h2 { font-family: var(--font-heading); line-height: 1.5; }
.public-restyled #main-content :is(.bb-stat-label,.sb-stat-label,.cr-stat-label) { color: #c4d6eb; }
.public-restyled #main-content :is(.bb-hero-verse,.sb-hero-verse,.cr-hero-verse) { color: #d3e2f1; }
.public-restyled #main-content .sb-tabs { gap: 12px; }
.public-restyled #main-content .sb-tab { padding: 14px 24px; }
.public-restyled #main-content .sb-letter-group { border: 1px solid var(--pp-line); background: #fff; border-radius: 14px; padding: clamp(20px,3vw,34px); margin-top: 28px; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .sb-letter-header { margin-bottom: 24px; padding-bottom: 18px; border-bottom: 1px solid var(--pp-line); }
.public-restyled #main-content .sb-song-grid { grid-template-columns: repeat(auto-fit,minmax(min(100%,300px),1fr)); gap: 13px; }
.public-restyled #main-content .sb-song-card { padding: 18px; border-radius: 10px; background: #fbfcfe; min-width: 0; }
.public-restyled #main-content .sb-song-title { font-family: 'Noto Nastaliq Urdu',serif; font-size: 1rem; line-height: 2.3; color: #263d59; }
.public-restyled #main-content .sb-letter-group[dir=ltr] .sb-song-title { font-family: var(--font-body); line-height: 1.7; }
.public-restyled #main-content .sb-back-to-index { border-radius: 8px; min-height: 44px; padding: 12px 22px; }
.public-restyled #main-content .sb-lyrics-viewer { border: 1px solid var(--pp-line); border-radius: 15px; box-shadow: var(--pp-shadow); padding: clamp(22px,4vw,46px); margin-block: 30px; }
.public-restyled #main-content .sb-lyrics-viewer h2 { color: #203c5d; border-bottom-color: var(--pp-line); padding-bottom: 24px; }
.public-restyled #main-content .sb-lyrics-viewer .sb-lyrics-actions { border-top: 1px solid var(--pp-line); padding-top: 25px; }
.public-restyled #main-content .sb-empty-state { padding: clamp(28px,4vw,48px); text-align: center; background: #fbfcfe; }
.public-restyled #main-content .sb-empty-state > i { display: grid; place-items: center; width: 52px; height: 52px; background: #eaf2fc; color: #3d6c9f; border-radius: 12px; margin: 0 auto 20px; }
.public-restyled #main-content .sb-empty-state h3 { color: var(--pp-ink); font: 700 1.25rem/1.5 var(--font-heading); margin-bottom: 10px; }
.public-restyled #main-content .sb-empty-state p { color: var(--pp-muted); line-height: 1.85; }
.public-restyled #main-content .cr-desc { padding: clamp(28px,4vw,48px) 0 0; background: var(--pp-surface); }
.public-restyled #main-content .cr-intro-panel { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); align-items: center; gap: clamp(28px,4vw,56px); padding: clamp(24px,3.5vw,44px); border: 1px solid var(--pp-line); border-radius: 16px; background: linear-gradient(115deg,#f7faff,#fff 70%); box-shadow: var(--pp-shadow); }
.public-restyled #main-content .cr-intro-heading { display: flex; flex-direction: column; align-items: flex-start; gap: 18px; }
.public-restyled #main-content .cr-intro-icon { display: grid; place-items: center; width: 42px; height: 42px; border: 1px solid #d8e5f4; border-radius: 10px; background: #eaf2fc; color: #3b6799; font-size: 1rem; }
.public-restyled #main-content .cr-intro-heading h2 { margin: 0; color: var(--pp-ink); font-size: clamp(1.35rem,2.3vw,1.8rem); line-height: 1.4; letter-spacing: -.02em; }
.public-restyled #main-content .cr-desc-text { max-width: none; margin: 0; padding-inline-start: clamp(24px,3vw,40px); border-inline-start: 1px solid #dbe5f0; text-align: left; font-size: 1rem; color: var(--pp-muted); line-height: 1.95; }
@media(max-width:768px) {
 .public-restyled #main-content .cr-intro-panel { grid-template-columns: minmax(0,1fr); gap: 22px; }
 .public-restyled #main-content .cr-intro-heading { flex-direction: row; align-items: center; gap: 16px; }
 .public-restyled #main-content .cr-intro-icon { flex-shrink: 0; }
 .public-restyled #main-content .cr-desc-text { padding: 20px 0 0; border-inline-start: 0; border-top: 1px solid #dbe5f0; font-size: .94rem; line-height: 1.85; }
}
.public-restyled #main-content .cr-card-body { padding: clamp(24px,4vw,44px); }
.public-restyled #main-content .sb-tile-grid { padding: 24px; gap: 14px; }
.public-restyled #main-content .sb-tile { border-radius: 11px; border: 1px solid var(--pp-line); box-shadow: none; }
.public-restyled #main-content .cr-toc-item { background: #f7f9fc; border-radius: 10px; border: 1px solid var(--pp-line); padding: 20px; }
.public-restyled #main-content .cr-card-head { background: #f0f5fb; padding: 28px; }
.public-restyled #main-content .cr-card-body-en { padding: clamp(22px,4vw,44px); background: #fbfcfe; border-top: 1px solid var(--pp-line); }
.public-restyled #main-content .cr-card-body-en p { max-width: 78ch; line-height: 1.95; }
.public-restyled #main-content .br-header { background: linear-gradient(120deg,#172e49,#294d73); padding-block: 48px; }
.public-restyled #main-content .br-content { background: #f4f7fb; }
.public-restyled #main-content .br-text { border: 1px solid var(--pp-line); border-radius: 14px; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .br-chapnav { border-block: 1px solid #dbe5ef; box-shadow: 0 4px 14px #18304e08; }
.public-restyled #main-content .br-ch-link { border-radius: 7px; }
.public-restyled #main-content .br-nav-card { border: 1px solid var(--pp-line); border-radius: 12px; box-shadow: none; }
/* Policies: comfortable reading measure and a clearly separated contents panel. */
.public-restyled #main-content .lp-container { max-width: 960px; }
.public-restyled #main-content .lp-updated { display: inline-flex; gap: 8px; flex-wrap: wrap; border: 1px solid var(--pp-line); border-radius: 7px; padding: 9px 14px; background: #f6f9fc; }
.public-restyled #main-content .lp-intro { border-left: 3px solid #638bb8; background: #f4f8fd; border-radius: 0 12px 12px 0; padding: clamp(22px,3vw,32px); }
.public-restyled #main-content .lp-intro p { line-height: 1.95; color: #3d536d; }
.public-restyled #main-content .lp-toc { border: 1px solid var(--pp-line); border-radius: 13px; padding: clamp(22px,3vw,32px); background: #fff; box-shadow: var(--pp-shadow); }
.public-restyled #main-content .lp-toc ol { column-gap: 35px; }
.public-restyled #main-content .lp-toc li { padding-block: 5px; break-inside: avoid; }
.public-restyled #main-content .lp-section { padding-block: 34px; margin: 0; border-bottom: 1px solid var(--pp-line); scroll-margin-top: 110px; }
.public-restyled #main-content .lp-section h2 { font-size: clamp(1.4rem,2.3vw,1.85rem); line-height: 1.5; }
.public-restyled #main-content .lp-section :is(p,li) { line-height: 1.95; color: #465b72; overflow-wrap: anywhere; }
.public-restyled #main-content .lp-contact-card { border: 1px solid #ccdaea; border-radius: 12px; background: #eff5fc; }
.public-restyled #main-content .error-content { max-width: 720px; padding: clamp(28px,5vw,54px); border: 1px solid var(--pp-line); border-radius: 18px; box-shadow: var(--pp-shadow); margin-inline: auto; }
.public-restyled #main-content .error-actions { display: flex; justify-content: center; gap: 12px; flex-wrap: wrap; }
.public-restyled #main-content :is(button,a,input,textarea,select):focus-visible { outline: 3px solid #598dc9; outline-offset: 4px; }
/* Ministry interiors: shared foundations, individual content and reading layouts. */
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.85fr); align-items: center; gap: clamp(32px,6vw,78px); }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-copy { min-width: 0; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-copy h1 { font-size: clamp(2.1rem,3.7vw,3.5rem); }
body:is(.page-missions,.page-volunteer,.page-prayer-requests,.page-faq) #main-content .min-hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 28px; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-note { padding: clamp(26px,3vw,36px); border: 1px solid #ffffff24; border-radius: 16px; background: #ffffff07; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-note-icon { display: grid; place-items: center; width: 50px; height: 50px; margin-bottom: 22px; border: 1px solid #ffffff26; border-radius: 12px; background: #ffffff08; color: #c5dffb; font-size: 1.3rem; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-kicker { color: #adceed; text-transform: uppercase; font: 600 .64rem/1.8 var(--font-body); letter-spacing: .11em; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-note h2 { color: #fff; font-size: clamp(1.5rem,2.3vw,1.9rem); line-height: 1.5; margin-block: 12px 18px; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-note p { color: #c6d9ec; font-size: .85rem; line-height: 1.95; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-note-footer { display: flex; gap: 11px; align-items: flex-start; padding-top: 22px; margin-top: 22px; border-top: 1px solid #ffffff20; color: #d3e6fa; font-size: .72rem; line-height: 1.9; }
body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-note-footer i { margin-top: 4px; color: #a8cbee; }
body.page-missions #main-content .program-highlights,
body.page-volunteer #main-content .volunteer-ministries { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; counter-reset: ministry-area; }
body.page-missions #main-content .program-card,
body.page-volunteer #main-content .ministry-card { position: relative; padding: 32px; border-radius: 15px; border: 1px solid #dce5ef; box-shadow: 0 8px 28px #19314e05; }
body.page-missions #main-content .program-card::after,
body.page-volunteer #main-content .ministry-card::after { counter-increment: ministry-area; content: '0' counter(ministry-area); position: absolute; top: 32px; right: 28px; color: #a1b6cd; font: 500 .7rem/1.5 var(--font-body); }
body.page-missions #main-content .program-card-icon,
body.page-volunteer #main-content .ministry-card-icon { width: 52px; height: 52px; border-radius: 12px; background: #eaf1fa; color: #537da9; border: 1px solid #dce7f4; margin-bottom: 24px; }
body.page-missions #main-content .program-card h3,
body.page-volunteer #main-content .ministry-card h3 { font-size: 1.25rem; line-height: 1.5; color: #294561; margin-block: 0 14px; }
body.page-missions #main-content .program-card p,
body.page-volunteer #main-content .ministry-card p { font-size: .87rem; line-height: 1.95; color: #6a7d93; }
body.page-missions #main-content .mi-impact .section-content > p { color: #667d95; font-size: .95rem; line-height: 1.95; }
body.page-missions #main-content .mi-impact .check-list { display: grid; gap: 12px; }
body.page-missions #main-content .mi-impact .check-list li { display: flex; align-items: flex-start; gap: 12px; padding: 16px 18px; background: #fff; border: 1px solid #dde7f1; border-radius: 9px; font-size: .83rem; line-height: 1.9; color: #536d89; }
body.page-missions #main-content .mi-impact .check-list i { margin-top: 5px; color: #688cb5; }
body.page-missions #main-content .mi-impact .info-box { background: #203b5a; padding: clamp(30px,4vw,48px); border-color: #203b5a; border-radius: 17px; }
body.page-missions #main-content .mi-impact .info-box-quote-icon { color: #a9c7e6; background: #ffffff0a; border: 1px solid #ffffff22; border-radius: 12px; padding: 15px; margin-bottom: 24px; font-size: 1.4rem; }
body.page-missions #main-content .mi-impact .info-box-quote { color: #e0ebf7; font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.2rem,2vw,1.55rem); line-height: 1.9; font-style: normal; }
body.page-missions #main-content .mi-impact .info-box-cite { color: #abc9e8; border-top: 1px solid #ffffff22; padding-top: 24px; margin-top: 26px; font-size: .8rem; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .section-grid.two-col { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: clamp(32px,5vw,68px); align-items: start; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .section-content > p { color: #667b93; font-size: .95rem; line-height: 1.95; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-card { background: #fbfcfe; padding: 23px; border-color: #dde6f0; border-radius: 12px; gap: 17px; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-card-icon { width: 44px; height: 44px; border: 1px solid #dce7f4; background: #eaf1fa; color: #6386ae; border-radius: 11px; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-card h4 { color: #3f5b7c; font: 600 .85rem/1.8 var(--font-body); margin-bottom: 7px; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-card p { color: #76899e; font-size: .82rem; line-height: 1.9; }
body:is(.page-volunteer,.page-prayer-requests) #main-content :is(.contact-form-card,.prayer-form-card) { padding: clamp(24px,3vw,38px); border-radius: 17px; border-color: #d5e1ed; box-shadow: 0 16px 44px #1b34530a; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .min-form-head { display: flex; align-items: center; gap: 15px; padding-bottom: 25px; margin-bottom: 28px; border-bottom: 1px solid #dfe7f0; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .min-form-head > span { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; border-radius: 10px; background: #edf4fd; color: #567fae; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .min-form-head h3 { padding: 0; margin: 0; border: 0; color: #294561; font-size: 1.3rem; line-height: 1.5; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .min-form-head p { margin-top: 7px; color: #7a8da3; font-size: .72rem; line-height: 1.8; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-form .form-group { margin-bottom: 23px; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-form label { color: #536f8d; font-size: .78rem; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-form textarea { line-height: 1.9; min-height: 160px; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-form button[type=submit] { background: #23486f; min-height: 49px; font-size: .85rem; }
body:is(.page-volunteer,.page-prayer-requests) #main-content .alert { padding: 18px; border-radius: 10px; font-size: .85rem; line-height: 1.9; margin-bottom: 24px; }
body:is(.page-volunteer,.page-prayer-requests) #main-content :is(#signup,#prayer-form) { scroll-margin-top: 110px; }
body.page-prayer-requests #main-content .contact-form .min-privacy-choice { display: flex; align-items: flex-start; gap: 12px; padding: 18px; background: #f2f6fc; border: 1px solid #dce6f2; border-radius: 10px; font-weight: 400; line-height: 1.9; color: #647d98; cursor: pointer; }
body.page-prayer-requests #main-content .min-privacy-choice input { width: 18px; height: 18px; flex-shrink: 0; margin-top: 4px; accent-color: #23486f; }
body.page-prayer-requests #main-content .prayer-wall-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.page-prayer-requests #main-content .prayer-card { min-width: 0; display: flex; flex-direction: column; border: 1px solid #dce6f0; border-radius: 15px; padding: 30px; box-shadow: 0 8px 28px #19314e05; }
body.page-prayer-requests #main-content .prayer-card > p { flex: 1; color: #5c7490; font-size: .9rem; line-height: 1.95; overflow-wrap: anywhere; }
body.page-prayer-requests #main-content .prayer-card-meta { color: #7c90a7; font-size: .7rem; line-height: 1.9; border-color: #e0e8f1; overflow-wrap: anywhere; }
body.page-faq #main-content .faq-layout { display: grid; grid-template-columns: minmax(0,.75fr) minmax(0,2fr); gap: clamp(28px,4vw,58px); align-items: start; }
body.page-faq #main-content .min-hero-actions .btn-primary { background: #2865c5; border-color: #2865c5; color: #fff; }
body.page-faq #main-content .min-hero-actions .btn-primary:hover { background: #2057ab; border-color: #2057ab; }
body.page-faq #main-content .faq-topic-panel { min-width: 0; padding: 28px; border: 1px solid #dde6f0; border-radius: 15px; background: #f5f8fc; }
body.page-faq #main-content .faq-topic-panel h2 { color: #294764; font-size: 1.6rem; line-height: 1.4; margin-block: 12px 18px; }
body.page-faq #main-content .faq-topic-panel > p { font-size: .83rem; color: #71869e; line-height: 1.9; }
body.page-faq #main-content .faq-categories { display: flex; flex-direction: column; gap: 9px; margin: 26px 0; }
body.page-faq #main-content .faq-cat { display: flex; align-items: center; justify-content: flex-start; gap: 12px; min-width: 0; width: 100%; padding: 13px 15px; min-height: 46px; border: 1px solid #d9e4ef; border-radius: 8px; background: #fff; color: #567292; font-size: .8rem; text-align: left; }
body.page-faq #main-content .faq-cat.active { background: #23486f; border-color: #23486f; color: #fff; box-shadow: none; }
body.page-faq #main-content .faq-topic-help { display: flex; align-items: center; gap: 12px; padding-top: 24px; border-top: 1px solid #d9e4ef; color: #5c7c9e; font-size: .68rem; line-height: 1.9; }
body.page-faq #main-content .faq-topic-help span { flex: 1; }
body.page-faq #main-content .faq-topic-help strong { display: block; color: #3b628e; font-size: .75rem; margin-top: 4px; }
body.page-faq #main-content .faq-reading-column { min-width: 0; }
body.page-faq #main-content .faq-grid { max-width: none; gap: 14px; }
body.page-faq #main-content .faq-item { border-radius: 12px; border-color: #dce6f0; margin: 0; box-shadow: 0 5px 20px #19314e04; }
body.page-faq #main-content .faq-item.hidden { display: none; }
body.page-faq #main-content .faq-item.open { border-color: #abc3df; box-shadow: 0 8px 24px #19314e09; }
body.page-faq #main-content .faq-question { padding: 24px; gap: 15px; }
body.page-faq #main-content .faq-q-text { color: #375371; font-size: .9rem; font-weight: 500; line-height: 1.85; }
body.page-faq #main-content .faq-num { background: #edf3fb; color: #6c8fb8; font-size: .65rem; border-radius: 8px; }
body.page-faq #main-content .faq-item.open .faq-num { background: #23486f; color: #fff; }
body.page-faq #main-content .faq-icon { border: 1px solid #e0e8f1; border-radius: 7px; background: #f6f9fc; color: #6282a7; }
body.page-faq #main-content .faq-answer { display: none; max-height: none; padding: 0 26px 26px 71px; overflow: visible; transition: none; }
body.page-faq #main-content .faq-item.open .faq-answer { display: block; max-height: none; padding: 0 26px 26px 71px; }
body.page-faq #main-content .faq-answer p { font-size: .87rem; color: #6a8099; line-height: 1.95; overflow-wrap: anywhere; }
body.page-faq #main-content .faq-cta { display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #edf3fb; border: 1px solid #d7e3f1; border-radius: 12px; padding: 24px 26px; text-align: left; }
body.page-faq #main-content .faq-cta p { margin: 0; color: #496b91; font-size: .9rem; }
body.page-faq #main-content .faq-cta .btn { font-size: .8rem; background: #23486f; }
body.page-faq #main-content .faq-empty-state { padding: 44px 26px; text-align: center; background: #f7fafd; border: 1px solid #dce6f1; border-radius: 13px; }
body.page-faq #main-content .faq-empty-state[hidden] { display: none; }
body.page-faq #main-content .faq-empty-state > i { color: #789bbf; font-size: 2rem; margin-bottom: 22px; }
body.page-faq #main-content .faq-empty-state h3 { color: #3b5b7e; font-size: 1.3rem; line-height: 1.5; margin-bottom: 14px; }
body.page-faq #main-content .faq-empty-state p { font-size: .85rem; color: #71869e; line-height: 1.9; }
@media(max-width:1000px) {
 body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-layout { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 30px; }
 body.page-missions #main-content .program-highlights,body.page-volunteer #main-content .volunteer-ministries { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body:is(.page-volunteer,.page-prayer-requests) #main-content .section-grid.two-col { grid-template-columns: minmax(0,1fr); gap: 36px; }
 body.page-prayer-requests #main-content .prayer-wall-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.page-faq #main-content .faq-layout { grid-template-columns: minmax(0,1fr); }
 body.page-faq #main-content .faq-categories { flex-direction: row; flex-wrap: wrap; }
 body.page-faq #main-content .faq-cat { width: auto; }
}
@media(max-width:600px) {
 body:is(.page-missions,.page-volunteer,.page-prayer-requests) #main-content .min-hero-layout { grid-template-columns: minmax(0,1fr); }
 body:is(.page-missions,.page-volunteer,.page-prayer-requests,.page-faq) #main-content .min-hero-actions .btn { width: 100%; justify-content: center; }
 body.page-missions #main-content .program-highlights,body.page-volunteer #main-content .volunteer-ministries,body.page-prayer-requests #main-content .prayer-wall-grid { grid-template-columns: minmax(0,1fr); }
 body.page-missions #main-content .program-card,body.page-volunteer #main-content .ministry-card { padding: 28px; }
 body:is(.page-volunteer,.page-prayer-requests) #main-content :is(.contact-form-card,.prayer-form-card) { padding: 26px 22px; }
 body:is(.page-volunteer,.page-prayer-requests) #main-content .min-form-head { gap: 12px; }
 body:is(.page-volunteer,.page-prayer-requests) #main-content .min-form-head h3 { font-size: 1.2rem; }
 body:is(.page-volunteer,.page-prayer-requests) #main-content .contact-card { padding: 20px; gap: 14px; }
 body.page-faq #main-content .faq-topic-panel { padding: 25px 22px; }
 body.page-faq #main-content .faq-cat { padding: 11px 13px; font-size: .75rem; }
 body.page-faq #main-content .faq-question { padding: 20px; gap: 12px; }
 body.page-faq #main-content .faq-answer,body.page-faq #main-content .faq-item.open .faq-answer { padding: 0 20px 24px; }
 body.page-faq #main-content .faq-cta { flex-direction: column; align-items: stretch; padding: 24px; }
}
/* Testimonials: an editorial feature and calm, readable member stories. */
body.page-testimonials #main-content .tm-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
body.page-testimonials #main-content .page-hero-content > p { max-width: 660px; }
body.page-testimonials #main-content .tm-featured-layout { display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.3fr); align-items: center; gap: clamp(30px,6vw,80px); }
body.page-testimonials #main-content .tm-featured-layout .section-header { text-align: left; margin: 0; }
body.page-testimonials #main-content .tm-featured-layout .section-header h2 { font-size: clamp(2rem,3.3vw,2.8rem); line-height: 1.25; }
body.page-testimonials #main-content .tm-featured-layout .section-header p { margin-inline: 0; color: #6b7e94; font-size: .92rem; line-height: 1.9; }
body.page-testimonials #main-content .tm-featured { width: 100%; max-width: none; border: 1px solid #d9e4ef; border-radius: 17px; box-shadow: 0 16px 44px #1b34530a; }
body.page-testimonials #main-content .tm-featured-quote { padding: clamp(28px,4vw,44px); border: 0; border-radius: 0; background: radial-gradient(ellipse at 0 0,#eaf2fd,transparent 80%),#fbfcfe; box-shadow: none; }
body.page-testimonials #main-content .tm-quote-icon { width: 50px; height: 50px; background: #e6effb; border: 1px solid #d7e4f5; color: #5e83af; border-radius: 12px; font-size: 1.1rem; margin-bottom: 26px; }
body.page-testimonials #main-content .tm-featured-quote blockquote { margin: 0; padding: 0; border: 0; }
body.page-testimonials #main-content .tm-featured-quote blockquote p { color: #2a4563; font-family: Georgia,'Times New Roman',serif; font-size: clamp(1.1rem,1.7vw,1.35rem); line-height: 1.95; font-style: normal; overflow-wrap: anywhere; }
body.page-testimonials #main-content .tm-featured-author { margin-top: 30px; padding-top: 24px; border-top: 1px solid #d9e4f0; gap: 14px; }
body.page-testimonials #main-content .tm-author-avatar { width: 44px; height: 44px; border-radius: 11px; background: #edf3fb; border: 1px solid #d9e5f3; color: #6487b0; font-size: .9rem; }
body.page-testimonials #main-content :is(.tm-featured-author,.tm-card-author) > div:not(.tm-author-avatar) { min-width: 0; }
body.page-testimonials #main-content :is(.tm-featured-author,.tm-card-author) strong { color: #304e71; font-size: .86rem; line-height: 1.7; overflow-wrap: anywhere; }
body.page-testimonials #main-content :is(.tm-featured-author,.tm-card-author) span { display: block; font-size: .72rem; color: #7890a9; line-height: 1.8; margin-top: 4px; overflow-wrap: anywhere; }
body.page-testimonials #main-content .tm-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.page-testimonials #main-content .tm-card { min-width: 0; padding: 30px; border-radius: 15px; border-color: #dce6f0; box-shadow: 0 8px 28px #1d355305; }
body.page-testimonials #main-content .tm-card-top { display: flex; justify-content: space-between; align-items: center; gap: 15px; margin-bottom: 24px; }
body.page-testimonials #main-content .tm-card-top > i { color: #9cb5d0; font-size: 1.4rem; }
body.page-testimonials #main-content .tm-card-stars { gap: 4px; color: #b19153; font-size: .65rem; margin: 0; flex-wrap: wrap; }
body.page-testimonials #main-content .tm-card blockquote { flex: 1; margin: 0; padding: 0; border: 0; }
body.page-testimonials #main-content .tm-card blockquote p { color: #50667f; font-size: .9rem; font-style: normal; line-height: 1.95; overflow-wrap: anywhere; }
body.page-testimonials #main-content .tm-card-author { margin-top: 26px; padding-top: 23px; gap: 12px; border-color: #e0e8f1; }
body.page-testimonials #main-content .tm-video-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.page-testimonials #main-content .tm-video-card { min-width: 0; border: 1px solid #dce5ef; border-radius: 15px; box-shadow: 0 8px 28px #1d355305; }
body.page-testimonials #main-content .tm-video-placeholder { position: relative; background: radial-gradient(ellipse at 80% 0,#3c658d80,transparent 80%),#203a58; gap: 16px; padding: 25px; }
body.page-testimonials #main-content .tm-video-placeholder i { display: grid; place-items: center; width: 52px; height: 52px; font-size: 1.5rem; border: 1px solid #ffffff30; border-radius: 50%; color: #bcd3ec; background: #ffffff08; }
body.page-testimonials #main-content .tm-video-placeholder span { font-size: .6rem; letter-spacing: .12em; color: #c5d9ee; border: 1px solid #ffffff24; border-radius: 5px; padding: 6px 10px; }
body.page-testimonials #main-content .tm-video-card h4 { padding: 24px 26px 10px; color: #294765; font-size: 1.15rem; line-height: 1.5; }
body.page-testimonials #main-content .tm-video-card p { padding: 0 26px 26px; color: #74869b; font-size: .82rem; line-height: 1.9; }
body.page-testimonials #main-content .tm-empty-state { max-width: 800px; margin-inline: auto; padding: clamp(28px,4vw,44px); text-align: center; background: #fff; border: 1px solid #dce5ef; border-radius: 15px; }
body.page-testimonials #main-content .tm-empty-state > i { display: grid; place-items: center; width: 50px; height: 50px; background: #eaf1fb; color: #6c8db4; border-radius: 12px; margin: 0 auto 22px; }
body.page-testimonials #main-content .tm-empty-state h3 { color: #2c4868; font-size: 1.35rem; margin-bottom: 12px; }
body.page-testimonials #main-content .tm-empty-state p { color: #6e829b; line-height: 1.9; font-size: .9rem; }
body.page-testimonials #main-content .tm-empty-state a { display: inline-flex; align-items: center; gap: 12px; color: #375f8c; font-size: .8rem; margin-top: 22px; }
@media(max-width:1000px) {
 body.page-testimonials #main-content .tm-featured-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
 body.page-testimonials #main-content .tm-featured-layout .section-header { max-width: 650px; }
 body.page-testimonials #main-content .tm-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.page-testimonials #main-content .tm-video-grid { gap: 16px; }
 body.page-testimonials #main-content .tm-video-card h4 { padding: 22px 20px 10px; font-size: 1rem; }
 body.page-testimonials #main-content .tm-video-card p { padding-inline: 20px; }
}
@media(max-width:600px) {
 body.page-testimonials #main-content .tm-hero-actions .btn { width: 100%; justify-content: center; }
 body.page-testimonials #main-content :is(.tm-grid,.tm-video-grid) { grid-template-columns: minmax(0,1fr); gap: 20px; }
 body.page-testimonials #main-content .tm-featured-quote { padding: 28px 24px; }
 body.page-testimonials #main-content .tm-card { padding: 26px; }
 body.page-testimonials #main-content .tm-video-card h4 { padding: 24px 26px 10px; font-size: 1.15rem; }
 body.page-testimonials #main-content .tm-video-card p { padding: 0 26px 26px; }
}
@media(prefers-reduced-motion:reduce) {
 body.page-testimonials #main-content .tm-video-card:hover,body.page-testimonials #main-content .tm-video-card:hover .tm-video-placeholder i { transform: none; }
}
/* Church directory: welcoming introduction, spacious location cards and readable services. */
body.page-branches #main-content .page-hero-branches { padding-bottom: clamp(88px,9vw,120px); }
body.page-branches #main-content .ch-hero-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.85fr); align-items: center; gap: clamp(32px,6vw,78px); }
body.page-branches #main-content .ch-hero-copy { min-width: 0; }
body.page-branches #main-content .ch-hero-copy h1 { font-size: clamp(2.1rem,3.7vw,3.5rem); }
body.page-branches #main-content .ch-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
body.page-branches #main-content .ch-welcome-card { padding: clamp(26px,3vw,36px); border: 1px solid #ffffff24; border-radius: 16px; background: #ffffff07; }
body.page-branches #main-content .ch-welcome-icon { display: grid; place-items: center; width: 50px; height: 50px; border: 1px solid #ffffff26; border-radius: 12px; background: #ffffff09; color: #c5dffb; font-size: 1.3rem; margin-bottom: 23px; }
body.page-branches #main-content .ch-kicker { display: block; color: #adceed; font: 600 .64rem/1.9 var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
body.page-branches #main-content .ch-welcome-card h2 { font-size: clamp(1.5rem,2.4vw,1.9rem); line-height: 1.4; color: #fff; margin-block: 12px 16px; }
body.page-branches #main-content .ch-welcome-card p { color: #c7d9ec; font-size: .85rem; line-height: 1.9; }
body.page-branches #main-content .ch-welcome-details { display: grid; gap: 13px; padding-top: 23px; margin-top: 23px; border-top: 1px solid #ffffff20; }
body.page-branches #main-content .ch-welcome-details span { display: flex; align-items: center; gap: 12px; font-size: .76rem; color: #d1e3f6; }
body.page-branches #main-content .ch-welcome-details i { color: #a6c8ed; width: 18px; text-align: center; }
body.page-branches #main-content .branches-page { background: linear-gradient(#f4f7fb,#fff 650px); }
body.page-branches #main-content .branches-stats-section { margin-top: -40px; }
body.page-branches #main-content .branches-stats { max-width: 950px; margin-inline: auto; padding: 20px 24px; box-shadow: 0 12px 32px #1d35530b; }
body.page-branches #main-content .branches-stat { padding: 10px 34px; }
body.page-branches #main-content .branches-stat-icon { border-radius: 11px; background: #edf3fb; color: #507aa6; width: 44px; height: 44px; }
body.page-branches #main-content .branches-stat-num { font-size: 1.75rem; color: #254363; }
body.page-branches #main-content .branches-stat-label { color: #73869d; font-size: .64rem; letter-spacing: .08em; }
body.page-branches #main-content .branches-toolbar { background: #fff; border-radius: 15px; padding: clamp(24px,3vw,34px); box-shadow: 0 8px 28px #1d355306; }
body.page-branches #main-content .branches-toolbar-head { padding-bottom: 24px; margin-bottom: 24px; border-color: #e0e8f1; }
body.page-branches #main-content .branches-toolbar h2 { font-size: clamp(1.5rem,2.5vw,2rem); color: #233f60; line-height: 1.4; margin-top: 10px; }
body.page-branches #main-content .branches-toolbar-sub { color: #6c8199; font-size: .82rem; line-height: 1.8; }
body.page-branches #main-content .branches-filter { align-items: flex-start; gap: 18px; }
body.page-branches #main-content .branches-filter-label { padding-top: 13px; font-size: .66rem; color: #72879f; }
body.page-branches #main-content .branches-filter-pills { gap: 9px; }
body.page-branches #main-content .branches-pill { border: 1px solid #d7e3ef; border-radius: 8px; padding: 11px 18px; min-height: 44px; font-size: .78rem; background: #fff; color: #4d6b8f; }
body.page-branches #main-content .branches-pill.is-active { background: #23486f; color: #fff; border-color: #23486f; box-shadow: none; }
body.page-branches #main-content .branches-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
body.page-branches #main-content .branches-grid:has(> .branches-card:only-child) { max-width: 900px; margin-inline: auto; grid-template-columns: minmax(0,1fr); }
body.page-branches #main-content .branches-card { padding: 30px; gap: 22px; border-radius: 16px; border-color: #d8e3ef; box-shadow: 0 10px 32px #19314e08; }
body.page-branches #main-content .branches-card::before { background: #547fae; height: 3px; }
body.page-branches #main-content .branches-card-ribbon { background: #edf3fb; color: #4b6e96; border: 1px solid #d6e3f2; border-radius: 6px; font-size: .6rem; padding: 7px 10px; letter-spacing: .08em; }
body.page-branches #main-content .branches-card-head { background: none; padding-bottom: 23px; gap: 18px; border-color: #dfe7f0; }
body.page-branches #main-content .branches-card-icon { background: #eaf1fa; color: #507aa6; box-shadow: none; border: 1px solid #d7e4f3; border-radius: 12px; }
body.page-branches #main-content .branches-card-title { min-width: 0; }
body.page-branches #main-content .branches-card-title h3 { font-size: 1.4rem; line-height: 1.5; margin-bottom: 8px; overflow-wrap: anywhere; }
body.page-branches #main-content .branches-card-city { color: #6283a9; font-size: .75rem; line-height: 1.7; }
body.page-branches #main-content .branches-card-address { background: #f6f9fd; border: 1px solid #e0e8f1; border-radius: 9px; padding: 16px 18px; color: #536e8d; line-height: 1.85; font-size: .86rem; }
body.page-branches #main-content .branches-card-meta { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 14px; }
body.page-branches #main-content .branches-meta-item { min-width: 0; background: #fff; border: 1px solid #e1e8f1; padding: 17px; border-radius: 9px; }
body.page-branches #main-content .branches-meta-item > div { min-width: 0; }
body.page-branches #main-content .branches-meta-item > i { color: #6587ae; margin-top: 4px; }
body.page-branches #main-content .branches-meta-lbl { color: #7a8da4; font-size: .6rem; letter-spacing: .07em; margin-bottom: 6px; }
body.page-branches #main-content .branches-meta-val { font-size: .82rem; color: #334e6d; line-height: 1.8; overflow-wrap: anywhere; }
body.page-branches #main-content .branches-card-desc { padding-top: 20px; line-height: 1.9; color: #6d8097; }
body.page-branches #main-content .branches-card-foot { background: none; padding-top: 24px; padding-bottom: 0; border-color: #dfe7f0; gap: 12px; }
body.page-branches #main-content .branches-foot-btn { border-radius: 8px; min-height: 46px; padding: 12px 18px; font-size: .78rem; }
body.page-branches #main-content .branches-foot-btn--primary { background: #23486f; color: #fff; box-shadow: none; border-color: #23486f; }
body.page-branches #main-content .branches-empty { border: 1px solid #dce5ef; border-radius: 16px; padding: clamp(30px,5vw,55px); }
body.page-branches #main-content .branches-empty-icon { border-radius: 15px; background: #edf3fb; color: #557ea9; }
body.page-branches #main-content .branches-empty .btn { margin: 6px; border: 1px solid #cbd9e9; }
body.page-branches .branch-modal-dialog { max-width: 720px; max-height: calc(100dvh - 48px); border-radius: 17px; border-color: #d4e0ed; }
body.page-branches .branch-modal.is-open .branch-modal-dialog { height: auto; }
body.page-branches .branch-modal-head { padding: 30px; padding-right: 62px; background: radial-gradient(ellipse at 90% 0,#416f9c40,transparent 75%),#203a58; gap: 18px; border-radius: 0; }
body.page-branches .branch-modal-head > div { min-width: 0; }
body.page-branches .branch-modal-head h2 { padding-right: 0; font-size: 1.4rem; line-height: 1.5; color: #fff; overflow-wrap: anywhere; }
body.page-branches .branch-modal-icon { width: 48px; height: 48px; background: #ffffff0b; border: 1px solid #ffffff29; border-radius: 11px; color: #c6e1fd; }
body.page-branches .branch-modal-city { font-size: .8rem; line-height: 1.8; color: #c8dcf2; margin-top: 9px; }
body.page-branches .branch-modal-badge { background: #ffffff0b; border: 1px solid #ffffff24; border-radius: 6px; font-size: .6rem; color: #d5e7fb; margin-bottom: 12px; }
body.page-branches .branch-modal-badge[hidden] { display: none; }
body.page-branches .branch-modal-close { width: 36px; height: 36px; top: 18px; right: 18px; background: #ffffff10; color: #fff; border: 1px solid #ffffff30; border-radius: 8px; }
body.page-branches .branch-modal-close:hover { background: #ffffff25; color: #fff; }
body.page-branches .branch-modal-info { padding: 24px 30px 12px; background: #f8fafd; border-bottom: 1px solid #e1e8f1; }
body.page-branches :is(.branch-modal-address,.branch-modal-meta) { font-size: .85rem; line-height: 1.9; color: #5e7691; overflow-wrap: anywhere; }
body.page-branches .branch-modal-scroll { flex: 1 1 auto; scrollbar-width: thin; scrollbar-color: #bfcede transparent; }
body.page-branches .branch-modal-body { padding: 28px 30px; }
body.page-branches .branch-modal-section-title { color: #68829e; font-size: .68rem; margin-bottom: 20px; }
body.page-branches .branch-modal-service { padding: 20px; background: #f7fafd; border: 1px solid #dce7f2; border-radius: 11px; gap: 15px; }
body.page-branches .branch-modal-service-body { min-width: 0; }
body.page-branches .branch-modal-service-icon { color: #557da8; background: #eaf1fa; border-radius: 10px; box-shadow: none; }
body.page-branches .branch-modal-service-body strong { color: #294967; font-size: 1rem; line-height: 1.7; }
body.page-branches :is(.branch-modal-service-when,.branch-modal-service-loc,.branch-modal-service-desc) { font-size: .82rem; line-height: 1.9; overflow-wrap: anywhere; }
body.page-branches .branch-modal-foot { padding: 20px 30px; border-top: 1px solid #dfe7f0; background: #fff; }
body.page-branches .branch-modal-btn { border-radius: 8px; min-height: 44px; font-size: .8rem; }
body.page-branches .branch-modal-btn--primary { background: #23486f; box-shadow: none; }
body.page-branches .branch-modal :is(a,button):focus-visible { outline: 3px solid #84ade0; outline-offset: 3px; }
@media(max-width:1000px) {
 body.page-branches #main-content .ch-hero-layout { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 30px; }
 body.page-branches #main-content .branches-stat { padding-inline: 22px; }
 body.page-branches #main-content .branches-card { padding: 25px; }
}
@media(max-width:768px) {
 body.page-branches #main-content .branches-grid { grid-template-columns: minmax(0,1fr); }
}
@media(max-width:600px) {
 body.page-branches #main-content .ch-hero-layout { grid-template-columns: minmax(0,1fr); }
 body.page-branches #main-content .ch-hero-actions .btn { width: 100%; justify-content: center; }
 body.page-branches #main-content .branches-stats { padding: 18px 12px; gap: 12px; }
 body.page-branches #main-content .branches-stat { padding: 10px; gap: 10px; }
 body.page-branches #main-content .branches-stat-divider { display: none; }
 body.page-branches #main-content .branches-stat-icon { width: 36px; height: 36px; font-size: .9rem; }
 body.page-branches #main-content .branches-stat-num { font-size: 1.4rem; }
 body.page-branches #main-content .branches-toolbar { padding: 24px 20px; }
 body.page-branches #main-content .branches-card { padding: 24px 20px; gap: 20px; }
 body.page-branches #main-content .branches-card-title h3 { font-size: 1.2rem; }
 body.page-branches #main-content .branches-card-meta { grid-template-columns: minmax(0,1fr); }
 body.page-branches #main-content .branches-card-foot .branches-foot-btn { flex-basis: 100%; }
 body.page-branches .branch-modal { padding: 12px; }
 body.page-branches .branch-modal-dialog { max-height: calc(100dvh - 24px); border-radius: 13px; }
 body.page-branches .branch-modal-head { padding: 26px 54px 26px 22px; gap: 13px; }
 body.page-branches .branch-modal-head h2 { font-size: 1.15rem; }
 body.page-branches .branch-modal-icon { width: 40px; height: 40px; font-size: 1rem; }
 body.page-branches .branch-modal-info { padding: 20px 22px 10px; }
 body.page-branches .branch-modal-body { padding: 24px 22px; }
 body.page-branches .branch-modal-service { padding: 16px; gap: 12px; }
 body.page-branches .branch-modal-service-icon { width: 34px; height: 34px; flex-shrink: 0; }
 body.page-branches .branch-modal-foot { padding: 18px 22px; }
}
@media(max-height:600px) {
 body.page-branches .branch-modal-dialog { overflow-y: auto; }
 body.page-branches .branch-modal-scroll { flex: none; overflow: visible; }
}
@media(prefers-reduced-motion:reduce) {
 body.page-branches .branch-modal,body.page-branches .branch-modal-dialog { transition: none; transform: none; }
 body.page-branches .branch-modal-scroll-hint i { animation: none; }
 body.page-branches #main-content .branches-card:hover { transform: none; }
}
/* Contact: a welcoming introduction and clear, practical ways to connect. */
body.page-contact-us #main-content .cu-hero-layout { display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,.85fr); align-items: center; gap: clamp(32px,6vw,78px); }
body.page-contact-us #main-content .cu-hero-copy { min-width: 0; }
body.page-contact-us #main-content .cu-hero-copy > p { max-width: 560px; }
body.page-contact-us #main-content .cu-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
body.page-contact-us #main-content .cu-visit-card { padding: clamp(26px,3vw,36px); border: 1px solid #ffffff26; background: #ffffff07; border-radius: 16px; }
body.page-contact-us #main-content .cu-visit-icon { display: grid; place-items: center; width: 48px; height: 48px; border-radius: 11px; border: 1px solid #ffffff24; background: #ffffff08; color: #c5dffb; font-size: 1.25rem; margin-bottom: 22px; }
body.page-contact-us #main-content .cu-kicker { color: #a9cbed; font: 600 .65rem/1.8 var(--font-body); letter-spacing: .14em; text-transform: uppercase; }
body.page-contact-us #main-content .cu-visit-card h2 { color: #fff; font-size: clamp(1.4rem,2.4vw,1.85rem); line-height: 1.4; margin-block: 12px 22px; }
body.page-contact-us #main-content .cu-service { display: flex; align-items: flex-start; gap: 12px; font-size: .78rem; line-height: 1.8; }
body.page-contact-us #main-content .cu-service > i { padding-top: 4px; color: #a7c9ee; }
body.page-contact-us #main-content .cu-service strong { display: block; font-size: .95rem; color: #edf5ff; font-weight: 500; margin-top: 4px; }
body.page-contact-us #main-content .cu-visit-address { font-size: .78rem; margin-top: 18px; line-height: 1.9; color: #c2d4e7; }
body.page-contact-us #main-content .cu-visit-card > a { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-top: 22px; padding-top: 20px; border-top: 1px solid #ffffff20; color: #d3e6fb; font-size: .78rem; }
body.page-contact-us #main-content #contact .section-grid { grid-template-columns: minmax(0,1fr) minmax(0,1.15fr); gap: clamp(32px,5vw,70px); align-items: start; }
body.page-contact-us #main-content #contact .section-content > p { color: #61758b; line-height: 1.9; font-size: .95rem; margin-bottom: 30px; }
body.page-contact-us #main-content .contact-cards { gap: 14px; }
body.page-contact-us #main-content .contact-card { padding: 22px; gap: 18px; border: 1px solid #e0e8f1; border-radius: 12px; background: #fbfcfe; }
body.page-contact-us #main-content .contact-card-icon { width: 44px; height: 44px; font-size: 1rem; color: #5079a6; background: #eaf1fa; border-radius: 11px; }
body.page-contact-us #main-content .contact-card h4 { font: 600 .76rem/1.7 var(--font-body); color: #597491; margin-bottom: 7px; }
body.page-contact-us #main-content .contact-card p { font-size: .88rem; color: #334f70; line-height: 1.85; }
body.page-contact-us #main-content .contact-card a { color: #315e90; text-decoration: none; }
body.page-contact-us #main-content .contact-card a:hover { text-decoration: underline; text-underline-offset: 4px; }
body.page-contact-us #main-content .contact-social { display: flex; flex-wrap: wrap; gap: 10px; }
body.page-contact-us #main-content .contact-social a { display: inline-flex; align-items: center; gap: 8px; border: 1px solid #d7e3f0; padding: 8px 12px; background: #fff; border-radius: 7px; min-height: 40px; font-size: .75rem; }
body.page-contact-us #main-content #message { scroll-margin-top: 115px; }
body.page-contact-us #main-content .contact-form-card { border-radius: 17px; border-color: #d7e2ef; padding: clamp(24px,3vw,38px); box-shadow: 0 16px 44px #1b34530a; }
body.page-contact-us #main-content .cu-form-head { display: flex; align-items: center; gap: 15px; padding-bottom: 26px; margin-bottom: 28px; border-bottom: 1px solid #dfe7f0; }
body.page-contact-us #main-content .cu-form-head > span { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; background: #edf4fd; color: #4d76a5; border-radius: 10px; }
body.page-contact-us #main-content .cu-form-head h3 { border: 0; padding: 0; margin: 0; font-size: 1.35rem; color: #233f60; line-height: 1.5; }
body.page-contact-us #main-content .cu-form-head p { color: #77899e; font-size: .72rem; line-height: 1.8; margin-top: 7px; }
body.page-contact-us #main-content .cu-form-row { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
body.page-contact-us #main-content .contact-form .form-group { margin-bottom: 23px; }
body.page-contact-us #main-content .contact-form label { font-size: .78rem; color: #4b6480; }
body.page-contact-us #main-content .contact-form textarea { min-height: 185px; line-height: 1.8; resize: vertical; }
body.page-contact-us #main-content .contact-form button[type=submit] { width: 100%; background: #23486f; font-size: .88rem; min-height: 49px; }
body.page-contact-us #main-content .contact-form-card .alert { border-radius: 10px; font-size: .85rem; line-height: 1.8; padding: 18px; margin-bottom: 24px; }
body.page-contact-us #main-content #donate .donate-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 24px; }
body.page-contact-us #main-content #donate .donate-card { padding: 30px; border-radius: 14px; box-shadow: none; }
body.page-contact-us #main-content #donate .donate-card h3 { line-height: 1.5; font-size: 1.2rem; }
body.page-contact-us #main-content #donate .donate-card p { font-size: .85rem; line-height: 1.9; }
body.page-contact-us #main-content .donate-note { display: flex; align-items: flex-start; gap: 15px; text-align: left; max-width: 860px; margin: 32px auto 0; padding: 24px 28px; background: #eaf1fa; border: 1px solid #d4e1ef; border-radius: 12px; color: #536f8f; font-size: .85rem; line-height: 1.9; }
body.page-contact-us #main-content .donate-note > i { color: #527aa7; margin-top: 5px; flex-shrink: 0; }
body.page-contact-us #main-content .donate-note a { color: #234d7b; font-weight: 600; overflow-wrap: anywhere; }
@media(max-width:1000px) {
 body.page-contact-us #main-content .cu-hero-layout { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 30px; }
 body.page-contact-us #main-content #contact .section-grid { grid-template-columns: minmax(0,1fr); gap: 36px; }
 body.page-contact-us #main-content #donate .donate-grid { gap: 16px; }
 body.page-contact-us #main-content #donate .donate-card { padding: 24px; }
}
@media(max-width:600px) {
 body.page-contact-us #main-content .cu-hero-layout { grid-template-columns: minmax(0,1fr); }
 body.page-contact-us #main-content .cu-hero-actions .btn { width: 100%; justify-content: center; }
 body.page-contact-us #main-content .cu-visit-card { padding: 26px; }
 body.page-contact-us #main-content .contact-card { padding: 20px; gap: 14px; }
 body.page-contact-us #main-content .contact-form-card { padding: 24px 20px; }
 body.page-contact-us #main-content .cu-form-row { grid-template-columns: minmax(0,1fr); gap: 0; }
 body.page-contact-us #main-content .cu-form-head { gap: 12px; }
 body.page-contact-us #main-content .cu-form-head h3 { font-size: 1.2rem; }
 body.page-contact-us #main-content #donate .donate-grid { grid-template-columns: minmax(0,1fr); }
 body.page-contact-us #main-content .donate-note { padding: 22px; }
}
/* Bookstore: an editorial introduction, balanced catalog and guided order form. */
body.page-bookstore #main-content .bs-hero-layout { display: grid; grid-template-columns: minmax(0,1.35fr) minmax(0,.8fr); align-items: center; gap: clamp(32px,6vw,84px); }
body.page-bookstore #main-content .bs-hero-copy { min-width: 0; }
body.page-bookstore #main-content .bs-hero-copy > p { max-width: 610px; }
body.page-bookstore #main-content .bs-hero-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
body.page-bookstore #main-content .bs-hero-note { padding: clamp(26px,3vw,38px); background: #ffffff07; border: 1px solid #ffffff22; border-radius: 16px; }
body.page-bookstore #main-content .bs-hero-note-icon { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid #ffffff26; border-radius: 12px; background: #ffffff08; color: #c5dffb; font-size: 1.4rem; margin-bottom: 25px; }
body.page-bookstore #main-content .bs-kicker { display: block; color: #a9cbed; text-transform: uppercase; font-size: .65rem; font-weight: 600; letter-spacing: .14em; }
body.page-bookstore #main-content .bs-hero-note h2 { color: #fff; font-size: clamp(1.4rem,2.4vw,1.85rem); line-height: 1.4; margin-block: 12px 16px; }
body.page-bookstore #main-content .bs-hero-note p { font-size: .85rem; line-height: 1.9; }
body.page-bookstore #main-content .bs-hero-note > a { display: flex; align-items: center; justify-content: space-between; gap: 12px; color: #d6e8fa; font-size: .78rem; padding-top: 20px; margin-top: 20px; border-top: 1px solid #ffffff20; }
body.page-bookstore #main-content #catalog { background: #fff; }
body.page-bookstore #main-content .bs-filters { margin-bottom: 30px; }
body.page-bookstore #main-content .bs-filter-btn { font-size: .8rem; border: 1px solid #d9e3ee; padding: 11px 20px; }
body.page-bookstore #main-content .bs-filter-btn.active { background: #23486f; color: #fff; border-color: #23486f; box-shadow: 0 4px 12px #23486f18; }
body.page-bookstore #main-content .bs-grid { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 26px; }
body.page-bookstore #main-content .bs-card { min-width: 0; border-radius: 16px; border-color: #dce5ef; }
body.page-bookstore #main-content .bs-card-img { aspect-ratio: 5/4; background: radial-gradient(ellipse at 50% 20%,#fff,#edf2f8); border-bottom: 1px solid #e0e8f1; }
body.page-bookstore #main-content .bs-card-img img { padding: 28px; object-fit: contain; }
body.page-bookstore #main-content .bs-card-placeholder { opacity: 1; background: transparent; color: #7995b5; font-size: 3rem; }
body.page-bookstore #main-content :is(.bs-badge-featured,.bs-badge-stock) { border-radius: 6px; padding: 7px 10px; font-size: .64rem; letter-spacing: .02em; }
body.page-bookstore #main-content .bs-badge-featured { background: #23486f; color: #fff; box-shadow: none; }
body.page-bookstore #main-content .bs-badge-stock.bs-pre { background: #fff3dc; color: #825d20; border: 1px solid #ecdbb9; box-shadow: none; }
body.page-bookstore #main-content .bs-badge-stock.bs-out { background: #f9ebeb; color: #945353; border: 1px solid #ebd1d1; box-shadow: none; }
body.page-bookstore #main-content .bs-card-body { display: flex; flex-direction: column; padding: 26px; }
body.page-bookstore #main-content .bs-card-cat { align-self: flex-start; padding: 5px 9px; background: #eff4fa; color: #4a6e98; border-radius: 5px; font-size: .62rem; }
body.page-bookstore #main-content .bs-card-title { margin-block: 16px 12px; line-height: 1.5; overflow-wrap: anywhere; }
body.page-bookstore #main-content .bs-card-desc { line-height: 1.85; font-size: .85rem; color: #617287; }
body.page-bookstore #main-content .bs-card-footer { margin-top: auto; padding-top: 20px; }
body.page-bookstore #main-content .bs-price { color: #23486f; font-size: 1.1rem; line-height: 1.6; }
body.page-bookstore #main-content .bs-order-btn { padding: 10px 15px; min-height: 44px; font-size: .76rem; }
body.page-bookstore #main-content .bs-empty { border: 1px solid #dce5ef; border-radius: 17px; max-width: 850px; padding: clamp(30px,5vw,58px); background: linear-gradient(140deg,#f3f7fc,#fff); }
body.page-bookstore #main-content .bs-empty > i { display: grid; place-items: center; width: 72px; height: 72px; margin: 0 auto 24px; font-size: 2rem; background: #e8f0fa; border: 1px solid #d8e5f4; border-radius: 16px; color: #517aa7; }
body.page-bookstore #main-content .bs-empty h3 { font-size: 1.6rem; color: #23415f; }
body.page-bookstore #main-content .bs-empty p { max-width: 450px; margin: 12px auto 25px; color: #64768c; line-height: 1.85; }
body.page-bookstore #main-content .bs-empty .btn { border: 1px solid #cbd9e9; color: #284d77; font-size: .8rem; background: #fff; gap: 10px; }
body.page-bookstore #main-content .bs-order-layout { display: grid; grid-template-columns: minmax(0,.85fr) minmax(0,1.35fr); gap: clamp(30px,5vw,66px); align-items: start; }
body.page-bookstore #main-content .bs-order-guide { padding-top: 12px; min-width: 0; }
body.page-bookstore #main-content .bs-order-guide > h3 { font-size: clamp(1.6rem,2.6vw,2rem); color: #223b59; line-height: 1.4; margin-block: 14px 18px; }
body.page-bookstore #main-content .bs-order-guide > p { font-size: .9rem; line-height: 1.9; color: #607389; }
body.page-bookstore #main-content .bs-guide-list { list-style: none; padding: 0; margin-top: 28px; display: grid; gap: 24px; }
body.page-bookstore #main-content .bs-guide-list li { display: flex; gap: 16px; align-items: flex-start; }
body.page-bookstore #main-content .bs-guide-list li > span { display: grid; place-items: center; width: 36px; height: 36px; flex-shrink: 0; border: 1px solid #d2e0ef; border-radius: 9px; background: #fff; color: #5f82aa; font-size: .7rem; font-weight: 600; }
body.page-bookstore #main-content .bs-guide-list strong { font-size: .85rem; color: #334d6c; }
body.page-bookstore #main-content .bs-guide-list p { font-size: .8rem; line-height: 1.85; color: #6b7d91; margin-top: 6px; }
body.page-bookstore #main-content .bs-guide-help { display: flex; align-items: center; gap: 14px; padding: 20px; margin-top: 30px; background: #eaf1fa; border: 1px solid #d6e2f0; border-radius: 11px; color: #42658e; }
body.page-bookstore #main-content .bs-guide-help span { flex: 1; font-size: .75rem; }
body.page-bookstore #main-content .bs-guide-help strong { display: block; font-size: .8rem; margin-top: 4px; }
body.page-bookstore #main-content .bs-order-form-wrap { width: 100%; min-width: 0; max-width: none; margin: 0; padding: clamp(22px,3vw,36px); border-radius: 16px; }
body.page-bookstore #main-content .bs-form-heading { display: flex; align-items: center; gap: 15px; padding-bottom: 24px; margin-bottom: 26px; border-bottom: 1px solid #dfe7f0; }
body.page-bookstore #main-content .bs-form-heading > span { display: grid; place-items: center; width: 44px; height: 44px; flex-shrink: 0; background: #eef4fc; color: #4d76a5; border-radius: 10px; }
body.page-bookstore #main-content .bs-form-heading h3 { font-size: 1.3rem; color: #233f60; }
body.page-bookstore #main-content .bs-form-heading p { font-size: .72rem; margin-top: 6px; color: #73849a; }
body.page-bookstore #main-content .bs-order-selected { display: grid; grid-template-columns: auto minmax(0,1fr) auto; background: #edf5ff; padding: 17px; }
body.page-bookstore #main-content #orderBookTitle { overflow-wrap: anywhere; font-size: .85rem; line-height: 1.7; }
body.page-bookstore #main-content .bs-order-price { grid-column: 2; grid-row: 2; margin: 0; font-size: .85rem; }
body.page-bookstore #main-content .bs-order-clear { grid-column: 3; grid-row: 1/3; width: 36px; height: 36px; border: 1px solid #d1dfef; background: #fff; border-radius: 8px; }
body.page-bookstore #main-content .bs-submit-btn { width: 100%; border-radius: 8px; font-size: .88rem; }
body.page-bookstore #main-content .bs-steps { counter-reset: bookstore-step; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 22px; }
body.page-bookstore #main-content .bs-step { position: relative; min-width: 0; text-align: left; padding: 28px; }
body.page-bookstore #main-content .bs-step::before { counter-increment: bookstore-step; content: '0' counter(bookstore-step); position: absolute; top: 28px; right: 24px; color: #a0b3c9; font-size: .75rem; font-weight: 600; }
body.page-bookstore #main-content .bs-step-icon { margin: 0 0 25px; width: 48px; height: 48px; border-radius: 11px; box-shadow: none; background: #edf3fb; color: #4b75a4; font-size: 1.1rem; }
body.page-bookstore #main-content .bs-step h3 { font-size: 1.05rem; color: #29425f; line-height: 1.5; }
body.page-bookstore #main-content .bs-step p { line-height: 1.85; font-size: .8rem; color: #677b92; }
@media(max-width:1000px) {
 body.page-bookstore #main-content .bs-hero-layout { grid-template-columns: minmax(0,1.2fr) minmax(0,1fr); gap: 30px; }
 body.page-bookstore #main-content .bs-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
 body.page-bookstore #main-content .bs-order-layout { grid-template-columns: minmax(0,1fr); gap: 32px; }
 body.page-bookstore #main-content .bs-order-form-wrap { grid-row: 1; }
 body.page-bookstore #main-content .bs-order-guide { grid-row: 2; }
 body.page-bookstore #main-content .bs-steps { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:600px) {
 body.page-bookstore #main-content .bs-hero-layout { grid-template-columns: minmax(0,1fr); }
 body.page-bookstore #main-content .bs-hero-note { padding: 26px; }
 body.page-bookstore #main-content .bs-hero-actions .btn { width: 100%; justify-content: center; }
 body.page-bookstore #main-content .bs-grid { grid-template-columns: minmax(0,1fr); }
 body.page-bookstore #main-content .bs-card-img { aspect-ratio: 5/4; }
 body.page-bookstore #main-content .bs-steps { grid-template-columns: minmax(0,1fr); gap: 16px; }
 body.page-bookstore #main-content .bs-step { padding: 26px; }
}
/* Creed reading panels: a shared title treatment with script-specific reading measures. */
body.page-creeds #main-content .cr-section { width: 100%; max-width: none; margin: 34px auto 0; scroll-margin-top: 110px; outline: none; }
body.page-creeds #main-content .cr-card { border: 1px solid #d5e1ee; border-radius: 18px; box-shadow: 0 18px 48px #19314e0b; overflow: hidden; }
body.page-creeds #main-content .cr-reading-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 14px 24px; background: #f6f9fd; border-bottom: 1px solid #dce6f0; }
body.page-creeds #main-content .cr-reading-toolbar > span { color: #63778e; font: 600 .68rem/1.8 var(--font-body); letter-spacing: .04em; text-align: right; }
body.page-creeds #main-content .cr-reading-back { display: inline-flex; align-items: center; gap: 9px; min-height: 40px; margin: 0; padding: 8px 10px; color: #34577e; background: transparent; border-radius: 7px; font: 600 .8rem/1.7 var(--font-body); white-space: nowrap; }
body.page-creeds #main-content .cr-reading-back:hover { color: #244d7b; background: #e8f0fa; box-shadow: none; transform: none; }
body.page-creeds #main-content .cr-card-head { display: flex; flex-direction: column; text-align: center; align-items: center; gap: 20px; padding: clamp(28px,4vw,44px) 30px; border: 0; background: radial-gradient(ellipse at 90% 0,#416f9c40,transparent 75%),#203a58; }
body.page-creeds #main-content .cr-card-head > i { width: 46px; height: 46px; font-size: 1.1rem; color: #c5dffb; background: #ffffff0b; border: 1px solid #ffffff29; border-radius: 11px; }
body.page-creeds #main-content .cr-card-head > div { min-width: 0; max-width: 100%; }
body.page-creeds #main-content .cr-card-head h2 { color: #fff; font-size: clamp(1.5rem,3vw,2rem); line-height: 2.1; margin: 0 0 12px; overflow-wrap: anywhere; }
body.page-creeds #main-content .cr-card-head small { color: #cbdcf0; font: 400 .95rem/1.8 var(--font-body); }
body.page-creeds #main-content .cr-card-body { padding: clamp(26px,4.8vw,52px); background: #fff; }
body.page-creeds #main-content .cr-reading-label { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-bottom: 18px; margin-bottom: 26px; border-bottom: 1px solid #dfe7f0; color: #667e98; font: 600 .68rem/1.8 var(--font-body); letter-spacing: .08em; text-transform: uppercase; }
body.page-creeds #main-content .cr-reading-label [lang=ur] { font: 400 .85rem/2 'Noto Nastaliq Urdu',serif; letter-spacing: 0; }
body.page-creeds #main-content .cr-card-body[lang=ur] :is(p,li) { color: #263d57; font-family: 'Noto Nastaliq Urdu',serif; font-size: clamp(1rem,1.4vw,1.15rem); line-height: 2.9; text-align: start; margin-block: 0 24px; overflow-wrap: anywhere; }
body.page-creeds #main-content .cr-card-body[lang=ur] :is(h3,h4) { color: #2d537d; font-family: 'Noto Nastaliq Urdu',serif; font-size: 1.15rem; line-height: 2.5; margin-block: 28px 16px; }
body.page-creeds #main-content .cr-card-body-en { background: #f8fafd; border-top: 1px solid #dfe7f0; }
body.page-creeds #main-content .cr-card-body-en :is(p,li) { color: #3c526b; font-family: Georgia,'Times New Roman',serif; font-size: 1.05rem; line-height: 1.95; text-align: left; max-width: 72ch; margin-block: 0 22px; overflow-wrap: anywhere; }
body.page-creeds #main-content .cr-card-body p:last-child { margin-bottom: 0; }
body.page-creeds #main-content .cr-card-body strong { color: #234c79; }
body.page-creeds #main-content .cr-card-foot { padding: 24px; background: #fff; border-top: 1px solid #dfe7f0; }
body.page-creeds #main-content .cr-card-foot .cr-back-link { min-height: 46px; padding: 10px 26px; background: #23486f; border-radius: 8px; line-height: 2.1; }
@media(max-width:600px) {
 body.page-creeds #main-content .cr-section { margin-top: 26px; }
 body.page-creeds #main-content .cr-card { border-radius: 13px; }
 body.page-creeds #main-content .cr-reading-toolbar { padding: 12px; gap: 10px; }
 body.page-creeds #main-content .cr-reading-toolbar > span { max-width: 130px; font-size: .6rem; }
 body.page-creeds #main-content .cr-card-head { padding: 28px 22px; gap: 18px; }
 body.page-creeds #main-content .cr-card-body { padding: 26px 22px; }
 body.page-creeds #main-content .cr-card-body[lang=ur] :is(p,li) { line-height: 2.85; }
 body.page-creeds #main-content .cr-card-body-en :is(p,li) { font-size: 1rem; }
 body.page-creeds #main-content .cr-card-foot { padding: 22px; }
 body.page-creeds #main-content .cr-card-foot .cr-back-link { width: 100%; justify-content: center; }
}
/* Song lyrics: a restrained title panel and an uncluttered reading column. */
body.page-songs #main-content .sb-lyrics-viewer { --lyrics-pad: clamp(24px,4vw,48px); width: 100%; max-width: none; padding: 0 var(--lyrics-pad) 32px; border-radius: 18px; border: 1px solid #d4e0ed; box-shadow: 0 18px 48px #19314e0b; overflow: hidden; }
body.page-songs #main-content .sb-lyrics-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 16px 22px; margin-inline: calc(-1 * var(--lyrics-pad)); background: #f6f9fd; border-bottom: 1px solid #dce6f0; direction: ltr; font-family: var(--font-body); }
body.page-songs #main-content .sb-lyrics-back { display: inline-flex; align-items: center; gap: 9px; margin: 0; padding: 8px 10px; min-height: 40px; background: transparent; color: #34577e; font-size: .8rem; box-shadow: none; }
body.page-songs #main-content .sb-lyrics-back:hover { background: #e8f0fa; transform: none; }
body.page-songs #main-content .sb-lyrics-category { color: #63778e; font-size: .68rem; font-weight: 600; letter-spacing: .04em; text-align: right; line-height: 1.7; }
body.page-songs #main-content .sb-lyrics-heading { margin: 0 calc(-1 * var(--lyrics-pad)) 36px; padding: 30px var(--lyrics-pad) 34px; background: radial-gradient(ellipse at 90% 0,#416f9c40,transparent 75%),#203a58; color: #fff; }
body.page-songs #main-content .sb-lyrics-emblem { display: grid; place-items: center; width: 40px; height: 40px; margin: 0 auto 20px; border: 1px solid #ffffff29; border-radius: 10px; background: #ffffff0b; color: #c5dffb; font-size: 1rem; }
body.page-songs #main-content .sb-lyrics-heading h2 { color: #fff; font-size: clamp(1.4rem,2.7vw,1.9rem); line-height: 2.2; border: 0; padding: 0; margin: 0; overflow-wrap: anywhere; }
body.page-songs #main-content .sb-lyrics-heading .sb-psalm-num { display: inline-block; margin: 0 0 10px; padding: 4px 12px; background: #ffffff0d; border: 1px solid #ffffff24; border-radius: 6px; color: #d6e6f7; font-size: .78rem; line-height: 1.9; }
body.page-songs #main-content .sb-lyrics-heading .song-author { color: #c4d5e8; font-size: .85rem; line-height: 2; margin: 14px 0 0; }
body.page-songs #main-content .sb-lyrics-heading .song-author em { font-style: normal; }
body.page-songs #main-content .sb-ur-lyrics-body { color: #21374f; padding-block: 4px 12px; font-size: clamp(20px,2vw,24px); line-height: 2.25; }
body.page-songs #main-content .sb-ur-line--single { overflow-wrap: anywhere; }
body.page-songs #main-content :is(.sb-ur-label,.sb-en-label) { display: table; margin: 32px auto 22px; padding: 6px 20px; color: #476c96; background: #eef4fb; border: 1px solid #dfe9f4; border-radius: 7px; font-size: .9em; line-height: 2; }
body.page-songs #main-content :is(.sb-ur-verse-num,.sb-en-verse-num) { display: grid; place-items: center; width: 34px; min-height: 34px; margin: 34px auto 20px; background: #f6f8fc; border: 1px solid #dce6f0; border-radius: 50%; color: #4b6b90; font: 600 .8rem/1.7 var(--font-body); }
body.page-songs #main-content .sb-ur-line { margin-bottom: 14px; }
body.page-songs #main-content .sb-en-lyrics-body { max-width: 580px; margin-inline: auto; color: #344c66; line-height: 1.95; }
body.page-songs #main-content .sb-en-section { margin-bottom: 28px; }
body.page-songs #main-content .en-lyrics .sb-lyrics-heading h2 { font-family: var(--font-heading); line-height: 1.5; }
body.page-songs #main-content .sb-lyrics-actions { display: flex; flex-direction: column; align-items: center; gap: 22px; margin-top: 34px; padding-top: 22px; border-top: 1px solid #dfe7f0; direction: ltr; }
body.page-songs #main-content .sb-lyrics-endmark { color: #91a8c0; font: 400 .9rem/1 var(--font-body); }
body.page-songs #main-content .sb-lyrics-actions .sb-back-to-index { margin: 0; min-height: 46px; padding: 13px 22px; font-size: .82rem; background: #23486f; }
body.page-songs #main-content :is(.sb-lyrics-loading,.sb-lyrics-message) { padding-block: 40px; color: #526b87; font: 400 .95rem/1.9 var(--font-body); direction: ltr; }
@media(max-width:600px) {
 body.page-songs #main-content .sb-lyrics-viewer { --lyrics-pad: 18px; padding-bottom: 26px; border-radius: 13px; }
 body.page-songs #main-content .sb-lyrics-toolbar { padding: 12px; gap: 8px; }
 body.page-songs #main-content .sb-lyrics-category { font-size: .6rem; max-width: 125px; }
 body.page-songs #main-content .sb-lyrics-heading { padding-block: 26px 30px; margin-bottom: 28px; }
 body.page-songs #main-content .sb-lyrics-heading h2 { font-size: 1.35rem; line-height: 2.2; }
 body.page-songs #main-content .sb-lyrics-actions .sb-back-to-index { width: 100%; justify-content: center; }
}
@media (hover:hover) and (prefers-reduced-motion:no-preference) {
 .public-restyled #main-content :is(.program-card,.ministry-card,.tm-card,.bs-card) { transition: transform .22s ease,box-shadow .22s ease; }
 .public-restyled #main-content :is(.program-card,.ministry-card,.tm-card,.bs-card):hover { transform: translateY(-4px); box-shadow: 0 18px 38px #18304e11; }
}
@media(min-width:1600px) { .public-restyled #main-content .container { max-width: 1320px; } .public-restyled #main-content .lp-container { max-width: 960px; } }
@media(max-width:1000px) {
 .public-restyled #main-content :is(.program-highlights,.ministry-grid) { grid-template-columns: repeat(2,minmax(0,1fr)); }
 .public-restyled #main-content .section-grid.two-col { grid-template-columns: minmax(0,1fr); }
 .public-restyled #main-content .contact-form-wrap { width: 100%; max-width: none; }
 .public-restyled #main-content .bb-cat-grid { grid-template-columns: repeat(4,minmax(0,1fr)); }
}
@media(max-width:600px) {
 .public-restyled #main-content .container { padding-inline: 20px; }
 .public-restyled #main-content :is(.program-highlights,.ministry-grid,.bs-form-row,.donate-field-row,.donate-wallet-row) { grid-template-columns: minmax(0,1fr); }
 .public-restyled #main-content :is(.program-card,.ministry-card,.donate-card,.tm-card) { padding: 26px; }
 .public-restyled #main-content .page-hero { padding-block: 48px; }
 .public-restyled #main-content .page-hero h1 { font-size: clamp(1.95rem,8.6vw,2.7rem); }
 .public-restyled #main-content .cta-section { margin: 0 12px 32px; padding-inline: 0; border-radius: 13px; }
 .public-restyled #main-content .cta-buttons .btn { width: 100%; }
 .public-restyled #main-content .faq-question { padding: 18px 14px; gap: 10px; }
 .public-restyled #main-content .faq-num { display: none; }
 .public-restyled #main-content .faq-cat { padding: 10px 13px; font-size: .8rem; }
 .public-restyled #main-content .bb-cat-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; padding: 14px; }
 .public-restyled #main-content .bb-card { padding: 16px 8px; }
 .public-restyled #main-content .bb-card-urdu { font-size: 1rem; }
 .public-restyled #main-content .sb-tile-grid { padding: 16px; gap: 10px; }
 .public-restyled #main-content .sb-index-header { flex-wrap: wrap; gap: 12px; padding: 20px; }
 .public-restyled #main-content .sb-index-header > div:not(.sb-index-icon) { min-width: 0; }
 .public-restyled #main-content .sb-index-total { white-space: normal; }
 .public-restyled #main-content .sb-tab { padding: 12px 16px; }
 .public-restyled #main-content .sb-song-card { gap: 10px; padding: 16px 12px; }
 .public-restyled #main-content .sb-lyrics-viewer { padding: 22px 16px; }
 .public-restyled #main-content .sb-lyrics-viewer h2 { font-size: 1.3rem; }
 .public-restyled #main-content :is(.bb-tabs,.sb-tabs) { gap: 8px; }
 .public-restyled #main-content .cr-card-head { padding: 24px 18px; }
 .public-restyled #main-content .br-text { border-radius: 8px; }
 .public-restyled #main-content .lp-toc ol { columns: 1; }
 .public-restyled #main-content .donate-success-actions .btn { width: 100%; }
}
@media(prefers-reduced-motion:reduce) {
 .public-restyled #main-content [data-animate] { opacity: 1; transform: none; transition: none; }
 .public-restyled #main-content :is(.program-card,.ministry-card,.tm-card,.bs-card):hover { transform: none; }
}
