/* Green Meadow Site — shared styles */
:root{
	--gm-green:#0E6B36; --gm-leaf:#7DB93A; --gm-announce:#F3D675; --gm-brick:#A24A3A;
	--gm-paper:#F6F7F2; --gm-card:#FFFFFF; --gm-ink:#18231C; --gm-muted:#56635A; --gm-line:#DDE3DA;
	--gm-serif:"Newsreader", Georgia, "Times New Roman", serif;
	--gm-sans:"Public Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
	--gm-word:"Anton", Impact, "Arial Narrow Bold", sans-serif;
}
body.gm-site{margin:0;background:var(--gm-paper);color:var(--gm-ink);font:400 17px/1.6 var(--gm-sans);padding-bottom:env(safe-area-inset-bottom,0px)}
.gm-site *,.gm-site *::before,.gm-site *::after{box-sizing:border-box}
.gm-site img{max-width:100%;height:auto}
.gm-site a{color:var(--gm-green)}
.gm-site :focus-visible{outline:3px solid var(--gm-leaf);outline-offset:2px}
.gm-site h1,.gm-site h2,.gm-site h3{font-family:var(--gm-serif);line-height:1.15;margin:0 0 .5em;font-weight:600;color:inherit}
.gm-site h1{font-size:clamp(2.2rem,5vw,3.4rem)}
.gm-site h2{font-size:clamp(1.7rem,3.2vw,2.4rem)}
.gm-site h3{font-size:1.35rem}
.gm-site p{margin:0 0 1em}
.gm-wrap{max-width:1120px;margin:0 auto;padding:0 20px}
.gm-narrow{max-width:900px}
.gm-center{text-align:center}
.gm-muted{color:var(--gm-muted)}
.gm-g2,.gm-g3{display:grid;gap:28px}
.gm-g2{grid-template-columns:repeat(2,minmax(0,1fr))}
.gm-g3{grid-template-columns:repeat(3,minmax(0,1fr))}
.gm-center-y{align-items:center}
@media (max-width:760px){.gm-g2,.gm-g3{grid-template-columns:1fr}}
.gm-card{background:var(--gm-card);border:1px solid var(--gm-line);border-radius:var(--gm-radius,10px);padding:24px}

