@font-face{font-family:"Twemoji Mozilla";src:url("/assets/fonts/TwemojiMozilla.ttf") format("truetype");font-display:block;font-weight:400;font-style:normal}.country-flag{font-family:"Twemoji Mozilla","Noto Color Emoji","Segoe UI Emoji",sans-serif;}:root{--primary:#3a76b4;--primary-dark:#2c5e91;--primary-soft:#eaf3fb;--ink:#173149;--muted:#64778a;--line:#dfe8f0;--surface:#fff;--bg:#f5f8fb;--success:#176b4d;--success-bg:#edf8f2;--danger:#a63232;--danger-bg:#fff1f1;--shadow:0 20px 60px rgba(23,49,73,.09);--radius:22px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}.container{width:min(1160px,calc(100% - 40px));margin-inline:auto}a{color:var(--primary);text-underline-offset:3px}.site-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(18px);border-bottom:1px solid rgba(223,232,240,.9)}.site-nav{min-height:76px;display:flex;align-items:center;justify-content:space-between;gap:28px}.brand img{display:block;width:200px;height:30px;object-fit:contain}.main-nav{display:flex;align-items:center;gap:22px}.main-nav>a{color:var(--ink);text-decoration:none;font-size:.94rem;font-weight:700}.main-nav>a:hover{color:var(--primary)}.nav-cta{background:var(--primary)!important;color:#fff!important;padding:10px 15px;border-radius:12px}.nav-form{margin:0}.nav-button{border:0;background:none;color:var(--ink);font:inherit;font-size:.94rem;font-weight:700;padding:0;cursor:pointer}.hero-home{padding:76px 0 42px;background:radial-gradient(circle at 85% 25%,rgba(58,118,180,.15),transparent 28%),linear-gradient(180deg,#fff 0%,var(--bg) 100%)}.hero-grid{display:grid;grid-template-columns:1.05fr .95fr;align-items:center;gap:64px}.hero-copy{max-width:700px}.eyebrow{text-transform:uppercase;letter-spacing:.14em;color:var(--primary);font-size:.73rem;font-weight:850;margin:0 0 10px}.hero h1{font-size:clamp(3rem,6vw,5.8rem);line-height:.98;letter-spacing:-.055em;margin:0 0 24px}.hero h1 span{color:var(--primary)}.lead{font-size:1.16rem;color:var(--muted);max-width:640px}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:30px}.btn{border:1px solid transparent;border-radius:13px;padding:12px 18px;font:inherit;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;justify-content:center;align-items:center;gap:8px;transition:transform .16s ease,background .16s ease,border-color .16s ease}.btn:hover{transform:translateY(-1px)}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#fff;border-color:var(--line);color:var(--ink)}.btn-wide{width:100%}.text-link{font-weight:800;text-decoration:none}.hero-art{min-height:410px;position:relative;display:grid;place-items:center}.glow{position:absolute;width:360px;height:360px;border-radius:50%;background:rgba(58,118,180,.14);filter:blur(2px)}.wing-card{position:relative;width:min(370px,90%);aspect-ratio:1/1.05;background:linear-gradient(145deg,#3a76b4,#285a8b);color:#fff;border-radius:42px;padding:42px;box-shadow:0 32px 70px rgba(44,94,145,.25);display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.wing-card:before,.wing-card:after{content:"";position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%;width:250px;height:250px;right:-100px;top:-90px}.wing-card:after{width:160px;height:160px;right:-50px;top:-35px}.wing-card span{font-size:.7rem;letter-spacing:.18em;font-weight:900}.wing-card strong{font-size:2.2rem;line-height:1.08;letter-spacing:-.04em;position:relative}.wing-card small{font-size:.88rem;opacity:.8}.feature-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:20px;overflow:hidden;box-shadow:0 10px 40px rgba(23,49,73,.04)}.feature-strip article{background:#fff;padding:30px}.feature-number{font-size:.72rem;color:var(--primary);font-weight:900;letter-spacing:.12em}.feature-strip h2{margin:12px 0 6px;font-size:1.2rem}.feature-strip p{margin:0;color:var(--muted)}.welcome-panel{margin-top:44px;margin-bottom:80px;padding:34px 38px;border:1px solid var(--line);border-radius:24px;background:#fff;display:flex;align-items:center;justify-content:space-between;gap:28px;box-shadow:var(--shadow)}.welcome-panel h2{margin:0 0 6px;font-size:1.8rem}.welcome-panel p{margin:0;color:var(--muted)}.site-footer{margin-top:80px;border-top:1px solid var(--line);background:#fff;padding:32px 0}.footer-grid{display:flex;justify-content:space-between;gap:30px;align-items:center}.footer-grid img{display:block}.footer-grid p{margin:10px 0 0;color:var(--muted);font-size:.9rem}.footer-grid a{font-weight:700;text-decoration:none}.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:0 24px 70px rgba(0,0,0,.16);padding:18px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.cookie-banner p{margin:4px 0 0;color:var(--muted);font-size:.9rem}.cookie-actions{display:flex;gap:10px;flex:0 0 auto}.page-shell{padding:58px 0}.page-shell .container > section + section{margin-top:32px}.narrow-content{width:min(900px,calc(100% - 40px))}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:28px;margin-bottom:32px}.page-heading.compact{margin-bottom:24px}.page-heading h1{font-size:clamp(2.2rem,5vw,3.7rem);line-height:1.05;letter-spacing:-.04em;margin:0 0 8px}.page-heading p:not(.eyebrow){margin:0;color:var(--muted)}.auth-page{min-height:calc(100vh - 156px);display:grid;place-items:center;padding:60px 20px;background:radial-gradient(circle at 50% 0,rgba(58,118,180,.12),transparent 32%)}.auth-card{width:min(720px,100%);background:#fff;border:1px solid var(--line);border-radius:28px;padding:38px;box-shadow:var(--shadow)}.auth-card-small{width:min(500px,100%)}.auth-card.centered{text-align:center}.auth-heading{margin-bottom:26px}.auth-heading h1{font-size:2.5rem;line-height:1.05;letter-spacing:-.04em;margin:0 0 8px}.auth-heading p:not(.eyebrow){color:var(--muted);margin:0}.form-grid{display:grid;gap:18px}.form-grid label{display:grid;gap:7px;font-weight:750}.form-grid small{font-weight:450;color:var(--muted);font-size:.84rem}.form-grid input,.form-grid select,.form-grid textarea{width:100%;padding:12px 14px;border:1px solid #cbd8e4;border-radius:13px;background:#fff;color:var(--ink);font:inherit}.form-grid textarea{resize:vertical}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:3px solid rgba(58,118,180,.18);border-color:var(--primary)}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-foot{text-align:center;color:var(--muted);margin:24px 0 0}.auth-links{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;margin-top:18px;font-size:.9rem}.alert{border-radius:14px;padding:14px 16px;margin-bottom:18px}.alert ul{margin:0;padding-left:20px}.alert-error{background:var(--danger-bg);border:1px solid #f0caca;color:var(--danger)}.alert-success{background:var(--success-bg);border:1px solid #c9eadb;color:var(--success)}.dashboard-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.dashboard-card,.panel,.stat-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px;box-shadow:0 10px 36px rgba(23,49,73,.05)}.dashboard-card{display:flex;flex-direction:column;min-height:200px}.dashboard-card.featured{background:linear-gradient(145deg,#3a76b4,#285a8b);color:#fff;border-color:transparent}.dashboard-card.featured p{color:rgba(255,255,255,.78)}.dashboard-card.featured .text-link{color:#fff}.dashboard-card h2{margin:9px 0 8px;font-size:1.35rem}.dashboard-card p{color:var(--muted);margin:0 0 22px}.dashboard-card .text-link{margin-top:auto}.card-kicker{font-size:.68rem;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:var(--primary)}.featured .card-kicker{color:#cce4f8}.roles-panel{margin-top:24px;padding:28px;background:#fff;border:1px solid var(--line);border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:24px}.roles-panel h2{margin:0}.role-list{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.role-chip,.status-pill{display:inline-flex;align-items:center;padding:7px 11px;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:.78rem;font-weight:850}.profile-grid{display:grid;gap:18px}.panel h2{margin-top:0}.profile-picture-wrap{display:flex;align-items:center;gap:18px}.profile-picture{width:88px;height:88px;object-fit:cover;border-radius:24px;border:1px solid var(--line)}.avatar{display:grid;place-items:center;background:var(--primary-soft);color:var(--primary);font-weight:900;border-radius:50%;width:48px;height:48px}.avatar-large{width:74px;height:74px;font-size:1.25rem}.avatar-xl{width:96px;height:96px;font-size:1.5rem;border-radius:28px}.upload-form{display:flex;align-items:center;gap:12px;margin-top:18px}.upload-form input{min-width:0;flex:1}.security-links{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:18px}.dashboard-card.mini{min-height:0;text-decoration:none;color:var(--ink);gap:8px}.stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-bottom:24px}.stat-card span{display:block;color:var(--muted);font-size:.84rem;font-weight:700}.stat-card strong{display:block;font-size:2.5rem;line-height:1.1;margin-top:8px}.role-table{display:grid}.role-table>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid var(--line)}.role-table>div:last-child{border-bottom:0}.role-table span{color:var(--muted)}.success-icon{width:64px;height:64px;border-radius:50%;display:grid;place-items:center;background:var(--success-bg);color:var(--success);font-size:1.6rem;font-weight:900;margin:0 auto 20px}.centered{text-align:center}.muted{color:var(--muted)}
@media(max-width:900px){.hero-grid{grid-template-columns:1fr;gap:28px}.hero-art{min-height:330px}.dashboard-grid{grid-template-columns:1fr 1fr}.feature-strip{grid-template-columns:1fr}.roles-panel{align-items:flex-start;flex-direction:column}.role-list{justify-content:flex-start}.stats-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.container{width:min(100% - 28px,1160px)}.site-nav{min-height:68px;align-items:flex-start;padding:15px 0}.brand img{width:170px;height:auto}.main-nav{gap:11px;flex-wrap:wrap;justify-content:flex-end}.main-nav>a,.nav-button{font-size:.78rem}.nav-cta{padding:8px 10px}.hero-home{padding:52px 0 28px}.hero h1{font-size:3.2rem}.hero-art{min-height:290px}.wing-card{width:270px;padding:28px;border-radius:30px}.wing-card strong{font-size:1.65rem}.welcome-panel{align-items:flex-start;flex-direction:column;padding:26px;margin-bottom:50px}.footer-grid{align-items:flex-start;flex-direction:column}.cookie-banner{left:10px;right:10px;bottom:10px;flex-direction:column;align-items:stretch}.cookie-actions{display:grid;grid-template-columns:1fr 1fr}.two-col,.dashboard-grid,.security-links,.stats-grid{grid-template-columns:1fr}.auth-card{padding:26px 20px}.auth-heading h1{font-size:2rem}.page-shell{padding:42px 0}.page-heading{align-items:flex-start;flex-direction:column}.upload-form{align-items:stretch;flex-direction:column}.profile-picture-wrap{align-items:flex-start}.main-nav .nav-form{order:4}.auth-links{flex-direction:column}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.btn{transition:none}}
/* Registration experience */
.auth-register-page{background:radial-gradient(circle at 15% 10%,rgba(58,118,180,.10),transparent 30%),radial-gradient(circle at 90% 80%,rgba(58,118,180,.08),transparent 28%),#f6f9fc;padding-top:44px;padding-bottom:80px}
.auth-card-wide{width:min(900px,100%);padding:46px 48px;border-radius:32px;box-shadow:0 30px 90px rgba(23,49,73,.10)}
.form-section-heading{display:flex;align-items:center;gap:13px;padding:9px 0 2px;border-top:1px solid var(--line);margin-top:8px}
.form-section-heading span{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;background:var(--primary-soft);color:var(--primary-dark);font-size:.72rem;font-weight:900}
.form-section-heading strong{display:block;font-size:1rem}.form-section-heading small{display:block;color:var(--muted);font-weight:450;margin-top:2px}
.three-col{display:grid;grid-template-columns:.72fr 1fr 1fr;gap:16px}.location-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:16px}
.field-optional{font-size:.72rem;color:var(--muted);font-weight:600;margin-left:4px}.country-select-wrap{display:grid;grid-template-columns:52px minmax(0,1fr);align-items:stretch;width:100%}.country-select-wrap select{width:100%;min-width:0;border-radius:0 13px 13px 0!important}.country-flag{display:grid;place-items:center;min-width:0;border:1px solid #cbd8e4;border-right:0;border-radius:13px 0 0 13px;background:#eef5fb;font-size:1.3rem;line-height:1;pointer-events:none}.mobile-input-row{display:grid;grid-template-columns:auto 1fr}.mobile-code{min-width:84px;display:flex;align-items:center;justify-content:center;background:#eef5fb;border:1px solid #cbd8e4;border-right:0;border-radius:13px 0 0 13px;color:var(--primary-dark);font-weight:900}.mobile-input-row input{border-radius:0 13px 13px 0!important}.mobile-preview{display:block;min-height:20px;margin-top:6px;color:var(--primary-dark);font-size:.88rem;font-weight:800}.password-field{position:relative}.password-field input{padding-right:52px}.password-toggle{position:absolute;right:7px;top:50%;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;background:transparent;color:#5d7184;cursor:pointer;display:grid;place-items:center}.password-toggle:hover{background:var(--primary-soft);color:var(--primary-dark)}.password-toggle:focus-visible{outline:3px solid rgba(58,118,180,.22)}.password-toggle.is-visible{color:var(--primary)}.register-submit{margin-top:8px;padding:15px 20px;justify-content:space-between}.register-submit span:first-child{margin-left:auto}.register-submit span:last-child{margin-left:auto;font-size:1.2rem}
@media(max-width:760px){.auth-card-wide{padding:32px 20px}.three-col,.location-grid{grid-template-columns:1fr}.form-section-heading{margin-top:4px}.auth-register-page{padding-top:26px}.mobile-code{min-width:78px}}

/* Registration legal consent and aligned location fields */
.location-grid-aligned{grid-template-columns:1fr 1fr;align-items:start}
.location-grid-aligned>label{min-width:0}
.location-grid-aligned select{width:100%;min-width:0}
.legal-consent{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;gap:10px;margin-top:6px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;line-height:1.5;cursor:pointer}
.legal-consent input{width:18px;height:18px;flex:0 0 18px;margin:2px 0 0;accent-color:var(--primary);cursor:pointer}
.legal-consent > span{display:block;flex:1;min-width:0}
.legal-consent a{font-weight:800;text-decoration:underline;text-underline-offset:2px}
.legal-consent:focus-within{outline:3px solid rgba(58,118,180,.18);border-color:var(--primary)}
.legal-consent-help{display:block;margin:-5px 0 2px 46px;color:var(--muted)}
.legal-page .content-card{max-width:900px;margin:0 auto}.footer-links{display:flex;gap:18px;flex-wrap:wrap}
.legal-page h2{margin-top:30px}
.legal-page p,.legal-page li{color:#40566a;line-height:1.75}
@media(max-width:760px){.location-grid-aligned{grid-template-columns:1fr}.legal-consent-help{margin-left:0}}

/* Registration form alignment */
.password-grid{align-items:start}.password-grid>label{min-width:0;display:flex;flex-direction:column}.password-grid .password-field{width:100%}.password-grid small{min-height:1.5em}.legal-consent{align-items:center}.legal-consent input{margin:0;flex:0 0 18px}.legal-consent-help{display:none}
@media(max-width:760px){.password-grid{grid-template-columns:1fr}.legal-consent{align-items:flex-start}.legal-consent > span{line-height:1.5}}

/* Registration label and legal-consent alignment */
.field-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:8px;min-height:1.25rem;line-height:1.25}.field-label-row>span:first-child{min-width:0}.field-optional{margin-left:auto;white-space:nowrap;font-size:.72rem;color:var(--muted);font-weight:600}.form-grid .legal-consent{display:flex!important;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:10px;margin-top:6px;padding:14px 16px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;line-height:1.5;cursor:pointer}.form-grid .legal-consent .legal-consent-checkbox{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;margin:2px 0 0!important;padding:0!important}.form-grid .legal-consent>span{display:block;flex:1;min-width:0}.form-grid .legal-consent a{font-weight:800;text-decoration:underline;text-underline-offset:2px}.form-grid .legal-consent:focus-within{outline:3px solid rgba(58,118,180,.18);border-color:var(--primary)}
@media(max-width:760px){.field-label-row{align-items:center}.form-grid .legal-consent{align-items:flex-start}}

/* Mobile-first navigation and profile improvements */
.menu-toggle{display:none;width:44px;height:44px;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;align-items:center;justify-content:center;flex-direction:column;gap:5px}
.menu-toggle span{display:block;width:22px;height:2px;background:var(--ink);border-radius:2px}
.dashboard-avatar{flex:0 0 auto}.dashboard-profile-picture{display:block;width:74px;height:74px;border-radius:24px;object-fit:cover;border:1px solid var(--line);box-shadow:0 10px 24px rgba(23,49,73,.08)}
.auto-setting{display:grid;gap:2px;padding:14px 16px;background:var(--primary-soft);border:1px solid #d7e8f6;border-radius:14px}.auto-setting strong{font-size:.9rem}.auto-setting span{color:var(--primary-dark);font-weight:800}.auto-setting small{color:var(--muted)}
.profile-location-grid{align-items:start}.profile-fields{align-items:start}.profile-fields label{min-width:0}.password-grid{align-items:start}.password-grid>label{min-width:0}.password-grid .password-field{width:100%}.password-grid small{min-height:1.5em}.password-field{position:relative}.password-field input{padding-right:52px}.password-toggle{z-index:2}
@media (max-width: 800px){
  .site-nav{min-height:68px;position:relative}
  .menu-toggle{display:flex;margin-left:auto;flex:0 0 auto}
  .main-nav{display:none;position:absolute;left:14px;right:14px;top:calc(100% + 8px);padding:10px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 45px rgba(23,49,73,.14);flex-direction:column;align-items:stretch;gap:3px}
  .main-nav.is-open{display:flex}
  .main-nav>a,.main-nav .nav-button{display:flex;width:100%;padding:12px 13px;border-radius:11px;font-size:.94rem;text-align:left}
  .main-nav>a:hover,.main-nav .nav-button:hover{background:var(--primary-soft)}
  .main-nav .nav-cta{justify-content:center;margin-top:5px}
  .main-nav .nav-form{width:100%}
  .main-nav .nav-button{justify-content:flex-start}
  .dashboard-heading{flex-direction:row;align-items:center}
}
@media (max-width: 700px){
  .dashboard-heading{align-items:flex-start;gap:18px}
    .profile-picture{width:80px;height:80px}
  .profile-fields,.profile-location-grid{grid-template-columns:1fr}
  .password-grid{grid-template-columns:1fr}
  .password-grid small{min-height:0}
}

/* Final mobile-first overflow and sizing hardening */
html, body { max-width: 100%; overflow-x: clip; }
img, svg, video, canvas { max-width: 100%; }
.container, .page-shell, .narrow-content, main, footer, header { min-width: 0; }
.container { width: min(1160px, calc(100% - 24px)); max-width: 1160px; }
.narrow-content { width: min(920px, calc(100% - 24px)); max-width: 100%; }
.panel, .dashboard-card, .stat-card, .roles-panel, .profile-grid, .security-links, .form-grid, .two-col, .three-col, .profile-fields { min-width: 0; max-width: 100%; }
.panel { overflow: hidden; }
.form-grid input, .form-grid select, .form-grid textarea, .upload-form input, .btn { min-width: 0; max-width: 100%; }
.profile-fields { grid-template-columns: minmax(96px,.65fr) minmax(0,1.35fr) minmax(0,1.35fr); gap: 16px; align-items: start; }
.registration-name-fields { grid-template-columns: minmax(96px,.65fr) minmax(0,1.35fr) minmax(0,1.35fr); gap: 16px; align-items: start; }
.registration-name-fields > label { min-width: 0; }
.registration-name-fields > label > input, .registration-name-fields > label > select { width: 100%; min-width: 0; height: 48px; }
.profile-fields > label { min-width: 0; }
.profile-fields > label > input, .profile-fields > label > select { width: 100%; min-width: 0; height: 48px; }
.dashboard-profile-picture { width: 112px; height: 112px; border-radius: 50%; object-fit: cover; border: 2px solid var(--line); box-shadow: 0 10px 30px rgba(23,49,73,.12); display:block; }
.dashboard-avatar { min-width: 112px; }
.profile-picture { width: 104px; height: 104px; object-fit: cover; }

@media (max-width: 800px) {
  .site-nav { min-height: 68px; position: relative; align-items: center; }
  .brand { min-width: 0; flex: 1 1 auto; }
  .brand img { width: min(174px, calc(100vw - 78px)); height: auto; }
  .menu-toggle { display: flex; flex: 0 0 44px; margin-left: 12px; }
  .main-nav { display: none; position: absolute; left: 0; right: 0; top: calc(100% + 8px); padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 18px; box-shadow: 0 18px 45px rgba(23,49,73,.14); flex-direction: column; align-items: stretch; gap: 3px; }
  .main-nav.is-open { display: flex; }
  .main-nav > a, .main-nav .nav-button { width: 100%; padding: 12px 13px; border-radius: 11px; text-align: left; }
  .main-nav .nav-cta { justify-content: center; text-align: center; }
  .profile-fields { grid-template-columns: 1fr; }
  .registration-name-fields { grid-template-columns: 1fr; }
  .profile-fields > label > input, .profile-fields > label > select { height: auto; }
  .registration-name-fields > label > input, .registration-name-fields > label > select { height: auto; }
  .dashboard-heading { align-items: flex-start; gap: 18px; }
  .dashboard-profile-picture, .dashboard-avatar, .dashboard-avatar .avatar-large { width: 128px; height: 128px; min-width: 128px; }
}
@media (max-width: 480px) {
  .dashboard-profile-picture, .dashboard-avatar, .dashboard-avatar .avatar-large { width: 112px; height: 112px; min-width: 112px; }
  .panel, .dashboard-card, .stat-card { padding: 20px; }
  .page-heading h1 { overflow-wrap: anywhere; }
}


/* Login account-help links: mobile-first, touch-friendly, no horizontal overflow. */
.auth-links {
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:20px;
}
.auth-help-link {
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:3px;
  padding:13px 14px;
  border:1px solid var(--line);
  border-radius:14px;
  background:var(--bg);
  color:var(--ink);
  text-decoration:none;
  line-height:1.35;
  transition:background .16s ease,border-color .16s ease,transform .16s ease;
}
.auth-help-link span {
  font-weight:800;
  overflow-wrap:anywhere;
}
.auth-help-link small {
  color:var(--muted);
  font-size:.78rem;
  font-weight:500;
}
.auth-help-link:hover {
  background:var(--primary-soft);
  border-color:#c7dced;
  transform:translateY(-1px);
}
.auth-help-link:focus-visible {
  outline:3px solid rgba(58,118,180,.22);
  outline-offset:2px;
  border-color:var(--primary);
}
@media (max-width: 560px) {
  .auth-links {
    grid-template-columns:1fr;
    gap:10px;
  }
  .auth-help-link {
    min-height:58px;
    padding:13px 14px;
  }
}
@media (max-width: 380px) {
  .auth-page { padding-inline:12px; }
  .auth-card { padding:24px 18px; border-radius:22px; }
  .auth-heading h1 { font-size:2rem; }
}


/* Site-wide responsive audit hardening */
.field-label-row {
  display: inline-flex;
  align-items: baseline;
  gap: 6px;
  max-width: 100%;
  white-space: nowrap;
}
.field-label-row > span:first-child {
  min-width: 0;
}
.field-optional {
  flex: 0 0 auto;
  white-space: nowrap;
}
.menu-toggle:focus-visible {
  outline: 3px solid rgba(58,118,180,.22);
  outline-offset: 2px;
}
@media (max-width: 800px) {
  .site-nav { width: calc(100% - 32px); max-width: none; }
  .main-nav { max-width: calc(100vw - 28px); }
  .main-nav > a, .main-nav .nav-button {
    min-height: 44px;
    overflow-wrap: anywhere;
  }
}
@media (max-width: 560px) {
  .page-shell { padding-top: 32px; padding-bottom: 32px; }
  .page-heading h1 { font-size: clamp(1.9rem, 9vw, 2.7rem); }
  .page-heading p:not(.eyebrow), .auth-heading p:not(.eyebrow) { overflow-wrap: anywhere; }
  .profile-picture-wrap { gap: 14px; }
  .profile-picture-wrap > div:last-child { min-width: 0; }
  .profile-picture-wrap h2 { overflow-wrap: anywhere; }
  .upload-form input[type="file"] { width: 100%; }
  .roles-panel { padding: 20px; }
  .role-list { width: 100%; }
  .role-chip { max-width: 100%; overflow-wrap: anywhere; }
}
@media (max-width: 380px) {
  .container, .narrow-content { width: calc(100% - 20px); max-width: none; }
  .auth-card { width: 100%; }
  .dashboard-heading { gap: 12px; }
  .dashboard-profile-picture, .dashboard-avatar, .dashboard-avatar .avatar-large { width: 96px; height: 96px; min-width: 96px; }
  .profile-picture { width: 88px; height: 88px; }
  .panel, .dashboard-card, .stat-card { padding: 17px; }
}


/* WCAG 2.2 AA accessibility hardening */
.skip-link {
  position:fixed;
  left:16px;
  top:8px;
  z-index:2000;
  transform:translateY(-160%);
  padding:10px 14px;
  border-radius:10px;
  background:#173149;
  color:#fff;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 8px 24px rgba(23,49,73,.22);
}
.skip-link:focus-visible { transform:translateY(0); outline:3px solid #fff; outline-offset:2px; }
:focus:not(:focus-visible) { outline:none; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline:3px solid rgba(58,118,180,.55);
  outline-offset:2px;
}
.btn:focus-visible, .nav-button:focus-visible, .auth-help-link:focus-visible { outline-color:rgba(58,118,180,.65); }
input[type="checkbox"], input[type="radio"] { accent-color:var(--primary); }
main:focus { outline:none; }
@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { scroll-behavior:auto !important; animation-duration:.01ms !important; animation-iteration-count:1 !important; transition-duration:.01ms !important; }
  .btn:hover, .auth-help-link:hover { transform:none; }
}
@media (max-width:800px) {
  .main-nav[hidden] { display:none !important; }
  .main-nav.is-open { display:flex !important; }
}
@media (min-width:801px) {
  .menu-toggle { display:none !important; }
  .main-nav[hidden] { display:flex !important; }
}


/* Branded 404/403 status pages */
.status-page{min-height:clamp(520px,68vh,720px);display:flex;align-items:center;padding-top:46px;padding-bottom:46px}
.status-card{position:relative;overflow:hidden;max-width:760px;margin:0 auto;padding:clamp(30px,6vw,64px);border:1px solid var(--line);border-radius:30px;background:linear-gradient(145deg,#fff 0%,#f7fbff 100%);box-shadow:var(--shadow);text-align:center}
.status-card::before{content:"";position:absolute;width:280px;height:280px;border-radius:50%;right:-150px;top:-150px;background:rgba(58,118,180,.10);pointer-events:none}
.status-card::after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;left:-110px;bottom:-110px;background:rgba(58,118,180,.07);pointer-events:none}
.status-icon{position:relative;z-index:1;width:112px;height:112px;margin:0 auto 26px;border-radius:32px;display:grid;place-items:center;background:var(--primary-soft);border:1px solid #cfe1f0;box-shadow:0 14px 35px rgba(23,49,73,.08)}
.status-icon span{font-size:1.55rem;letter-spacing:.06em;font-weight:900;color:var(--primary-dark)}
.status-icon-403{background:#f2f6fa}
.status-icon-403 span{color:var(--ink)}
.status-card .eyebrow{position:relative;z-index:1;margin-bottom:8px}
.status-card h1{position:relative;z-index:1;max-width:620px;margin:0 auto 16px;font-size:clamp(2rem,5vw,3.6rem);line-height:1.05;letter-spacing:-.045em}
.status-lead{position:relative;z-index:1;max-width:610px;margin:0 auto;color:var(--muted);font-size:1.05rem}
.status-actions{position:relative;z-index:1;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:28px}
.status-actions .btn{min-width:150px}
.status-help{position:relative;z-index:1;display:flex;align-items:flex-start;gap:10px;max-width:580px;margin:30px auto 0;padding:14px 16px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.78);text-align:left}
.status-help p{margin:0;color:var(--muted);font-size:.88rem;line-height:1.5}
.status-help-mark{flex:0 0 28px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--primary-soft);color:var(--primary-dark);font-weight:900}
@media (max-width:560px){
  .status-page{min-height:calc(100svh - 170px);padding-top:28px;padding-bottom:28px}
  .status-card{padding:28px 20px;border-radius:24px}
  .status-icon{width:88px;height:88px;border-radius:25px;margin-bottom:22px}
  .status-icon span{font-size:1.25rem}
  .status-card h1{font-size:clamp(1.9rem,9vw,2.7rem)}
  .status-lead{font-size:.98rem}
  .status-actions{flex-direction:column}
  .status-actions .btn{width:100%;min-width:0}
  .status-help{margin-top:22px}
}



/* Phase 3 content engine */
.content-page,.admin-page{padding-top:1.5rem;padding-bottom:3rem}
.breadcrumb-nav{display:flex;gap:.55rem;align-items:center;margin-bottom:1.25rem;font-size:.9rem;flex-wrap:wrap}
.message-card,.empty-content-card,.admin-section{background:#fff;border:1px solid #dfe7ef;border-radius:1rem;padding:1.25rem;margin-bottom:1.25rem;box-shadow:0 8px 24px rgba(20,40,60,.05)}
.message-header h1{font-size:clamp(2rem,5vw,3.25rem);margin:.25rem 0}
.message-period{color:#667085;margin:0}
.minister-card{display:flex;gap:1rem;align-items:center;margin:1.5rem 0;padding:1rem;border-radius:.8rem;background:#f6f8fb}
.minister-card img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.minister-card span{display:block;color:#667085;font-size:.9rem}
.scripture-block{margin:1.5rem 0;padding:1rem 1.25rem;border-left:4px solid #3a76b4;background:#f5f8fc;text-align:justify}
.message-body,.message-section{width:100%;max-width:none;line-height:1.8}
.message-body p{margin-bottom:1.2rem}
.message-section > div,.salvation-copy{text-align:justify}
.message-section > div p,.salvation-copy p{margin-bottom:1.2rem}
.message-section{margin-top:2rem;padding-top:1.25rem;border-top:1px solid #e5e7eb}
.message-section h2{font-size:1.35rem}
.message-meta{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:2rem;padding-top:1rem;border-top:1px solid #e5e7eb;color:#667085;flex-wrap:nowrap}.message-meta>.contributors-area{margin-top:0;padding-top:0;min-width:0}.message-meta>.contributors-area .contributors-details{min-width:0}.message-meta>span{white-space:nowrap}@media (max-width:700px){.message-meta{align-items:flex-start;flex-wrap:wrap}.message-meta>.contributors-area{width:100%}.message-meta>span{width:100%}}
.contributors-area{display:flex;gap:.65rem;flex-wrap:wrap;align-items:center}
.contributors-list{display:flex;flex-direction:column;gap:.3rem;width:100%;padding:.75rem;border-radius:.6rem;background:#f7f9fb}
.contributors-count{display:inline-grid;place-items:center;min-width:28px;height:28px;padding:0 .45rem;border-radius:999px;background:#eaf3fb;color:#245b8d;font-size:.78rem;font-weight:800}
.message-contributor-hover{position:relative;outline:none}
.message-contributor-hover:focus-visible{box-shadow:0 0 0 3px rgba(58,118,180,.22),0 8px 24px rgba(20,40,60,.05)}
.contributors-tooltip{position:absolute;z-index:30;left:1.25rem;bottom:calc(100% + 12px);width:min(390px,calc(100% - 2.5rem));padding:1rem;background:#fff;border:1px solid #d7e3ee;border-radius:16px;box-shadow:0 18px 45px rgba(20,40,60,.16);opacity:0;visibility:hidden;transform:translateY(8px);transition:opacity .16s ease,transform .16s ease,visibility .16s ease;pointer-events:none}
.contributors-tooltip::after{content:"";position:absolute;left:28px;bottom:-8px;width:15px;height:15px;background:#fff;border-right:1px solid #d7e3ee;border-bottom:1px solid #d7e3ee;transform:rotate(45deg)}
.message-contributor-hover:hover .contributors-tooltip,.message-contributor-hover:focus .contributors-tooltip,.message-contributor-hover.contributors-tooltip-open .contributors-tooltip{opacity:1;visibility:visible;transform:translateY(0)}
.contributors-tooltip-heading{display:flex;align-items:center;gap:.7rem;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid #e7edf3}
.contributors-tooltip-heading>div{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.contributors-tooltip-heading strong{color:#17324a;font-size:.96rem}
.contributors-tooltip-heading span:last-child{color:#708397;font-size:.78rem}
.contributors-tooltip-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#eaf3fb;color:#3a76b4;font-size:.9rem}
.contributors-tooltip-list{display:flex;flex-direction:column;gap:.55rem;max-height:none;overflow:visible}
.contributor-tooltip-item{display:flex;align-items:center;gap:.65rem;padding:.45rem;border-radius:11px}
.contributor-tooltip-item:hover{background:#f6f9fc}
.contributor-avatar{flex:0 0 36px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:#3a76b4;color:#fff;font-size:.75rem;font-weight:800}
.contributor-tooltip-person{display:flex;flex-direction:column;min-width:0;gap:.1rem}
.contributor-tooltip-person strong{color:#233b52;font-size:.86rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contributor-tooltip-person span{color:#718096;font-size:.76rem}
.message-navigation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.35rem 0 0;padding-top:1.15rem;border-top:1px solid var(--line);}
.message-nav-item{min-width:0;padding:1rem 1.1rem;border:1px solid var(--line);border-radius:14px;background:#f8fbfe;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease;}
.message-nav-item:hover{border-color:#b9d5eb;box-shadow:0 6px 18px rgba(15,23,42,.05);transform:translateY(-1px);}
.message-nav-item.is-disabled{opacity:.65;}
.message-nav-next{text-align:right;}
.message-nav-label{display:block;margin-bottom:.45rem;color:var(--muted);font-size:.75rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.message-nav-title{display:flex;align-items:flex-start;justify-content:flex-start;gap:.55rem;color:var(--ink);font-size:1rem;font-weight:750;line-height:1.45;text-decoration:none;}
.message-nav-next .message-nav-title{justify-content:flex-end;}
.message-nav-title:hover{color:var(--primary);}
.message-nav-item.is-disabled .message-nav-title{color:var(--muted);font-weight:600;}
.admin-page .page-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-bottom:1.5rem}
.heading-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.admin-section h2{margin-top:0}
.table-wrap{overflow-x:auto}
.admin-form{display:flex;flex-direction:column;gap:1rem;background:#fff;border:1px solid #dfe7ef;border-radius:1rem;padding:1.25rem}
.admin-form label{display:block;font-weight:600;margin-bottom:.35rem}
.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:.7rem .8rem;border:1px solid #cbd5e1;border-radius:.55rem}
.admin-page .form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
/* Minister slot assignment: equal field widths and a button aligned with controls. */
.admin-page .minister-slot-assignment-grid{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:auto 48px;align-items:start;column-gap:1rem;row-gap:.45rem;width:100%}
.admin-page .minister-slot-assignment-grid>label{display:grid;grid-template-rows:1.35rem 48px;align-content:start;min-width:0;gap:.45rem;line-height:1.35;margin:0}
.admin-page .minister-slot-assignment-grid>label>select,
.admin-page .minister-slot-assignment-grid>label>input{display:block;width:100%;height:48px;min-height:48px;min-width:0;margin:0;box-sizing:border-box;align-self:start}
.admin-page .minister-slot-assignment-grid>.btn{grid-row:2;align-self:start;display:inline-flex;align-items:center;justify-content:center;height:48px;min-height:48px;width:100%;min-width:0;white-space:normal;margin:0;box-sizing:border-box}
@media(max-width:1000px){.admin-page .minister-slot-assignment-grid{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:auto 48px auto 48px}.admin-page .minister-slot-assignment-grid>label:nth-of-type(3){grid-column:1;grid-row:3}.admin-page .minister-slot-assignment-grid>.btn{grid-column:2;grid-row:4}}
@media(max-width:600px){.admin-page .minister-slot-assignment-grid{grid-template-columns:minmax(0,1fr);grid-template-rows:none;gap:.85rem}.admin-page .minister-slot-assignment-grid>label,.admin-page .minister-slot-assignment-grid>label>select,.admin-page .minister-slot-assignment-grid>label>input{width:100%}.admin-page .minister-slot-assignment-grid>.btn{grid-column:1;grid-row:auto;width:100%}}
.admin-form fieldset{border:1px solid #dfe7ef;border-radius:.7rem;padding:1rem}
.admin-form legend{font-size:1rem;font-weight:700;float:none;width:auto;padding:0 .35rem}
.danger-form{margin-top:1rem}
.inline-form{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}
.inline-form select{padding:.65rem;border:1px solid #cbd5e1;border-radius:.55rem}
.giving-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.giving-bank-details{display:grid;gap:0;margin:20px 0 0}.giving-bank-details>div{display:flex;justify-content:space-between;gap:20px;padding:14px 0;border-bottom:1px solid var(--line)}.giving-bank-details dt{font-weight:700;color:var(--muted)}.giving-bank-details dd{margin:0;text-align:right;font-weight:800;color:var(--ink);word-break:break-word}.giving-instructions{margin-top:18px;padding:16px;border-radius:12px;background:#f7fbfe}.giving-instructions h3{font-size:1rem;margin:0 0 6px}.giving-instructions p{margin:0;line-height:1.7}.giving-donor-summary{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;background:#f8fafc}.integration-help{margin-top:18px;padding:18px 20px;border:1px solid var(--line);border-radius:14px;background:#f8fafc}.integration-help p{margin:7px 0;color:var(--muted)}.integration-help code{padding:2px 6px;border-radius:6px;background:#eef3f7;color:var(--ink);font-size:.9em}.giving-donor-summary span{color:var(--muted);font-size:.9rem}.button-row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.giving-result-actions{justify-content:center;margin-top:24px}.status-successful{background:#e8f7ee;color:#176b3a}.status-line{display:flex;align-items:center;gap:10px;color:var(--muted)}.table-responsive{overflow-x:auto}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}.table th{font-size:.82rem;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.table small{color:var(--muted)}
@media(max-width:760px){.page-shell .container > section + section{margin-top:22px}.giving-grid{grid-template-columns:1fr}.giving-bank-details>div{align-items:flex-start;flex-direction:column;gap:4px}.giving-bank-details dd{text-align:left}}
.status-badge{display:inline-block;padding:.25rem .55rem;border-radius:999px;background:#eef3f8;font-size:.82rem}
@media (max-width:800px){
 .admin-page .page-heading{flex-direction:column}
 .form-grid{grid-template-columns:1fr}
 .message-navigation{grid-template-columns:1fr}
 .message-nav-next{text-align:left}
 .message-nav-next .message-nav-title{justify-content:flex-start}
 .message-card,.empty-content-card,.admin-section,.admin-form{padding:1rem}
}

/* Verify-email confirmation form: isolate it from global/admin form-grid rules. */
.auth-confirm-form{display:flex;justify-content:center;align-items:center;width:100%;margin:18px 0 0;}
.auth-confirm-form .btn{width:auto;min-width:160px;margin-inline:auto;}


.period-hero{position:relative;width:100%;min-height:320px;padding:0;background:var(--primary);color:#fff;display:grid;place-items:center;overflow:hidden;isolation:isolate;}
.period-hero::before,.period-hero::after{content:"";position:absolute;z-index:-1;border:1px solid rgba(255,255,255,.18);border-radius:50%;pointer-events:none;}
.period-hero::before{width:520px;height:520px;left:-270px;top:-330px;}
.period-hero::after{width:600px;height:600px;right:-315px;bottom:-390px;}
.period-hero-inner{position:relative;width:min(980px,calc(100% - 40px));min-height:320px;padding:52px 28px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.period-hero-inner::before{content:"";width:72px;height:4px;border-radius:999px;background:#fff;margin-bottom:26px;box-shadow:0 0 0 8px rgba(255,255,255,.10);}
.period-hero-label{margin:0;text-transform:uppercase;font-size:clamp(.85rem,1.5vw,1.05rem);line-height:1.25;font-weight:850;letter-spacing:.16em;color:#fff;}
.period-hero h1{margin:16px 0 0;max-width:900px;font-size:clamp(2.3rem,5vw,4.4rem);line-height:1.04;letter-spacing:-.045em;color:#fff;text-wrap:balance;text-shadow:0 2px 16px rgba(0,0,0,.12);}
@media(max-width:700px){.period-hero{min-height:250px;}.period-hero::before{width:320px;height:320px;left:-190px;top:-230px;}.period-hero::after{width:360px;height:360px;right:-210px;bottom:-250px;}.period-hero-inner{min-height:250px;width:min(100%,calc(100% - 28px));padding:38px 14px;}.period-hero-inner::before{width:54px;height:3px;margin-bottom:20px;}.period-hero-label{font-size:.78rem;letter-spacing:.12em;}.period-hero h1{font-size:clamp(1.85rem,8vw,2.7rem);margin-top:12px;}}
/* Public message library and responsive content hardening */
.archive-heading { display:flex; justify-content:space-between; gap:1.25rem; align-items:flex-end; margin-bottom:1.25rem; }
.archive-search { min-width:min(420px,100%); }
.archive-search label, .message-search-inline label { display:block; font-weight:700; margin-bottom:.4rem; }
.search-row { display:flex; gap:.55rem; align-items:stretch; }
.search-row input { flex:1 1 auto; min-width:0; }
.archive-tabs { display:flex; gap:.5rem; flex-wrap:wrap; margin-bottom:1rem; }
.archive-tabs a { padding:.65rem .9rem; border:1px solid #dfe7ef; border-radius:999px; text-decoration:none; color:inherit; background:#fff; }
.archive-tabs a.is-active { background:var(--primary-soft); border-color:#bfd6e8; font-weight:800; }
.archive-list { display:flex; flex-direction:column; gap:.75rem; }
.archive-item { display:grid; grid-template-columns:minmax(150px,220px) minmax(90px,130px) 1fr auto; gap:1rem; align-items:center; padding:1rem 1.1rem; background:#fff; border:1px solid #dfe7ef; border-radius:.9rem; box-shadow:0 6px 18px rgba(20,40,60,.04); }
.archive-item-date { color:#667085; font-size:.9rem; }
.archive-item-main h2 { margin:.15rem 0 .25rem; font-size:1.12rem; }
.archive-item-main p { margin:0; color:#667085; }
.archive-open { white-space:nowrap; }
.archive-pagination { display:flex; justify-content:center; align-items:center; gap:1rem; margin-top:1.25rem; flex-wrap:wrap; }
.public-search-form { margin-bottom:1.5rem; }
.search-results h2 { margin:.5rem 0 1rem; }
.message-library-tools { display:flex; gap:.75rem; align-items:flex-end; justify-content:space-between; flex-wrap:wrap; margin-top:1.25rem; }
.message-search-inline { flex:1 1 420px; max-width:620px; }
.message-audio, .message-video { display:block; width:100%; max-width:760px; margin-top:.75rem; }
.message-video { max-height:520px; background:#111; border-radius:.7rem; }
.empty-actions { display:flex; gap:.65rem; flex-wrap:wrap; }
@media (max-width:800px) {
  .archive-heading { flex-direction:column; align-items:stretch; }
  .archive-search { min-width:0; width:100%; }
  .archive-item { grid-template-columns:1fr; gap:.65rem; }
  .archive-open { justify-self:start; }
  .message-library-tools { align-items:stretch; }
  .message-search-inline { flex-basis:100%; max-width:none; }
}
@media (max-width:560px) {
  .search-row { flex-direction:column; }
  .search-row .btn { width:100%; }
  .archive-tabs { flex-direction:column; }
  .archive-tabs a { width:100%; }
  .archive-item { padding:.9rem; }
  .empty-actions { flex-direction:column; }
  .empty-actions .btn { width:100%; }
  .message-audio { height:44px; }
}

.poster-summary { display:flex; flex-direction:column; gap:.2rem; padding:.9rem 1rem; border:1px solid #dfe7ef; border-radius:.75rem; background:#f7f9fb; }
.poster-summary span { color:#667085; }
.media-preview-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.media-preview-card { min-width:0; padding:1rem; border:1px solid #dfe7ef; border-radius:.8rem; background:#f8fafc; display:flex; flex-direction:column; gap:.55rem; }
.media-preview-card audio, .media-preview-card video { display:block; width:100%; max-width:100%; }
.media-preview-card video { max-height:260px; background:#111; border-radius:.5rem; }
.media-placeholder { min-height:100px; display:grid; place-items:center; border:1px dashed #b8c5d2; border-radius:.6rem; color:#667085; background:#fff; text-align:center; }
@media (max-width:700px) { .media-preview-grid { grid-template-columns:1fr; } }

.minister-details-panel{background:linear-gradient(180deg,#fbfcfe 0%,#f5f8fc 100%);border-color:#d8e2ec}
.minister-profile-card{display:flex;align-items:center;gap:1.15rem;padding:1.1rem;border:1px solid #dbe4ed;border-radius:1rem;background:#fff;box-shadow:0 6px 20px rgba(16,24,40,.06)}
.minister-profile-avatar{width:88px;height:88px;flex:0 0 88px;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#e8eef5;color:#475467;font-size:1.5rem;font-weight:800}
.minister-profile-avatar img{width:100%;height:100%;object-fit:cover}
.minister-profile-info h3{margin:.1rem 0 .45rem;font-size:1.2rem}
.minister-profile-info p{margin:.2rem 0;color:#475467}
.minister-profile-eyebrow{font-size:.75rem!important;text-transform:uppercase;letter-spacing:.08em;font-weight:700;color:#667085!important}
.minister-profile-bio{margin-top:.6rem!important}
@media (max-width:600px){.minister-profile-card{align-items:flex-start;flex-direction:column}.minister-profile-avatar{width:76px;height:76px;flex-basis:76px}}

/* Contributor workflow */
.contributor-admin-list{display:grid;gap:10px;margin:18px 0}.contributor-admin-row{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;align-items:center;gap:14px;padding:14px 16px;background:#f8fbfe;border:1px solid var(--line);border-radius:14px}.contributor-admin-row>div:first-child{display:flex;flex-direction:column;gap:2px}.contributor-admin-row>div:first-child span{color:var(--muted);font-size:.82rem}.contributor-admin-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.contributor-add-form{margin-top:20px}.dashboard-section{margin-top:24px}.section-heading-inline{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.section-heading-inline h2{margin:.2rem 0 .35rem}.notification-list,.contribution-list{display:grid;gap:12px;margin-top:20px}.notification-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding-bottom:18px;border-bottom:1px solid var(--line)}.notification-header h2{margin:.2rem 0 .35rem}.notification-subtitle{margin:0;color:var(--muted);max-width:620px}.notification-count{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border-radius:999px;background:#eef6fc;color:var(--primary);font-size:.84rem;font-weight:700;white-space:nowrap}.notification-count span{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--primary);color:#fff}.notification-item{display:grid;grid-template-columns:42px minmax(0,1fr);gap:14px;padding:18px;border:1px solid var(--line);border-radius:16px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.notification-item:hover{border-color:#b9d5eb;box-shadow:0 8px 22px rgba(15,23,42,.06)}.notification-item.is-unread{border-color:#b9d5eb;background:#f8fbfe}.notification-item.is-read{background:#fff}.notification-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:#edf5fb;color:var(--primary);font-weight:800;font-size:1rem}.notification-item.is-unread .notification-icon{background:var(--primary);color:#fff}.notification-content{min-width:0}.notification-item-top{display:flex;justify-content:space-between;align-items:flex-start;gap:14px}.notification-title-row{display:flex;align-items:center;gap:9px;min-width:0}.notification-title-row strong{font-size:1rem;color:var(--ink)}.notification-new{display:inline-flex;padding:3px 8px;border-radius:999px;background:#e8f3fb;color:var(--primary);font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.notification-item time{color:#8797a7;font-size:.78rem;white-space:nowrap}.notification-item p{margin:.5rem 0 .8rem;color:var(--muted);white-space:pre-line;line-height:1.65}.notification-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notification-read-button{border:0;background:transparent;color:var(--muted);padding:8px 4px;font:inherit;font-size:.84rem;cursor:pointer}.notification-read-button:hover{color:var(--primary)}.notification-empty{margin-top:20px;padding:34px 24px;text-align:center;border:1px dashed #cbd8e3;border-radius:16px;background:#fbfdff}.notification-empty-icon{width:48px;height:48px;margin:0 auto 12px;border-radius:50%;display:grid;place-items:center;background:#edf7f0;color:#26824a;font-weight:800}.notification-empty h3{margin:.2rem 0 .4rem}.notification-empty p{margin:0 auto;color:var(--muted);max-width:520px}.contribution-item{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:16px;border:1px solid var(--line);border-radius:14px;text-decoration:none;color:var(--ink);background:#fff}.contribution-item:hover{border-color:#b9d5eb;transform:translateY(-1px)}.contribution-item div{display:flex;flex-direction:column}.contribution-item span{color:var(--muted);font-size:.84rem}.contribution-detail-card h2{margin-top:26px}.contribution-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.contribution-detail-grid>div{display:flex;flex-direction:column;gap:4px;padding:14px;background:#f8fbfe;border-radius:12px}.contribution-message-preview{padding:18px;border-left:4px solid var(--primary-soft);background:#fbfdff;white-space:pre-wrap}.contributors-area{margin-top:.5rem;padding-top:.5rem}.message-meta{margin-top:2.5rem}
@media (max-width:760px){.contributor-admin-row,.notification-item{grid-template-columns:1fr;display:grid}.notification-item-top{flex-direction:column;gap:6px}.notification-header{flex-direction:column}.notification-count{align-self:flex-start}.contributor-admin-actions{justify-content:flex-start}.contribution-detail-grid{grid-template-columns:1fr}.notification-actions{align-items:stretch}.notification-actions .btn{width:100%}}


/* Contributor workflow and tooltip hardening */
.contributor-admin-panel{margin-top:2.5rem}
.message-card.message-contributor-hover{position:relative;overflow:visible}
.message-card.message-contributor-hover:focus{z-index:40}
.message-card.message-contributor-hover:hover{z-index:40}
.contributors-tooltip{pointer-events:none}
.message-card.message-contributor-hover:hover .contributors-tooltip,.message-card.message-contributor-hover:focus .contributors-tooltip,.message-card.message-contributor-hover.contributors-tooltip-open .contributors-tooltip{pointer-events:auto}
.contribution-actions{display:flex;gap:.75rem;align-items:flex-start;flex-wrap:wrap;margin-top:1.25rem}
.contribution-actions .form-grid{flex:1 1 100%}
.contribution-edit-form{gap:1.25rem}
.contribution-edit-form fieldset{margin:0}
.contribution-edit-actions{display:flex;gap:.75rem;flex-wrap:wrap}

.contribution-message-section{margin-top:1.75rem}.contribution-message-section h3{margin:0 0 .65rem;font-size:1rem;color:var(--ink)}.contribution-message-section>p{margin:0}.contribution-message-section .message-audio,.contribution-message-section .message-video{display:block;width:100%;max-width:100%;margin-top:.5rem}


/* Contributor disclosure: native click-to-open details, works without JavaScript/CSP exceptions. */
.contributors-area{position:relative;display:flex;align-items:center;gap:.55rem;margin-top:1.5rem;padding-top:1.25rem}
.contributors-details{position:relative;display:inline-block}
.contributors-details>summary{list-style:none}
.contributors-details>summary::-webkit-details-marker{display:none}
.contributors-trigger{display:inline-flex;align-items:center;gap:.55rem;border:0;background:transparent;color:var(--primary-dark);font:inherit;font-weight:800;padding:.55rem .8rem;cursor:pointer;border-radius:9px;min-height:2.5rem}
.contributors-trigger:hover,.contributors-trigger:focus-visible,.contributors-details[open]>summary{background:var(--primary-soft);outline:none}
.contributors-trigger .contributors-count{pointer-events:none}
.contributors-label{font-weight:800}
.contributors-popover{position:absolute;z-index:100;left:0;top:calc(100% + 10px);width:min(390px,calc(100vw - 40px));padding:1rem;background:#fff;border:1px solid #d7e3ee;border-radius:16px;box-shadow:0 18px 45px rgba(20,40,60,.16)}
.contributors-popover::before{content:"";position:absolute;left:22px;top:-7px;width:13px;height:13px;background:#fff;border-left:1px solid #d7e3ee;border-top:1px solid #d7e3ee;transform:rotate(45deg)}
.contributors-popover .contributors-tooltip-heading{position:relative;z-index:1;display:flex;gap:.7rem;align-items:center;margin-bottom:.8rem}
.contributors-popover .contributors-tooltip-heading>div{display:flex;flex-direction:column;gap:.15rem}
.contributors-popover .contributors-tooltip-list{max-height:none;overflow:visible;display:grid;gap:.55rem}
.contributors-popover .contributor-tooltip-item{display:flex;align-items:center;gap:.7rem;padding:.55rem .45rem;border-radius:10px}
.contributors-popover .contributor-tooltip-item:hover{background:var(--primary-soft)}
.contributor-tooltip-person{display:flex;flex-direction:column;gap:.15rem}
.message-meta{position:relative;overflow:visible}

/* Contributor profile pictures */
.contributor-avatar-image {
    display: block;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    border-radius: 50%;
    object-fit: cover;
    border: 1px solid #d8e1ea;
    background: #e8eef5;
}

/* Published message redesign */
.message-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:28px;align-items:start}
.message-main{min-width:0}
.message-sidebar{position:relative;align-self:stretch}
.message-sidebar-inner{position:sticky;top:96px;display:grid;gap:16px}
.sidebar-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;box-shadow:0 10px 30px rgba(23,49,73,.05)}
.sidebar-card h2{font-size:1.05rem;margin:.2rem 0 .5rem;line-height:1.3}
.sidebar-card a:not(.btn){display:block;padding:.55rem 0;border-bottom:1px solid #edf1f5;text-decoration:none;font-weight:700}
.sidebar-card a:last-child:not(.btn){border-bottom:0}
.sidebar-muted{color:var(--muted);margin:0}
.sidebar-stat{margin:.8rem 0 0;color:var(--muted)}
.sidebar-stat strong{color:var(--ink);font-size:1.35rem}
.sidebar-giving{background:linear-gradient(145deg,#f8fbfe,#eef6fc)}
.comments-section{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 10px 30px rgba(23,49,73,.05)}
.comments-section .section-heading-inline{margin-bottom:20px}
.comments-section .section-heading-inline h2{margin:.1rem 0 .2rem}
.comments-section .section-heading-inline p:not(.eyebrow){margin:0;color:var(--muted)}
.comments-count{padding:.35rem .65rem;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-weight:800;font-size:.82rem}
.comment-form{display:grid;gap:10px;padding:18px;background:#f8fbfe;border:1px solid #e2ebf3;border-radius:15px;margin-bottom:22px}
.comment-form label{font-weight:800}
.comment-form textarea,.reply-form textarea{width:100%;resize:vertical;padding:12px 14px;border:1px solid #cbd8e4;border-radius:12px;font:inherit;background:#fff}
.comments-list{display:grid;gap:16px}
.comment-item{padding:18px;border:1px solid #e3eaf1;border-radius:15px;background:#fff}
.comment-item>p{margin:12px 0 0;white-space:pre-wrap}
.comment-author{display:flex;align-items:center;gap:11px}
.comment-author img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:#e8eef5;border:1px solid #d8e1ea}
.comment-author div{display:flex;flex-direction:column;min-width:0}
.comment-author strong{font-size:.94rem}
.comment-author time{font-size:.75rem;color:var(--muted)}
.reply-details{margin-top:12px}
.reply-details summary{display:inline-block;cursor:pointer;color:var(--primary);font-weight:800;font-size:.86rem}
.reply-form{display:grid;gap:8px;margin-top:10px;padding:12px;background:#f8fbfe;border-radius:12px}
.comment-reply{margin:14px 0 0 34px;background:#f8fbfe;border-left:3px solid #c7dcec}
.comments-empty,.comment-login-note{margin:0;color:var(--muted)}
.salvation-section{margin-top:28px;padding:30px;border:1px solid #d8e6f1;border-radius:20px;background:linear-gradient(145deg,#f8fbfe,#eef6fc)}
.salvation-section h2{margin:.2rem 0 12px;font-size:1.6rem}
.salvation-copy{line-height:1.8;margin-bottom:18px}
.giving-cta{margin-top:20px;padding:28px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-radius:20px;background:linear-gradient(145deg,#3a76b4,#285a8b);color:#fff;box-shadow:0 18px 45px rgba(44,94,145,.2)}
.giving-cta .eyebrow{color:#cfe6fa}
.giving-cta h2{margin:.2rem 0 .4rem}.giving-cta p:not(.eyebrow){margin:0;color:rgba(255,255,255,.82)}
.giving-cta .btn{background:#fff;color:var(--primary-dark)}
@media(max-width:900px){.message-layout{grid-template-columns:1fr}.message-sidebar-inner{position:static}.message-sidebar{order:2}.message-main{order:1}}
@media(max-width:600px){.comments-section,.salvation-section{padding:18px}.giving-cta{flex-direction:column;align-items:flex-start}.giving-cta .btn{width:100%}.comment-reply{margin-left:14px}}


.message-cover-image{width:100%;height:300px;display:block;object-fit:cover;object-position:center;border-radius:18px;}

.admin-content-pagination-bar{margin-top:1.5rem;padding-top:1rem;border-top:1px solid #e7edf3}.admin-content-pagination{display:flex;justify-content:center;align-items:center;gap:.45rem;flex-wrap:wrap}
.admin-content-pagination .pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:2.25rem;height:2.25rem;padding:0 .7rem;border:1px solid #dfe7ef;border-radius:.55rem;background:#fff;color:#3a76b4;text-decoration:none;font-weight:700;font-size:.86rem}
.admin-content-pagination .pagination-link:hover,.admin-content-pagination .pagination-link.is-active{background:#3a76b4;color:#fff;border-color:#3a76b4}
.admin-content-pagination-meta{text-align:center;color:#708397;font-size:.82rem;margin:.65rem 0 0}

.admin-content-pagination-bar{display:flex;flex-direction:column;align-items:center;gap:.55rem}.admin-content-pagination .pagination-link.is-disabled{opacity:.45;pointer-events:none;background:#f7f9fb;color:#708397;border-color:#e3e9ef}.admin-content-pagination-meta{margin:0}

/* Published message content: use the full width available inside the message card. */
.public-message-page .message-main,
.public-message-page .message-card,
.public-message-page .message-body,
.public-message-page .message-body p,
.public-message-page .message-section,
.public-message-page .message-section > div,
.public-message-page .scripture-block {
    width: 100%;
    max-width: none;
    min-width: 0;
    box-sizing: border-box;
}
.public-message-page .message-body p,
.public-message-page .message-section > div,
.public-message-page .message-section > div p,
.public-message-page .scripture-block {
    text-align: justify;
}

/* Dashboard notification inbox */
.notification-button-row{display:flex;justify-content:flex-end;align-items:center;min-width:min(100%,520px);margin-left:auto}.notification-nav-button{min-width:260px}.notification-nav-arrow{font-size:1.1rem;font-weight:800}
.notification-nav-button{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:10px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}
.notification-nav-button:hover{border-color:#b9d5eb;box-shadow:0 6px 18px rgba(15,23,42,.06);transform:translateY(-1px)}
.notification-nav-button-unread{border-color:#b9d5eb;background:#f8fbfe}
.notification-nav-button span:nth-child(2){display:flex;flex-direction:column;gap:2px;min-width:0}.notification-nav-button strong{font-size:.9rem}.notification-nav-button small{font-size:.76rem;color:var(--muted)}
.notification-nav-icon{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:#edf5fb;color:var(--primary);font-weight:800}.notification-nav-button-unread .notification-nav-icon{background:var(--primary);color:#fff}
.notification-inbox{padding:0;overflow:hidden}.notification-inbox-head{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line)}.notification-inbox-head h2{margin:0 0 3px}.notification-inbox-head p{margin:0;color:var(--muted);font-size:.84rem}
.notification-inbox .notification-list{margin:0;gap:0}.notification-inbox .notification-item{border:0;border-radius:0;border-bottom:1px solid var(--line);padding:16px 22px}.notification-inbox .notification-item:last-child{border-bottom:0}.notification-inbox .notification-item:hover{box-shadow:none;transform:none}
.notification-inbox .notification-item p{margin:.35rem 0 .55rem;line-height:1.5}.notification-inbox .notification-actions{gap:8px}
.notification-pagination-bar{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 22px;border-top:1px solid var(--line);background:#fbfdff}.notification-pagination-bar>p{margin:0;color:var(--muted);font-size:.8rem}.notification-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.notification-pagination .pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #dfe7ef;border-radius:7px;background:#fff;color:var(--primary);text-decoration:none;font-weight:700;font-size:.82rem}.notification-pagination .pagination-link:hover,.notification-pagination .pagination-link.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.notification-pagination .pagination-link.is-disabled{opacity:.45;pointer-events:none;background:#f7f9fb;color:var(--muted)}
@media (max-width:760px){.notification-button-row{min-width:0;width:100%;justify-content:stretch}.notification-nav-button{width:100%;min-width:0}.notification-inbox-head{align-items:flex-start;flex-direction:column}.notification-inbox .notification-item{padding:14px 16px}}

/* Dashboard assigned-contribution pagination */
.dashboard-pagination-bar{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:12px;padding:14px 0 0;border-top:1px solid var(--line)}
.dashboard-pagination-bar>p{margin:0;color:var(--muted);font-size:.8rem;text-align:center}.dashboard-pagination{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.dashboard-pagination .pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #dfe7ef;border-radius:7px;background:#fff;color:var(--primary);text-decoration:none;font-weight:700;font-size:.82rem}.dashboard-pagination .pagination-link:hover,.dashboard-pagination .pagination-link.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.dashboard-pagination .pagination-link.is-disabled{opacity:.45;pointer-events:none;background:#f7f9fb;color:var(--muted)}

/* Salvation form Bootstrap alignment */
.salvation-form .field-optional{white-space:nowrap;line-height:1;font-size:.8rem;font-weight:400}
.salvation-form .form-label{color:#26384a}
.salvation-form .form-control,.salvation-form .form-select{border-color:#d8e2eb;box-shadow:none}
/* Keep the follow-up consent checkbox compact and inline with its label. */
.salvation-form .salvation-consent-row{display:grid;grid-template-columns:1.1rem minmax(0,1fr);align-items:start;column-gap:.65rem;min-width:0;width:100%;}
.salvation-form .salvation-consent-row input[type="checkbox"]{display:block!important;appearance:auto;box-sizing:border-box;grid-column:1;grid-row:1;width:1.1rem!important;min-width:1.1rem!important;max-width:1.1rem!important;height:1.1rem!important;min-height:1.1rem!important;max-height:1.1rem!important;margin:.2rem 0 0!important;padding:0!important;flex:none!important;align-self:start;}
.salvation-form .salvation-consent-row label{display:block;grid-column:2;grid-row:1;min-width:0;width:auto!important;max-width:none;margin:0!important;font-weight:400;line-height:1.5;cursor:pointer;}
.salvation-form .form-control:focus,.salvation-form .form-select:focus{border-color:#3a76b4;box-shadow:0 0 0 .2rem rgba(58,118,180,.12)}
.salvation-form .form-control[readonly]{background:#f8fafc}
.salvation-form .form-text{font-size:.82rem;color:#64748b}
.salvation-form .salvation-submit{margin-top:1.25rem}
/* Salvation follow-up */
.salvation-page{padding-bottom:56px}
.salvation-hero{margin-bottom:28px;padding:38px 42px;border-radius:22px;background:linear-gradient(135deg,#3a76b4,#2e649a);color:#fff;box-shadow:0 16px 36px rgba(58,118,180,.16)}
.salvation-hero .eyebrow{color:rgba(255,255,255,.82);margin-bottom:8px}.salvation-hero h1{margin:0;font-size:clamp(2rem,4vw,3rem);line-height:1.1}.salvation-hero p:last-child{margin:12px 0 0;max-width:680px;color:rgba(255,255,255,.9);font-size:1.02rem}
.salvation-followup-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);gap:28px;align-items:start}
.salvation-source-card,.salvation-form-card{padding:34px}
.salvation-source-card h2,.salvation-form-card h2{margin-top:4px;margin-bottom:10px}.salvation-source-card{overflow:hidden}
.salvation-source-copy,.salvation-blessing{line-height:1.85;text-align:justify;margin-top:18px}
.salvation-prayer-block{margin-top:28px;padding-top:26px;border-top:1px solid #d8e6f1}
.salvation-blessing{padding:20px;border-left:4px solid #3a76b4;background:#f5f9fc;border-radius:0 12px 12px 0}
.salvation-minister{display:flex;align-items:center;gap:16px;margin-top:22px;padding:18px;border:1px solid #d8e6f1;border-radius:16px;background:#f8fbfe}
.salvation-minister img{width:72px;height:72px;border-radius:50%;object-fit:cover;border:1px solid #d8e6f1;flex:0 0 auto}
.salvation-minister strong,.salvation-minister span{display:block}.salvation-minister strong{font-size:1.03rem}.salvation-minister span{color:#64748b;font-size:.92rem;margin-top:3px}.salvation-minister .salvation-minister-label{color:#3a76b4;font-weight:800;font-size:.74rem;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.salvation-form-intro{color:#64748b;margin-bottom:24px}.salvation-form{margin-top:0}.salvation-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 18px;align-items:start}.salvation-form label{display:flex;flex-direction:column;gap:7px;min-width:0;font-weight:700;color:#26384a;line-height:1.35}.salvation-form label .field-optional{display:inline;font-size:.78rem;font-weight:500;color:#64748b;margin-left:4px}.salvation-form input,.salvation-form select,.salvation-form textarea{width:100%;min-height:48px;box-sizing:border-box;margin:0;font:inherit}.salvation-form textarea{min-height:92px;resize:vertical;line-height:1.5}.salvation-form label small{font-weight:400;color:#64748b;line-height:1.4;margin-top:1px}.salvation-field-grid .salvation-address-field{grid-column:1/-1}.salvation-field-grid .salvation-date-field{max-width:none}.salvation-submit{margin-top:22px;min-height:48px}.salvation-empty{max-width:780px;margin:0 auto;text-align:center;padding:44px}
@media(max-width:900px){.salvation-followup-grid{grid-template-columns:1fr}.salvation-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.salvation-field-grid{grid-template-columns:1fr}.salvation-field-grid .salvation-date-field,.salvation-field-grid .salvation-address-field{grid-column:auto;max-width:none}}
@media(max-width:600px){.salvation-hero{padding:30px 22px;border-radius:16px}.salvation-source-card,.salvation-form-card{padding:22px}.salvation-admin-stats{grid-template-columns:1fr}.success-card{padding:30px 22px}.salvation-minister{align-items:flex-start}.salvation-minister img{width:60px;height:60px}}
.salvation-admin-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:28px}
.salvation-drip-list{display:grid;gap:18px;margin-bottom:24px}
.salvation-drip-item{border:1px solid #d8e6f1;border-radius:14px;padding:20px;background:#fbfdff}
.salvation-drip-item legend{font-weight:800;color:#3a76b4;padding:0 8px}
.salvation-drip-item label{display:block;margin-top:12px;font-weight:600}
.salvation-drip-item input,.salvation-drip-item textarea{width:100%;margin-top:7px}
.checkbox-label{display:flex!important;align-items:center;gap:8px}.checkbox-label input{width:auto!important;margin:0!important}
.success-card{max-width:760px;margin:40px auto;padding:48px;text-align:center}
@media(max-width:900px){.salvation-followup-grid{grid-template-columns:1fr}.salvation-admin-stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.salvation-source-card,.salvation-form-card{padding:22px}.salvation-admin-stats{grid-template-columns:1fr}.success-card{padding:30px 22px}}

/* Admin dashboard spacing */
.admin-permission-model {
    margin-top: 2rem;
}


/* Message media, archive cards and search redesign */
.message-audio-card .message-audio{margin-top:.5rem;max-width:100%;}
.message-video-section{margin-top:1.5rem;padding:1.25rem;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(23,49,73,.05)}
.message-video-section .message-video{margin-top:.75rem;max-width:100%;width:100%;}
.archive-page,.search-page{background:#f7f9fc;min-height:100vh;padding-bottom:3rem}
.archive-hero,.search-hero{background:var(--primary);color:#fff;padding:4.25rem 0 4rem;position:relative;overflow:hidden}
.archive-hero::after,.search-hero::after{content:"";position:absolute;width:430px;height:430px;border:1px solid rgba(255,255,255,.16);border-radius:50%;right:-210px;top:-190px}
.archive-hero-inner,.search-hero-inner{position:relative;z-index:1;text-align:center;max-width:900px}
.archive-hero .eyebrow,.search-hero .eyebrow{color:rgba(255,255,255,.82)}
.archive-hero h1,.search-hero h1{color:#fff;margin:.35rem 0 .75rem;font-size:clamp(2.2rem,5vw,4rem);letter-spacing:-.04em}
.archive-hero p:not(.eyebrow),.search-hero p:not(.eyebrow){color:rgba(255,255,255,.9);font-size:1.05rem;margin:0 auto;max-width:680px}
.archive-toolbar{display:flex;justify-content:space-between;gap:1.25rem;align-items:flex-end;margin:2rem 0 1.5rem}
.archive-toolbar .archive-tabs{margin:0}
.archive-results-heading,.search-results-heading{display:flex;justify-content:space-between;gap:1rem;align-items:flex-end;margin:0 0 1rem}
.archive-results-heading h2,.search-results-heading h2{margin:.2rem 0 .3rem}
.archive-results-heading>span,.search-filter-badge{background:#fff;border:1px solid var(--line);border-radius:999px;padding:.45rem .8rem;color:var(--muted);font-size:.9rem}
.archive-cards,.search-result-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.archive-card,.search-result-card{background:#fff;border:1px solid #dfe7ef;border-radius:18px;overflow:hidden;box-shadow:0 8px 24px rgba(20,40,60,.05);display:flex;flex-direction:column;min-width:0}
.archive-card-top,.search-result-top{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1rem;border-bottom:1px solid #edf1f5;background:#fbfcfe;color:var(--muted);font-size:.85rem}
.archive-type-badge{display:inline-flex;align-items:center;padding:.3rem .6rem;border-radius:999px;background:var(--primary-soft);color:var(--primary);font-weight:700}
.archive-card-body,.search-result-main{padding:1.1rem 1.15rem;display:flex;flex-direction:column;gap:.8rem;flex:1}
.archive-minister,.search-result-minister{display:flex;align-items:center;gap:.75rem}
.archive-minister img,.search-result-minister img{width:64px;height:64px;object-fit:cover;border-radius:50%;border:2px solid #eef2f6;background:#f3f6f9}
.search-result-minister img{width:70px;height:70px}
.archive-minister span,.search-result-minister span{display:block;color:var(--muted);font-size:.78rem;margin-bottom:.15rem}
.archive-minister strong,.search-result-minister strong{display:block;font-size:.95rem;font-weight:650}
.archive-card h3,.search-result-card h3{font-size:1.25rem;line-height:1.3;margin:0}
.archive-card h3 a,.search-result-card h3 a{text-decoration:none;color:var(--ink)}
.archive-card h3 a:hover,.search-result-card h3 a:hover{color:var(--primary)}
.archive-excerpt,.search-result-excerpt{margin:0;color:#4f6072;line-height:1.75;text-align:justify}
.archive-card-footer,.search-result-footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:.85rem 1.15rem;border-top:1px solid #edf1f5;color:var(--muted);font-size:.84rem}
.search-hero-form{margin:2rem auto 0;max-width:820px;display:grid;grid-template-columns:minmax(0,1fr) 190px auto;gap:.65rem;align-items:center}
.search-hero-input{display:flex;align-items:center;background:#fff;border-radius:12px;padding:0 .9rem;box-shadow:0 10px 28px rgba(0,0,0,.12)}
.search-hero-input span{font-size:1.25rem;color:#7b8794}.search-hero-input input{border:0;outline:0;min-width:0;width:100%;padding:.85rem .65rem;font-size:1rem;background:transparent}
.search-hero-form .form-select{min-height:48px;border-radius:12px}.search-hero-form .btn{min-height:48px;border-radius:12px;padding-inline:1.25rem;font-weight:700}
.search-results{padding-top:2rem}.search-results-heading p:not(.eyebrow){margin:0;color:var(--muted)}
@media(max-width:850px){.archive-cards,.search-result-cards{grid-template-columns:1fr}.archive-toolbar{flex-direction:column;align-items:stretch}.search-hero-form{grid-template-columns:1fr}.search-hero-form .btn{width:100%}}
@media(max-width:560px){.archive-hero,.search-hero{padding:3rem 0}.archive-results-heading,.search-results-heading{align-items:flex-start;flex-direction:column}.archive-card-footer,.search-result-footer{align-items:flex-start;flex-direction:column}.archive-card-footer .btn,.search-result-footer .btn{width:100%}.archive-toolbar .archive-tabs{flex-direction:row}.archive-toolbar .archive-tabs a{width:auto}.archive-card-body,.search-result-main{padding:1rem}.search-hero-form{margin-top:1.4rem}}

/* Standalone message video section */
.message-video-section{margin-bottom:1.5rem;}
.message-video-section h2{margin:0;}

/* Final public archive/search article refinement */
.archive-cards,
.search-result-cards{
    display:flex;
    flex-direction:column;
    gap:1.25rem;
    max-width:1040px;
    margin:0 auto;
}
.archive-card,
.search-result-card{
    width:100%;
    background:#fff;
    border:1px solid #e1e8ef;
    border-radius:20px;
    overflow:hidden;
    box-shadow:0 8px 26px rgba(23,49,73,.055);
}
.archive-card-top,
.search-result-top{
    padding:1rem 1.25rem;
    background:#fbfcfe;
}
.archive-card-body,
.search-result-main{
    padding:1.35rem 1.4rem;
    gap:.95rem;
}
.archive-minister,
.search-result-minister{
    padding-bottom:.15rem;
}
.archive-card h3,
.search-result-card h3{
    font-size:clamp(1.25rem,2vw,1.55rem);
    line-height:1.35;
    margin:.1rem 0 0;
}
.archive-excerpt,
.search-result-excerpt{
    max-width:none;
    margin:0;
    line-height:1.8;
    text-align:justify;
    text-justify:inter-word;
}
.archive-card-footer,
.search-result-footer{
    padding:1rem 1.4rem;
    background:#fff;
}
.archive-pagination{
    margin:1.5rem auto 0;
    max-width:1040px;
    padding-top:.25rem;
}
.search-results{
    max-width:1080px;
    margin:0 auto;
    padding-top:2.25rem;
}
.search-results-heading{
    margin-bottom:1.25rem;
    padding:0 .15rem;
}
.search-results-heading h2{
    font-size:clamp(1.5rem,3vw,2rem);
}
.empty-content-card{
    max-width:1040px;
    margin:0 auto;
    background:#fff;
    border:1px solid #e1e8ef;
    border-radius:20px;
    padding:2rem;
    box-shadow:0 8px 26px rgba(23,49,73,.045);
}

/* Message video: standalone white section with edge-to-edge video */
.message-video-section{
    margin:1.5rem 0;
    padding:1.15rem 1.15rem 0;
    background:#fff;
    border:1px solid var(--line);
    border-radius:18px;
    box-shadow:0 8px 24px rgba(23,49,73,.05);
    overflow:hidden;
}
.message-video-section .section-heading-inline{
    padding:0 .1rem 1rem;
}
.message-video-section .message-video{
    display:block;
    width:100%;
    max-width:none;
    margin:0;
    border-radius:0;
}
@media(max-width:560px){
    .archive-card-body,.search-result-main{padding:1.05rem 1rem}
    .archive-card-footer,.search-result-footer{padding:1rem}
    .archive-card-top,.search-result-top{padding:.85rem 1rem}
    .message-video-section{padding:1rem 1rem 0;border-radius:15px}
    .message-video-section .section-heading-inline{padding-bottom:.85rem}
}

/* Stylish public archive/search redesign — Bootstrap-compatible layout */
.archive-page,
.search-page{background:#f4f7fa;min-height:100vh;padding-bottom:4rem;}

.archive-hero,
.search-hero{
    position:relative;
    overflow:hidden;
    background:linear-gradient(135deg,#2c6398 0%,#3a76b4 55%,#4b86bd 100%);
    color:#fff;
    margin:0;
    padding:clamp(4.5rem,8vw,6.5rem) 0 clamp(3.5rem,6vw,5rem);
    box-shadow:0 12px 35px rgba(23,49,73,.12);
}
.archive-hero::before,
.search-hero::before{
    content:"";position:absolute;width:420px;height:420px;border:1px solid rgba(255,255,255,.14);
    border-radius:50%;left:-220px;top:-250px;
}
.archive-hero::after,
.search-hero::after{
    content:"";position:absolute;width:560px;height:560px;border:1px solid rgba(255,255,255,.12);
    border-radius:50%;right:-300px;bottom:-390px;
}
.archive-hero-inner,
.search-hero-inner{position:relative;z-index:1;text-align:center;max-width:980px;padding-top:.75rem;}
.archive-breadcrumb,.search-breadcrumb{width:100%;margin:.35rem auto 2.25rem;padding:0 .25rem;}
.archive-breadcrumb .breadcrumb,.search-breadcrumb .breadcrumb{justify-content:flex-start;--bs-breadcrumb-divider-color:rgba(255,255,255,.48);font-size:.88rem;margin:0;}
.archive-breadcrumb .breadcrumb-item a,.search-breadcrumb .breadcrumb-item a{color:rgba(255,255,255,.86);text-decoration:none;font-weight:500;}
.archive-breadcrumb .breadcrumb-item a:hover,.search-breadcrumb .breadcrumb-item a:hover{color:#fff;text-decoration:underline;}
.archive-breadcrumb .breadcrumb-item.active,.search-breadcrumb .breadcrumb-item.active{color:rgba(255,255,255,.62);}
.archive-breadcrumb .breadcrumb-item + .breadcrumb-item::before,.search-breadcrumb .breadcrumb-item + .breadcrumb-item::before{color:rgba(255,255,255,.48);}
.archive-hero .eyebrow,
.search-hero .eyebrow{color:rgba(255,255,255,.78);margin:0 0 1rem;letter-spacing:.12em;}
.archive-hero h1,
.search-hero h1{color:#fff;margin:0 0 1rem;font-size:clamp(2.25rem,5vw,4.1rem);line-height:1.05;letter-spacing:-.045em;}
.archive-hero p:not(.eyebrow),
.search-hero p:not(.eyebrow){color:rgba(255,255,255,.9);max-width:700px;margin:0 auto;line-height:1.7;}

.archive-toolbar{
    display:flex;justify-content:space-between;align-items:flex-end;gap:2rem;
    margin:2.5rem auto 2rem;max-width:1180px;
    padding:1.25rem;background:#fff;border:1px solid #e0e8ef;border-radius:18px;
    box-shadow:0 8px 24px rgba(23,49,73,.045);
}
.archive-tabs{margin:0;display:flex;gap:.5rem;flex-wrap:wrap;}
.archive-tabs a{padding:.62rem .9rem;border:1px solid #dfe7ef;border-radius:999px;text-decoration:none;color:var(--ink);background:#fff;transition:.2s ease;}
.archive-tabs a:hover{border-color:#b9d0e4;background:#f4f9fd;}
.archive-tabs a.is-active{background:var(--primary);border-color:var(--primary);color:#fff;font-weight:650;}
.archive-search{min-width:min(430px,100%);}
.archive-search .form-label{color:var(--ink);}
.archive-search .form-control,.archive-search .btn{border-radius:10px;}

.archive-results,.search-results{max-width:1180px;margin:0 auto;}
.archive-results-heading,.search-results-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:1rem;margin:0 0 1.25rem;padding:0 .25rem;}
.archive-results-heading h2,.search-results-heading h2{margin:.15rem 0 .35rem;font-size:clamp(1.6rem,3vw,2.25rem);}
.archive-results-heading>span,.search-filter-badge{background:#fff;border:1px solid #dfe7ef;border-radius:999px;padding:.5rem .85rem;color:var(--muted);font-size:.88rem;white-space:nowrap;}

/* Each article is an independent, airy four-column card on desktop. */
.archive-cards,.search-result-cards{display:flex;flex-direction:column;gap:1.25rem;max-width:none;margin:0;}
.archive-card,.search-result-card{
    display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(210px,1fr) minmax(320px,1.9fr) minmax(150px,.65fr);
    align-items:stretch;width:100%;background:#fff;border:1px solid #dce6ee;border-radius:18px;
    overflow:hidden;box-shadow:0 7px 24px rgba(23,49,73,.055);transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.archive-card:hover,.search-result-card:hover{transform:translateY(-2px);box-shadow:0 13px 32px rgba(23,49,73,.09);border-color:#cbdbe7;}
.archive-card-top,.search-result-top{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:.7rem 1.15rem;background:#f8fafc;border-bottom:1px solid #e9eef3;color:var(--muted);font-size:.84rem;}
.archive-card-body,.search-result-main{display:contents;}
.archive-minister,.search-result-minister{display:flex;align-items:center;gap:.8rem;padding:1.25rem;border-right:1px solid #edf1f4;min-width:0;}
.archive-minister img,.search-result-minister img{width:62px;height:62px;flex:0 0 62px;object-fit:cover;border-radius:50%;border:2px solid #edf2f6;background:#f4f7f9;}
.archive-minister span,.search-result-minister span{display:block;color:var(--muted);font-size:.76rem;margin-bottom:.25rem;}
.archive-minister strong,.search-result-minister strong{display:block;font-size:.94rem;font-weight:600;line-height:1.4;}
.archive-card h3,.search-result-card h3{margin:0;padding:1.35rem;align-self:center;border-left:1px solid #edf1f4;font-size:1.18rem;line-height:1.4;min-width:0;}
.archive-card h3 a,.search-result-card h3 a{color:var(--ink);text-decoration:none;}
.archive-card h3 a:hover,.search-result-card h3 a:hover{color:var(--primary);}
.archive-excerpt,.search-result-excerpt{margin:0;padding:1.35rem;align-self:center;color:#4f6072;line-height:1.75;text-align:justify;text-justify:inter-word;border-left:1px solid #edf1f4;}
.archive-card-footer,.search-result-footer{display:flex;flex-direction:column;justify-content:center;align-items:stretch;gap:.75rem;padding:1.25rem;border-left:1px solid #edf1f4;background:#fff;}
.archive-card-footer span,.search-result-footer span{font-size:.78rem;color:var(--muted);line-height:1.4;}
.archive-card-footer .btn,.search-result-footer .btn{width:100%;border-radius:9px;}

.search-hero-form{max-width:980px;margin:2rem auto 0;padding:1rem;background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.2);border-radius:18px;backdrop-filter:blur(6px);}
.search-hero-form .form-control,.search-hero-form .form-select{border-radius:10px;border:0;box-shadow:none;}
.search-hero-form .btn{border-radius:10px;font-weight:650;}
.search-hero-form .form-label{font-size:.88rem;margin-bottom:.4rem;}
.search-results{padding-top:2.5rem;}
.search-results-heading p:not(.eyebrow){margin:0;color:var(--muted);}

.archive-pagination{display:flex;justify-content:center;align-items:center;gap:1rem;margin:1.75rem auto 0;max-width:1180px;flex-wrap:wrap;}
.empty-content-card{max-width:none;margin:0;background:#fff;border:1px solid #dfe7ef;border-radius:18px;padding:2.5rem;text-align:center;box-shadow:0 7px 24px rgba(23,49,73,.045);}

@media(max-width:1050px){
    .archive-card,.search-result-card{grid-template-columns:minmax(190px,.9fr) minmax(220px,1.25fr) minmax(130px,.55fr);}
    .archive-card h3,.search-result-card h3{grid-column:auto;}
    .archive-excerpt,.search-result-excerpt{grid-column:1/-1;border-left:0;border-top:1px solid #edf1f4;padding-top:1rem;}
    .archive-card-footer,.search-result-footer{grid-column:3;grid-row:2;border-top:0;}
}
@media(max-width:850px){
    .archive-toolbar{flex-direction:column;align-items:stretch;}
    .archive-search{width:100%;min-width:0;}
    .archive-card,.search-result-card{display:flex;flex-direction:column;}
    .archive-minister,.search-result-minister{border-right:0;border-bottom:1px solid #edf1f4;}
    .archive-card h3,.search-result-card h3{padding:1.1rem 1.25rem;}
    .archive-excerpt,.search-result-excerpt{border-left:0;border-top:1px solid #edf1f4;padding:1.1rem 1.25rem;}
    .archive-card-footer,.search-result-footer{border-left:0;border-top:1px solid #edf1f4;}
}
@media(max-width:560px){
    .archive-hero,.search-hero{padding:3.75rem 0 3.25rem;}
    .archive-hero-inner,.search-hero-inner{padding-top:.5rem;}
    .archive-toolbar{margin-top:1.25rem;padding:1rem;}
    .archive-results-heading,.search-results-heading{align-items:flex-start;flex-direction:column;}
    .archive-card-top,.search-result-top{padding:.75rem 1rem;}
    .archive-minister,.search-result-minister,.archive-card-footer,.search-result-footer{padding:1rem;}
    .archive-pagination .btn{width:100%;}
}

/* Definitive archive/search card layout — four-column editorial cards */
.archive-breadcrumb,
.search-breadcrumb{
    display:block;
    text-align:left;
    margin:0 0 2rem;
    padding:0;
}
.archive-breadcrumb .breadcrumb,
.search-breadcrumb .breadcrumb{
    justify-content:flex-start !important;
    text-align:left;
    margin:0;
    padding:0;
}
.archive-hero-inner,
.search-hero-inner{
    padding-top:2rem;
}

.archive-cards,
.search-result-cards{
    display:flex;
    flex-direction:column;
    gap:1.5rem;
}
.archive-card,
.search-result-card{
    display:block;
    width:100%;
    background:#fff !important;
    border:1px solid #dce5ed !important;
    border-radius:1rem !important;
    overflow:hidden;
    box-shadow:0 .45rem 1.5rem rgba(15,23,42,.06) !important;
    transform:none;
}
.archive-card:hover,
.search-result-card:hover{
    transform:translateY(-2px);
    box-shadow:0 .8rem 2rem rgba(15,23,42,.09) !important;
}
.archive-card-top,
.search-result-top{
    display:flex !important;
    align-items:center;
    justify-content:space-between;
    min-height:3rem;
    padding:.7rem 1.25rem !important;
    background:#f8fafc !important;
    border:0 !important;
    border-bottom:1px solid #e9eef3 !important;
}
.archive-card-grid,
.search-result-grid{
    width:100%;
    margin:0 !important;
}
.archive-column,
.search-column{
    min-height:10.5rem;
    padding:1.35rem !important;
    display:flex;
    flex-direction:column;
    justify-content:center;
    min-width:0;
}
.archive-column + .archive-column,
.search-column + .search-column{
    border-left:1px solid #e9eef3;
}
.archive-minister,
.search-result-minister{
    flex-direction:row !important;
    align-items:center !important;
    gap:.9rem;
}
.archive-minister img,
.search-result-minister img{
    flex:0 0 auto;
}
.archive-column-label,
.search-column-label{
    display:block;
    margin-bottom:.55rem;
    color:#7b8794;
    font-size:.72rem;
    font-weight:600;
    letter-spacing:.08em;
    text-transform:uppercase;
}
.archive-card h3,
.search-result-card h3{
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    font-size:1.12rem;
    line-height:1.45;
}
.archive-excerpt,
.search-result-excerpt{
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
    color:#526273;
    line-height:1.7;
    text-align:justify;
    text-justify:inter-word;
}
.archive-action-column,
.search-action-column{
    align-items:stretch;
}
.archive-action-column .btn,
.search-action-column .btn{
    align-self:stretch;
    width:100%;
    border-radius:.55rem;
    white-space:nowrap;
}
@media(max-width:991.98px){
    .archive-column,
    .search-column{min-height:auto;}
    .archive-column + .archive-column,
    .search-column + .search-column{border-left:0;border-top:1px solid #e9eef3;}
    .archive-action-column,
    .search-action-column{align-items:stretch;}
}
@media(max-width:575.98px){
    .archive-hero-inner,
    .search-hero-inner{padding-top:1.5rem;}
    .archive-breadcrumb,
    .search-breadcrumb{margin-bottom:1.5rem;}
    .archive-column,
    .search-column{padding:1.1rem !important;}
}


/* =========================================================
   Archive / Search — spacing & alignment refinement
   Keep the established four-column card design intact.
   ========================================================= */

.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    padding-top: 1.75rem;
    padding-bottom: 2.75rem;
}

.archive-page .archive-breadcrumb,
.search-page .search-breadcrumb {
    width: 100%;
    display: block;
    text-align: left;
    margin: 0 0 1.5rem;
}

.archive-page .archive-breadcrumb .breadcrumb,
.search-page .search-breadcrumb .breadcrumb {
    justify-content: flex-start;
    margin: 0;
    padding: 0;
    text-align: left;
}

.archive-page .archive-breadcrumb .breadcrumb-item,
.search-page .search-breadcrumb .breadcrumb-item {
    text-align: left;
}

.archive-page .archive-breadcrumb a,
.search-page .search-breadcrumb a {
    text-decoration: none;
}

.archive-page .archive-results,
.search-page .search-results {
    padding-top: 2.25rem;
    padding-bottom: 3rem;
}

.archive-page .archive-results-heading,
.search-page .search-results-heading {
    margin-bottom: 1.25rem;
    align-items: flex-end;
}

.archive-page .archive-cards,
.search-page .search-result-cards {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.archive-page .archive-card,
.search-page .search-result-card {
    margin: 0;
    overflow: hidden;
    border-radius: 1rem;
    background: #fff;
}

.archive-page .archive-card-top,
.search-page .search-result-top {
    min-height: 3.25rem;
    padding: .8rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.archive-page .archive-card-grid,
.search-page .search-result-grid {
    margin: 0;
    align-items: stretch;
}

.archive-page .archive-column,
.search-page .search-column {
    padding: 1.5rem 1.5rem;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

.archive-page .archive-column + .archive-column,
.search-page .search-column + .search-column {
    border-left: 1px solid var(--border, #e5e7eb);
}

.archive-page .archive-minister,
.search-page .search-result-minister {
    align-items: flex-start;
}

.archive-page .archive-title-column,
.search-page .search-title-column {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}

.archive-page .archive-excerpt-column,
.search-page .search-excerpt-column {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
}

.archive-page .archive-action-column,
.search-page .search-action-column {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    justify-content: center;
}

.archive-page .archive-column-label,
.search-page .search-column-label {
    margin-bottom: .65rem;
    line-height: 1.2;
}

.archive-page .archive-excerpt,
.search-page .search-result-excerpt {
    margin: 0;
    line-height: 1.75;
    text-align: justify;
    text-justify: inter-word;
}

.archive-page .archive-title-column h3,
.search-page .search-title-column h3 {
    margin-top: 0;
    margin-bottom: .75rem;
    line-height: 1.3;
}

.archive-page .archive-minister p,
.search-page .search-result-minister p {
    margin-bottom: .25rem;
}

.archive-page .archive-action-column .btn,
.search-page .search-action-column .btn {
    align-self: flex-start;
    margin-top: .5rem;
    white-space: nowrap;
}

.archive-page .archive-search,
.archive-page .archive-search .row,
.search-page .search-hero-form {
    margin-left: 0;
    margin-right: 0;
}

.archive-page .archive-search {
    margin-top: 1.5rem;
}

.archive-page .archive-search .form-control,
.archive-page .archive-search .form-select,
.archive-page .archive-search .btn,
.search-page .search-hero-form .form-control,
.search-page .search-hero-form .form-select,
.search-page .search-hero-form .btn {
    min-height: 48px;
}

.archive-page .archive-search .form-label,
.search-page .search-hero-form .form-label {
    margin-bottom: .45rem;
    line-height: 1.3;
}

@media (max-width: 991.98px) {
    .archive-page .archive-column + .archive-column,
    .search-page .search-column + .search-column {
        border-left: 0;
        border-top: 1px solid var(--border, #e5e7eb);
    }

    .archive-page .archive-column,
    .search-page .search-column {
        padding: 1.25rem 1.35rem;
    }

    .archive-page .archive-title-column,
    .search-page .search-title-column,
    .archive-page .archive-excerpt-column,
    .search-page .search-excerpt-column {
        padding-left: 1.35rem;
        padding-right: 1.35rem;
    }
}

@media (max-width: 575.98px) {
    .archive-page .archive-hero-inner,
    .search-page .search-hero-inner {
        padding-top: 1.25rem;
        padding-bottom: 2rem;
    }

    .archive-page .archive-breadcrumb,
    .search-page .search-breadcrumb {
        margin-bottom: 1.1rem;
    }

    .archive-page .archive-results,
    .search-page .search-results {
        padding-top: 1.5rem;
    }

    .archive-page .archive-card-top,
    .search-page .search-result-top {
        padding: .75rem 1rem;
        align-items: flex-start;
        flex-direction: column;
    }

    .archive-page .archive-column,
    .search-page .search-column {
        padding: 1.1rem 1rem;
    }
}

/* =========================================================
   EXPLICIT HEADER-TO-BREADCRUMB SPACING
   /archives and /search only
   ========================================================= */
.archive-page .archive-hero {
    padding-top: 0 !important;
}

.search-page .search-hero {
    padding-top: 0 !important;
}

.archive-page .archive-breadcrumb {
    margin-top: 32px !important;
}

.search-page .search-breadcrumb {
    margin-top: 32px !important;
}

@media (max-width: 575.98px) {
    .archive-page .archive-breadcrumb,
    .search-page .search-breadcrumb {
        margin-top: 20px !important;
    }
}



/* =========================================================
   Archive/Search final alignment refinement
   ========================================================= */

/* Breadcrumbs centred within the content width, while preserving
   their natural left-to-right breadcrumb reading order. */
.archive-page .archive-breadcrumb,
.search-page .search-breadcrumb {
    width: min(100%, 1140px);
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center;
}

.archive-page .archive-breadcrumb .breadcrumb,
.search-page .search-breadcrumb .breadcrumb {
    justify-content: center;
    display: flex;
}

/* Vertically centre the contents of each result column. */
.archive-page .archive-card-grid,
.search-page .search-result-grid {
    align-items: stretch;
}

.archive-page .archive-column,
.search-page .search-column {
    justify-content: center;
}

.archive-page .archive-action-column,
.search-page .search-action-column {
    align-items: center;
    text-align: center;
}

.archive-page .archive-minister,
.search-page .search-result-minister {
    align-items: center;
    text-align: center;
}

.archive-page .archive-title-column,
.search-page .search-title-column,
.archive-page .archive-excerpt-column,
.search-page .search-excerpt-column {
    text-align: center;
}

.archive-page .archive-excerpt,
.search-page .search-result-excerpt {
    width: 100%;
}

/* Search hero form: keep the three controls aligned and visible. */
.search-page .search-hero-form {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 1rem;
    margin-top: 1.5rem;
}

.search-page .search-hero-form > div {
    margin: 0 !important;
}

.search-page .search-hero-form .search-field,
.search-page .search-hero-form .search-type-field {
    flex: 1 1 0;
    min-width: 240px;
}

.search-page .search-hero-form .search-submit-field {
    flex: 0 0 auto;
}

.search-page .search-hero-form .form-label {
    display: block;
    text-align: left;
    margin-bottom: .5rem;
}

.search-page .search-hero-form .form-control,
.search-page .search-hero-form .form-select {
    width: 100%;
    display: block;
}

.search-page .search-hero-form .btn {
    white-space: nowrap;
    min-width: 120px;
}

/* Keep controls cleanly aligned on narrower screens. */
@media (max-width: 767.98px) {
    .search-page .search-hero-form {
        display: grid;
        grid-template-columns: 1fr;
        gap: 1rem;
    }

    .search-page .search-hero-form .search-field,
    .search-page .search-hero-form .search-type-field,
    .search-page .search-hero-form .search-submit-field {
        min-width: 0;
        width: 100%;
    }

    .search-page .search-hero-form .btn {
        width: 100%;
    }
}

@media (max-width: 991.98px) {
    .archive-page .archive-column,
    .search-page .search-column {
        text-align: center;
        align-items: center;
    }

    .archive-page .archive-column + .archive-column,
    .search-page .search-column + .search-column {
        border-left: 0;
    }
}


/* Archives/Search: breadcrumbs removed */
.archive-page .archive-breadcrumb,
.search-page .search-breadcrumb {
    display: none !important;
}

/* Search controls remain one coordinated row on desktop. */
@media (min-width: 992px) {
    .search-page .search-hero-form {
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-end;
        gap: 1rem;
    }

    .search-page .search-hero-form .search-field {
        flex: 1 1 auto;
        min-width: 0;
    }

    .search-page .search-hero-form .search-type-field {
        flex: 0 0 260px;
    }

    .search-page .search-hero-form .search-submit-field {
        flex: 0 0 auto;
    }

    .search-page .search-hero-form .btn {
        min-width: 120px;
    }
}

/* Whole result cards are clickable. */
.archive-page .archive-card.is-clickable,
.search-page .search-result-card.is-clickable {
    cursor: pointer;
    transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.archive-page .archive-card.is-clickable:hover,
.search-page .search-result-card.is-clickable:hover {
    transform: translateY(-2px);
    box-shadow: 0 .5rem 1.25rem rgba(15, 23, 42, .10);
}

.archive-page .archive-card.is-clickable:focus-visible,
.search-page .search-result-card.is-clickable:focus-visible {
    outline: 3px solid rgba(58, 118, 180, .28);
    outline-offset: 3px;
}

.archive-page .archive-card.is-clickable a,
.search-page .search-result-card.is-clickable a {
    position: relative;
    z-index: 2;
}


/* =========================================================
   Archives / Search hero final alignment
   ========================================================= */
.archive-page .archive-hero,
.search-page .search-hero {
    display: flex;
    align-items: center;
}

.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    width: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

.archive-page .archive-hero-inner > *,
.search-page .search-hero-inner > * {
    margin-left: auto;
    margin-right: auto;
}

@media (min-width: 992px) {
    .search-page .search-hero-form .search-submit-field {
        margin-right: 1rem !important;
    }
}



/* =========================================================
   Final spacing fixes: search form, hero breadcrumb reserve,
   and standalone message video
   ========================================================= */

/* Reserve the former breadcrumb area without rendering a breadcrumb.
   This keeps the hero content vertically balanced with the site's
   other pages. */
.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    padding-top: 4rem;
    padding-bottom: 4rem;
}

/* Search form: prevent desktop controls from touching/colliding. */
@media (min-width: 992px) {
    .search-page .search-hero-form {
        width: min(100%, 1000px);
        display: flex;
        flex-wrap: nowrap;
        align-items: flex-end;
        column-gap: 1rem;
        row-gap: 0;
        margin-left: auto;
        margin-right: auto;
    }

    .search-page .search-hero-form .search-field {
        flex: 1 1 auto;
        min-width: 0;
    }

    .search-page .search-hero-form .search-type-field {
        flex: 0 0 250px;
        min-width: 250px;
    }

    .search-page .search-hero-form .search-submit-field {
        flex: 0 0 auto;
        margin-right: 1rem !important;
        padding-left: .25rem;
    }

    .search-page .search-hero-form .search-submit-field .btn {
        min-width: 120px;
        white-space: nowrap;
    }
}

/* Standalone message video: give the video breathing room before
   the bottom of its white section. */
.message-video-section {
    padding-bottom: 1.5rem !important;
}

.message-video-section video,
.message-video-section iframe,
.message-video-section .ratio {
    margin-bottom: 0 !important;
}



/* Archives/Search hero: no breadcrumb reserve; vertically centre content */
.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    margin-top: auto;
    margin-bottom: auto;
}

.archive-page .archive-hero,
.search-page .search-hero {
    display: flex;
    align-items: center;
    justify-content: center;
}

.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    justify-content: center;
}



/* =========================================================
   Search / Archives — refined hero design
   ========================================================= */

.archive-page .archive-hero,
.search-page .search-hero {
    position: relative;
    overflow: hidden;
    min-height: 320px;
    display: flex;
    align-items: center;
    justify-content: center;
    isolation: isolate;
}

.archive-page .archive-hero::before,
.search-page .search-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 18% 25%, rgba(255,255,255,.12), transparent 28%),
        radial-gradient(circle at 82% 75%, rgba(255,255,255,.08), transparent 30%);
    pointer-events: none;
    z-index: -1;
}

.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    width: min(100%, 1140px);
    margin: 0 auto;
    padding: 3.25rem 1.5rem !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.archive-page .archive-hero-inner h1,
.search-page .search-hero-inner h1 {
    margin: 0 0 .75rem;
    line-height: 1.12;
    letter-spacing: -.02em;
}

.archive-page .archive-hero-inner > p,
.search-page .search-hero-inner > p {
    max-width: 700px;
    margin: 0 auto;
    line-height: 1.65;
    opacity: .94;
}

/* Search form as a single clean control group */
.search-page .search-hero-form {
    width: min(100%, 980px);
    margin: 1.75rem auto 0 !important;
    padding: .75rem;
    display: flex;
    flex-wrap: nowrap;
    align-items: flex-end;
    gap: .75rem;
    background: rgba(255,255,255,.12);
    border: 1px solid rgba(255,255,255,.22);
    border-radius: 1rem;
    box-shadow: 0 .75rem 2rem rgba(0,0,0,.10);
}

.search-page .search-hero-form .search-field {
    flex: 1 1 auto;
    min-width: 0;
}

.search-page .search-hero-form .search-type-field {
    flex: 0 0 230px;
    min-width: 230px;
}

.search-page .search-hero-form .search-submit-field {
    flex: 0 0 auto;
    margin: 0 !important;
    padding: 0 !important;
}

.search-page .search-hero-form .form-label {
    display: block;
    margin: 0 0 .4rem;
    text-align: left;
    line-height: 1.25;
}

.search-page .search-hero-form .form-control,
.search-page .search-hero-form .form-select {
    min-height: 50px;
    margin: 0;
    border-radius: .65rem;
}

.search-page .search-hero-form .search-submit-field .btn {
    min-height: 50px;
    min-width: 124px;
    margin: 0;
    border-radius: .65rem;
    white-space: nowrap;
}

/* Archive hero has a compact visual focal block. */
.archive-page .archive-hero-inner .archive-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: .85rem;
    padding: .4rem .8rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .04em;
}

/* Search hero focal marker */
.search-page .search-hero-inner .search-hero-kicker {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin-bottom: .85rem;
    padding: .4rem .8rem;
    border: 1px solid rgba(255,255,255,.28);
    border-radius: 999px;
    background: rgba(255,255,255,.10);
    font-size: .82rem;
    font-weight: 500;
    letter-spacing: .04em;
}

@media (max-width: 991.98px) {
    .archive-page .archive-hero,
    .search-page .search-hero {
        min-height: 300px;
    }

    .archive-page .archive-hero-inner,
    .search-page .search-hero-inner {
        padding: 2.75rem 1.25rem !important;
    }

    .search-page .search-hero-form {
        width: min(100%, 760px);
        flex-wrap: wrap;
    }

    .search-page .search-hero-form .search-field {
        flex: 1 1 100%;
    }

    .search-page .search-hero-form .search-type-field {
        flex: 1 1 calc(100% - 140px);
        min-width: 0;
    }

    .search-page .search-hero-form .search-submit-field {
        flex: 0 0 auto;
    }
}

@media (max-width: 575.98px) {
    .archive-page .archive-hero,
    .search-page .search-hero {
        min-height: 280px;
    }

    .archive-page .archive-hero-inner,
    .search-page .search-hero-inner {
        padding: 2.25rem 1rem !important;
    }

    .search-page .search-hero-form {
        padding: .65rem;
        gap: .65rem;
    }

    .search-page .search-hero-form .search-field,
    .search-page .search-hero-form .search-type-field,
    .search-page .search-hero-form .search-submit-field {
        flex: 1 1 100%;
        width: 100%;
    }

    .search-page .search-hero-form .search-submit-field .btn {
        width: 100%;
    }
}


/* Search/Archives hero: breathing room above contents without breadcrumb reserve */
.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    padding-top: 3.75rem !important;
    padding-bottom: 2.75rem !important;
}


/* =========================================================
   FINAL SEARCH / ARCHIVES HERO + PAGINATION
   One authoritative override for the current design.
   ========================================================= */

/* Let the hero size itself to its actual contents. */
.archive-page .archive-hero,
.search-page .search-hero {
    min-height: 0 !important;
    height: auto !important;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

/* Equal vertical breathing room; no hidden breadcrumb space. */
.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    width: min(100%, 1140px);
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto;
    padding: 2.5rem 1.5rem !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
}

/* Keep all actual hero content centred. */
.archive-page .archive-hero-inner > *,
.search-page .search-hero-inner > * {
    margin-left: auto;
    margin-right: auto;
}

.archive-page .archive-hero-inner h1,
.search-page .search-hero-inner h1,
.archive-page .archive-hero-inner p,
.search-page .search-hero-inner p {
    text-align: center;
}

.search-page .search-hero-form {
    width: min(100%, 900px);
    margin: 1.35rem auto 0 !important;
}

.archive-page .archive-hero-inner > p:last-child,
.search-page .search-hero-inner > p:last-of-type {
    max-width: 760px;
}

.archive-pagination {
    display: flex !important;
    width: 100%;
    justify-content: center !important;
    align-items: center;
    margin: 2rem auto 0 !important;
    padding: .5rem 0 1rem;
}

.archive-pagination .pagination {
    margin: 0 auto !important;
    justify-content: center;
}

.archive-pagination .page-link {
    min-width: 2.5rem;
    min-height: 2.5rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: .5rem;
}

@media (max-width: 575.98px) {
    .archive-page .archive-hero-inner,
    .search-page .search-hero-inner {
        padding: 2rem 1rem !important;
    }

    .search-page .search-hero-form {
        margin-top: 1.1rem !important;
    }

    .archive-pagination {
        margin-top: 1.5rem !important;
    }
}

/* Search & Archives hero content top padding */
.archive-page .archive-hero-inner,
.search-page .search-hero-inner {
    padding-top: 3.25rem !important;
}

/* FINAL OVERRIDE: visible top spacing for Search / Archives hero content */
html body.archive-page .archive-hero .archive-hero-inner,
html body.search-page .search-hero .search-hero-inner {
    box-sizing: border-box !important;
    padding-top: 56px !important;
}

/* FINAL OVERRIDE: doubled top padding for Search / Archives hero content */
html body.archive-page .archive-hero .archive-hero-inner,
html body.search-page .search-hero .search-hero-inner {
    padding-top: 112px !important;
}

/* FINAL SEARCH / ARCHIVES HERO BALANCE */
html body.archive-page .archive-hero,
html body.search-page .search-hero {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

html body.archive-page .archive-hero .archive-hero-inner,
html body.search-page .search-hero .search-hero-inner {
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    padding-top: 224px !important;
    padding-bottom: 24px !important;
}

/* FINAL FIX — /search and /archives hero DOM selectors */
.archive-page .archive-hero,
.search-page .search-hero {
    min-height: 0 !important;
    height: auto !important;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
}

.archive-page .archive-hero .archive-hero-inner,
.search-page .search-hero .search-hero-inner {
    min-height: 0 !important;
    height: auto !important;
    box-sizing: border-box !important;
    padding-top: 224px !important;
    padding-bottom: 12px !important;
}

/* FINAL — remove all custom top padding previously added to Search / Archives heroes */
.archive-page .archive-hero .archive-hero-inner,
.search-page .search-hero .search-hero-inner {
    padding-top: 0 !important;
}

/* Search & Archives hero vertical spacing */
.archive-page .archive-hero .archive-hero-inner,
.search-page .search-hero .search-hero-inner {
    padding-top: 120px !important;
    padding-bottom: 120px !important;
}

/* Search form — equal desktop spacing between controls and form edges */
.search-page .search-hero-form {
    padding-left: 1rem !important;
    padding-right: 1rem !important;
    box-sizing: border-box !important;
}

.search-page .search-hero-form .row {
    --bs-gutter-x: 1rem;
    margin-left: calc(-.5 * var(--bs-gutter-x));
    margin-right: calc(-.5 * var(--bs-gutter-x));
}

.search-page .search-hero-form .row > [class*="col-"] {
    padding-left: calc(.5 * var(--bs-gutter-x));
    padding-right: calc(.5 * var(--bs-gutter-x));
}

.search-page .search-hero-form .btn {
    width: 100%;
    margin-right: 0 !important;
}

/* On desktop, the button's right edge has the same breathing room as the
   spaces between the text input, message-type select, and button. */
@media (min-width: 768px) {
    .search-page .search-hero-form {
        padding-left: 1rem !important;
        padding-right: 1rem !important;
    }
}

@media (max-width: 767.98px) {
    .search-page .search-hero-form .row > [class*="col-"] {
        margin-bottom: .75rem;
    }

    .search-page .search-hero-form .row > [class*="col-"]:last-child {
        margin-bottom: 0;
    }
}

/* FINAL SEARCH FORM SPACING — actual form controls */
.search-page .search-hero-form {
    width: 100% !important;
    box-sizing: border-box !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
}

.search-page .search-hero-form .search-form-row {
    width: 100% !important;
    display: flex !important;
    align-items: stretch !important;
    gap: 16px !important;
    margin: 0 !important;
}

.search-page .search-hero-form .search-form-field,
.search-page .search-hero-form .search-form-action {
    min-width: 0 !important;
    margin: 0 !important;
}

.search-page .search-hero-form .search-form-field {
    flex: 1 1 0 !important;
}

.search-page .search-hero-form .search-form-action {
    flex: 0 0 auto !important;
}

.search-page .search-hero-form input,
.search-page .search-hero-form select {
    width: 100% !important;
    box-sizing: border-box !important;
}

.search-page .search-hero-form .search-form-action .btn {
    margin: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

@media (min-width: 768px) {
    .search-page .search-hero-form .search-form-row {
        padding-right: 0 !important;
    }

    .search-page .search-hero-form .search-form-action {
        padding-right: 0 !important;
    }
}

@media (max-width: 767.98px) {
    .search-page .search-hero-form .search-form-row {
        flex-direction: column !important;
        gap: 12px !important;
    }

    .search-page .search-hero-form .search-form-action {
        width: 100% !important;
    }
}

/* FINAL CLEAN SEARCH FORM LAYOUT */
.search-page .search-hero-form {
    width: min(100%, 980px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding: 12px !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 230px 124px !important;
    align-items: end !important;
    column-gap: 16px !important;
    row-gap: 0 !important;
    box-sizing: border-box !important;
}

.search-page .search-hero-form > div {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    flex: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.search-page .search-hero-form .search-field,
.search-page .search-hero-form .search-type-field,
.search-page .search-hero-form .search-submit-field {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.search-page .search-hero-form .form-control,
.search-page .search-hero-form .form-select {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.search-page .search-hero-form .search-submit-field .btn {
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

@media (max-width: 767.98px) {
    .search-page .search-hero-form {
        width: 100% !important;
        grid-template-columns: 1fr !important;
        row-gap: 12px !important;
    }
}

/* Login — Remember Me control */
.login-page .remember-me-option {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 9px !important;
    width: 100% !important;
    margin: 2px 0 18px !important;
    padding: 0 !important;
    text-align: left !important;
}

.login-page .remember-me-checkbox {
    appearance: none !important;
    -webkit-appearance: none !important;
    flex: 0 0 18px !important;
    width: 18px !important;
    height: 18px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1.5px solid #b8c2cc !important;
    border-radius: 4px !important;
    background: #fff !important;
    box-shadow: none !important;
    cursor: pointer !important;
    position: relative !important;
    vertical-align: middle !important;
}

.login-page .remember-me-checkbox:hover {
    border-color: #3a76b4 !important;
}

.login-page .remember-me-checkbox:focus-visible {
    outline: 3px solid rgba(58, 118, 180, .18) !important;
    outline-offset: 2px !important;
}

.login-page .remember-me-checkbox:checked {
    background: #3a76b4 !important;
    border-color: #3a76b4 !important;
}

.login-page .remember-me-checkbox:checked::after {
    content: "" !important;
    position: absolute !important;
    left: 5px !important;
    top: 1.5px !important;
    width: 5px !important;
    height: 9px !important;
    border: solid #fff !important;
    border-width: 0 2px 2px 0 !important;
    transform: rotate(45deg) !important;
}

.login-page .remember-me-label {
    display: inline-flex !important;
    align-items: center !important;
    margin: 0 !important;
    padding: 0 !important;
    color: #475569 !important;
    font-size: .92rem !important;
    font-weight: 400 !important;
    line-height: 18px !important;
    cursor: pointer !important;
    user-select: none !important;
}

/* Remember Me — checkbox immediately beside its text */
.login-page .remember-me-option {
    display: inline-flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 7px !important;
    width: auto !important;
    max-width: max-content !important;
    margin: 2px 0 18px !important;
    padding: 0 !important;
    white-space: nowrap !important;
}

.login-page .remember-me-checkbox {
    display: block !important;
    flex: 0 0 17px !important;
    width: 17px !important;
    height: 17px !important;
    margin: 0 !important;
}

.login-page .remember-me-label {
    display: block !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 17px !important;
    white-space: nowrap !important;
}

/* FINAL REMEMBER ME LAYOUT */
.login-page .remember-me-row,
.login-page form .remember-me-row,
.remember-me-row {
    display: flex !important;
    flex-flow: row nowrap !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: fit-content !important;
    max-width: none !important;
    min-width: 0 !important;
    gap: 6px !important;
    margin: 4px 0 18px !important;
    padding: 0 !important;
    float: none !important;
    clear: both !important;
    text-align: left !important;
    white-space: nowrap !important;
}

.login-page .remember-me-row .remember-me-input,
.login-page form .remember-me-input,
.remember-me-input {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 16px !important;
    width: 16px !important;
    min-width: 16px !important;
    max-width: 16px !important;
    height: 16px !important;
    min-height: 16px !important;
    margin: 0 !important;
    padding: 0 !important;
    appearance: auto !important;
    -webkit-appearance: auto !important;
    vertical-align: middle !important;
    cursor: pointer !important;
}

.login-page .remember-me-row .remember-me-text,
.login-page form .remember-me-text,
.remember-me-text {
    display: inline-block !important;
    position: static !important;
    float: none !important;
    flex: 0 0 auto !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    font-weight: 400 !important;
    font-size: .92rem !important;
    line-height: 16px !important;
    white-space: nowrap !important;
    cursor: pointer !important;
}

/* Message listing empty state — center all contents */
.message-page .empty-state,
.content-page.message-list-page .empty-state {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}


/* Message empty state — center every child, including action buttons */
.message-page .empty-state,
.content-page.message-list-page .empty-state {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.message-page .empty-state > *,
.content-page.message-list-page .empty-state > * {
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.message-page .empty-state .btn,
.message-page .empty-state a.btn,
.content-page.message-list-page .empty-state .btn,
.content-page.message-list-page .empty-state a.btn {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: fit-content !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* Message empty state — center the complete contents, including nested wrappers */
.message-page .empty-state,
.content-page.message-list-page .empty-state {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.message-page .empty-state > *,
.content-page.message-list-page .empty-state > *,
.message-page .empty-state .row,
.content-page.message-list-page .empty-state .row,
.message-page .empty-state .col,
.content-page.message-list-page .empty-state .col,
.message-page .empty-state .actions,
.content-page.message-list-page .empty-state .actions {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    align-self: center !important;
    justify-content: center !important;
    text-align: center !important;
}

.message-page .empty-state .btn,
.message-page .empty-state a,
.content-page.message-list-page .empty-state .btn,
.content-page.message-list-page .empty-state a {
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.message-video-player {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    border-radius: 12px !important;
    overflow: hidden !important;
}

.message-video-section iframe,
.message-video-section video {
    border-radius: 12px !important;
}

/* Empty published-message state: center the complete action area */
.message-empty-state,
.message-empty-state .empty-state,
.message-empty-state .empty-state-actions,
.message-empty-state .actions,
.message-empty-state .button-group,
.message-empty-state .message-empty-actions {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.message-empty-state .row {
    width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    justify-content: center !important;
}

.message-empty-state [class*="col-"] {
    width: auto !important;
    max-width: none !important;
    flex: 0 0 auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

.message-empty-state .btn,
.message-empty-state a.btn,
.message-empty-state .button,
.message-empty-state a {
    align-self: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
    text-align: center !important;
}

/* FINAL: unpublished message navigation must be centered inside the card */
.empty-content-card .empty-actions {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: wrap !important;
    align-items: center !important;
    justify-content: center !important;
    align-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 24px auto 0 !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
}

.empty-content-card .empty-actions > a,
.empty-content-card .empty-actions > .btn {
    display: inline-flex !important;
    flex: 0 0 auto !important;
    align-items: center !important;
    justify-content: center !important;
    align-self: center !important;
    width: auto !important;
    max-width: none !important;
    margin: 0 6px 10px !important;
    text-align: center !important;
    float: none !important;
    position: static !important;
}

@media (max-width: 575.98px) {
    .empty-content-card .empty-actions {
        flex-direction: column !important;
        flex-wrap: nowrap !important;
    }

    .empty-content-card .empty-actions > a,
    .empty-content-card .empty-actions > .btn {
        margin-left: auto !important;
        margin-right: auto !important;
    }
}

/* Registration and profile custom title field */
#preferredTitleModal .modal-content{border:0;border-radius:1rem;box-shadow:0 20px 55px rgba(15,23,42,.18)}
#preferredTitleModal .modal-title{font-weight:700;color:var(--ink)}
#preferredTitleModal .modal-body{padding:1.25rem 1.5rem}
#preferredTitleModal .modal-footer{border-top:1px solid #edf1f5}
#preferredTitleModal .form-control{border-radius:.65rem}

/* Notification cards: compact contribution assignment presentation */
.notification-item[data-notification-id] .notification-content > p{margin:.2rem 0 .35rem;line-height:1.45;white-space:pre-line}
.notification-item[data-notification-id] .notification-actions{margin-top:.15rem}

/* Custom titles */
.preferred-title-help{display:block;margin-top:5px;color:var(--primary-dark);font-size:.84rem;font-weight:700;min-height:1.2em}

/* Notification detail */
.notification-detail-card{max-width:900px;margin:0 auto}
.notification-detail-kicker{display:inline-flex;padding:.4rem .7rem;border-radius:999px;background:var(--primary-soft);color:var(--primary-dark);font-size:.75rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}
.notification-detail-body{margin-top:24px;font-size:1.08rem;line-height:1.85;white-space:normal}
.notification-detail-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line)}
.notification-detail-footer p{margin:0;color:var(--muted)}
@media(max-width:600px){.notification-detail-footer{align-items:stretch;flex-direction:column}.notification-detail-footer .btn{width:100%}}

/* Archive / Search requested visual treatment */
.archive-page .archive-minister span,
.search-page .search-result-minister span{font-weight:600}
.archive-page .archive-action-column .btn.btn-outline-primary,
.search-page .search-action-column .btn.btn-outline-primary{color:var(--primary);border-color:var(--primary)}
.archive-page .archive-action-column .btn.btn-outline-primary:hover,
.archive-page .archive-action-column .btn.btn-outline-primary:focus-visible,
.search-page .search-action-column .btn.btn-outline-primary:hover,
.search-page .search-action-column .btn.btn-outline-primary:focus-visible{background:var(--primary);border-color:var(--primary);color:#fff}
.archive-page .archive-pagination .page-link,
.search-page .archive-pagination .page-link{color:var(--primary);border-color:var(--line)}
.archive-page .archive-pagination .page-link:hover,
.archive-page .archive-pagination .page-link:focus-visible,
.search-page .archive-pagination .page-link:hover,
.search-page .archive-pagination .page-link:focus-visible{color:#fff;background:var(--primary);border-color:var(--primary)}
.archive-page .archive-pagination .page-item.active .page-link,
.search-page .archive-pagination .page-item.active .page-link{color:#fff;background:var(--primary);border-color:var(--primary)}

.custom-title-input{margin-top:8px}
.custom-title-input[hidden]{display:none!important}

/* Phase 4 community */
.community-heading{align-items:center}.community-panel{margin-top:24px}.community-submission-list{display:grid;gap:14px;margin-top:20px}.community-submission-card{display:block;padding:20px;border:1px solid var(--line);border-radius:16px;background:#fff}.community-link-card{color:inherit;text-decoration:none;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.community-link-card:hover{transform:translateY(-1px);border-color:#b9d5eb;box-shadow:0 8px 22px rgba(15,23,42,.06)}.community-submission-top{display:flex;justify-content:space-between;gap:18px;align-items:flex-start}.community-submission-top h3{margin:.15rem 0 .3rem}.community-submission-top time,.testimony-card-head time{display:block;color:var(--muted);font-size:.82rem}.community-submission-card p{color:var(--muted);line-height:1.7} .community-inline-title{color:inherit;text-decoration:none}.community-inline-title:hover{color:var(--primary);text-decoration:underline}.testimony-view-count{color:var(--muted);font-size:.82rem;font-weight:700;margin-left:auto}.testimony-card-footer{display:flex;align-items:center;gap:14px;flex-wrap:wrap}.admin-settings-panel{max-width:850px}.community-actions{display:flex;gap:16px;align-items:center;flex-wrap:wrap;margin-top:12px}.community-actions details{flex:1;min-width:240px}.community-actions summary{cursor:pointer;color:var(--primary);font-weight:700}.compact-form{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}.text-button{border:0;background:none;padding:0;cursor:pointer;font:inherit;color:var(--primary);font-weight:700}.text-button.danger{color:#b42318}.status-badge{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;font-size:.75rem;font-weight:800;white-space:nowrap;background:#eef2f6;color:#475467}.status-pending{background:#fff4d6;color:#8a5a00}.status-draft{background:#eef2f6;color:#475467}.status-review{background:#fff4d6;color:#8a5a00}.status-published{background:#e8f7ee;color:#176b3a}.status-archived{background:#edf0ff;color:#3949ab}.status-approved,.status-attended{background:#e8f7ee;color:#176b3a}.status-rejected,.status-withdrawn,.status-cancelled{background:#fbeaea;color:#9b1c1c}.status-submitted,.status-received{background:#eaf3fb;color:#1e5c8d}.status-in_progress{background:#edf0ff;color:#3949ab}.status-closed{background:#eef2f6;color:#475467}.testimony-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:20px}.testimony-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.testimony-card-head{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.testimony-card h3{margin:12px 0;font-size:1.25rem}.testimony-body{line-height:1.8;color:#334155}.testimony-author{margin:18px 0 0!important;color:var(--ink)!important;font-weight:700}.community-empty{text-align:center;padding:35px 20px;color:var(--muted)}.community-empty h3{color:var(--ink)}.community-login-note{margin-top:24px}.community-pagination{display:flex;flex-direction:column;align-items:center;gap:8px;margin-top:22px;padding:16px 22px;border-top:1px solid var(--line);background:#fbfdff}.community-pagination p{margin:0;color:var(--muted);font-size:.8rem;text-align:center}.community-pagination nav{display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}.community-pagination .pagination-link{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border:1px solid #dfe7ef;border-radius:7px;background:#fff;color:var(--primary);text-decoration:none;font-weight:700;font-size:.82rem}.community-pagination .pagination-link:hover,.community-pagination .pagination-link.is-active{background:var(--primary);color:#fff;border-color:var(--primary)}.community-pagination .pagination-link.is-disabled{opacity:.45;pointer-events:none;background:#f7f9fb;color:var(--muted)}.community-edit-details{margin:18px 0}.community-edit-details>summary{cursor:pointer;color:var(--primary);font-weight:700}.community-form-panel{max-width:850px}.form-grid .consent-check{display:flex!important;flex-direction:row;flex-wrap:nowrap;align-items:flex-start;gap:10px;line-height:1.5;width:100%;cursor:pointer}.form-grid .consent-check input{display:block!important;width:18px!important;height:18px!important;flex:0 0 18px!important;margin:2px 0 0!important;padding:0!important}.form-grid .consent-check>span{display:block;flex:1;min-width:0;font-weight:450}.form-grid .consent-check:focus-within{outline:3px solid rgba(58,118,180,.18);border-radius:8px}.community-video-preview,.review-media{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.edit-video-preview{margin-top:8px;padding:16px;border:1px solid var(--line);border-radius:14px;background:#fbfdff}.edit-video-preview>strong{display:block;margin-bottom:10px;color:var(--ink)}.edit-video-preview video{display:block;width:100%;max-width:760px;aspect-ratio:16/9;max-height:420px;object-fit:contain;border-radius:12px;background:#0b1220}.edit-video-preview small{display:block;margin-top:10px;color:var(--muted);line-height:1.5}.review-media-heading{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap}.media-help{margin:8px 0 0!important;font-size:.9rem}.media-help a{font-weight:700}.community-video-preview>strong,.review-media>strong{display:block;margin-bottom:10px;color:var(--ink)}.community-video-preview video,.review-media video{display:block;width:100%;max-width:760px;aspect-ratio:16/9;max-height:520px;object-fit:contain;border-radius:14px;background:#0b1220}.community-submission-card .community-video-preview video{max-height:420px}.privacy-note{padding:15px 17px;border:1px solid #dbe7f0;border-radius:12px;background:#f7fbfe}.privacy-note strong{display:block;margin-bottom:4px}.privacy-note p{margin:0;color:var(--muted);line-height:1.6}.prayer-detail-card{max-width:850px}.prayer-detail-status{display:flex;justify-content:space-between;align-items:center;gap:15px;padding-bottom:16px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem}.prayer-detail-copy{padding:24px 0;font-size:1.05rem;line-height:1.9;white-space:normal}.community-panel .section-heading-inline{margin-bottom:4px}
@media(max-width:760px){.testimony-grid{grid-template-columns:1fr}.community-submission-top,.community-pagination,.testimony-card-head{flex-direction:column;align-items:flex-start}.community-pagination nav{width:100%}.community-heading{align-items:flex-start}}
.comment-owner-actions{display:flex;gap:12px;align-items:flex-start;flex-wrap:wrap;margin-top:8px}.comment-owner-actions details summary{cursor:pointer;color:var(--primary);font-size:.85rem;font-weight:700}.comment-edit-form{display:grid;gap:8px;margin-top:8px;min-width:min(520px,80vw)}.comment-edit-form .btn{justify-self:start}.text-button.danger{color:#b42318}


/* Phase 4 navigation grouping and dashboard ordering */
.nav-group{position:relative;margin:0}
.nav-group>summary{list-style:none;cursor:pointer;color:var(--ink);font-size:.94rem;font-weight:700;white-space:nowrap;padding:8px 0;display:flex;align-items:center;gap:7px}
.nav-group>summary::-webkit-details-marker{display:none}
.nav-group>summary::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg) translateY(-2px);transition:transform .16s ease}
.nav-group[open]>summary::after{transform:rotate(225deg) translate(-1px,-1px)}
.nav-group>summary:hover{color:var(--primary)}
.nav-dropdown{position:absolute;top:calc(100% + 10px);left:50%;transform:translateX(-50%);min-width:190px;padding:7px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 45px rgba(23,49,73,.14);display:grid;gap:2px;z-index:50}
.nav-dropdown::before{content:"";position:absolute;top:-6px;left:50%;width:11px;height:11px;background:#fff;border-left:1px solid var(--line);border-top:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.nav-dropdown a{display:block;padding:10px 12px;border-radius:9px;color:var(--ink);font-size:.88rem;font-weight:700;text-decoration:none;white-space:nowrap}
.nav-dropdown a:hover{background:var(--primary-soft);color:var(--primary)}
.nav-dropdown .nav-cta{color:#fff!important;text-align:center;margin:2px 0}
.nav-group.nav-auth-group .nav-dropdown{right:0;left:auto;transform:none}
.nav-group.nav-auth-group .nav-dropdown::before{left:auto;right:20px;transform:rotate(45deg)}
.nav-form{display:flex;align-items:center}
.community-dashboard-panel .section-heading-inline{margin-bottom:28px}
@media(max-width:800px){
  .main-nav .nav-group{width:100%}
  .main-nav .nav-group>summary{width:100%;padding:12px 13px;border-radius:11px;font-size:.94rem;justify-content:space-between}
  .main-nav .nav-group>summary:hover{background:var(--primary-soft)}
  .main-nav .nav-dropdown{position:static;transform:none;min-width:0;padding:4px 0 4px 14px;border:0;border-radius:0;box-shadow:none;display:grid;gap:2px}
  .main-nav .nav-dropdown::before{display:none}
  .main-nav .nav-dropdown a{white-space:normal;padding:10px 13px;color:var(--muted)}
  .main-nav .nav-dropdown a:hover{background:#f7fbfe;color:var(--primary)}
  .main-nav .nav-dropdown .nav-cta{color:#fff!important}
  .main-nav .nav-form{width:100%}
  .main-nav .nav-button{width:100%;padding:12px 13px;border-radius:11px;text-align:left}
  .main-nav .nav-button:hover{background:var(--primary-soft)}
}

/* Phase 4 community attendance and testimony media */
.community-review-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}.community-review-list{display:grid;gap:18px}.community-review-card{padding:22px;border:1px solid var(--line);border-radius:16px;background:#fff}.community-review-card h2{margin:.3rem 0}.community-review-card .muted{margin:.2rem 0 0}.review-media,.community-video-preview{margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.review-media video,.community-video-preview video{display:block;width:100%;max-width:760px;max-height:520px;margin-top:10px;border-radius:12px;background:#0b1220}.review-action-form{margin-top:18px;padding-top:18px;border-top:1px solid var(--line)}.review-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.community-attendance-links{margin-top:18px}.community-review-card-link{display:block;color:inherit;text-decoration:none}.community-review-card-link:hover .text-link{color:var(--primary-dark)}.prayer-request-excerpt{margin-bottom:0!important;max-width:780px}.attendance-direct-form{display:inline-flex;margin:0}.attendance-direct-link{border:0;background:transparent;padding:0;color:var(--primary);font:inherit;font-weight:800;cursor:pointer;text-decoration:none}.attendance-direct-link:hover{color:var(--primary-dark);text-decoration:underline}.detail-attendance-links{margin-top:0}.attendance-note-details{margin-top:16px}.attendance-note-details>summary{cursor:pointer;color:var(--primary);font-weight:700}.attendance-note-details .compact-form{margin-top:12px}.community-video-preview video{max-height:420px}

.testimony-card-clickable{padding:0;overflow:hidden;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.testimony-card-clickable:hover{transform:translateY(-2px);border-color:#b9d5eb;box-shadow:0 10px 26px rgba(15,23,42,.08)}.testimony-card-link{display:block;height:100%;padding:22px;color:inherit;text-decoration:none}.testimony-card-link:focus-visible{outline:3px solid rgba(58,118,180,.25);outline-offset:-3px}.testimony-excerpt{margin:0!important;color:#475467!important;line-height:1.75!important}.testimony-card-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.testimony-card-footer .testimony-author{margin:0!important}.testimony-read-link{color:var(--primary);font-weight:800;white-space:nowrap}.testimony-detail-page{padding-bottom:48px}.testimony-detail-heading{align-items:flex-end}.testimony-detail-card{max-width:900px;margin:24px auto 0;padding:clamp(24px,4vw,48px)}.testimony-detail-meta{display:flex;justify-content:space-between;gap:20px;align-items:center;padding-bottom:18px;border-bottom:1px solid var(--line);color:var(--muted);font-size:.9rem}.testimony-detail-copy{padding:30px 0;font-size:1.08rem;line-height:1.95;color:#26364a}.testimony-detail-video{padding-top:26px;border-top:1px solid var(--line)}.testimony-detail-video h2{margin:.2rem 0 16px}.testimony-detail-player{display:block;width:100%;max-height:620px;aspect-ratio:16/9;object-fit:contain;background:#0b1220;border-radius:16px}.testimony-detail-footer{display:flex;justify-content:space-between;align-items:center;gap:18px;margin-top:30px;padding-top:22px;border-top:1px solid var(--line);font-weight:700}.testimony-detail-footer a{font-weight:700}
@media(max-width:760px){.testimony-card-footer,.testimony-detail-meta,.testimony-detail-footer{align-items:flex-start;flex-direction:column}.testimony-detail-card{padding:22px}.testimony-detail-copy{font-size:1rem}.testimony-detail-player{aspect-ratio:16/10}}


/* MyEagler brand overrides for Bootstrap components */
:root {
  --bs-primary: #3a76b4;
  --bs-primary-rgb: 58,118,180;
  --bs-link-color: #3a76b4;
  --bs-link-color-rgb: 58,118,180;
  --bs-primary-text-emphasis: #2c5e91;
  --bs-primary-bg-subtle: #eaf3fb;
  --bs-primary-border-subtle: #b9d5eb;
}
.btn-primary,
.btn-primary:visited { background-color: var(--primary) !important; border-color: var(--primary) !important; color:#fff !important; }
.btn-primary:hover,
.btn-primary:focus-visible,
.btn-primary:active { background-color: var(--primary-dark) !important; border-color: var(--primary-dark) !important; color:#fff !important; }
.btn-outline-primary { color:var(--primary) !important; border-color:var(--primary) !important; }
.btn-outline-primary:hover,
.btn-outline-primary:focus-visible,
.btn-outline-primary:active { color:#fff !important; background-color:var(--primary) !important; border-color:var(--primary) !important; }
.text-primary { color:var(--primary) !important; }
.bg-primary { background-color:var(--primary) !important; }
.border-primary { border-color:var(--primary) !important; }
.link-primary { color:var(--primary) !important; }

/* Public testimony cards */
.testimony-card-link{display:block;height:100%;color:inherit;text-decoration:none}
.testimony-card-clickable{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}
.testimony-card-clickable:hover,.testimony-card-clickable:focus-within{transform:translateY(-2px);border-color:#b9d5eb;box-shadow:0 12px 30px rgba(23,49,73,.09)}
.testimony-read-link{display:inline-flex;align-items:center;gap:5px;color:var(--primary);font-weight:800;transition:color .16s ease,background-color .16s ease;border-radius:8px;padding:6px 9px;margin:-6px -9px}
.testimony-card-clickable:hover .testimony-read-link,.testimony-card-clickable:focus-within .testimony-read-link{background:var(--primary);color:#fff}

/* Single testimony: written and video testimony are intentionally separate sections. */
.testimony-detail-sections{display:grid;gap:20px}
.testimony-detail-section{padding:26px;border:1px solid var(--line);border-radius:18px;background:#fff}
.testimony-detail-section h2{margin:4px 0 12px;font-size:1.35rem}
.testimony-detail-section .testimony-detail-copy{padding:0;font-size:1.05rem;line-height:1.9}
.testimony-detail-video-section .testimony-detail-player{display:block;width:100%;max-width:860px;aspect-ratio:16/9;max-height:560px;object-fit:contain;border-radius:14px;background:#0b1220}
.testimony-detail-footer{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:22px}

.testimony-read-more{background-color:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important}.testimony-read-more:hover,.testimony-read-more:focus-visible{background-color:var(--primary-dark)!important;border-color:var(--primary-dark)!important;color:#fff!important}


/* Prayer request attendance audit trail */
.prayer-attendance-history{margin-top:24px;padding-top:22px;border-top:1px solid var(--line)}
.prayer-history-heading h2{margin:.2rem 0 0;font-size:1.25rem}
.prayer-history-list{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:12px}
.prayer-history-item{padding:16px 18px;border:1px solid var(--line);border-radius:14px;background:#fbfdff;line-height:1.65}
.prayer-history-stage{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:7px;flex-wrap:wrap}
.prayer-history-note{margin-top:10px;padding:10px 12px;border-left:3px solid var(--primary);background:#f6faff;border-radius:0 8px 8px 0}
.prayer-history-note p{margin:4px 0 0;white-space:normal}
.prayer-current-attendant{margin:.7rem 0 0!important;font-size:.9rem;color:var(--muted)}


/* Homepage Daily Wing: reuse the published-message experience directly after the message-type cards. */
.homepage-daily-wing-heading{width:min(1160px,calc(100% - 40px));margin:3.5rem auto 1.25rem}
.homepage-daily-wing-heading h2{margin:0 0 .45rem;font-size:clamp(1.8rem,3.5vw,2.7rem);line-height:1.12;letter-spacing:-.035em}
.homepage-daily-wing-heading>p:last-child{margin:0;color:var(--muted)}
.homepage-daily-wing{padding-top:0;margin-bottom:3.5rem}
.homepage-daily-wing .message-header h3{margin:.35rem 0 0;font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.15;letter-spacing:-.035em}
.homepage-daily-wing-empty{margin-top:3rem;margin-bottom:2rem;padding:2rem;border:1px solid var(--line);border-radius:20px;background:#fff}
.homepage-daily-wing-empty h2{margin:.2rem 0 .5rem}
.homepage-daily-wing-empty p:not(.eyebrow){color:var(--muted)}
@media(max-width:600px){.homepage-daily-wing-heading{margin-top:2.5rem}.homepage-daily-wing{margin-bottom:2.5rem}}


/* Keep the welcome panel comfortably close to the Giving card at the end of the homepage Daily Wing. */
.homepage-daily-wing{margin-bottom:1rem}
.homepage-daily-wing + .welcome-panel{margin-top:1.5rem}
@media(max-width:600px){.homepage-daily-wing{margin-bottom:.75rem}.homepage-daily-wing + .welcome-panel{margin-top:1rem}}

/* Public testimony author identity */
.testimony-person{display:inline-flex;align-items:center;gap:10px;min-width:0;color:var(--ink)}.testimony-person>img,.testimony-detail-author>img{width:44px;height:44px;flex:0 0 44px;object-fit:cover;border-radius:50%;border:2px solid #e6eef6;background:#f3f7fb}.testimony-person>span{display:flex;flex-direction:column;gap:2px;min-width:0}.testimony-person small{font-size:.72rem;font-weight:600;color:var(--muted)}.testimony-person strong{font-size:.9rem;line-height:1.3}.testimony-detail-author{display:flex;align-items:center;gap:16px}.testimony-detail-author>img{width:64px;height:64px;flex-basis:64px}.testimony-detail-author h1{margin-bottom:8px}.testimony-detail-author p:last-child{margin-bottom:0;color:var(--muted)}.minister-card-label{display:block;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
@media(max-width:760px){.testimony-detail-author{align-items:flex-start}.testimony-detail-author>img{width:52px;height:52px;flex-basis:52px}.testimony-card-footer .testimony-person{width:100%}}


/* Giving page heading: let the short giving statement use the available line width. */
.giving-page-heading>div{flex:1 1 auto;min-width:0}
.giving-page-heading .lead{max-width:none}
@media(max-width:760px){.giving-page-heading .lead{max-width:none;white-space:normal}}

/* Giving retry controls: keep the action associated with its transaction row. */
.giving-retry-form{margin-top:8px}.giving-retry-form .btn{white-space:nowrap}.giving-retry-help{margin-top:14px;font-size:.9rem;line-height:1.6}

/* Retryable member giving attempts on the main Giving page. */
.giving-retry-panel{margin-bottom:1.25rem}.giving-retry-panel h2{margin-bottom:.5rem}.giving-retry-panel .table{margin-bottom:0}.giving-retry-panel .giving-retry-form{margin:0}

/* Giving history retry action visibility and payment-status guidance */
.account-giving-retry-note{margin-top:12px}.giving-status-help{display:block;max-width:280px;margin-top:6px;line-height:1.45}.giving-retry-form .btn{font-weight:600}
