:root{
  --theme-bg:#011d17;--theme-bg-soft:#03271f;--theme-surface:#123a2d;--theme-surface-2:#0b3026;
  --theme-text:#fffdf4;--theme-muted:#d8e0da;--theme-border:rgba(255,255,255,.10);--theme-accent:#d7df68;
  --theme-accent-text:#173128;--theme-header:#fff;--theme-shadow:rgba(0,0,0,.30);
  --theme-hero-overlay:linear-gradient(90deg,rgba(1,24,18,.9),rgba(1,24,18,.56) 42%,rgba(1,24,18,.08) 75%),linear-gradient(0deg,rgba(2,27,20,.79),transparent 33%);
  --theme-card-overlay:linear-gradient(0deg,rgba(2,28,22,.98) 8%,rgba(2,28,22,.82) 48%,rgba(2,28,22,.18) 80%);
}
html[data-theme="morning"]{
  --theme-bg:#f4ead8;--theme-bg-soft:#fff8eb;--theme-surface:#fffdf8;--theme-surface-2:#f6eddd;
  --theme-text:#173b2e;--theme-muted:#65766d;--theme-border:rgba(32,73,57,.16);--theme-accent:#cbbb55;
  --theme-accent-text:#17382c;--theme-header:#fffdf5;--theme-shadow:rgba(62,48,28,.15);
  --theme-hero-overlay:linear-gradient(90deg,rgba(255,248,232,.91),rgba(255,239,205,.62) 48%,rgba(255,225,170,.12) 78%),linear-gradient(0deg,rgba(45,73,57,.18),transparent 40%);
  --theme-card-overlay:linear-gradient(0deg,rgba(255,250,240,.98) 8%,rgba(255,247,229,.88) 50%,rgba(31,65,50,.10) 85%);
}
html[data-theme="day"]{
  --theme-bg:#edf1ea;--theme-bg-soft:#f8faf5;--theme-surface:#ffffff;--theme-surface-2:#f1f5ee;
  --theme-text:#15392c;--theme-muted:#607069;--theme-border:rgba(28,72,55,.14);--theme-accent:#b9cb4f;
  --theme-accent-text:#17382c;--theme-header:#15392c;--theme-shadow:rgba(29,61,48,.13);
  --theme-hero-overlay:linear-gradient(90deg,rgba(246,250,243,.92),rgba(239,245,232,.60) 47%,rgba(255,255,255,.08) 78%),linear-gradient(0deg,rgba(27,69,52,.17),transparent 38%);
  --theme-card-overlay:linear-gradient(0deg,rgba(247,250,244,.99) 8%,rgba(241,247,238,.88) 50%,rgba(21,57,44,.10) 85%);
}
html[data-theme="evening"]{
  --theme-bg:#ead8bf;--theme-bg-soft:#f8ead7;--theme-surface:#fff6e9;--theme-surface-2:#f1ddc3;
  --theme-text:#244538;--theme-muted:#766b5f;--theme-border:rgba(92,61,38,.17);--theme-accent:#d29b5e;
  --theme-accent-text:#25382f;--theme-header:#fff7eb;--theme-shadow:rgba(74,43,27,.18);
  --theme-hero-overlay:linear-gradient(90deg,rgba(52,57,42,.72),rgba(184,113,66,.40) 48%,rgba(224,151,90,.10) 78%),linear-gradient(0deg,rgba(39,53,43,.55),transparent 40%);
  --theme-card-overlay:linear-gradient(0deg,rgba(255,245,229,.98) 8%,rgba(246,224,196,.88) 50%,rgba(55,61,43,.12) 85%);
}
html,body,.journey-shell,.section,.event-home-card,.news-card,.ministry-card,.worship-slide,.announcement-modal,footer{transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease}
body{background:var(--theme-bg);color:var(--theme-text)}
.journey-shell{background:radial-gradient(circle at 74% 20%,color-mix(in srgb,var(--theme-accent) 9%,transparent),transparent 30%),linear-gradient(180deg,var(--theme-bg),var(--theme-bg-soft) 55%,var(--theme-bg))}
.site-header,.news-header,.events-header,.worship-header{color:var(--theme-header)}
.nav-toggle{color:var(--theme-header)}
.hero-shade{background:var(--theme-hero-overlay)}
html:not([data-theme="night"]) .hero h1,html:not([data-theme="night"]) .hero-copy p{color:var(--theme-text)}
html[data-theme="evening"] .hero h1,html[data-theme="evening"] .hero-copy p{color:#fffaf1}
.section-content>p,.event-home-copy>p:last-child,.worship-carousel-hint{color:var(--theme-muted)}
.event-home-card,.news-card,.ministry-card{background:color-mix(in srgb,var(--theme-surface) 92%,transparent);border-color:var(--theme-border);box-shadow:0 10px 28px var(--theme-shadow)}
.worship-slide{background:var(--theme-surface);border-color:color-mix(in srgb,var(--theme-accent) 50%,transparent);box-shadow:0 12px 30px var(--theme-shadow)}
.worship-slide-overlay{background:var(--theme-card-overlay)}
html:not([data-theme="night"]) .worship-slide h3,html:not([data-theme="night"]) .worship-slide-meta,html:not([data-theme="night"]) .worship-slide-content p{color:var(--theme-text)}
.pill-outline{color:var(--theme-text);border-color:var(--theme-accent)}
.pill-filled,.step-badge,.event-home-date{background:var(--theme-accent);color:var(--theme-accent-text)}
.eyebrow,.event-home-category,.worship-day,.worship-slide-meta b,.pathway path{color:var(--theme-accent);stroke:var(--theme-accent)}
footer{background:color-mix(in srgb,var(--theme-bg) 85%,#000 15%);color:var(--theme-text)}
.announcement-overlay{background:color-mix(in srgb,var(--theme-bg) 72%,transparent)}
.announcement-modal{background:var(--theme-surface-2);color:var(--theme-text);border-color:color-mix(in srgb,var(--theme-accent) 55%,transparent);box-shadow:0 35px 100px var(--theme-shadow)}
.announcement-content p{color:var(--theme-muted)}
.announcement-button{background:var(--theme-accent);color:var(--theme-accent-text)}
.theme-switcher{position:fixed;z-index:11000;right:18px;bottom:18px;font-family:Arial,Helvetica,sans-serif}
.theme-switch-button{min-width:74px;height:44px;padding:0 13px;display:flex;align-items:center;justify-content:center;gap:7px;border:1px solid color-mix(in srgb,var(--theme-accent) 65%,transparent);border-radius:999px;background:color-mix(in srgb,var(--theme-surface) 88%,transparent);color:var(--theme-text);box-shadow:0 10px 28px var(--theme-shadow);backdrop-filter:blur(12px)}
.theme-switch-button span{font-size:19px}.theme-switch-button small{font-size:10px;font-weight:800;letter-spacing:.05em}
.theme-switch-menu{position:absolute;right:0;bottom:54px;width:190px;padding:8px;border:1px solid var(--theme-border);border-radius:15px;background:color-mix(in srgb,var(--theme-surface) 95%,transparent);box-shadow:0 18px 50px var(--theme-shadow);backdrop-filter:blur(14px)}
.theme-switch-menu[hidden]{display:none}.theme-switch-menu button{width:100%;padding:10px 11px;display:grid;grid-template-columns:25px 1fr auto;align-items:center;border:0;border-radius:9px;background:transparent;color:var(--theme-text);text-align:left}.theme-switch-menu button:hover,.theme-switch-menu button.active{background:color-mix(in srgb,var(--theme-accent) 22%,transparent)}.theme-switch-menu b{font-size:12px}.theme-switch-menu small{font-size:9px;color:var(--theme-muted)}
@media(max-width:600px){.theme-switcher{right:12px;bottom:12px}.theme-switch-button{min-width:48px}.theme-switch-button small{display:none}}


/* Patch 17B — Living Theme Visual Integration */
:root{
  --theme-heading:var(--theme-text);
  --theme-link:var(--theme-accent);
  --theme-glass:color-mix(in srgb,var(--theme-surface) 82%,transparent);
  --theme-soft-accent:color-mix(in srgb,var(--theme-accent) 16%,transparent);
  --theme-hero-filter:none;
  --theme-image-brightness:1;
  --theme-image-saturation:1;
}
html[data-theme="morning"]{
  --theme-heading:#173b2e;--theme-link:#8d7d25;--theme-glass:rgba(255,253,248,.82);
  --theme-soft-accent:rgba(203,187,85,.16);--theme-hero-filter:brightness(1.08) saturate(.88) sepia(.08);
  --theme-image-brightness:1.05;--theme-image-saturation:.90
}
html[data-theme="day"]{
  --theme-heading:#15392c;--theme-link:#6c8420;--theme-glass:rgba(255,255,255,.84);
  --theme-soft-accent:rgba(185,203,79,.15);--theme-hero-filter:brightness(1.08) saturate(.90);
  --theme-image-brightness:1.04;--theme-image-saturation:.94
}
html[data-theme="evening"]{
  --theme-heading:#244538;--theme-link:#a16532;--theme-glass:rgba(255,246,233,.82);
  --theme-soft-accent:rgba(210,155,94,.17);--theme-hero-filter:brightness(.93) saturate(.92) sepia(.12);
  --theme-image-brightness:.98;--theme-image-saturation:.92
}
html[data-theme="night"]{
  --theme-heading:#fffdf4;--theme-link:#d7df68;--theme-glass:rgba(11,48,38,.84);
  --theme-soft-accent:rgba(215,223,104,.11);--theme-hero-filter:brightness(.86) saturate(.92);
  --theme-image-brightness:.88;--theme-image-saturation:.88
}
h1,h2,h3,h4,.brand-copy strong{color:var(--theme-heading)}
.news-link,.news-page-body>a,.event-card-body>a,.article-content a,.event-article a{color:var(--theme-link)}
body::before{content:"";position:fixed;z-index:-2;inset:0;pointer-events:none;opacity:.75;transition:background .5s ease}
html[data-theme="morning"] body::before{background:radial-gradient(circle at 12% 8%,rgba(255,226,166,.42),transparent 30%),radial-gradient(circle at 84% 20%,rgba(206,224,169,.20),transparent 33%)}
html[data-theme="day"] body::before{background:radial-gradient(circle at 18% 5%,rgba(255,255,255,.88),transparent 27%),radial-gradient(circle at 80% 18%,rgba(196,218,155,.20),transparent 34%)}
html[data-theme="evening"] body::before{background:radial-gradient(circle at 82% 6%,rgba(229,166,102,.30),transparent 34%),radial-gradient(circle at 18% 22%,rgba(122,143,103,.14),transparent 35%)}
html[data-theme="night"] body::before{background:radial-gradient(circle at 82% 10%,rgba(215,223,104,.07),transparent 30%),radial-gradient(circle at 12% 32%,rgba(20,91,68,.14),transparent 36%)}
.hero-background img,.news-hero,.events-hero,.article-hero-image,.event-detail-image,.worship-hero{filter:var(--theme-hero-filter);transition:filter .6s ease}
.event-home-card,.news-card,.ministry-card,.news-page-card,.event-card,.event-facts,.schedule-table-wrap,.schedule-mobile-card{
  transition:background-color .45s ease,color .45s ease,border-color .45s ease,box-shadow .45s ease,transform .25s ease
}
html:not([data-theme="night"]) .event-home-card,
html:not([data-theme="night"]) .news-card,
html:not([data-theme="night"]) .ministry-card,
html:not([data-theme="night"]) .news-page-card,
html:not([data-theme="night"]) .event-card,
html:not([data-theme="night"]) .event-facts,
html:not([data-theme="night"]) .schedule-table-wrap,
html:not([data-theme="night"]) .schedule-mobile-card{
  background:var(--theme-glass);border-color:var(--theme-border);box-shadow:0 16px 36px var(--theme-shadow)
}
.news-card img,.news-page-image img,.event-card-image img,.featured-image,.featured-event-image,.worship-slide>img,.announcement-image img{
  filter:brightness(var(--theme-image-brightness)) saturate(var(--theme-image-saturation));transition:filter .55s ease,transform .55s ease
}
html:not([data-theme="night"]) .worship-slide-icon{background:color-mix(in srgb,var(--theme-surface) 78%,transparent);color:var(--theme-accent-text);border-color:var(--theme-accent)}
html:not([data-theme="night"]) .worship-day{color:var(--theme-accent-text);background:color-mix(in srgb,var(--theme-accent) 27%,transparent)}
.news-page,.news-detail-page,.events-page,.event-detail-page,.worship-page{background:var(--theme-bg);color:var(--theme-text)}
html:not([data-theme="night"]) .article-content blockquote,
html:not([data-theme="night"]) .event-article blockquote{background:var(--theme-soft-accent);color:var(--theme-heading);border-left-color:var(--theme-accent)}
.news-filters input,.news-filters select,.events-filter input[type="search"],.events-filter select,.contact-form input,.contact-form textarea{
  background:var(--theme-surface);color:var(--theme-text);border-color:var(--theme-border)
}
.schedule-table th{background:color-mix(in srgb,var(--theme-surface) 78%,var(--theme-accent) 8%);color:var(--theme-link)}
.schedule-table td{color:var(--theme-text);border-color:var(--theme-border)}
.schedule-table tbody tr:hover{background:var(--theme-soft-accent)}
html[data-theme="morning"] footer{background:linear-gradient(180deg,#e7dcc8,#d9cbb4)}
html[data-theme="day"] footer{background:linear-gradient(180deg,#dce5d9,#cad8c8)}
html[data-theme="evening"] footer{background:linear-gradient(180deg,#cfb394,#ad8c6c)}
html[data-theme="night"] footer{background:linear-gradient(180deg,#03271f,#011d17)}
.theme-switch-button{cursor:pointer;transition:transform .25s ease,background-color .35s ease,border-color .35s ease,box-shadow .35s ease}
.theme-switch-button:hover{transform:translateY(-2px)}
@media(prefers-reduced-motion:reduce){
  html,body,.journey-shell,.section,.event-home-card,.news-card,.ministry-card,.worship-slide,.announcement-modal,footer{transition:none!important}
}


/* Patch 17C — Dynamic Hero */
#hero{
  transition:opacity .35s ease,filter .55s ease,background-image .2s ease
}
#hero.hero-theme-changing{
  opacity:.72
}
.time-greeting{
  display:grid;
  gap:5px;
  max-width:620px;
  margin:10px 0 16px;
  transition:color .45s ease,opacity .35s ease,transform .35s ease
}
.time-greeting-label{
  color:var(--theme-accent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.16em;
  text-transform:uppercase
}
.time-greeting-message{
  margin:0;
  color:color-mix(in srgb,var(--theme-text) 86%,transparent);
  font-size:14px;
  line-height:1.55
}
html:not([data-theme="night"]) .time-greeting-message{
  color:color-mix(in srgb,var(--theme-heading) 82%,transparent)
}
html[data-theme="evening"] .time-greeting-label{color:#f1c58e}
@media(max-width:620px){
  .time-greeting{margin:8px 0 12px}
  .time-greeting-message{font-size:13px}
}


/* Patch 17D — Scheduler & Page Atmosphere */
html.theme-transitioning body{
  animation:pathwayThemePulse .72s ease
}
@keyframes pathwayThemePulse{
  0%{opacity:.84}
  100%{opacity:1}
}

.news-hero-inner::after,
.events-hero-inner::after,
.worship-hero-inner::after,
.article-hero-content::after,
.event-detail-content::after{
  content:attr(data-period-copy);
  display:block;
  margin-top:18px;
  max-width:560px;
  color:color-mix(in srgb,currentColor 76%,transparent);
  font-size:11px;
  font-weight:800;
  letter-spacing:.13em;
  line-height:1.5;
  text-transform:uppercase;
  opacity:.82
}

html[data-theme="morning"] .news-hero-inner::after,
html[data-theme="morning"] .events-hero-inner::after,
html[data-theme="morning"] .worship-hero-inner::after,
html[data-theme="morning"] .article-hero-content::after,
html[data-theme="morning"] .event-detail-content::after{
  content:"PAGI · Memulai hari dengan pengharapan baru."
}

html[data-theme="day"] .news-hero-inner::after,
html[data-theme="day"] .events-hero-inner::after,
html[data-theme="day"] .worship-hero-inner::after,
html[data-theme="day"] .article-hero-content::after,
html[data-theme="day"] .event-detail-content::after{
  content:"SIANG · Bertumbuh, melayani, dan menjadi berkat."
}

html[data-theme="evening"] .news-hero-inner::after,
html[data-theme="evening"] .events-hero-inner::after,
html[data-theme="evening"] .worship-hero-inner::after,
html[data-theme="evening"] .article-hero-content::after,
html[data-theme="evening"] .event-detail-content::after{
  content:"SORE · Berhenti sejenak dan bersyukur."
}

html[data-theme="night"] .news-hero-inner::after,
html[data-theme="night"] .events-hero-inner::after,
html[data-theme="night"] .worship-hero-inner::after,
html[data-theme="night"] .article-hero-content::after,
html[data-theme="night"] .event-detail-content::after{
  content:"MALAM · Berdiam dalam damai dan kasih Tuhan."
}

html[data-theme="morning"] .news-hero-inner,
html[data-theme="morning"] .events-hero-inner,
html[data-theme="morning"] .worship-hero-inner,
html[data-theme="day"] .news-hero-inner,
html[data-theme="day"] .events-hero-inner,
html[data-theme="day"] .worship-hero-inner{
  color:#173b2e
}

html[data-theme="evening"] .news-hero-inner::after,
html[data-theme="evening"] .events-hero-inner::after,
html[data-theme="evening"] .worship-hero-inner::after,
html[data-theme="night"] .news-hero-inner::after,
html[data-theme="night"] .events-hero-inner::after,
html[data-theme="night"] .worship-hero-inner::after{
  color:rgba(255,255,255,.78)
}

@media(prefers-reduced-motion:reduce){
  html.theme-transitioning body{animation:none}
}


/* Patch 17E — Theme Variable Migration */

body,.journey-shell,.section,.news-page,.events-page,.worship-page,
.news-detail-page,.event-detail-page{color:var(--theme-text)}

p,.section-copy,.section-copy p,.about-copy p,.hero-copy p,
.news-card p,.event-card p,.ministry-card p,.contact-copy p,
.footer-copy,.article-content p,.event-article p,.worship-description,
.worship-list-heading>p,.news-library-heading>p,.events-library-heading>p{
  color:var(--theme-muted)
}

h1,h2,h3,h4,h5,h6,.section-copy h2,.about-copy h2,
.news-card h3,.event-card h3,.ministry-card h3,.worship-slide h3,
.news-page-body h3,.event-card-body h3,.article-content h2,
.article-content h3,.event-article h2,.event-article h3{
  color:var(--theme-heading)
}

.eyebrow,.with-line,.section-label,.news-meta,.event-meta,
.article-meta,.worship-day,.schedule-date span,.time-greeting-label{
  color:var(--theme-link)
}

.eyebrow::after,.with-line::after{background:var(--theme-accent)}

.section-about,.about-section{background:var(--theme-bg)}
.about-copy p,.section-about .section-copy p{color:var(--theme-muted)!important}
.about-copy h2,.section-about .section-copy h2{color:var(--theme-heading)!important}
.about-image img{border-color:var(--theme-border)}

.pill,.primary,.ghost,button,input[type="submit"]{
  transition:background-color .35s ease,color .35s ease,
             border-color .35s ease,box-shadow .35s ease
}

.pill-filled,.primary{
  background:var(--theme-accent);
  color:var(--theme-accent-text);
  border-color:var(--theme-accent)
}

.pill-filled:hover,.primary:hover{
  background:color-mix(in srgb,var(--theme-accent) 84%,#fff 16%);
  color:var(--theme-accent-text)
}

.pill-outline,.ghost{
  background:transparent;
  color:var(--theme-heading);
  border-color:var(--theme-accent)
}

.pill-outline:hover,.ghost:hover{
  background:var(--theme-soft-accent);
  color:var(--theme-heading)
}

.news-card,.event-card,.ministry-card,.event-home-card,.featured-card,
.featured-event-card,.worship-slide,.schedule-mobile-card,.article-shell,
.event-detail-shell{color:var(--theme-text)}

.news-card p,.event-card p,.ministry-card p,.worship-slide-content p,
.schedule-mobile-card span{color:var(--theme-muted)}

.worship-carousel-hint{color:var(--theme-muted)}
.worship-carousel-controls button{
  border-color:var(--theme-accent);
  color:var(--theme-link)
}
.worship-carousel-dots button{
  background:color-mix(in srgb,var(--theme-muted) 24%,transparent)
}
.worship-carousel-dots button.active{background:var(--theme-accent)}

.schedule-table td,.schedule-table small{color:var(--theme-muted)}
.schedule-table strong,.schedule-date b,.schedule-time{color:var(--theme-heading)}

.contact-copy h2,.contact-form h3{color:var(--theme-heading)}
.contact-copy p,.contact-form label{color:var(--theme-muted)}
.contact-form input,.contact-form textarea{
  background:var(--theme-surface);
  color:var(--theme-text);
  border-color:var(--theme-border)
}

.site-header,.news-header,.events-header,.worship-header{color:var(--theme-heading)}
.site-header a,.news-header a,.events-header a,.worship-header a,.back-home{color:inherit}

footer{color:var(--theme-text)}
footer a{color:var(--theme-link)}

.announcement-modal{
  background:var(--theme-surface);
  color:var(--theme-text);
  border-color:var(--theme-border)
}
.announcement-content h2{color:var(--theme-heading)}
.announcement-content p{color:var(--theme-muted)}
.announcement-button{
  background:var(--theme-accent);
  color:var(--theme-accent-text)
}

.news-filters label,.events-filter label{color:var(--theme-muted)}
.news-filters input,.news-filters select,.events-filter input,.events-filter select{
  background:var(--theme-surface);
  color:var(--theme-text);
  border-color:var(--theme-border)
}

html[data-theme="morning"]{--theme-muted:#617068}
html[data-theme="day"]{--theme-muted:#56665e}
html[data-theme="evening"]{--theme-muted:#5e665f}
html[data-theme="night"]{--theme-muted:#cbd5cf}

html:not([data-theme="night"]) .section p,
html:not([data-theme="night"]) .section-copy p,
html:not([data-theme="night"]) .about-copy p,
html:not([data-theme="night"]) .news-card p,
html:not([data-theme="night"]) .event-card p,
html:not([data-theme="night"]) .ministry-card p,
html:not([data-theme="night"]) .contact-copy p,
html:not([data-theme="night"]) .article-content p,
html:not([data-theme="night"]) .event-article p{
  color:var(--theme-muted)!important
}

html:not([data-theme="night"]) .section h2,
html:not([data-theme="night"]) .section h3,
html:not([data-theme="night"]) .about-copy h2,
html:not([data-theme="night"]) .news-card h3,
html:not([data-theme="night"]) .event-card h3,
html:not([data-theme="night"]) .ministry-card h3{
  color:var(--theme-heading)!important
}

html:not([data-theme="night"]) .muted,
html:not([data-theme="night"]) small,
html:not([data-theme="night"]) .news-meta,
html:not([data-theme="night"]) .event-meta{
  color:var(--theme-muted)!important
}

html[data-theme="night"] .pill-outline,
html[data-theme="night"] .ghost{color:#fffdf4}

@media(prefers-contrast:more){
  p,.muted,small{color:var(--theme-text)!important}
  .pill-outline,.ghost{border-width:2px}
}

/* Patch 17F — Restore Model C Identity */

.section-ministries .ministry-card,
.section-ministries .service-card,
.ministry-card,
.service-card{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  min-height:250px;
  padding:26px 20px 24px;
  background:transparent!important;
  border:1px solid transparent!important;
  border-radius:18px;
  box-shadow:none!important;
  color:var(--theme-text);
  text-align:center;
  overflow:hidden;
  isolation:isolate;
  transition:
    transform .32s cubic-bezier(.2,.8,.2,1),
    background-color .32s ease,
    border-color .32s ease,
    box-shadow .32s ease;
}

.section-ministries .ministry-card::before,
.section-ministries .service-card::before,
.ministry-card::before,
.service-card::before{
  content:"";
  position:absolute;
  z-index:-1;
  inset:0;
  border-radius:inherit;
  background:color-mix(in srgb,var(--theme-surface) 12%,transparent);
  opacity:0;
  backdrop-filter:blur(10px);
  transition:opacity .32s ease;
}

.section-ministries .ministry-card:hover,
.section-ministries .service-card:hover,
.section-ministries .ministry-card:focus-within,
.section-ministries .service-card:focus-within,
.ministry-card:hover,
.service-card:hover,
.ministry-card:focus-within,
.service-card:focus-within{
  transform:translateY(-7px);
  border-color:color-mix(in srgb,var(--theme-accent) 58%,transparent)!important;
  box-shadow:0 18px 38px color-mix(in srgb,var(--theme-shadow) 58%,transparent)!important;
}

.section-ministries .ministry-card:hover::before,
.section-ministries .service-card:hover::before,
.section-ministries .ministry-card:focus-within::before,
.section-ministries .service-card:focus-within::before,
.ministry-card:hover::before,
.service-card:hover::before,
.ministry-card:focus-within::before,
.service-card:focus-within::before{
  opacity:1;
}

.section-ministries .ministry-icon,
.section-ministries .service-icon,
.ministry-icon,
.service-icon{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:82px;
  height:82px;
  margin:0 auto 20px;
  border:1px solid color-mix(in srgb,var(--theme-accent) 82%,transparent);
  border-radius:50%;
  background:transparent;
  color:var(--theme-link);
  box-shadow:none;
  font-size:28px;
  transition:
    transform .32s ease,
    background-color .32s ease,
    color .32s ease,
    box-shadow .32s ease;
}

.section-ministries .ministry-card:hover .ministry-icon,
.section-ministries .service-card:hover .service-icon,
.ministry-card:hover .ministry-icon,
.service-card:hover .service-icon{
  transform:translateY(-2px) scale(1.06);
  background:var(--theme-soft-accent);
  color:var(--theme-heading);
  box-shadow:0 10px 24px color-mix(in srgb,var(--theme-accent) 20%,transparent);
}

.section-ministries .ministry-card h3,
.section-ministries .service-card h3,
.ministry-card h3,
.service-card h3{
  margin:0 0 11px;
  color:var(--theme-heading)!important;
  font-size:18px;
  line-height:1.25;
}

.section-ministries .ministry-card p,
.section-ministries .service-card p,
.ministry-card p,
.service-card p{
  max-width:240px;
  margin:0 auto;
  color:var(--theme-muted)!important;
  font-size:13px;
  line-height:1.65;
}

.section-ministries .section-cta .pill,
.section-ministries .section-cta a,
.ministries-cta .pill,
.ministries-cta a{
  background:transparent;
  color:var(--theme-heading);
  border-color:var(--theme-accent)!important;
}

.section-ministries .section-cta .pill:hover,
.section-ministries .section-cta a:hover,
.ministries-cta .pill:hover,
.ministries-cta a:hover{
  background:var(--theme-accent);
  color:var(--theme-accent-text);
}

html:not([data-theme="night"]) .section-ministries .ministry-card,
html:not([data-theme="night"]) .section-ministries .service-card,
html:not([data-theme="night"]) .ministry-card,
html:not([data-theme="night"]) .service-card{
  background:transparent!important;
  border-color:transparent!important;
  box-shadow:none!important;
}

html:not([data-theme="night"]) .section-ministries .ministry-card:hover,
html:not([data-theme="night"]) .section-ministries .service-card:hover,
html:not([data-theme="night"]) .ministry-card:hover,
html:not([data-theme="night"]) .service-card:hover{
  background:color-mix(in srgb,var(--theme-surface) 24%,transparent)!important;
  border-color:color-mix(in srgb,var(--theme-accent) 58%,transparent)!important;
  box-shadow:0 18px 38px color-mix(in srgb,var(--theme-shadow) 52%,transparent)!important;
}

html[data-theme="night"] .section-ministries .ministry-card:hover,
html[data-theme="night"] .section-ministries .service-card:hover,
html[data-theme="night"] .ministry-card:hover,
html[data-theme="night"] .service-card:hover{
  background:rgba(10,53,42,.34)!important;
  border-color:rgba(216,225,97,.48)!important;
  box-shadow:0 20px 44px rgba(0,0,0,.24)!important;
}

@media(max-width:900px){
  .section-ministries .ministry-card,
  .section-ministries .service-card,
  .ministry-card,
  .service-card{
    min-height:230px;
    padding:23px 17px;
  }
}

@media(max-width:620px){
  .section-ministries .ministry-card,
  .section-ministries .service-card,
  .ministry-card,
  .service-card{
    min-height:auto;
    padding:22px 14px;
  }

  .section-ministries .ministry-icon,
  .section-ministries .service-icon,
  .ministry-icon,
  .service-icon{
    width:72px;
    height:72px;
    margin-bottom:16px;
  }
}

@media(prefers-reduced-motion:reduce){
  .ministry-card,
  .service-card,
  .ministry-icon,
  .service-icon{
    transition:none!important;
  }
}

/* Patch 17G — Ministry Icon Theme Fix */

:root{
  --ministry-icon-color:var(--theme-link);
  --ministry-icon-border:color-mix(in srgb,var(--theme-accent) 78%,transparent);
  --ministry-icon-bg:transparent;
  --ministry-icon-hover-bg:var(--theme-soft-accent);
  --ministry-icon-hover-color:var(--theme-heading);
}

html[data-theme="morning"]{
  --ministry-icon-color:#9a8129;
  --ministry-icon-border:rgba(185,155,52,.62);
  --ministry-icon-hover-bg:rgba(210,186,92,.18);
  --ministry-icon-hover-color:#173b2e;
}

html[data-theme="day"]{
  --ministry-icon-color:#718727;
  --ministry-icon-border:rgba(132,157,45,.58);
  --ministry-icon-hover-bg:rgba(165,190,72,.16);
  --ministry-icon-hover-color:#15392c;
}

html[data-theme="evening"]{
  --ministry-icon-color:#b06f31;
  --ministry-icon-border:rgba(196,122,54,.62);
  --ministry-icon-hover-bg:rgba(208,139,75,.17);
  --ministry-icon-hover-color:#244538;
}

html[data-theme="night"]{
  --ministry-icon-color:#d7df68;
  --ministry-icon-border:rgba(215,223,104,.72);
  --ministry-icon-hover-bg:rgba(215,223,104,.12);
  --ministry-icon-hover-color:#fffdf4;
}

.section-ministries .ministry-icon,
.section-ministries .service-icon,
.ministry-icon,
.service-icon{
  color:var(--ministry-icon-color)!important;
  border-color:var(--ministry-icon-border)!important;
  background:var(--ministry-icon-bg)!important;
}

.section-ministries .ministry-card:hover .ministry-icon,
.section-ministries .service-card:hover .service-icon,
.ministry-card:hover .ministry-icon,
.service-card:hover .service-icon,
.section-ministries .ministry-card:focus-within .ministry-icon,
.section-ministries .service-card:focus-within .service-icon,
.ministry-card:focus-within .ministry-icon,
.service-card:focus-within .service-icon{
  color:var(--ministry-icon-hover-color)!important;
  background:var(--ministry-icon-hover-bg)!important;
  border-color:var(--ministry-icon-border)!important;
}

/* SVG, icon font, and nested symbols inherit the theme color */
.section-ministries .ministry-icon svg,
.section-ministries .service-icon svg,
.ministry-icon svg,
.service-icon svg{
  fill:currentColor!important;
  stroke:currentColor!important;
}

.section-ministries .ministry-icon *,
.section-ministries .service-icon *,
.ministry-icon *,
.service-icon *{
  color:inherit!important;
}

/* Patch 17G2 — Actual Ministry Icon Circle Fix */

html[data-theme="morning"]{
  --ministry-circle-color:#9a8129;
  --ministry-circle-border:rgba(185,155,52,.68);
  --ministry-circle-hover:rgba(210,186,92,.18);
}

html[data-theme="day"]{
  --ministry-circle-color:#718727;
  --ministry-circle-border:rgba(132,157,45,.64);
  --ministry-circle-hover:rgba(165,190,72,.16);
}

html[data-theme="evening"]{
  --ministry-circle-color:#b06f31;
  --ministry-circle-border:rgba(196,122,54,.70);
  --ministry-circle-hover:rgba(208,139,75,.18);
}

html[data-theme="night"]{
  --ministry-circle-color:#d7df68;
  --ministry-circle-border:rgba(215,223,104,.76);
  --ministry-circle-hover:rgba(215,223,104,.12);
}

/* Selector aktual frontend */
.section-ministries .ministry-card .icon-circle,
.ministries-grid .ministry-card .icon-circle,
.ministry-card .icon-circle{
  color:var(--ministry-circle-color)!important;
  border-color:var(--ministry-circle-border)!important;
  background:transparent!important;
  box-shadow:none!important;
  transition:
    color .32s ease,
    border-color .32s ease,
    background-color .32s ease,
    box-shadow .32s ease,
    transform .32s ease;
}

.section-ministries .ministry-card:hover .icon-circle,
.ministries-grid .ministry-card:hover .icon-circle,
.ministry-card:hover .icon-circle,
.section-ministries .ministry-card:focus-within .icon-circle,
.ministry-card:focus-within .icon-circle{
  color:var(--ministry-circle-color)!important;
  border-color:var(--ministry-circle-border)!important;
  background:var(--ministry-circle-hover)!important;
  box-shadow:0 10px 24px color-mix(in srgb,var(--ministry-circle-color) 22%,transparent)!important;
  transform:translateY(-2px) scale(1.06);
}

/* Jika icon berupa SVG atau nested element */
.ministry-card .icon-circle svg{
  fill:currentColor!important;
  stroke:currentColor!important;
}

.ministry-card .icon-circle *,
.ministry-card .icon-circle{
  -webkit-text-fill-color:currentColor;
}
