/* Footer per halaman. Rollback: hapus <link> footer-themes di footer.php */

/* ===== PALET ===== */
body:has(.hero-split) {
  --ft-bg: radial-gradient(50% 70% at 10% 0%, rgba(134,239,172,.35), transparent 70%), radial-gradient(50% 70% at 95% 20%, rgba(196,181,253,.35), transparent 70%), #f4f8fb;
  --ft-ink:#0f1b2d; --ft-text:#52607a; --ft-accent:#16a34a; --ft-sep:rgba(120,150,200,.25);
  --ft-card:rgba(255,255,255,.85); --ft-card-sh:0 14px 24px -14px rgba(40,70,120,.3), inset 0 0 0 1.5px #fff;
  --ft-btn:linear-gradient(160deg,#4ade80,#16a34a); --ft-btn-ink:#fff;
  --ft-btn-sh:inset 0 1px 0 rgba(255,255,255,.6), 0 12px 22px -10px rgba(22,163,74,.6);
  --ft-top:0 -20px 40px -26px rgba(40,70,120,.3); --ft-radius:44px; --ft-card-r:22px;
}
body:has(.hero-programs) {
  --ft-bg:linear-gradient(180deg,#eef6f1 0%,#e9e1fb 100%);
  --ft-ink:#2d2a3e; --ft-text:#6a6680; --ft-accent:#279c60; --ft-sep:rgba(110,95,160,.18);
  --ft-card:#f6f3fd;
  --ft-card-sh:6px 6px 14px rgba(110,95,160,.2), -5px -5px 12px rgba(255,255,255,.95), inset 0 -3px 6px rgba(0,0,0,.05), inset 0 3px 6px rgba(255,255,255,.85);
  --ft-btn:linear-gradient(180deg,#ffc9b9,#ff9f86); --ft-btn-ink:#4a1d12;
  --ft-btn-sh:5px 5px 12px rgba(255,159,134,.5), -4px -4px 10px rgba(255,255,255,.9), inset 0 3px 6px rgba(255,255,255,.6);
  --ft-top:0 -14px 30px -20px rgba(110,95,160,.35); --ft-radius:48px; --ft-card-r:24px;
}
body:has(.partnership-hero) {
  --ft-bg:radial-gradient(40% 80% at 8% 100%, rgba(255,205,190,.45), transparent 70%), radial-gradient(40% 80% at 95% 0%, rgba(190,170,245,.4), transparent 70%), #eef2fa;
  --ft-ink:#3d4f73; --ft-text:#6f7fa0; --ft-accent:#4f8fd8; --ft-sep:rgba(140,165,225,.3);
  --ft-card:linear-gradient(160deg, rgba(255,255,255,.75), rgba(255,255,255,.25));
  --ft-card-sh:0 12px 18px -10px rgba(100,120,190,.4), inset 0 0 0 1.5px rgba(255,255,255,.95), inset 0 0 0 4px rgba(180,198,240,.3), inset 0 -6px 10px rgba(140,165,225,.2), inset 0 4px 8px rgba(255,255,255,.85);
  --ft-btn:linear-gradient(160deg, rgba(255,255,255,.9), rgba(214,226,250,.7)); --ft-btn-ink:#3d4f73;
  --ft-btn-sh:0 12px 18px -10px rgba(100,120,190,.5), inset 0 0 0 1.5px #fff, inset 0 0 0 4px rgba(180,198,240,.3), inset 0 -6px 10px rgba(140,165,225,.2);
  --ft-top:0 -16px 30px -20px rgba(100,120,190,.4); --ft-radius:44px; --ft-card-r:26px;
}
body.tentang-page {
  --ft-bg:#e4e9f0; --ft-ink:#2f3b52; --ft-text:#55627a; --ft-accent:#0f9d8a; --ft-sep:rgba(163,177,198,.5);
  --ft-card:#e4e9f0; --ft-card-sh:6px 6px 12px rgba(163,177,198,.7), -6px -6px 12px rgba(255,255,255,.95);
  --ft-btn:#e4e9f0; --ft-btn-ink:#0f9d8a; --ft-btn-sh:6px 6px 12px rgba(163,177,198,.7), -6px -6px 12px rgba(255,255,255,.95);
  --ft-top:0 -10px 24px -10px rgba(163,177,198,.7); --ft-radius:36px; --ft-card-r:20px;
}
body.galeri-page {
  --ft-bg:#eeece8; --ft-ink:#5f5c57; --ft-text:#8e8a83; --ft-accent:#f58f27; --ft-sep:rgba(172,165,152,.35);
  --ft-card:#eeece8; --ft-card-sh:5px 5px 10px rgba(172,165,152,.55), -4px -4px 9px rgba(255,255,255,.95);
  --ft-btn:linear-gradient(145deg,#fbbf3c,#f58f27); --ft-btn-ink:#fff;
  --ft-btn-sh:4px 4px 10px rgba(245,143,39,.45), -3px -3px 7px rgba(255,255,255,.95), inset 0 1px 0 rgba(255,255,255,.45);
  --ft-top:0 -12px 22px -12px rgba(172,165,152,.6); --ft-radius:36px; --ft-card-r:22px;
}
body.pendidikanntt-page {
  --ft-bg:radial-gradient(45% 80% at 92% 0%, rgba(134,239,172,.45), transparent 70%), radial-gradient(40% 80% at 5% 100%, rgba(110,231,183,.35), transparent 70%), #eef5f1;
  --ft-ink:#12362c; --ft-text:#4f6b61; --ft-accent:#0f9d6a; --ft-sep:rgba(22,169,116,.18);
  --ft-card:linear-gradient(160deg, rgba(255,255,255,.82), rgba(255,255,255,.42));
  --ft-card-sh:0 12px 18px -10px rgba(16,90,66,.32), inset 0 0 0 1.5px rgba(255,255,255,.95), inset 0 0 0 3.5px rgba(190,225,210,.35), inset 0 4px 8px rgba(255,255,255,.85), inset 0 -5px 8px rgba(150,205,180,.2);
  --ft-btn:linear-gradient(160deg,#4ade80 0%,#12a874 55%,#0b6b4d 100%); --ft-btn-ink:#fff;
  --ft-btn-sh:0 10px 16px -6px rgba(11,107,77,.55), inset 0 2px 3px rgba(255,255,255,.55), inset 0 -4px 6px rgba(0,60,40,.3);
  --ft-top:0 -16px 30px -20px rgba(16,90,66,.4); --ft-radius:44px; --ft-card-r:26px;
}
body:has(.topbar) {
  --ft-bg:radial-gradient(45% 80% at 92% 0%, rgba(134,239,172,.3), transparent 70%), radial-gradient(40% 80% at 5% 100%, rgba(125,211,252,.3), transparent 70%), #eef3f6;
  --ft-ink:#1d2b36; --ft-text:#4d6070; --ft-accent:#0b6b45; --ft-sep:rgba(90,115,140,.2);
  --ft-card:rgba(255,255,255,.55);
  --ft-card-sh:inset 6px 6px 12px rgba(80,105,130,.26), inset -6px -6px 12px rgba(255,255,255,1);
  --ft-btn:linear-gradient(170deg,#6ee7a0 0%,#16a34a 60%,#0f7a3a 100%); --ft-btn-ink:#fff;
  --ft-btn-sh:inset 0 2px 2px rgba(255,255,255,.7), inset 0 -4px 6px rgba(0,70,30,.3), 0 12px 18px -8px rgba(22,163,74,.65);
  --ft-top:0 -16px 30px -20px rgba(70,100,130,.4); --ft-radius:44px; --ft-card-r:22px;
}

/* ===== ATURAN BERSAMA ===== */

/* 1. Wadah footer */
body:has(.hero-split) .site-footer,
body:has(.hero-programs) .site-footer,
body:has(.partnership-hero) .site-footer,
body:has(.topbar) .site-footer,
body.tentang-page .site-footer,
body.galeri-page .site-footer,
body.pendidikanntt-page .site-footer {
  background: var(--ft-bg); color: var(--ft-text); border-top: 0;
  border-radius: var(--ft-radius) var(--ft-radius) 0 0; box-shadow: var(--ft-top);
  margin-top: 40px; padding-top: 56px;
}

/* 2. Garis atas & pemisah */
body:has(.hero-split) .site-footer::before,
body:has(.hero-programs) .site-footer::before,
body:has(.partnership-hero) .site-footer::before,
body:has(.topbar) .site-footer::before,
body.tentang-page .site-footer::before,
body.galeri-page .site-footer::before,
body.pendidikanntt-page .site-footer::before { display: none; }

body:has(.hero-split) .footer-main,
body:has(.hero-programs) .footer-main,
body:has(.partnership-hero) .footer-main,
body:has(.topbar) .footer-main,
body.tentang-page .footer-main,
body.galeri-page .footer-main,
body.pendidikanntt-page .footer-main { border-bottom-color: var(--ft-sep); }

/* 3. Judul & tagline */
body:has(.hero-split) .footer-about h3,
body:has(.hero-programs) .footer-about h3,
body:has(.partnership-hero) .footer-about h3,
body:has(.topbar) .footer-about h3,
body.tentang-page .footer-about h3,
body.galeri-page .footer-about h3,
body.pendidikanntt-page .footer-about h3 {
  background: none; -webkit-text-fill-color: var(--ft-ink); color: var(--ft-ink);
}

body:has(.hero-split) .footer-tagline,
body:has(.hero-programs) .footer-tagline,
body:has(.partnership-hero) .footer-tagline,
body:has(.topbar) .footer-tagline,
body.tentang-page .footer-tagline,
body.galeri-page .footer-tagline,
body.pendidikanntt-page .footer-tagline { color: var(--ft-accent); }

body:has(.hero-split) .footer-col h4,
body:has(.hero-programs) .footer-col h4,
body:has(.partnership-hero) .footer-col h4,
body:has(.topbar) .footer-col h4,
body.tentang-page .footer-col h4,
body.galeri-page .footer-col h4,
body.pendidikanntt-page .footer-col h4 { color: var(--ft-ink); }

body:has(.hero-split) .footer-col h4::after,
body:has(.hero-programs) .footer-col h4::after,
body:has(.partnership-hero) .footer-col h4::after,
body:has(.topbar) .footer-col h4::after,
body.tentang-page .footer-col h4::after,
body.galeri-page .footer-col h4::after,
body.pendidikanntt-page .footer-col h4::after {
  background: linear-gradient(90deg, var(--ft-accent), transparent); height: 3px;
}

/* 4. Teks biasa */
body:has(.hero-split) .footer-desc, body:has(.hero-split) .footer-links ul li a, body:has(.hero-split) .contact-list li a, body:has(.hero-split) .address-box p, body:has(.hero-split) .footer-bottom-content p, body:has(.hero-split) .footer-bottom-links a, body:has(.hero-split) .footer-bottom-links span,
body:has(.hero-programs) .footer-desc, body:has(.hero-programs) .footer-links ul li a, body:has(.hero-programs) .contact-list li a, body:has(.hero-programs) .address-box p, body:has(.hero-programs) .footer-bottom-content p, body:has(.hero-programs) .footer-bottom-links a, body:has(.hero-programs) .footer-bottom-links span,
body:has(.partnership-hero) .footer-desc, body:has(.partnership-hero) .footer-links ul li a, body:has(.partnership-hero) .contact-list li a, body:has(.partnership-hero) .address-box p, body:has(.partnership-hero) .footer-bottom-content p, body:has(.partnership-hero) .footer-bottom-links a, body:has(.partnership-hero) .footer-bottom-links span,
body:has(.topbar) .footer-desc, body:has(.topbar) .footer-links ul li a, body:has(.topbar) .contact-list li a, body:has(.topbar) .address-box p, body:has(.topbar) .footer-bottom-content p, body:has(.topbar) .footer-bottom-links a, body:has(.topbar) .footer-bottom-links span,
body.tentang-page .footer-desc, body.tentang-page .footer-links ul li a, body.tentang-page .contact-list li a, body.tentang-page .address-box p, body.tentang-page .footer-bottom-content p, body.tentang-page .footer-bottom-links a, body.tentang-page .footer-bottom-links span,
body.galeri-page .footer-desc, body.galeri-page .footer-links ul li a, body.galeri-page .contact-list li a, body.galeri-page .address-box p, body.galeri-page .footer-bottom-content p, body.galeri-page .footer-bottom-links a, body.galeri-page .footer-bottom-links span,
body.pendidikanntt-page .footer-desc, body.pendidikanntt-page .footer-links ul li a, body.pendidikanntt-page .contact-list li a, body.pendidikanntt-page .address-box p, body.pendidikanntt-page .footer-bottom-content p, body.pendidikanntt-page .footer-bottom-links a, body.pendidikanntt-page .footer-bottom-links span { color: var(--ft-text); }

/* 5. Teks aksen (hover / aktif) */
body:has(.hero-split) .footer-links ul li a:hover, body:has(.hero-split) .footer-links ul li a.active, body:has(.hero-split) .footer-links ul li a::before, body:has(.hero-split) .contact-list li a:hover, body:has(.hero-split) .footer-bottom-links a:hover,
body:has(.hero-programs) .footer-links ul li a:hover, body:has(.hero-programs) .footer-links ul li a.active, body:has(.hero-programs) .footer-links ul li a::before, body:has(.hero-programs) .contact-list li a:hover, body:has(.hero-programs) .footer-bottom-links a:hover,
body:has(.partnership-hero) .footer-links ul li a:hover, body:has(.partnership-hero) .footer-links ul li a.active, body:has(.partnership-hero) .footer-links ul li a::before, body:has(.partnership-hero) .contact-list li a:hover, body:has(.partnership-hero) .footer-bottom-links a:hover,
body:has(.topbar) .footer-links ul li a:hover, body:has(.topbar) .footer-links ul li a.active, body:has(.topbar) .footer-links ul li a::before, body:has(.topbar) .contact-list li a:hover, body:has(.topbar) .footer-bottom-links a:hover,
body.tentang-page .footer-links ul li a:hover, body.tentang-page .footer-links ul li a.active, body.tentang-page .footer-links ul li a::before, body.tentang-page .contact-list li a:hover, body.tentang-page .footer-bottom-links a:hover,
body.galeri-page .footer-links ul li a:hover, body.galeri-page .footer-links ul li a.active, body.galeri-page .footer-links ul li a::before, body.galeri-page .contact-list li a:hover, body.galeri-page .footer-bottom-links a:hover,
body.pendidikanntt-page .footer-links ul li a:hover, body.pendidikanntt-page .footer-links ul li a.active, body.pendidikanntt-page .footer-links ul li a::before, body.pendidikanntt-page .contact-list li a:hover, body.pendidikanntt-page .footer-bottom-links a:hover { color: var(--ft-accent); }

/* 6. Label & ikon kontak */
body:has(.hero-split) .contact-list li strong,
body:has(.hero-programs) .contact-list li strong,
body:has(.partnership-hero) .contact-list li strong,
body:has(.topbar) .contact-list li strong,
body.tentang-page .contact-list li strong,
body.galeri-page .contact-list li strong,
body.pendidikanntt-page .contact-list li strong { color: var(--ft-ink); }

body:has(.hero-split) .contact-list li svg, body:has(.hero-split) .address-box > svg,
body:has(.hero-programs) .contact-list li svg, body:has(.hero-programs) .address-box > svg,
body:has(.partnership-hero) .contact-list li svg, body:has(.partnership-hero) .address-box > svg,
body:has(.topbar) .contact-list li svg, body:has(.topbar) .address-box > svg,
body.tentang-page .contact-list li svg, body.tentang-page .address-box > svg,
body.galeri-page .contact-list li svg, body.galeri-page .address-box > svg,
body.pendidikanntt-page .contact-list li svg, body.pendidikanntt-page .address-box > svg { color: var(--ft-accent); }

/* 7. Kartu kontak, alamat, ikon sosial */
body:has(.hero-split) .contact-list li, body:has(.hero-split) .address-box, body:has(.hero-split) .social-icon,
body:has(.hero-programs) .contact-list li, body:has(.hero-programs) .address-box, body:has(.hero-programs) .social-icon,
body:has(.partnership-hero) .contact-list li, body:has(.partnership-hero) .address-box, body:has(.partnership-hero) .social-icon,
body:has(.topbar) .contact-list li, body:has(.topbar) .address-box, body:has(.topbar) .social-icon,
body.tentang-page .contact-list li, body.tentang-page .address-box, body.tentang-page .social-icon,
body.galeri-page .contact-list li, body.galeri-page .address-box, body.galeri-page .social-icon,
body.pendidikanntt-page .contact-list li, body.pendidikanntt-page .address-box, body.pendidikanntt-page .social-icon {
  background: var(--ft-card); border: 0; border-radius: var(--ft-card-r); box-shadow: var(--ft-card-sh);
}

body:has(.hero-split) .social-icon,
body:has(.hero-programs) .social-icon,
body:has(.partnership-hero) .social-icon,
body:has(.topbar) .social-icon,
body.tentang-page .social-icon,
body.galeri-page .social-icon,
body.pendidikanntt-page .social-icon { border-radius: 50%; color: var(--ft-ink); }

body:has(.hero-split) .contact-list li:hover, body:has(.hero-split) .address-box:hover,
body:has(.hero-programs) .contact-list li:hover, body:has(.hero-programs) .address-box:hover,
body:has(.partnership-hero) .contact-list li:hover, body:has(.partnership-hero) .address-box:hover,
body:has(.topbar) .contact-list li:hover, body:has(.topbar) .address-box:hover,
body.tentang-page .contact-list li:hover, body.tentang-page .address-box:hover,
body.galeri-page .contact-list li:hover, body.galeri-page .address-box:hover,
body.pendidikanntt-page .contact-list li:hover, body.pendidikanntt-page .address-box:hover { background: var(--ft-card); border: 0; }

/* 8. Kotak "T.C / God Bless" (style inline di HTML) */
body:has(.hero-split) .contact-list li[style],
body:has(.hero-programs) .contact-list li[style],
body:has(.partnership-hero) .contact-list li[style],
body:has(.topbar) .contact-list li[style],
body.tentang-page .contact-list li[style],
body.galeri-page .contact-list li[style],
body.pendidikanntt-page .contact-list li[style] { border: 0 !important; background: var(--ft-card) !important; }

body:has(.hero-split) .contact-list li span,
body:has(.hero-programs) .contact-list li span,
body:has(.partnership-hero) .contact-list li span,
body:has(.topbar) .contact-list li span,
body.tentang-page .contact-list li span,
body.galeri-page .contact-list li span,
body.pendidikanntt-page .contact-list li span { color: var(--ft-text) !important; }

body:has(.hero-split) .contact-list li span span,
body:has(.hero-programs) .contact-list li span span,
body:has(.partnership-hero) .contact-list li span span,
body:has(.topbar) .contact-list li span span,
body.tentang-page .contact-list li span span,
body.galeri-page .contact-list li span span,
body.pendidikanntt-page .contact-list li span span { color: var(--ft-accent) !important; }

/* 9. Tombol: sosial (hover), Maps, kembali ke atas */
body:has(.hero-split) .social-icon:hover, body:has(.hero-split) .map-link, body:has(.hero-split) .map-link:hover, body:has(.hero-split) .back-to-top, body:has(.hero-split) .back-to-top:hover,
body:has(.hero-programs) .social-icon:hover, body:has(.hero-programs) .map-link, body:has(.hero-programs) .map-link:hover, body:has(.hero-programs) .back-to-top, body:has(.hero-programs) .back-to-top:hover,
body:has(.partnership-hero) .social-icon:hover, body:has(.partnership-hero) .map-link, body:has(.partnership-hero) .map-link:hover, body:has(.partnership-hero) .back-to-top, body:has(.partnership-hero) .back-to-top:hover,
body:has(.topbar) .social-icon:hover, body:has(.topbar) .map-link, body:has(.topbar) .map-link:hover, body:has(.topbar) .back-to-top, body:has(.topbar) .back-to-top:hover,
body.tentang-page .social-icon:hover, body.tentang-page .map-link, body.tentang-page .map-link:hover, body.tentang-page .back-to-top, body.tentang-page .back-to-top:hover,
body.galeri-page .social-icon:hover, body.galeri-page .map-link, body.galeri-page .map-link:hover, body.galeri-page .back-to-top, body.galeri-page .back-to-top:hover,
body.pendidikanntt-page .social-icon:hover, body.pendidikanntt-page .map-link, body.pendidikanntt-page .map-link:hover, body.pendidikanntt-page .back-to-top, body.pendidikanntt-page .back-to-top:hover {
  background: var(--ft-btn); color: var(--ft-btn-ink); border: 0; box-shadow: var(--ft-btn-sh);
}

/* 10. HP */
@media (max-width: 768px) {
  body:has(.hero-split) .site-footer,
  body:has(.hero-programs) .site-footer,
  body:has(.partnership-hero) .site-footer,
  body:has(.topbar) .site-footer,
  body.tentang-page .site-footer,
  body.galeri-page .site-footer,
  body.pendidikanntt-page .site-footer { border-radius: 28px 28px 0 0; margin-top: 24px; padding-top: 40px; }
}