/*
Theme Name: Aldersgate
Description: Custom block theme for Aldersgate Methodist Church — aligned to the Aldersgate Design System.
Version: 3.0
Author: Aldersgate
*/

:root{
  --ag-navy:#20264E; --ag-navy-deep:#171B3A; --ag-ember:#E0592B; --ag-ember-deep:#C74A20;
  --ag-gold:#EDA92C; --ag-harbor:#3E6BA8; --ag-sand:#FAF8F4; --ag-sand-sunken:#F1EDE4;
  --ag-hairline:#EAE5DB; --ag-shadow:0 2px 10px rgba(18,22,46,.08); --ag-shadow-raised:0 10px 26px rgba(18,22,46,.16);
  --ag-ease:cubic-bezier(.2,.6,.3,1); --ag-dur:200ms;
}

/* ---------- Header (static, per design system) ---------- */
.site-header{background:var(--ag-sand);border-bottom:1px solid var(--ag-hairline)}
.site-header .wp-block-navigation a{font-family:'Montserrat',sans-serif;font-weight:600;font-size:.82rem;letter-spacing:.09em;text-transform:uppercase;color:var(--ag-navy)}
.site-header .wp-block-navigation a:hover{color:var(--ag-ember)}
.nav-give-btn a{background:var(--ag-ember);color:#fff !important;padding:.6em 1.5em;border-radius:999px;transition:background var(--ag-dur) var(--ag-ease)}
.nav-give-btn a:hover{background:var(--ag-ember-deep);color:#fff !important}

/* ---------- Surfaces: sand page, sunken bands ---------- */
main .wp-block-group.has-white-background-color{background:var(--ag-sand) !important}
main .wp-block-group.has-light-gray-background-color{background:var(--ag-sand-sunken) !important}

/* ---------- Headings: uppercase display + ember rule ---------- */
main h1.wp-block-heading{text-transform:uppercase;letter-spacing:-.02em;font-weight:800;font-size:clamp(2.3rem,5vw,3.6rem)}
main h2.wp-block-heading{text-transform:uppercase;letter-spacing:-.01em;font-weight:800}
main h2.wp-block-heading::after{content:'';display:block;width:64px;height:4px;background:var(--ag-ember);margin-top:14px;border-radius:2px}
main h2.has-text-align-center::after{margin-left:auto;margin-right:auto}
.has-navy-background-color h2.wp-block-heading::after{background:var(--ag-gold)}

/* ---------- Eyebrows ---------- */
.ag-eyebrow{font-family:'Montserrat',sans-serif;text-transform:uppercase;letter-spacing:.16em;font-size:13px !important;font-weight:700;color:var(--ag-ember)}
.has-navy-background-color .ag-eyebrow,.ag-hero .ag-eyebrow{color:var(--ag-gold)}

/* ---------- Links ---------- */
main p a{color:var(--ag-harbor);transition:color var(--ag-dur) var(--ag-ease)}
main p a:hover{color:var(--ag-ember);text-decoration-color:var(--ag-ember)}

/* ---------- Buttons ---------- */
.wp-element-button,.wp-block-button__link{font-family:'Montserrat',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;padding:.9em 1.9em;border-radius:999px;transition:background-color var(--ag-dur) var(--ag-ease),color var(--ag-dur) var(--ag-ease),transform var(--ag-dur) var(--ag-ease)}
.wp-block-button__link:not(.has-background):hover{background:var(--ag-navy-deep)}
.wp-block-button__link.has-white-background-color:hover{background:#EFE9DC;color:var(--ag-navy)}
.wp-block-button__link:active{transform:scale(.985)}
.is-style-outline .wp-block-button__link{border:2px solid currentColor;background:transparent}
.is-style-outline .wp-block-button__link:hover{background:rgba(32,38,78,.06)}
.has-navy-background-color .is-style-outline .wp-block-button__link:hover,.ag-hero .is-style-outline .wp-block-button__link:hover{background:rgba(255,255,255,.14)}
.ag-give a,.wp-block-button__link[href*="onrealm"]{background:var(--ag-ember) !important;color:#fff !important}
.ag-give a:hover,.wp-block-button__link[href*="onrealm"]:hover{background:var(--ag-ember-deep) !important}
:where(a,button):focus-visible{outline:3px solid var(--ag-gold);outline-offset:2px}

/* ---------- Hero ---------- */
.ag-hero .wp-block-cover__background{background:linear-gradient(180deg,rgba(32,38,78,0) 0%,rgba(32,38,78,.30) 52%,rgba(32,38,78,.86) 100%) !important;opacity:1 !important}
.ag-hero h1{max-width:18ch}
.ag-hero p{font-size:clamp(1.02rem,1.5vw,1.25rem)}

/* ---------- Cards ---------- */
.ag-card{background:#fff;border:1px solid var(--ag-hairline);border-radius:14px;overflow:hidden;box-shadow:var(--ag-shadow);transition:transform var(--ag-dur) var(--ag-ease),box-shadow var(--ag-dur) var(--ag-ease)}
.ag-card:hover{transform:translateY(-2px);box-shadow:var(--ag-shadow-raised)}
.ag-card figure{margin:0;overflow:hidden}
.ag-card img{width:100%;aspect-ratio:3/2;object-fit:cover;display:block;transition:transform 400ms var(--ag-ease)}
.ag-card:hover img{transform:scale(1.04)}
.ag-card h3{margin-top:0;font-size:1.15rem}

/* ---------- Images ---------- */
.ag-rounded img{border-radius:14px;aspect-ratio:4/3;object-fit:cover;width:100%}
.wp-block-image img{height:auto}

/* ---------- Scripture ---------- */
.ag-verse p.ag-quote{font-family:'Lora',Georgia,serif;font-style:italic;font-weight:500;font-size:clamp(1.35rem,2.8vw,2rem);line-height:1.45}
.ag-verse p.ag-quote::before{content:'';display:block;width:48px;height:3px;background:var(--ag-ember);margin:0 auto 26px}

/* ---------- Info strip ---------- */
.ag-strip{border-bottom:1px solid var(--ag-hairline)}
.ag-strip p{margin:0;font-size:.98rem}
.ag-strip strong{color:var(--ag-navy)}

/* ---------- Footer ---------- */
.site-footer a{text-decoration:none}
.site-footer a:hover{text-decoration:underline;color:var(--ag-gold) !important}
.site-footer .ag-fineprint{color:#9b9cb8;font-size:.85rem}

/* ---------- Flush bands ---------- */
.wp-site-blocks > *{margin-block-start:0}
main.wp-block-post-content > .alignfull{margin-block-start:0;margin-block-end:0}

/* ---------- Motion safety ---------- */
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.ag-card,.wp-block-button__link,.ag-card img{transition:none}}

/* ---------- Embedded calendar ---------- */
.ag-calendar-embed{background:#fff;border:1px solid var(--ag-hairline);border-radius:14px;overflow:hidden;box-shadow:var(--ag-shadow)}
.ag-calendar-embed iframe{display:block;width:100%;height:700px;border:0}
@media (max-width:781px){.ag-calendar-embed iframe{height:560px}}
@media (max-width:480px){.ag-calendar-embed iframe{height:460px}}

/* ---------- Icon badges (Lucide 24px/2px, gold on navy) ---------- */
.ag-icon-badge{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:var(--ag-navy);color:var(--ag-gold);margin:18px 0 14px}
.ag-icon-badge svg{width:24px;height:24px;display:block}
.ag-icon-badge + h3{margin-top:0}

/* ---------- Card footer line (pinned to card bottom so dates line up across a row) ---------- */
.ag-card:has(.ag-card-foot){display:flex;flex-direction:column}
.ag-card:has(.ag-card-foot)>.wp-block-group{flex:1 1 auto;display:flex;flex-direction:column}
.ag-card:has(.ag-card-foot)>.wp-block-group>*{width:100%}
.ag-card .ag-card-foot{margin-top:auto;padding-top:16px}

/* ---------- Footer email signup (Mailchimp embedded form) ---------- */
.ag-signup{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.ag-signup-row{display:flex;gap:10px}
.ag-signup-row .ag-field{flex:1;min-width:0}
.ag-field{display:block;margin:0}
.ag-field-label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.ag-signup input{-webkit-appearance:none;appearance:none;display:block;width:100%;box-sizing:border-box;margin:0;font-family:'Source Sans 3',sans-serif;font-size:1rem;line-height:1.4;letter-spacing:0;color:#fff;caret-color:var(--ag-gold);background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.22);border-radius:10px;padding:.72em 1em;box-shadow:none;transition:border-color var(--ag-dur) var(--ag-ease),background-color var(--ag-dur) var(--ag-ease)}
.ag-signup input::placeholder{color:#D7D8D9;opacity:.7}
.ag-signup input:hover{border-color:rgba(255,255,255,.4)}
.ag-signup input:focus{outline:none;border-color:var(--ag-gold);background:rgba(255,255,255,.11)}
.ag-signup input:focus-visible{outline:3px solid var(--ag-gold);outline-offset:2px}
.ag-signup input:-webkit-autofill{-webkit-text-fill-color:#fff;-webkit-box-shadow:0 0 0 100px #2A3060 inset;transition:background-color 9999s}
.ag-signup-hp{position:absolute;left:-5000px}
.ag-signup button{align-self:flex-start;margin-top:4px;cursor:pointer;font-family:'Montserrat',sans-serif;font-weight:700;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;padding:.9em 1.9em;border:0;border-radius:999px;background:#fff;color:var(--ag-navy);transition:background-color var(--ag-dur) var(--ag-ease),transform var(--ag-dur) var(--ag-ease)}
.ag-signup button:hover{background:#EFE9DC}
.ag-signup button:active{transform:scale(.985)}
.ag-signup button:focus-visible{outline:3px solid var(--ag-gold);outline-offset:2px}
@media (max-width:480px){.ag-signup-row{flex-direction:column}}
@media (prefers-reduced-motion:reduce){.ag-signup button{transition:none}}
