/* ========================================= RESET / BASE ========================================= */

*{ box-sizing:border-box; }

html{ scroll-behavior:smooth; }

body{ margin:0; font-family:'Inter',sans-serif; background:#f8f3ea; color:#1f2937; line-height:1.7; }

img{ max-width:100%; display:block; }

a{ text-decoration:none; color:inherit; }

ul{ margin:0; padding:0; list-style:none; }

h1,h2,h3,h4,h5,h6{ margin:0 0 16px; font-family:'Playfair Display',serif; line-height:1.2; color:#111827; }

p{ margin:0 0 16px; color:#4b5563; }

.container{ width:100%; max-width:1200px; margin:0 auto; padding:0 20px; }

/* ========================================= HEADER ========================================= */

.site-header{ position:sticky; top:0; z-index:1000; background:linear-gradient(135deg,#0f172a,#142a66); border-bottom:1px solid rgba(255,255,255,0.08); box-shadow:0 10px 28px rgba(15,23,42,0.18); backdrop-filter:blur(12px); }

.header-inner{ min-height:86px; display:flex; align-items:center; justify-content:space-between; gap:28px; max-width:1280px; margin:0 auto; padding:0 28px; }

.site-logo{ display:flex; align-items:center; gap:14px; min-width:290px; flex-shrink:0; margin-right:18px; }

.site-logo img{ width:54px; height:54px; object-fit:contain; background:#ffffff; border-radius:12px; padding:6px; box-shadow:0 10px 24px rgba(15,23,42,0.16); }

.site-brand-text{ display:flex; flex-direction:column; min-width:0; }

.site-brand-text strong{ font-size:18px; font-weight:800; color:#ffffff; line-height:1.1; }

.site-brand-text span{ font-size:12px; color:rgba(255,255,255,0.76); margin-top:3px; }

.mobile-toggle{ display:none; border:none; background:transparent; padding:8px; cursor:pointer; }

.mobile-toggle span{ display:block; width:24px; height:2px; background:#ffffff; margin:5px 0; border-radius:999px; }

.main-nav{ flex:1; display:flex; justify-content:flex-end; min-width:0; }

.main-nav ul{ display:flex; align-items:center; justify-content:flex-end; gap:10px; flex-wrap:nowrap; white-space:nowrap; }

.main-nav a{ position:relative; color:rgba(255,255,255,0.88); font-weight:600; font-size:12px; padding:10px 10px; border-radius:10px; transition:all .25s ease; }

.main-nav a:hover{ color:#ffffff; background:rgba(255,255,255,0.10); transform:translateY(-1px); }

.main-nav a::after{ content:''; position:absolute; left:10px; right:10px; bottom:6px; height:2px; background:#f5c96b; transform:scaleX(0); transform-origin:center; transition:transform .25s ease; border-radius:999px; }

.main-nav a:hover::after{ transform:scaleX(1); }

/* ========================================= BUTTONS / BADGES ========================================= */

.btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; padding:14px 22px; border-radius:12px; font-weight:700; font-size:15px; transition:all .25s ease; border:2px solid transparent; }

.btn-primary{ background:#142a66; color:#ffffff; box-shadow:0 12px 24px rgba(20,42,102,0.18); }

.btn-primary:hover{ background:#0f1f4d; transform:translateY(-2px); }

.btn-outline{ border-color:#ffffff; color:#ffffff; background:transparent; }

.btn-outline:hover{ background:rgba(255,255,255,0.10); transform:translateY(-2px); }

.section-badge, .section-kicker{ display:inline-flex; align-items:center; padding:8px 14px; border-radius:999px; font-size:13px; font-weight:700; margin-bottom:16px; }

.section-badge{ background:rgba(255,255,255,0.14); border:1px solid rgba(255,255,255,0.18); color:#ffffff; }

.section-kicker{ background:rgba(20,42,102,0.08); color:#142a66; }

/* ========================================= PAGE / SECTION FLOW ========================================= */

.homepage section{ padding:80px 0; border-top:1px solid rgba(0,0,0,0.04); }

.homepage section:nth-child(odd){ background:#f8f3ea; }

.homepage section:nth-child(even){ background:#ffffff; }

.homepage h2{ font-size:34px; font-weight:800; margin-bottom:18px; }

.homepage p{ color:#4b5563; line-height:1.8; }

.section-title, .section-heading.center{ text-align:center; max-width:760px; margin:0 auto 40px; }

.section-title h2, .section-heading.center h2{ margin-bottom:12px; }

.section-title p, .section-heading.center p{ margin:0; }

/* ========================================= HERO ========================================= */

.hero-wrap{ position:relative; overflow:hidden; background:linear-gradient(135deg,#0f172a 0%, #142a66 55%, #1b3c88 100%); color:#ffffff; border-top:none !important; }

.hero-wrap::before{ content:''; position:absolute; inset:0; background: linear-gradient(90deg, rgba(8,15,35,0.68) 0%, rgba(8,15,35,0.40) 42%, rgba(8,15,35,0.10) 100%), radial-gradient(circle at top right, rgba(255,255,255,0.08), transparent 35%), radial-gradient(circle at bottom left, rgba(255,255,255,0.06), transparent 30%); pointer-events:none; }

.hero-inner{ position:relative; z-index:2; display:grid; grid-template-columns:1.08fr 0.92fr; align-items:center; gap:44px; min-height:600px; }

.hero-content{ position:relative; z-index:3; animation:slideFadeInLeft 1s ease; }

.hero-content h1{ font-size:56px; color:#ffffff; margin-bottom:18px; text-shadow:0 6px 18px rgba(0,0,0,0.28); }

.hero-content p{ color:rgba(255,255,255,0.96); font-size:18px; max-width:620px; margin-bottom:26px; text-shadow:0 4px 14px rgba(0,0,0,0.20); }

.hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-bottom:28px; }

.hero-stats{ display:flex; gap:18px; flex-wrap:wrap; }

.hero-stat{ min-width:120px; padding:16px 18px; border-radius:18px; background:rgba(255,255,255,0.12); border:1px solid rgba(255,255,255,0.18); backdrop-filter:blur(10px); box-shadow:0 14px 28px rgba(0,0,0,0.12); }

.hero-stat strong{ display:block; font-size:24px; font-weight:800; color:#ffffff; margin-bottom:4px; }

.hero-stat span{ display:block; font-size:13px; color:rgba(255,255,255,0.88); }

.hero-image{ position:relative; min-height:420px; animation:slideFadeInRight 1.1s ease; }

.hero-image img{ position:absolute; inset:0; width:100%; height:100%; border-radius:26px; box-shadow:0 26px 60px rgba(0,0,0,0.20); object-fit:cover; opacity:0; animation:heroSlider 18s infinite; }

.hero-image img:nth-child(1){ animation-delay:0s; } .hero-image img:nth-child(2){ animation-delay:6s; } .hero-image img:nth-child(3){ animation-delay:12s; }

@keyframes slideFadeInLeft{ 0%{ opacity:0; transform:translateX(-40px); } 100%{ opacity:1; transform:translateX(0); } }

@keyframes slideFadeInRight{ 0%{ opacity:0; transform:translateX(40px); } 100%{ opacity:1; transform:translateX(0); } }

@keyframes heroSlider{ 0%{ opacity:0; transform:scale(1.03) translateX(20px); } 6%{ opacity:1; transform:scale(1) translateX(0); } 28%{ opacity:1; transform:scale(1.02) translateX(0); } 33%{ opacity:0; transform:scale(1.04) translateX(-20px); } 100%{ opacity:0; } }

/* ========================================= SHARED PREVIEW / GRID / CARD STYLES ========================================= */

.about-preview-inner, .contact-preview-inner, .imam-message-inner, .donation-inner, .service-preview-inner, .ministries-preview-inner, .pastor-message-inner, .giving-inner{ display:grid; grid-template-columns:1fr 1fr; gap:34px; align-items:center; }

.about-preview-image img, .contact-preview-image img, .imam-message-image img, .donation-image-large img, .service-preview-image img, .ministries-preview-image img, .pastor-message-image img, .giving-image img{ width:100%; border-radius:24px; box-shadow:0 18px 40px rgba(15,23,42,0.10); }

.about-preview-inner{ grid-template-columns:0.95fr 1.05fr; gap:38px; }

.about-preview-content{ padding:8px 0; }

.about-preview-content .btn{ margin-top:8px; }

.program-grid, .event-grid, .blog-grid, .sermon-grid, .gallery-grid, .donation-grid, .prayer-grid, .service-grid, .ministries-grid, .events-grid, .sermons-grid, .giving-grid, .service-times-grid{ display:grid; gap:24px; }

.program-grid, .event-grid, .blog-grid, .sermon-grid, .donation-grid, .service-grid, .ministries-grid, .events-grid, .sermons-grid, .giving-grid{ grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); }

.gallery-grid{ grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); }

.prayer-grid{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); }

.service-times-grid{ grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:20px; }

.card, .program-card, .event-card, .blog-card, .gallery-item, .sermon-card, .donation-card, .prayer-card, .contact-card, .about-card, .imam-card, .service-card, .ministry-card, .giving-card, .service-time-card{ background:#ffffff; border-radius:18px; box-shadow:0 16px 40px rgba(0,0,0,0.06); overflow:hidden; border:1px solid rgba(0,0,0,0.05); }

.program-card, .event-card, .blog-card, .sermon-card, .donation-card, .service-card, .ministry-card, .giving-card, .gallery-item{ transition:transform .25s ease, box-shadow .25s ease; }

.program-card:hover, .event-card:hover, .blog-card:hover, .sermon-card:hover, .donation-card:hover, .gallery-item:hover, .service-card:hover, .ministry-card:hover, .giving-card:hover{ transform:translateY(-6px); box-shadow:0 24px 54px rgba(15,23,42,0.12); }

.program-card, .event-card, .blog-card, .sermon-card, .donation-card{ display:flex; flex-direction:column; height:100%; }

.program-image img, .event-image img, .blog-image img, .sermon-image img, .donation-image img, .gallery-item img, .service-image img, .ministry-image img, .giving-image-card img{ width:100%; height:240px; object-fit:cover; }

.program-content, .event-content, .blog-content, .sermon-content, .donation-content, .service-content, .ministry-content, .giving-content{ padding:22px; }

.blog-meta, .event-date, .leader-role, .refined-ministry-tag, .sermons-library-series, .gallery-folder-badge{ display:inline-flex; align-items:center; padding:7px 12px; border-radius:999px; background:rgba(20,42,102,0.08); color:#142a66; font-size:12px; font-weight:700; margin-bottom:12px; }

.text-link, .mini-action-link{ display:inline-block; margin-top:10px; color:#142a66; font-weight:700; }

.text-link:hover, .mini-action-link:hover{ color:#0f1f4d; }

.service-time-card{ padding:22px 20px; text-align:center; }

.service-time-card strong{ display:block; font-size:22px; font-weight:800; color:#142a66; margin-bottom:6px; }

.service-time-card span{ color:#6b7280; font-size:14px; }

.pastor-message-box, .giving-highlight-box{ border-radius:24px; }

.pastor-message-box{ background:#ffffff; box-shadow:0 18px 40px rgba(15,23,42,0.08); padding:28px; border:1px solid rgba(0,0,0,0.05); }

.giving-highlight-box{ background:linear-gradient(135deg,#0f172a,#142a66); color:#ffffff; padding:30px; box-shadow:0 20px 44px rgba(20,42,102,0.18); }

.giving-highlight-box h2, .giving-highlight-box h3, .giving-highlight-box p{ color:#ffffff; }

/* ========================================= PREMIUM FOOTER ========================================= */

.site-footer{ background:linear-gradient(135deg,#0f172a,#142a66); color:#f8fafc; margin-top:80px; }

.footer-top{ padding:70px 0 40px; }

.footer-grid{ display:grid; grid-template-columns:1.2fr 0.8fr 0.9fr 1.1fr; gap:30px; }

.footer-brand{ max-width:340px; }

.footer-brand-logo{ display:flex; align-items:center; gap:14px; margin-bottom:18px; }

.footer-brand-logo img{ width:58px; height:58px; object-fit:contain; background:#ffffff; border-radius:14px; padding:8px; }

.footer-brand-logo-text strong{ display:block; font-size:20px; font-weight:800; color:#ffffff; }

.footer-brand-logo-text span{ display:block; font-size:14px; color:rgba(255,255,255,0.78); margin-top:3px; }

.footer-text{ color:rgba(255,255,255,0.80); line-height:1.8; margin:0; }

.footer-title{ font-size:18px; font-weight:800; margin:0 0 18px; color:#ffffff; }

.footer-links, .footer-contact-list{ list-style:none; padding:0; margin:0; }

.footer-links li, .footer-contact-list li{ margin-bottom:12px; }

.footer-links a, .footer-bottom-links a{ color:rgba(255,255,255,0.84); text-decoration:none; transition:all .2s ease; }

.footer-links a:hover, .footer-bottom-links a:hover{ color:#f5c96b; }

.footer-contact-list li{ color:rgba(255,255,255,0.82); line-height:1.7; }

.footer-highlight-box{ background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); border-radius:18px; padding:20px; }

.footer-highlight-box p{ margin:0; color:rgba(255,255,255,0.82); line-height:1.8; }

.footer-bottom{ border-top:1px solid rgba(255,255,255,0.10); padding:20px 0; }

.footer-bottom-inner{ display:flex; justify-content:space-between; align-items:center; gap:20px; flex-wrap:wrap; }

.footer-bottom p{ margin:0; color:rgba(255,255,255,0.72); font-size:14px; }

.footer-bottom-links{ display:flex; gap:16px; flex-wrap:wrap; }

.footer-bottom-links a{ font-size:14px; }

/* ========================================= CONTACT PAGE ========================================= */

.contact-page{ padding:80px 0; }

.contact-header{ text-align:center; max-width:760px; margin:0 auto 50px; }

.contact-header h1{ font-size:44px; margin-bottom:16px; }

.contact-header p{ font-size:17px; color:#4b5563; }

.contact-layout{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:36px; align-items:start; }

.contact-form-card, .contact-details-card{ background:#ffffff; border-radius:24px; box-shadow:0 18px 40px rgba(15,23,42,0.08); border:1px solid rgba(0,0,0,0.05); }

.contact-form-card{ padding:34px; }

.contact-form-card h2{ margin-bottom:24px; }

.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:18px; }

.form-group{ margin-bottom:18px; }

.form-group label{ display:block; font-size:14px; font-weight:700; margin-bottom:8px; color:#1f2937; }

.form-group input, .form-group textarea{ width:100%; border:1px solid #d8dee8; border-radius:12px; padding:14px 14px; font-size:14px; font-family:'Inter',sans-serif; background:#ffffff; color:#111827; outline:none; transition:border-color .2s ease, box-shadow .2s ease; }

.form-group input:focus, .form-group textarea:focus{ border-color:#142a66; box-shadow:0 0 0 4px rgba(20,42,102,0.10); }

.contact-info-side{ display:flex; flex-direction:column; gap:22px; }

.contact-page-image img{ width:100%; border-radius:24px; box-shadow:0 18px 40px rgba(15,23,42,0.10); }

.contact-details-card{ padding:30px; }

.contact-details-card h3{ margin-bottom:18px; }

.contact-list li{ margin-bottom:14px; color:#374151; line-height:1.7; }

.contact-note-box{ margin-top:20px; padding:18px 20px; background:#f8f3ea; border-radius:18px; border:1px solid rgba(20,42,102,0.08); }

.contact-note-box p{ margin:0; }

/* ========================================= ABOUT PAGE - ACCORDION PREMIUM ========================================= */

.about-hero-page{ padding:84px 0 42px; background:#f8f3ea; }

.about-page-header{ text-align:center; max-width:840px; margin:0 auto; }

.about-page-header h1{ font-size:48px; margin-bottom:16px; }

.about-page-header p{ font-size:18px; color:#4b5563; }

.about-intro-section{ padding:34px 0 84px; background:#ffffff; }

.about-intro-grid{ display:grid; grid-template-columns:0.95fr 1.05fr; gap:40px; align-items:center; }

.about-intro-image img{ width:100%; border-radius:28px; box-shadow:0 20px 50px rgba(15,23,42,0.10); }

.about-intro-content h2{ margin-bottom:16px; }

.about-intro-content > p{ margin-bottom:24px; }

.about-highlight-stats{ display:grid; gap:16px; }

.about-highlight-box{ background:#f8f3ea; border:1px solid rgba(20,42,102,0.08); border-radius:18px; padding:18px 20px; }

.about-highlight-box strong{ display:block; color:#142a66; font-size:18px; font-weight:800; margin-bottom:6px; }

.about-highlight-box span{ color:#4b5563; font-size:14px; }

.about-accordion-section{ padding:88px 0; background:#f8f3ea; }

.about-accordion-list{ max-width:920px; margin:0 auto; display:grid; gap:18px; }

.about-accordion-item{ background:#ffffff; border-radius:22px; border:1px solid rgba(0,0,0,0.05); box-shadow:0 16px 40px rgba(0,0,0,0.05); overflow:hidden; }

.about-accordion-item summary{ list-style:none; cursor:pointer; padding:24px 26px; display:flex; align-items:center; justify-content:space-between; font-size:22px; font-family:'Playfair Display',serif; font-weight:700; color:#142a66; position:relative; }

.about-accordion-item summary::-webkit-details-marker{ display:none; }

.about-accordion-item summary::after{ content:'+'; font-size:28px; font-weight:700; line-height:1; color:#142a66; transition:transform .2s ease; flex-shrink:0; margin-left:20px; }

.about-accordion-item[open] summary::after{ content:'−'; }

.about-accordion-content{ padding:0 26px 24px; }

.about-accordion-content p{ margin:0; color:#4b5563; line-height:1.9; }

.about-pastor-section{ padding:88px 0; background:#ffffff; }

.about-pastor-grid{ display:grid; grid-template-columns:1.02fr 0.98fr; gap:40px; align-items:center; }

.about-pastor-content h2{ margin-bottom:16px; }

.about-pastor-content p{ margin-bottom:24px; }

.about-pastor-actions, .about-cta-actions, .ministries-cta-actions, .leaders-cta-actions{ display:flex; gap:14px; flex-wrap:wrap; }

.about-pastor-image img{ width:100%; border-radius:28px; box-shadow:0 20px 50px rgba(15,23,42,0.10); }

.about-outline-dark, .events-dark-outline, .blog-dark-outline, .giving-dark-outline, .programs-dark-outline, .sermons-dark-outline{ border-color:#142a66; color:#142a66; background:#ffffff; }

.about-outline-dark:hover, .events-dark-outline:hover, .blog-dark-outline:hover, .giving-dark-outline:hover, .programs-dark-outline:hover, .sermons-dark-outline:hover{ background:#eef2fb; }

.about-cta-section, .ministries-cta-section, .leaders-cta-section{ padding:88px 0; background:#f8f3ea; }

.about-cta-box, .ministries-cta-box, .leaders-cta-box, .refined-ministries-cta-box, .refined-leaders-cta-box{ background:linear-gradient(135deg,#0f172a,#142a66); color:#ffffff; text-align:center; padding:48px 34px; border-radius:28px; box-shadow:0 24px 60px rgba(15,23,42,0.20); }

.about-cta-box h2, .ministries-cta-box h2, .leaders-cta-box h2{ color:#ffffff; margin-bottom:16px; }

.about-cta-box p, .ministries-cta-box p, .leaders-cta-box p{ color:rgba(255,255,255,0.90); max-width:760px; margin:0 auto 24px; }

/* ========================================= MINISTRIES PAGE ========================================= */

.ministries-hero-page, .leaders-hero-page, .sermons-premium-hero, .events-premium-hero, .gallery-premium-hero, .programs-premium-hero, .blog-premium-page, .blog-premium-hero{ padding:84px 0 42px; background:#f8f3ea; }

.blog-premium-page{ padding-bottom:88px; }

.ministries-page-header, .leaders-page-header, .sermons-premium-header, .events-premium-header, .gallery-premium-header, .programs-premium-header, .blog-premium-header{ text-align:center; max-width:860px; margin:0 auto; }

.blog-premium-header{ margin-bottom:44px; }

.ministries-page-header h1, .leaders-page-header h1, .sermons-premium-header h1, .events-premium-header h1, .gallery-premium-header h1, .programs-premium-header h1, .blog-premium-header h1{ font-size:48px; margin-bottom:16px; }

.ministries-page-header p, .leaders-page-header p, .sermons-premium-header p, .events-premium-header p, .gallery-premium-header p, .programs-premium-header p, .blog-premium-header p{ font-size:18px; color:#4b5563; }

.ministries-page-section, .leaders-page-section, .sermons-library-section, .events-library-section, .gallery-folder-section, .programs-library-section{ padding:40px 0 88px; background:#ffffff; }

.programs-library-section{ padding-top:30px; }

.ministries-page-grid, .leaders-page-grid, .sermons-library-grid, .events-library-grid, .gallery-folder-grid, .gallery-images-premium-grid, .giving-tracker-grid, .giving-campaign-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; }

.sermons-library-grid, .events-library-grid, .gallery-folder-grid, .giving-campaign-grid{ gap:26px; }

.ministries-page-card, .leaders-page-card, .sermons-library-card, .gallery-folder-card, .gallery-image-premium-card, .giving-tracker-card, .giving-campaign-card, .programs-detail-main-card, .programs-detail-side-card, .events-detail-card, .events-info-card, .sermons-detail-content-card, .sermons-info-card, .blog-detail-card, .blog-info-card, .giving-detail-main-card, .giving-detail-side-card{ background:#ffffff; border-radius:24px; border:1px solid rgba(0,0,0,0.05); box-shadow:0 18px 42px rgba(15,23,42,0.07); }

.ministries-page-card, .leaders-page-card, .sermons-library-card, .blog-side-card, .gallery-folder-card, .gallery-image-premium-card, .refined-ministry-card, .refined-leader-card, .events-library-card{ transition:transform .25s ease, box-shadow .25s ease; }

.ministries-page-card:hover, .leaders-page-card:hover, .sermons-library-card:hover, .blog-side-card:hover, .gallery-folder-card:hover, .gallery-folder-card.active, .gallery-image-premium-card:hover, .refined-ministry-card:hover, .refined-leader-card:hover, .events-library-card:hover{ transform:translateY(-8px); box-shadow:0 28px 58px rgba(15,23,42,0.14); }

.ministries-page-image img, .leaders-page-image img, .refined-ministry-image img, .refined-leader-image img, .sermons-library-image img, .gallery-folder-card-image img, .gallery-image-premium-wrap img, .programs-detail-image-wrap img{ width:100%; object-fit:cover; }

.ministries-page-image img{ height:250px; } .leaders-page-image img{ height:300px; } .refined-ministry-image img{ height:300px; border-radius:18px; } .refined-leader-image img{ height:320px; border-radius:18px; } .sermons-library-image img{ height:250px; border-radius:18px; } .gallery-folder-card-image img{ height:240px; border-radius:18px; } .gallery-image-premium-wrap img{ height:260px; border-radius:16px; } .programs-detail-image-wrap img{ height:340px; border-radius:18px; }

.refined-ministry-image, .refined-leader-image, .sermons-library-image, .gallery-folder-card-image, .gallery-image-premium-wrap, .programs-detail-image-wrap{ padding:18px 18px 0; }

.ministries-page-content, .leaders-page-content, .refined-ministry-content, .refined-leader-content, .sermons-library-content, .gallery-folder-card-content, .gallery-image-premium-content, .programs-detail-body, .giving-campaign-body, .contact-details-card, .giving-content{ padding:24px 22px 24px; }

.contact-details-card, .giving-content{ padding:30px 32px; }

.ministries-page-content h3, .leaders-page-content h3, .refined-ministry-content h3, .refined-leader-content h3, .sermons-library-content h3, .events-library-content h3, .gallery-folder-card-content h3, .gallery-image-premium-content h3, .blog-side-content h3{ color:#142a66; margin-bottom:10px; }

.refined-ministry-content h3, .refined-leader-content h3, .sermons-library-content h3, .events-library-content h3, .gallery-folder-card-content h3{ font-size:26px; }

.refined-ministry-leader, .sermons-library-meta, .events-library-meta, .blog-info-list li, .events-info-list li, .sermons-info-list li, .giving-tracker-meta, .giving-detail-progress-box, .about-highlight-box, .contact-note-box{ background:#f8f3ea; border:1px solid rgba(20,42,102,0.08); border-radius:16px; }

.refined-ministry-leader, .sermons-library-meta, .events-library-meta, .giving-tracker-meta{ padding:14px 16px; }

.refined-ministry-leader{ display:flex; flex-direction:column; gap:3px; margin-bottom:14px; }

.refined-ministry-leader strong, .sermons-info-list strong, .events-info-list strong, .blog-info-list strong{ color:#142a66; font-size:13px; font-weight:800; text-transform:uppercase; letter-spacing:.04em; }

.refined-ministry-leader span, .sermons-info-list span, .events-info-list span, .blog-info-list span{ color:#374151; font-size:15px; font-weight:600; }

.refined-ministry-footer, .refined-leader-footer{ margin-top:auto; padding-top:6px; }

/* ========================================= SERMONS / EVENTS / BLOG / GALLERY / GIVING / PROGRAMS DETAIL ========================================= */

.sermons-detail-hero, .events-detail-hero, .blog-detail-hero{ padding-bottom:28px; }

.sermons-detail-section, .events-detail-section, .blog-detail-section, .giving-detail-section, .programs-detail-section{ padding:24px 0 88px; background:#ffffff; }

.giving-detail-section, .programs-detail-section{ padding-top:30px; }

.sermons-detail-layout, .events-detail-layout, .blog-detail-layout, .giving-detail-grid, .programs-detail-grid{ display:grid; grid-template-columns:1.15fr 0.85fr; gap:30px; align-items:start; }

.sermons-detail-main{ display:grid; gap:22px; }

.sermons-detail-image-wrap{ background:#ffffff; border-radius:26px; padding:18px; box-shadow:0 18px 42px rgba(15,23,42,0.07); border:1px solid rgba(0,0,0,0.05); }

.sermons-detail-image{ width:100%; border-radius:20px; object-fit:cover; }

.sermons-highlight-summary, .blog-detail-summary{ background:#f8f3ea; border:1px solid rgba(20,42,102,0.08); border-radius:22px; padding:24px; }

.blog-detail-summary{ margin-bottom:22px; }

.sermons-highlight-summary h3, .blog-detail-summary h3, .events-detail-card h3, .blog-detail-content h3, .giving-detail-main-card h2, .programs-detail-body h2{ color:#142a66; margin-bottom:16px; }

.sermons-highlight-summary p, .blog-detail-summary p, .events-detail-card p, .blog-detail-text, .sermons-detail-content, .giving-detail-main-card p, .programs-detail-body p{ line-height:1.95; }

.events-detail-card, .blog-detail-card, .giving-detail-main-card{ padding:28px 26px; }

.sermons-detail-content-card{ padding:28px 26px; } .giving-detail-main-card{ border-radius:24px; } .programs-detail-main-card{ overflow:hidden; }

.sermons-detail-side, .events-detail-side, .blog-detail-side, .giving-detail-side-card, .programs-detail-side-card{ position:sticky; top:110px; }

.sermons-info-card, .events-info-card, .blog-info-card, .giving-detail-side-card, .programs-detail-side-card{ padding:28px 24px; }

.sermons-info-card h3, .events-info-card h3, .blog-info-card h3, .giving-detail-side-card h3, .programs-detail-side-card h3{ color:#142a66; margin-bottom:18px; }

.sermons-info-list, .events-info-list, .blog-info-list{ display:grid; gap:14px; margin-bottom:22px; }

.sermons-info-list li, .events-info-list li, .blog-info-list li{ display:flex; flex-direction:column; gap:5px; padding:14px 16px; }

.sermons-info-actions, .events-info-actions, .blog-info-actions{ display:grid; gap:12px; }

.events-library-card{ grid-template-columns:100px 1fr; padding:20px; }

.events-library-datebox{ background:linear-gradient(135deg,#0f172a,#142a66); color:#ffffff; border-radius:20px; min-height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; box-shadow:0 14px 28px rgba(20,42,102,0.18); }

.events-library-day{ font-size:34px; font-weight:800; line-height:1; }

.events-library-month{ font-size:14px; font-weight:700; margin-top:6px; letter-spacing:.08em; text-transform:uppercase; }

.blog-featured-layout{ display:grid; grid-template-columns:1.1fr 0.9fr; gap:26px; align-items:start; }

.blog-featured-main{ position:relative; min-height:560px; border-radius:28px; overflow:hidden; box-shadow:0 24px 60px rgba(15,23,42,0.16); background:linear-gradient(135deg,#0f172a,#142a66); }

.blog-featured-overlay{ position:absolute; inset:auto 0 0 0; padding:34px; background:linear-gradient(180deg,rgba(0,0,0,0.04),rgba(8,15,35,0.90)); color:#ffffff; }

.blog-featured-overlay h2{ color:#ffffff; margin-bottom:12px; }

.blog-featured-overlay p{ color:rgba(255,255,255,0.90); margin-bottom:20px; }

.blog-side-stack{ display:grid; gap:20px; }

.blog-side-card{ background:#ffffff; border-radius:22px; padding:22px; box-shadow:0 16px 40px rgba(0,0,0,0.06); border:1px solid rgba(0,0,0,0.05); }

.gallery-selected-block{ margin-top:64px; }

.gallery-selected-header{ text-align:center; max-width:820px; margin:0 auto 34px; }

.gallery-selected-header h2{ font-size:40px; margin-bottom:12px; }

.gallery-selected-header p{ color:#4b5563; font-size:17px; }

.gallery-open-item{ cursor:pointer; }

.gallery-lightbox{ position:fixed; inset:0; z-index:9999; display:none; }

.gallery-lightbox.active{ display:block; }

.gallery-lightbox-backdrop{ position:absolute; inset:0; background:rgba(6,12,30,0.88); backdrop-filter:blur(6px); }

.gallery-lightbox-dialog{ position:relative; z-index:2; width:min(1100px, calc(100% - 30px)); margin:40px auto; background:#ffffff; border-radius:24px; overflow:hidden; box-shadow:0 30px 80px rgba(0,0,0,0.30); }

.gallery-lightbox-image-wrap{ background:#0f172a; display:flex; align-items:center; justify-content:center; min-height:70vh; }

.gallery-lightbox-image-wrap img{ width:100%; max-height:70vh; object-fit:contain; background:#0f172a; }

.gallery-lightbox-info{ padding:22px 24px 10px; }

.gallery-lightbox-info h3{ color:#142a66; margin-bottom:6px; font-size:24px; }

.gallery-lightbox-info p{ margin:0; color:#6b7280; font-weight:600; }

.gallery-lightbox-controls{ padding:0 24px 24px; }

.gallery-play-toggle{ border:none; background:#142a66; color:#ffffff; padding:12px 18px; border-radius:12px; font-weight:700; cursor:pointer; }

.gallery-play-toggle:hover{ background:#0f1f4d; }

.gallery-lightbox-close, .gallery-lightbox-nav{ position:absolute; z-index:5; border:none; border-radius:999px; background:rgba(255,255,255,0.92); color:#111827; cursor:pointer; box-shadow:0 10px 24px rgba(0,0,0,0.16); }

.gallery-lightbox-close{ top:14px; right:16px; width:46px; height:46px; font-size:28px; line-height:1; }

.gallery-lightbox-nav{ top:50%; transform:translateY(-50%); width:56px; height:56px; font-size:34px; line-height:1; }

.gallery-lightbox-nav.prev{ left:16px; } .gallery-lightbox-nav.next{ right:16px; }

body.gallery-lightbox-open{ overflow:hidden; }

.giving-premium-hero{ padding:90px 0 50px; background:#f6f4ef; }

.giving-hero-content{ text-align:center; max-width:780px; margin:auto; }

.giving-hero-content h1{ font-size:48px; margin-bottom:16px; }

.giving-hero-content p{ font-size:18px; color:#4b5563; }

.giving-main-section{ padding:60px 0; }

.giving-main-grid{ display:grid; grid-template-columns:2fr 1fr; gap:40px; }

.giving-main-card, .giving-trust-card, .giving-campaign-card{ background:#fff; border-radius:20px; overflow:hidden; box-shadow:0 20px 50px rgba(0,0,0,0.06); }

.giving-trust-card{ background:#142a66; color:#fff; padding:32px; }

.giving-trust-card h3{ margin-bottom:14px; color:#fff; }

.giving-trust-card p, .giving-trust-list li{ color:rgba(255,255,255,0.9); }

.giving-trust-list{ margin-top:18px; padding-left:18px; }

.giving-trust-list li{ margin-bottom:10px; }

.giving-values{ display:grid; grid-template-columns:1fr 1fr; gap:20px; margin-top:30px; }

.giving-value h4{ margin-bottom:6px; color:#142a66; }

.giving-value p{ font-size:14px; color:#6b7280; }

.giving-tracker-section, .giving-campaign-section{ padding:70px 0; }

.giving-tracker-section{ background:#ffffff; } .giving-campaign-section{ background:#fafafa; }

.giving-tracker-card{ padding:26px; }

.giving-tracker-card h3{ color:#142a66; margin-bottom:14px; }

.giving-tracker-progress, .campaign-progress-bar{ height:10px; background:#e5e7eb; border-radius:999px; overflow:hidden; margin-bottom:14px; }

.campaign-progress-bar{ height:8px; margin-top:10px; }

.giving-tracker-progress span, .campaign-progress-bar span{ display:block; height:100%; border-radius:999px; }

.giving-tracker-progress span{ background:linear-gradient(90deg,#142a66,#1b3c88); }

.campaign-progress-bar span{ background:#142a66; }

.giving-tracker-footer, .campaign-progress-info{ display:flex; justify-content:space-between; align-items:center; gap:12px; }

.giving-tracker-footer strong{ color:#142a66; font-size:20px; }

.giving-tracker-footer span, .campaign-progress-percent{ color:#6b7280; font-size:14px; font-weight:600; }

.campaign-progress-percent{ margin-top:8px; color:#374151; font-size:13px; }

.giving-card-link-wrap, .program-card-link-wrap{ display:block; color:inherit; text-decoration:none; }

.giving-card-link-wrap:hover, .program-card-link-wrap:hover{ color:inherit; }

/* ========================================= RESPONSIVE ========================================= */

@media (max-width: 1180px){ .site-logo{ min-width:250px; margin-right:8px; }

.main-nav a{
    font-size:11px;
    padding:10px 8px;
}

.main-nav ul{ gap:8px; }

.site-brand-text strong{ font-size:17px; }

}

@media (max-width: 992px){ .hero-inner, .about-preview-inner, .contact-preview-inner, .imam-message-inner, .donation-inner, .service-preview-inner, .ministries-preview-inner, .pastor-message-inner, .giving-inner, .about-intro-grid, .about-pastor-grid, .contact-layout, .sermons-detail-layout, .events-detail-layout, .blog-detail-layout, .giving-detail-grid, .programs-detail-grid, .giving-main-grid, .blog-featured-layout{ grid-template-columns:1fr; }

.footer-grid,
.giving-tracker-grid,
.giving-campaign-grid,
.gallery-folder-grid,
.gallery-images-premium-grid,
.sermons-library-grid,
.events-library-grid,
.ministries-page-grid,
.leaders-page-grid{
    grid-template-columns:1fr 1fr;
}

.about-foundation-grid{ grid-template-columns:1fr; }

.hero-content h1,
.about-page-header h1,
.ministries-page-header h1,
.leaders-page-header h1,
.sermons-premium-header h1,
.events-premium-header h1,
.gallery-premium-header h1,
.programs-premium-header h1,
.blog-premium-header h1,
.giving-hero-content h1{
    font-size:40px;
}

.hero-image{ min-height:360px; }

.sermons-detail-side,
.events-detail-side,
.blog-detail-side,
.giving-detail-side-card,
.programs-detail-side-card{
    position:static;
}

}

@media (max-width: 768px){ .header-inner{ min-height:auto; padding:16px 20px; flex-wrap:wrap; }

.site-logo{
    min-width:auto;
    margin-right:0;
}

.mobile-toggle{ display:block; }

.main-nav{
    width:100%;
    justify-content:flex-start;
}

.main-nav ul{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    margin-top:14px;
    white-space:normal;
}

.main-nav a{
    width:100%;
    padding:10px 0;
}

.main-nav a::after{
    left:0;
    right:auto;
    width:36px;
}

.hero-inner{
    min-height:auto;
    gap:28px;
}

.hero-content h1,
.contact-header h1,
.about-page-header h1,
.ministries-page-header h1,
.leaders-page-header h1,
.sermons-premium-header h1,
.events-premium-header h1,
.gallery-premium-header h1,
.programs-premium-header h1,
.blog-premium-header h1,
.giving-hero-content h1{
    font-size:34px;
}

.hero-content p,
.contact-header p,
.gallery-selected-header p{
    font-size:16px;
}

.hero-actions{
    flex-direction:column;
    align-items:flex-start;
}

.homepage section{ padding:64px 0; }

.form-row,
.ministries-page-grid,
.leaders-page-grid,
.sermons-library-grid,
.events-library-grid,
.gallery-folder-grid,
.gallery-images-premium-grid,
.giving-tracker-grid,
.giving-campaign-grid{
    grid-template-columns:1fr;
}

.events-library-card{
    grid-template-columns:1fr;
}

.events-library-datebox{
    min-height:92px;
    flex-direction:row;
    gap:10px;
}

.refined-ministry-image img{ height:260px; }
.refined-leader-image img{ height:280px; }
.programs-detail-image-wrap img{ height:260px; }

.refined-ministry-content h3,
.refined-leader-content h3,
.sermons-library-content h3,
.events-library-content h3,
.gallery-folder-card-content h3,
.blog-side-content h3,
.gallery-image-premium-content h3{
    font-size:22px;
}

.contact-form-card,
.contact-details-card,
.sermons-detail-content-card,
.sermons-info-card,
.sermons-highlight-summary,
.events-detail-card,
.events-info-card,
.blog-detail-card,
.blog-info-card,
.blog-detail-summary,
.giving-detail-main-card,
.giving-detail-side-card,
.programs-detail-body,
.programs-detail-side-card,
.about-cta-box,
.ministries-cta-box,
.leaders-cta-box,
.refined-ministries-cta-box,
.refined-leaders-cta-box{
    padding:22px 20px;
}

.gallery-lightbox-dialog{
    width:min(100%, calc(100% - 16px));
    margin:24px auto;
    border-radius:18px;
}

.gallery-lightbox-image-wrap{ min-height:52vh; }
.gallery-lightbox-image-wrap img{ max-height:52vh; }

.gallery-lightbox-nav{
    width:46px;
    height:46px;
    font-size:28px;
}

.gallery-lightbox-nav.prev{ left:10px; }
.gallery-lightbox-nav.next{ right:10px; }

.gallery-lightbox-close{
    top:10px;
    right:10px;
    width:42px;
    height:42px;
    font-size:24px;
}

.gallery-lightbox-info h3{ font-size:20px; }

.giving-values{ grid-template-columns:1fr; }

}

@media (max-width: 640px){ .footer-grid{ grid-template-columns:1fr; }

.footer-top{ padding:55px 0 30px; }

.footer-bottom-inner{
    flex-direction:column;
    align-items:flex-start;
}

.site-brand-text span{ display:none; }

}
/* =========================================
   MINISTRIES DETAIL PAGE
========================================= */

.ministries-detail-section{
    padding:30px 0 88px;
    background:#ffffff;
}

.ministries-detail-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:30px;
    align-items:start;
}

.ministries-detail-main-card{
    background:#ffffff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 18px 42px rgba(15,23,42,0.07);
    border:1px solid rgba(0,0,0,0.05);
}

.ministries-detail-image-wrap{
    padding:18px 18px 0;
}

.ministries-detail-image-wrap img{
    width:100%;
    height:340px;
    object-fit:cover;
    border-radius:18px;
}

.ministries-detail-body{
    padding:24px 24px 28px;
}

.ministries-detail-body h2{
    color:#142a66;
    margin-bottom:14px;
}

.ministries-detail-body p{
    line-height:1.95;
}

.ministries-detail-side-card{
    background:#ffffff;
    border-radius:24px;
    padding:28px 24px;
    box-shadow:0 18px 42px rgba(15,23,42,0.07);
    border:1px solid rgba(0,0,0,0.05);
    position:sticky;
    top:110px;
}

.ministries-detail-side-card h3{
    color:#142a66;
    margin-bottom:18px;
}

.ministries-dark-outline{
    border-color:#142a66;
    color:#142a66;
    background:#ffffff;
}

.ministries-dark-outline:hover{
    background:#eef2fb;
}

@media (max-width: 992px){
    .ministries-detail-grid{
        grid-template-columns:1fr;
    }

    .ministries-detail-side-card{
        position:static;
    }
}

@media (max-width: 768px){
    .ministries-detail-image-wrap img{
        height:260px;
    }

    .ministries-detail-body,
    .ministries-detail-side-card{
        padding:22px 20px;
    }
}
/* =========================================
   LEADERS DETAIL PAGE
========================================= */

.leaders-detail-section{
    padding:30px 0 88px;
    background:#ffffff;
}

.leaders-detail-grid{
    display:grid;
    grid-template-columns:1.15fr 0.85fr;
    gap:30px;
    align-items:start;
}

.leaders-detail-main-card{
    background:#ffffff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 18px 42px rgba(15,23,42,0.07);
    border:1px solid rgba(0,0,0,0.05);
}

.leaders-detail-image-wrap{
    padding:18px 18px 0;
}

.leaders-detail-image-wrap img{
    width:100%;
    height:340px;
    object-fit:cover;
    border-radius:18px;
}

.leaders-detail-body{
    padding:24px 24px 28px;
}

.leaders-detail-body h2{
    color:#142a66;
    margin-bottom:14px;
}

.leaders-detail-body p{
    line-height:1.95;
}

.leaders-detail-side-card{
    background:#ffffff;
    border-radius:24px;
    padding:28px 24px;
    box-shadow:0 18px 42px rgba(15,23,42,0.07);
    border:1px solid rgba(0,0,0,0.05);
    position:sticky;
    top:110px;
}

.leaders-detail-side-card h3{
    color:#142a66;
    margin-bottom:18px;
}

.leaders-dark-outline{
    border-color:#142a66;
    color:#142a66;
    background:#ffffff;
}

.leaders-dark-outline:hover{
    background:#eef2fb;
}

@media (max-width: 992px){
    .leaders-detail-grid{
        grid-template-columns:1fr;
    }

    .leaders-detail-side-card{
        position:static;
    }
}

@media (max-width: 768px){
    .leaders-detail-image-wrap img{
        height:260px;
    }

    .leaders-detail-body,
    .leaders-detail-side-card{
        padding:22px 20px;
    }
}
/* =========================================
   BLOG IMAGES
========================================= */

.blog-side-image{
    padding:18px 18px 0;
}

.blog-side-image img{
    width:100%;
    height:180px;
    object-fit:cover;
    border-radius:16px;
}

.blog-detail-feature-image{
    padding:18px 18px 0;
}

.blog-detail-feature-image img{
    width:100%;
    height:320px;
    object-fit:cover;
    border-radius:18px;
}

.content-meta-pill{
    display:inline-flex;
    align-items:center;
    padding:8px 14px;
    border-radius:999px;
    font-size:13px;
    font-weight:700;
    margin-bottom:16px;
    background:rgba(255,255,255,0.14);
    border:1px solid rgba(255,255,255,0.18);
    color:#ffffff;
}
/* =========================================
   HOMEPAGE SECTION UNIFORMITY
========================================= */

.meta-line{
    color:#6b7280;
    font-size:14px;
    line-height:1.7;
    margin-bottom:12px;
}

.ministry-grid,
.ministries-grid,
.program-grid,
.event-grid,
.sermon-grid,
.blog-grid{
    align-items:stretch;
}

.ministry-card,
.program-card,
.event-card,
.sermon-card,
.blog-card{
    height:100%;
}

.ministry-content,
.program-content,
.event-content,
.sermon-content,
.blog-content{
    display:flex;
    flex-direction:column;
    height:100%;
}

.ministry-content .text-link,
.program-content .text-link,
.event-content .text-link,
.sermon-content .text-link,
.blog-content .text-link{
    margin-top:auto;
}

.gallery-item img{
    height:260px;
    object-fit:cover;
}

@media (max-width: 768px){
    .gallery-item img{
        height:220px;
    }
}
/* =========================================
   HOMEPAGE GIVING SECTION
========================================= */

.giving-home-main-grid{
    display:grid;
    grid-template-columns:1.1fr 0.9fr;
    gap:32px;
    align-items:start;
    margin-bottom:60px;
}

.giving-home-main-card{
    background:#ffffff;
    border-radius:24px;
    overflow:hidden;
    box-shadow:0 18px 42px rgba(15,23,42,0.08);
    border:1px solid rgba(0,0,0,0.05);
}

.giving-home-image img{
    width:100%;
    height:320px;
    object-fit:cover;
}

.giving-home-content{
    padding:28px;
}

.giving-home-content h3{
    margin-bottom:14px;
    color:#142a66;
}

.giving-home-values{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:18px;
    margin-top:22px;
}

.giving-home-value{
    background:#f8f3ea;
    border:1px solid rgba(20,42,102,0.08);
    border-radius:18px;
    padding:18px;
}

.giving-home-value h4{
    margin-bottom:8px;
    color:#142a66;
    font-size:20px;
}

.giving-home-value p{
    margin:0;
    font-size:14px;
    line-height:1.7;
}

.giving-home-trust-card{
    background:linear-gradient(135deg,#0f172a,#142a66);
    color:#ffffff;
    border-radius:24px;
    padding:30px;
    box-shadow:0 20px 44px rgba(20,42,102,0.18);
}

.giving-home-trust-card h3{
    color:#ffffff;
    margin-bottom:14px;
}

.giving-home-trust-card p{
    color:rgba(255,255,255,0.88);
    margin-bottom:18px;
}

.giving-home-trust-list{
    list-style:none;
    padding:0;
    margin:0 0 22px;
}

.giving-home-trust-list li{
    color:rgba(255,255,255,0.90);
    margin-bottom:12px;
    line-height:1.7;
    position:relative;
    padding-left:18px;
}

.giving-home-trust-list li::before{
    content:'•';
    position:absolute;
    left:0;
    top:0;
    color:#f5c96b;
}

.giving-home-subsection{
    margin-top:20px;
}

.giving-home-tracker-grid,
.giving-home-campaign-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(280px,1fr));
    gap:24px;
}

.giving-home-tracker-card,
.giving-home-campaign-card{
    background:#ffffff;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 16px 40px rgba(0,0,0,0.06);
    transition:transform .25s ease, box-shadow .25s ease;
}

.giving-home-tracker-card:hover,
.giving-home-campaign-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 54px rgba(15,23,42,0.12);
}

.giving-home-tracker-image img,
.giving-home-campaign-image img{
    width:100%;
    height:220px;
    object-fit:cover;
}

.giving-home-tracker-body,
.giving-home-campaign-body{
    padding:22px;
}

.giving-home-tracker-body h3,
.giving-home-campaign-body h3{
    margin-bottom:12px;
}

.giving-home-tracker-meta{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:14px;
    color:#4b5563;
    font-size:14px;
}

.giving-home-progress{
    width:100%;
    height:10px;
    background:#e5e7eb;
    border-radius:999px;
    overflow:hidden;
    margin:14px 0 12px;
}

.giving-home-progress span{
    display:block;
    height:100%;
    background:linear-gradient(90deg,#142a66,#1d4ed8);
    border-radius:999px;
}

.giving-home-tracker-footer{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    font-size:14px;
    color:#142a66;
    font-weight:700;
}

@media (max-width: 992px){
    .giving-home-main-grid{
        grid-template-columns:1fr;
    }
}

@media (max-width: 768px){
    .giving-home-values{
        grid-template-columns:1fr;
    }

    .giving-home-image img{
        height:240px;
    }

    .giving-home-tracker-image img,
    .giving-home-campaign-image img{
        height:200px;
    }
}
/* =========================================
   HOMEPAGE SERVICE TIMES
========================================= */

.service-times-premium-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:24px;
}

.service-times-premium-card{
    background:#ffffff;
    border-radius:22px;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 16px 40px rgba(0,0,0,0.06);
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease;
}

.service-times-premium-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 54px rgba(15,23,42,0.12);
}

.service-times-premium-top{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:14px;
    padding:18px 20px;
    background:linear-gradient(135deg,#0f172a,#142a66);
}

.service-times-day{
    display:inline-flex;
    align-items:center;
    padding:8px 12px;
    border-radius:999px;
    background:rgba(255,255,255,0.12);
    color:#ffffff;
    font-size:12px;
    font-weight:700;
}

.service-times-time{
    color:#f5c96b;
    font-size:14px;
    font-weight:800;
}

.service-times-premium-body{
    padding:22px 20px;
}

.service-times-premium-body h3{
    margin-bottom:12px;
    color:#142a66;
}

.service-times-location{
    font-size:14px;
    color:#4b5563;
    margin-bottom:12px;
}

/* =========================================
   HOMEPAGE BLOG FEATURED
========================================= */

.home-blog-featured-layout{
    display:grid;
    grid-template-columns:1.08fr 0.92fr;
    gap:28px;
    align-items:start;
}

.home-blog-featured-card{
    background:#ffffff;
    border-radius:24px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 18px 42px rgba(15,23,42,0.08);
    height:100%;
}

.home-blog-featured-image img{
    width:100%;
    height:320px;
    object-fit:cover;
}

.home-blog-featured-content{
    padding:28px;
}

.home-blog-featured-content h3{
    margin-bottom:14px;
}

.home-blog-side-stack{
    display:grid;
    gap:20px;
}

.home-blog-side-card{
    display:grid;
    grid-template-columns:140px 1fr;
    gap:16px;
    background:#ffffff;
    border-radius:20px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 16px 40px rgba(0,0,0,0.06);
    transition:transform .25s ease, box-shadow .25s ease;
}

.home-blog-side-card:hover{
    transform:translateY(-4px);
    box-shadow:0 22px 48px rgba(15,23,42,0.10);
}

.home-blog-side-image img{
    width:100%;
    height:100%;
    min-height:160px;
    object-fit:cover;
}

.home-blog-side-content{
    padding:18px 18px 18px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}

.home-blog-side-content h3{
    font-size:24px;
    margin-bottom:10px;
}

.home-blog-side-content p{
    margin-bottom:12px;
}

@media (max-width: 992px){
    .home-blog-featured-layout{
        grid-template-columns:1fr;
    }
}

@media (max-width: 768px){
    .home-blog-featured-image img{
        height:240px;
    }

    .home-blog-side-card{
        grid-template-columns:1fr;
    }

    .home-blog-side-image img{
        min-height:200px;
    }

    .home-blog-side-content{
        padding:18px;
    }
}
/* =========================================
   EVENTS PAGE
========================================= */

.events-premium-hero{
    padding:84px 0 42px;
    background:#f8f3ea;
}

.events-premium-header{
    text-align:center;
    max-width:820px;
    margin:0 auto;
}

.events-premium-header h1{
    font-size:48px;
    margin-bottom:16px;
}

.events-premium-header p{
    font-size:18px;
    color:#4b5563;
}

.events-library-section{
    padding:40px 0 88px;
    background:#ffffff;
}

.events-library-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:24px;
}

.events-library-card{
    background:#ffffff;
    border-radius:22px;
    overflow:hidden;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 16px 40px rgba(0,0,0,0.06);
    transition:transform .25s ease, box-shadow .25s ease;
}

.events-library-card:hover{
    transform:translateY(-6px);
    box-shadow:0 24px 54px rgba(15,23,42,0.12);
}

.events-library-image img{
    width:100%;
    height:250px;
    object-fit:cover;
}

.events-library-content{
    padding:24px 22px;
}

.events-library-content h3{
    margin-bottom:12px;
}

.events-library-meta{
    display:flex;
    flex-direction:column;
    gap:8px;
    margin-bottom:14px;
    color:#4b5563;
    font-size:14px;
}

.events-detail-section{
    padding:40px 0 88px;
    background:#ffffff;
}

.events-detail-grid{
    display:grid;
    grid-template-columns:1.08fr 0.92fr;
    gap:32px;
    align-items:start;
}

.events-detail-main-card,
.events-detail-side-card{
    background:#ffffff;
    border-radius:24px;
    border:1px solid rgba(0,0,0,0.05);
    box-shadow:0 18px 42px rgba(15,23,42,0.08);
    overflow:hidden;
}

.events-detail-image img{
    width:100%;
    height:340px;
    object-fit:cover;
}

.events-detail-body{
    padding:28px;
}

.events-detail-side-card{
    padding:28px;
}

@media (max-width: 992px){
    .events-library-grid{
        grid-template-columns:1fr 1fr;
    }

    .events-detail-grid{
        grid-template-columns:1fr;
    }

    .events-premium-header h1{
        font-size:40px;
    }
}

@media (max-width: 768px){
    .events-library-grid{
        grid-template-columns:1fr;
    }

    .events-premium-header h1{
        font-size:34px;
    }

    .events-detail-image img{
        height:240px;
    }
}