/* Buttons */
.gm-btns{display:flex;gap:12px;flex-wrap:wrap;margin-top:16px}
.gm-site .gm-btn{display:inline-block;padding:12px 20px;border-radius:var(--gm-radius,8px);font:700 1rem var(--gm-sans);text-decoration:none;border:2px solid transparent;cursor:pointer;line-height:1.2}
.gm-site .gm-btn-w{background:#fff;color:var(--gm-green)}
.gm-site .gm-btn-o{border-color:#fff;color:#fff;background:transparent}
.gm-site .gm-btn-g{background:var(--gm-green);color:#fff}
.gm-site .gm-btn:hover{filter:brightness(1.08)}

/* Loader */
.gm-loader{position:fixed;inset:0;background:#fff;display:grid;place-items:center;z-index:99999;transition:opacity .5s;animation:gm-loader-fallback .01s 4s forwards}
.gm-loader.is-done{opacity:0;pointer-events:none}
.gm-loader img{width:120px;position:relative}
.gm-loader-ring{position:absolute;width:220px;height:220px;border-radius:50%;border:3px solid #eee;border-top-color:#3F7FD0;animation:gm-spin 1.1s linear infinite}
@keyframes gm-spin{to{transform:rotate(360deg)}}
@keyframes gm-loader-fallback{to{opacity:0;visibility:hidden}}
@media (prefers-reduced-motion:reduce){.gm-loader-ring{animation:none}}

/* Announcement + header */
.gm-ann{background:var(--gm-announce);text-align:center;padding:10px 16px;padding-top:calc(10px + env(safe-area-inset-top,0px));font-weight:600;font-size:.95rem}
.gm-ann a,.gm-ann span{color:#1B3A26}
.gm-header{position:sticky;top:0;z-index:1000;background:var(--gm-card);border-bottom:1px solid var(--gm-line)}
.admin-bar .gm-header{top:32px}
@media (max-width:782px){.admin-bar .gm-header{top:46px}}
.gm-bar{display:flex;align-items:center;justify-content:space-between;min-height:84px;gap:16px;position:relative}
.gm-brand img{height:62px;width:auto;display:block}
.gm-brand span{font:700 1.3rem var(--gm-serif);color:var(--gm-green)}
.gm-nav{display:flex;align-items:center;gap:8px}
.gm-menu{list-style:none;margin:0;padding:0;display:flex;gap:2px;align-items:center}
.gm-menu li{position:relative;list-style:none}
.gm-menu a{display:block;padding:10px 12px;border-radius:6px;text-decoration:none;color:var(--gm-ink);font-weight:600;font-size:.95rem}
.gm-menu a:hover{background:var(--gm-paper)}
.gm-menu .current-menu-item>a,.gm-menu .current_page_item>a{color:var(--gm-green);box-shadow:inset 0 -3px 0 var(--gm-leaf)}
.gm-menu .sub-menu,.gm-menu .children{list-style:none;margin:0;padding:6px;position:absolute;left:0;top:100%;min-width:220px;background:var(--gm-card);border:1px solid var(--gm-line);border-radius:8px;box-shadow:0 10px 24px rgba(0,0,0,.12);display:none;z-index:10}
.gm-menu li:hover>.sub-menu,.gm-menu li:focus-within>.sub-menu,.gm-menu li:hover>.children,.gm-menu li:focus-within>.children{display:block}
.gm-menu .menu-item-has-children>a::after{content:" ▾";font-size:.8em}
.gm-site .gm-give-btn{background:var(--gm-green);color:#fff;padding:10px 16px;border-radius:8px;font-weight:700;text-decoration:none;font-size:.95rem}
.gm-menu-btn{display:none;background:none;border:1px solid var(--gm-line);border-radius:6px;padding:8px 12px;font:600 .95rem var(--gm-sans);color:var(--gm-ink);cursor:pointer}
@media (max-width:960px){
	.gm-menu-btn{display:block}
	.gm-nav{position:absolute;left:0;right:0;top:100%;background:var(--gm-card);border-bottom:1px solid var(--gm-line);display:none;flex-direction:column;align-items:stretch;padding:8px 20px 18px}
	.gm-nav.is-open{display:flex}
	.gm-menu{flex-direction:column;align-items:stretch}
	.gm-menu .sub-menu,.gm-menu .children{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 14px;min-width:0}
	.gm-menu .menu-item-has-children>a::after{content:""}
	.gm-site .gm-give-btn{text-align:center;margin-top:8px}
}

/* Page title banner + plain pages */
.gm-phead{background:var(--gm-green);color:#fff;padding:52px 0}
.gm-phead h1{color:#fff}
.gm-phead p{color:#DDF0E2;margin:0;max-width:68ch}
.gm-prose{padding-top:48px;padding-bottom:64px;max-width:780px}
.gm-post-row{padding:20px 0;border-bottom:1px solid var(--gm-line)}

/* Elementor sections built by the starter should touch edge to edge */
.gm-site .elementor-widget-gm-hero,.gm-site .elementor-widget-gm-worship,.gm-site .elementor-widget-gm-page-header{margin-bottom:0}

/* Hero */
.gm-hero{position:relative;display:flex;align-items:flex-end;color:#fff;overflow:hidden;background:#2E6FC4}
.gm-hero--medium{min-height:min(60vh,560px)}
.gm-hero--tall{min-height:min(82vh,760px)}
.gm-hero--full{min-height:calc(100vh - 84px)}
.gm-hero-media{position:absolute;inset:0;background:center 30%/cover no-repeat}
.gm-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,40,20,calc(var(--gm-overlay,.55)*.15)) 15%,rgba(8,40,20,var(--gm-overlay,.55)) 100%)}
.gm-hero-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.gm-hero-vimeo{position:absolute;inset:0;overflow:hidden;pointer-events:none}
.gm-hero-vimeo iframe{position:absolute;top:50%;left:50%;width:100vw;height:56.25vw;min-height:100%;min-width:177.78vh;transform:translate(-50%,-50%);border:0}
@media (prefers-reduced-motion:reduce){.gm-hero-video,.gm-hero-vimeo{display:none}}
.gm-hero-in{position:relative;z-index:1;padding-top:120px;padding-bottom:72px;width:100%}
.gm-site .gm-stack{font-family:var(--gm-sans);font-weight:700;font-size:clamp(2.8rem,8vw,6.2rem);line-height:.98;letter-spacing:-.02em;margin-bottom:.35em;color:#fff;text-shadow:0 2px 24px rgba(0,0,0,.25)}
.gm-hero-sub{font-size:clamp(1.05rem,2vw,1.35rem);color:#F0F7F1;max-width:60ch}

/* Photo word */
.gm-photo-word-sec{padding:88px 0}
.gm-site .gm-pw-lead{font-family:var(--gm-serif);font-size:clamp(1.8rem,4.2vw,3.2rem);line-height:1.1;margin:0 0 .15em}
.gm-pw{display:flex;justify-content:center;gap:.02em;font:400 clamp(5.5rem,22vw,15rem)/.9 var(--gm-word);margin:0 0 .25em;text-transform:uppercase}
.gm-pw span{background:var(--gm-green) center/cover no-repeat;background-image:var(--gm-p,none);-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
@supports not ((-webkit-background-clip:text) or (background-clip:text)){.gm-pw span{color:var(--gm-green);-webkit-text-fill-color:var(--gm-green)}}
.gm-site .gm-pw-body{font-size:1.2rem;margin:0 auto;max-width:60ch;text-align:center}

/* Watch live band */
.gm-band{background:linear-gradient(120deg,#0B4A26 0%,var(--gm-green) 100%);color:#fff;padding:64px 0}
.gm-band h2{color:#fff}
.gm-band-intro{color:#DDF0E2}
.gm-watch{position:relative;display:block;border-radius:10px;overflow:hidden;aspect-ratio:16/9;text-decoration:none;background:#0B4A26}
.gm-watch img{width:100%;height:100%;object-fit:cover;filter:saturate(.6);display:block}
.gm-watch::after{content:"";position:absolute;inset:0;background:rgba(14,107,54,.55)}
.gm-play{position:absolute;z-index:1;left:50%;top:44%;width:74px;height:74px;margin:-37px 0 0 -37px;border-radius:50%;background:#fff}
.gm-play::before{content:"";position:absolute;left:29px;top:22px;border-left:24px solid var(--gm-green);border-top:15px solid transparent;border-bottom:15px solid transparent}
.gm-watch-label{position:absolute;z-index:1;left:0;right:0;bottom:18%;text-align:center;color:#fff;font:700 1.6rem var(--gm-sans)}
.gm-sched{width:100%;border-collapse:collapse;margin:0}
.gm-site table.gm-sched,.gm-site table.gm-sched tr,.gm-site table.gm-sched th,.gm-site table.gm-sched td{border:0!important;background:none!important;box-shadow:none!important}
.gm-site table.gm-sched th,.gm-site table.gm-sched td{padding:16px 20px 16px 0;vertical-align:top;text-align:left;color:#fff}
.gm-site table.gm-sched tr + tr th,.gm-site table.gm-sched tr + tr td{border-top:1px solid rgba(255,255,255,.22)!important}
.gm-sched th{width:34%;font-weight:700}
.gm-sched a{color:#CDEBA6;font-weight:600}

/* Events */
.gm-events-sec,.gm-cards-sec,.gm-giving-sec,.gm-gallery-sec,.gm-people-sec,.gm-contact-sec{padding:64px 0}
.gm-events{display:grid;gap:40px}
.gm-event{display:grid;grid-template-columns:280px 1fr;gap:32px;align-items:start}
@media (max-width:760px){.gm-event{grid-template-columns:1fr}}
.gm-flyer{background:var(--gm-card);border:1px solid var(--gm-line);border-radius:10px;aspect-ratio:8.5/11;display:grid;place-items:center;overflow:hidden}
.gm-flyer a,.gm-flyer img{display:block;width:100%;height:100%}
.gm-flyer img{object-fit:cover}
.gm-flyer-ph{padding:24px;text-align:center;color:var(--gm-muted);font-family:var(--gm-serif);font-size:1.2rem}
.gm-event--past{opacity:.55}
.gm-past-note{display:inline-block;background:var(--gm-brick);color:#fff;font-size:.85rem;padding:4px 10px;border-radius:4px}

/* Cards section */
.gm-cards-sec{background:var(--gm-card);border-block:1px solid var(--gm-line)}

/* Giving */
.gm-give-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:24px}
.gm-give-card{background:var(--gm-card);border:1px solid var(--gm-line);border-radius:12px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center}
.gm-logo-slot{width:100%;aspect-ratio:16/10;background:#fff;border:1px solid var(--gm-line);border-radius:10px;display:grid;place-items:center;margin-bottom:18px;overflow:hidden}
.gm-logo-slot img{max-width:70%;max-height:75%;object-fit:contain}
.gm-logo-name{font:700 2rem var(--gm-sans)}
.gm-handle{font-weight:700;font-size:1.05rem}
.gm-give-card .gm-btn{margin-top:auto}
.gm-site .gm-give-note{text-align:center;margin:28px auto 0;max-width:68ch}

/* Gallery */
.gm-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:20px}
.gm-site .gm-tabs button{border:1px solid var(--gm-line);background:var(--gm-card);color:var(--gm-ink);padding:8px 14px;border-radius:999px;font:600 .9rem var(--gm-sans);cursor:pointer}
.gm-site .gm-tabs button[aria-pressed="true"]{background:var(--gm-green);color:#fff;border-color:var(--gm-green)}
.gm-gal{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.gm-gal-item{display:block;border-radius:8px;overflow:hidden;cursor:zoom-in}
.gm-gal-item[hidden]{display:none}
.gm-gal-item img{aspect-ratio:1;object-fit:cover;width:100%;display:block}
.gm-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.88);display:none;place-items:center;z-index:100000;padding:20px;cursor:zoom-out}
.gm-lightbox.is-open{display:grid}
.gm-lightbox img{max-height:88vh;max-width:100%;border-radius:8px}

/* People */
.gm-people{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}
.gm-people-sec{padding-bottom:24px}
.gm-person{display:flex;gap:18px;align-items:center;text-decoration:none;color:inherit}
a.gm-person:hover{border-color:var(--gm-leaf)}
.gm-avatar{width:72px;height:72px;border-radius:50%;background:var(--gm-paper);border:2px solid var(--gm-leaf);display:grid;place-items:center;font:600 1.4rem var(--gm-serif);color:var(--gm-green);flex:none;overflow:hidden}
.gm-avatar img{width:100%;height:100%;object-fit:cover}
.gm-person-name{display:block;font-family:var(--gm-serif);font-size:1.25rem;color:var(--gm-ink)}
.gm-bio{display:block;margin-top:6px;font-size:.92rem;line-height:1.5;color:var(--gm-muted)}

/* Minister page */
.gm-minister-sec{padding:64px 0}
.gm-minister{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:40px;align-items:start}
.gm-minister-photo{width:100%;border-radius:var(--gm-radius,10px);border:1px solid var(--gm-line)}
.gm-bio-full p{max-width:68ch}
@media (max-width:760px){.gm-minister{grid-template-columns:1fr}}

/* Sermons */
.gm-sermons-sec{padding:64px 0}
.gm-yt-latest,.gm-yt-grid{display:grid;gap:20px}
.gm-yt-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));margin-top:20px}
.gm-yt-frame,.gm-sermon-video{position:relative;aspect-ratio:16/9;border-radius:var(--gm-radius,10px);overflow:hidden;background:#000}
.gm-yt-frame iframe,.gm-sermon-video iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.gm-sermon-list{display:grid;gap:20px;margin-top:28px}

/* Visit */
.gm-visit-sec{padding-top:64px}
.gm-kicker{color:var(--gm-green);font-weight:600;margin:0 0 .3em}
.gm-visit-img{height:340px;background:var(--gm-line) center 40%/cover no-repeat;margin-top:24px}
.gm-visit-map{height:400px;margin-top:24px}
.gm-visit-map iframe{width:100%;height:100%;border:0;display:block}
.gm-visit-card-wrap{position:relative;margin-top:-120px;padding-bottom:64px;pointer-events:none}
.gm-visit-card{max-width:420px;box-shadow:0 12px 32px rgba(0,0,0,.18);pointer-events:auto}
.gm-visit-map+.gm-visit-card-wrap{margin-top:24px}

/* Contact form */
.gm-form-wrap{max-width:640px}
.gm-form label{display:block;font-weight:600;margin:12px 0 4px}
.gm-form label:first-of-type{margin-top:0}
.gm-site .gm-form input,.gm-site .gm-form textarea{width:100%;padding:11px 12px;border:1px solid var(--gm-line);border-radius:8px;font:inherit;background:var(--gm-paper);color:var(--gm-ink)}
.gm-form .gm-btn{margin-top:16px}
.gm-hp{position:absolute!important;left:-9999px!important;height:1px;overflow:hidden}
.gm-form-msg{padding:12px 16px;border-radius:8px;font-weight:600}
.gm-form-msg--ok{background:#E3F2E6;color:#0B4A26}
.gm-form-msg--err{background:#F8E5E1;color:#7A2E22}

/* Footer */
.gm-footer{background:#1F2521;color:#DCEBDF;padding:56px 0 24px}
.gm-footer h3{color:#fff;font-size:1.15rem}
.gm-site .gm-footer a{color:#BFE39A}
.gm-fgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px}
@media (max-width:760px){.gm-fgrid{grid-template-columns:1fr}}
.gm-flogo{display:inline-block;background:#fff;border-radius:8px;padding:6px 10px;margin-bottom:14px}
.gm-flogo img{height:56px;width:auto;display:block}
.gm-social{display:flex;gap:14px;flex-wrap:wrap}
.gm-verse{font-family:var(--gm-serif);font-size:1.3rem;line-height:1.45;color:#fff;margin-bottom:6px}
.gm-verse-ref{font-weight:600;margin:0}
.gm-flinks{list-style:none;margin:0;padding:0;display:flex;gap:14px;flex-wrap:wrap}
.gm-fbot{border-top:1px solid rgba(255,255,255,.15);margin-top:36px;padding-top:18px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:.9rem}

/* Design preview bar (admins only) */
.gm-preview-bar{position:sticky;top:0;z-index:2000;display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 16px;background:#1F2521;color:#fff;font-size:.9rem}
.gm-preview-bar a{color:#BFE39A;font-weight:600}
.gm-preview-nav{display:flex;gap:14px;flex-wrap:wrap}
.gm-preview-note{color:#c9d6cc;margin-left:auto}
.gm-preview-bar span a{margin-left:10px}
.gm-preview-use{margin:0}
.gm-preview-btn{background:#BFE39A;color:#18231C;border:0;border-radius:6px;padding:8px 14px;font:700 .9rem var(--gm-sans);cursor:pointer}

/* Live banner */
.gm-live{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 16px;background:var(--gm-green);color:#fff;font-size:.95rem;position:relative;z-index:1001}
.gm-live a{color:#fff;font-weight:700}
.gm-live--live{background:#B3261E}
.gm-live-dot{width:10px;height:10px;border-radius:50%;background:#fff;display:inline-block;animation:gm-pulse 1.4s infinite}
@keyframes gm-pulse{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}70%{box-shadow:0 0 0 10px rgba(255,255,255,0)}100%{box-shadow:0 0 0 0 rgba(255,255,255,0)}}

/* Layout 2: Editorial. Logo centred, menu below. */
.gm-header--layout-2 .gm-bar{flex-direction:column;gap:10px;padding:18px 0;min-height:0}
.gm-header--layout-2 .gm-nav{justify-content:center}

/* Layout 3: Photo word. Header floats over the page. */
.gm-header--layout-3{background:rgba(255,255,255,.88);backdrop-filter:blur(8px);border-bottom:0}

/* Layout 4: Logo intro. Logo grows in on the loader; header tightens on scroll. */
.gm-layout-4 .gm-loader img{animation:gm-logo-in 1.2s cubic-bezier(.34,1.56,.64,1) both}
@keyframes gm-logo-in{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.gm-header--layout-4{transition:box-shadow .3s}
.gm-header--layout-4 .gm-bar{transition:min-height .3s,padding .3s}
.gm-header--layout-4.is-shrunk .gm-bar{min-height:56px}
.gm-header--layout-4.is-shrunk{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.gm-header--layout-4.is-shrunk .gm-brand img{height:40px}

/* Layout 5: Magazine. Uppercase menu. */
.gm-header--layout-5 .gm-menu a{text-transform:uppercase;letter-spacing:.06em;font-size:.8rem}

/* Layout 6: Sidebar. Menu runs down the left edge. */
@media (min-width:961px){
	.gm-layout-6 .gm-header{position:fixed;top:0;left:0;bottom:0;width:240px;height:100vh;flex-direction:column;align-items:stretch;border-right:1px solid var(--gm-line);border-bottom:0;overflow-y:auto}
	.gm-layout-6.admin-bar .gm-header{top:32px}
	.gm-layout-6 .gm-bar{flex-direction:column;align-items:stretch;min-height:0;padding:24px 20px;gap:18px}
	.gm-layout-6 .gm-nav{position:static;display:flex;flex-direction:column;align-items:stretch;padding:0;border:0;background:none}
	.gm-layout-6 .gm-menu{flex-direction:column;align-items:stretch}
	.gm-layout-6 .gm-menu .sub-menu,.gm-layout-6 .gm-menu .children{position:static;display:block;box-shadow:none;border:0;padding:0 0 0 12px;min-width:0}
	.gm-layout-6 .gm-menu-btn{display:none}
	.gm-layout-6 .gm-ann,.gm-layout-6 .gm-live,.gm-layout-6 .gm-main,.gm-layout-6 .gm-footer{margin-left:240px}
}

/* Layout 7: Poster. Bold green header, white type. */
.gm-header--layout-7{background:var(--gm-green);border-bottom:0}
.gm-header--layout-7 .gm-menu a,.gm-header--layout-7 .gm-brand span{color:#fff}
.gm-header--layout-7 .gm-menu a:hover{background:rgba(255,255,255,.12)}
.gm-header--layout-7 .gm-give-btn{background:var(--gm-announce);color:#18231C}
.gm-header--layout-7 .gm-menu-btn{color:#fff;border-color:rgba(255,255,255,.4)}

/* Church name shown as text instead of a logo */
.gm-loader-name{position:relative;font:700 clamp(1.6rem,5vw,2.4rem) var(--gm-serif);color:var(--gm-green);text-align:center;padding:0 24px}
.gm-layout-4 .gm-loader-name{animation:gm-logo-in 1.2s cubic-bezier(.34,1.56,.64,1) both}
.gm-site .gm-fname{display:inline-block;margin-bottom:14px;font:700 1.5rem var(--gm-serif);color:#fff;text-decoration:none}
