/*
Theme Name: NG Kerk Alexanderbaai Modern
Author: Trojan Training Solutions
Version: 5.0
Description: Modern Afrikaans church theme with editable hero, news, events, sermons, photo gallery, contact map and prayer requests.
*/
:root{--navy:#0b1d3a;--blue:#1278b4;--red:#b4522a;--gold:#c99a3b;--cream:#f7f1e7;--dark:#252a30;--muted:#667085}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--dark);line-height:1.65;background:#fff}a{text-decoration:none;color:inherit}.container{width:min(1180px,92%);margin:auto}
.top{background:var(--navy);color:#fff;padding:8px 0;font-size:14px}.top-inner{display:flex;justify-content:space-between;gap:20px}.header{background:#fff;box-shadow:0 2px 16px #0002;position:sticky;top:0;z-index:100}.nav{display:flex;align-items:center;justify-content:space-between;padding:9px 0}.brand{display:flex;align-items:center;gap:12px;color:var(--navy);font:700 22px Georgia,serif}.brand img{width:66px;height:66px;object-fit:contain}.menu{display:flex;gap:16px;font-weight:700;color:var(--navy);align-items:center}.menu a{padding:8px 2px}.menu a:hover{color:var(--red)}.menu-toggle{display:none;border:0;background:var(--navy);color:#fff;border-radius:8px;padding:8px 12px;font-size:23px}
.hero{min-height:680px;position:relative;display:grid;place-items:center;text-align:center;color:#fff;overflow:hidden;padding:90px 18px}.hero-slide{position:absolute;inset:0;background-position:center;background-size:cover;opacity:0;transform:scale(1.03);transition:opacity 1s ease,transform 6s ease}.hero-slide.active{opacity:1;transform:scale(1.08)}.hero-content{position:relative;z-index:2;max-width:980px}.hero-content img{width:145px;background:#fff;border-radius:50%;padding:8px;box-shadow:0 12px 36px #0006}.hero-kicker,.eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.12em;font-weight:800;font-size:13px;color:var(--gold);margin:10px 0}.hero h1{font:700 clamp(42px,7vw,78px) Georgia,serif;margin:10px 0}.hero p{font-size:22px;max-width:800px;margin:0 auto 12px}.slider-dots{position:absolute;z-index:3;bottom:28px;display:flex;gap:8px}.slider-dots button{width:11px;height:11px;border:0;border-radius:50%;background:#ffffff77;cursor:pointer}.slider-dots button.active{background:#fff;transform:scale(1.25)}
.btn{display:inline-block;margin:14px 6px;padding:14px 24px;border-radius:9px;border:0;background:var(--red);color:#fff;font-weight:800;cursor:pointer}.btn.blue{background:var(--blue)}section{padding:72px 0}.quick-section{padding:0;position:relative;z-index:5;margin-top:-38px}.quick-grid{display:grid;grid-template-columns:repeat(6,1fr);background:#fff;border-radius:20px;box-shadow:0 18px 55px #07132625;overflow:hidden}.quick-card{padding:22px 12px;text-align:center;border-right:1px solid #eee;transition:.2s}.quick-card:last-child{border-right:0}.quick-card:hover{background:var(--cream);transform:translateY(-2px)}.quick-card span{font-size:28px;display:block}.quick-card strong{display:block;color:var(--navy);font-size:16px}.quick-card small{display:block;color:var(--muted)}
.cream{background:var(--cream)}.dark-section{background:var(--navy);color:#fff}.title{font:700 40px Georgia,serif;color:var(--navy);margin:0 0 14px;text-align:center}.title.left{text-align:left}.dark-section .title{color:#fff}.lead{text-align:center;max-width:820px;margin:0 auto 38px;color:var(--muted)}.section-head{display:flex;justify-content:space-between;align-items:end;gap:30px;margin-bottom:32px}.section-head>p{max-width:500px;color:var(--muted)}.section-head.light p{color:#d8deea}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.card{background:#fff;border-radius:18px;padding:28px;box-shadow:0 12px 36px #0b1d3a16;border-top:5px solid var(--gold)}.card h3{font:700 25px Georgia,serif;color:var(--navy);margin:10px 0}.card-icon{font-size:34px}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center}.photo{width:100%;border-radius:20px;box-shadow:0 15px 40px #0002}.service-panel{display:grid;grid-template-columns:160px 1fr;gap:12px;margin:24px 0}.service-panel>div{background:#fff;border-radius:14px;padding:18px;box-shadow:0 8px 24px #0001}.service-panel small{display:block;color:var(--muted);text-transform:uppercase;font-weight:700}.service-panel strong{font-size:20px;color:var(--navy)}
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.news-card{background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 10px 34px #0b1d3a14}.news-card img{width:100%;height:220px;object-fit:cover}.news-card>div{padding:22px}.news-card h3{font:700 24px Georgia,serif;color:var(--navy);margin:6px 0}.news-card p{color:var(--muted)}.dark-section .news-card p{color:var(--muted)}.text-link{font-weight:800;color:var(--red)}.light-link{color:#fff}.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.gallery img{width:100%;height:225px;object-fit:cover;border-radius:14px;box-shadow:0 8px 24px #0002}.quote{background:linear-gradient(135deg,var(--red),#70411d);color:#fff;text-align:center;border-radius:20px;padding:42px}.quote span{font-weight:800;letter-spacing:.12em;text-transform:uppercase}.quote h2{font:700 34px Georgia,serif;margin:8px 0}
.page-hero{min-height:340px;display:grid;place-items:center;text-align:center;color:#fff;background:linear-gradient(#0b1d3acc,#0b1d3acc),url('assets/kerk-buite.jpg') center/cover}.page-hero h1{font:700 52px Georgia,serif}.content{font-size:18px}.content h2{font:700 32px Georgia,serif;color:var(--navy)}.notice{background:#fff;border-left:7px solid var(--gold);padding:22px;border-radius:12px;box-shadow:0 8px 26px #0001;margin:22px 0}.formbox{background:#fff;border-radius:18px;padding:28px;box-shadow:0 10px 30px #0002}.field{margin-bottom:14px}.field label{display:block;font-weight:bold;color:var(--navy)}.field input,.field textarea,.field select{width:100%;padding:12px;border:1px solid #ccd1d8;border-radius:8px;font:inherit}.success-note{padding:14px 18px;background:#eaf7ed;border-left:5px solid #2d7d46;border-radius:8px;margin:16px 0}.nuus-featured{max-width:820px;margin:28px auto 36px;text-align:center}.nuus-featured img{display:block;width:100%;height:auto;border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.16)}.nuus-edit-note{font-weight:700;margin-top:12px;opacity:.72}
footer{background:#071326;color:#fff;padding:54px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:42px;text-align:left}.footer-grid img{width:90px;background:#fff;border-radius:50%;padding:5px}.footer-grid h3,.footer-grid h4{font-family:Georgia,serif}.footer-grid a:hover{color:var(--gold)}.footer-bottom{text-align:center;border-top:1px solid #ffffff20;margin-top:32px;padding:18px;color:#cfd5df}
@media(max-width:1000px){.quick-grid{grid-template-columns:repeat(3,1fr)}.news-grid{grid-template-columns:repeat(2,1fr)}.menu-toggle{display:block}.menu{display:none;position:absolute;left:0;right:0;top:84px;background:#fff;box-shadow:0 10px 30px #0002;padding:18px 4%;flex-direction:column;align-items:flex-start}.menu.open{display:flex}.top-inner{justify-content:center}.top-inner span:last-child{display:none}}
@media(max-width:760px){.cards,.grid2,.gallery,.news-grid,.footer-grid{grid-template-columns:1fr}.quick-grid{grid-template-columns:repeat(2,1fr)}.section-head{display:block}.brand{font-size:17px}.brand img{width:56px;height:56px}.hero{min-height:610px}.hero p{font-size:18px}.gallery img{height:auto}.service-panel{grid-template-columns:1fr}.page-hero h1{font-size:40px}.title{font-size:34px}.quick-section{margin-top:-25px}.news-card img{height:auto}}


/* v4 improvements */
.sunday-scripture{font:700 20px Georgia,serif;color:var(--red);margin:-4px 0 14px}
.managed-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery-item{margin:0;background:#fff;border-radius:16px;overflow:hidden;box-shadow:0 10px 28px #0b1d3a18;transition:transform .2s ease,box-shadow .2s ease}
.gallery-item:hover{transform:translateY(-4px);box-shadow:0 16px 36px #0b1d3a25}
.gallery-item img{width:100%;height:230px;object-fit:cover;display:block}
.gallery-item figcaption{padding:12px 14px;font-weight:700;color:var(--navy)}
.gallery-empty{background:#fff;border:1px dashed #c8ced8;border-radius:16px;padding:28px;text-align:center;color:var(--muted)}
.contact-intro{text-align:center;max-width:760px;margin:0 auto 34px}.contact-intro h2{font:700 40px Georgia,serif;color:var(--navy);margin:4px 0 10px}
.contact-grid{display:grid;grid-template-columns:minmax(300px,.8fr) minmax(360px,1.2fr);gap:26px;align-items:stretch}
.contact-card,.map-card{background:#fff;border-radius:20px;box-shadow:0 12px 34px #0b1d3a16;overflow:hidden}.contact-card{padding:30px;border-top:5px solid var(--gold)}.contact-card h3{font:700 28px Georgia,serif;color:var(--navy);margin-top:0}.contact-card a:not(.btn){color:var(--blue);font-weight:700}.map-card iframe{width:100%;height:100%;min-height:430px;border:0;display:block}
.social-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}.social-links a{border:1px solid #ffffff33;padding:7px 11px;border-radius:8px}
@media(max-width:1000px){.managed-gallery{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.managed-gallery,.contact-grid{grid-template-columns:1fr}.gallery-item img{height:auto}.contact-intro h2{font-size:34px}.map-card iframe{min-height:340px}}


/* v4.1 Nuus image fix */
.news-card .news-image-link{display:block;line-height:0}
.news-card h3 a{color:inherit;text-decoration:none}
.news-card h3 a:hover{color:var(--red)}
.news-single-hero{min-height:300px}
.news-single-hero .news-date{display:block;color:#fff;margin-bottom:10px}
.news-single-wrap{max-width:920px}
.news-single-featured{display:block;width:100%;height:auto;max-height:720px;object-fit:contain;background:#f4f2ec;border-radius:18px;box-shadow:0 12px 34px rgba(0,0,0,.14);margin:0 auto 30px}
.news-single-content{font-size:18px;line-height:1.75}
.news-single-content img{max-width:100%;height:auto;border-radius:14px;display:block;margin:20px auto}
.news-single-content figure{max-width:100%;margin:24px auto}
.news-single-content .wp-block-image img{max-width:100%;height:auto}
.news-back{margin-top:34px}


/* ===== v5 Modern church homepage improvements ===== */
.sunday-feature{position:relative;overflow:hidden}
.sunday-feature:before{content:"";position:absolute;right:-140px;top:-140px;width:360px;height:360px;border-radius:50%;background:rgba(201,162,39,.09)}
.sunday-photo{min-height:440px;object-fit:cover}
.event-meta{font-size:13px;font-weight:800;line-height:1.6;color:var(--red);margin-bottom:7px}
.event-fallback,.sermon-fallback{height:220px;display:grid;place-items:center;background:linear-gradient(135deg,var(--navy),#173761);font-size:64px;color:#fff}
.sermon-fallback{background:linear-gradient(135deg,#7a1d16,var(--red))}
.sermon-scripture{font:700 16px Georgia,serif;color:var(--red);margin:0 0 10px}
.card-actions{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.mini-btn{display:inline-flex;padding:7px 12px;border-radius:999px;background:var(--navy);color:#fff;font-size:13px;font-weight:800}
.dark-section .mini-btn{background:var(--gold);color:var(--navy)}
.empty-state{text-align:center;background:#fff;padding:38px;border-radius:18px;box-shadow:0 10px 28px #0b1d3a10}
.empty-state span{font-size:44px}.empty-state h3{font:700 26px Georgia,serif;color:var(--navy);margin:8px 0}
.dark-empty{background:#ffffff0c;color:#fff}.dark-empty h3{color:#fff}

.welcome-cta{background:linear-gradient(120deg,rgba(7,19,38,.97),rgba(11,29,58,.93)),url('assets/kerk-buite.jpg') center/cover;color:#fff;text-align:center;padding:78px 0}
.welcome-cta h2{font:700 48px Georgia,serif;margin:8px 0 10px}
.welcome-cta p{font-size:20px;color:#e9edf4}
.light-eyebrow{color:var(--gold)}
.cta-buttons{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}
.white-btn{background:#fff!important;color:var(--navy)!important}

.home-contact-section{padding-top:40px}
.home-contact-strip{display:grid;grid-template-columns:1fr 1fr 1fr 1.3fr;gap:14px;background:#fff;border-radius:20px;padding:20px;box-shadow:0 12px 36px #0b1d3a18;border-top:5px solid var(--gold)}
.home-contact-strip>div:not(.home-contact-actions){display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:10px;align-items:center}
.home-contact-strip>div>span{grid-row:1/3;font-size:28px}
.home-contact-strip strong{color:var(--navy);font-size:15px}
.home-contact-strip small{color:var(--muted);overflow-wrap:anywhere}
.home-contact-strip small a{color:inherit}
.home-contact-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap}
.green-btn{background:#1f8f4e!important;color:#fff!important}

.floating-whatsapp{position:fixed;right:22px;bottom:22px;z-index:9997;display:flex;align-items:center;gap:8px;background:#1f8f4e;color:#fff;padding:13px 17px;border-radius:999px;box-shadow:0 12px 28px #0004;font-weight:800;transition:transform .2s ease}
.floating-whatsapp:hover{transform:translateY(-3px);color:#fff}.floating-whatsapp span{font-size:20px}

.gallery-item a{display:block;line-height:0;position:relative}
.gallery-item a:after{content:"🔍";position:absolute;right:10px;bottom:10px;width:38px;height:38px;border-radius:50%;background:#071326d9;color:#fff;display:grid;place-items:center;font-size:16px;opacity:0;transform:scale(.8);transition:.2s}
.gallery-item:hover a:after{opacity:1;transform:scale(1)}
.gallery-lightbox{position:fixed;inset:0;z-index:10000;background:#061020ee;display:none;place-items:center;padding:5vw}
.gallery-lightbox.open{display:grid}
.gallery-lightbox img{max-width:min(1200px,92vw);max-height:82vh;border-radius:14px;box-shadow:0 20px 60px #0008}
.lightbox-caption{color:#fff;text-align:center;font-weight:700;margin-top:14px;font-size:17px}
.lightbox-close{position:fixed;right:24px;top:18px;border:0;background:#fff;color:var(--navy);width:46px;height:46px;border-radius:50%;font-size:30px;cursor:pointer}
body.lightbox-open{overflow:hidden}

@media(max-width:1000px){
  .home-contact-strip{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
  .welcome-cta{padding:58px 0}.welcome-cta h2{font-size:36px}
  .home-contact-strip{grid-template-columns:1fr}
  .home-contact-actions{justify-content:flex-start}
  .floating-whatsapp{right:14px;bottom:14px;padding:12px 14px}.floating-whatsapp strong{display:none}
  .gallery-item a:after{opacity:1;transform:scale(1)}
}
