/* ==========================================================================
   Nav solid untuk halaman TANPA foto hero gelap (detail layanan, dll.).
   Default nav = transparan + teks putih sampai discroll. Di halaman ini nav
   dipaksa putih dari awal. Aktif lewat class body "spa-solid-nav"
   (ditambahkan di functions.php). Diambil dari <style> halaman HTML lama.
   ========================================================================== */
body.spa-solid-nav .site-nav { background: #fff !important; border-bottom-color: var(--ks-line) !important; }
body.spa-solid-nav .site-nav .site-nav__link { color: var(--ks-ink) !important; }
body.spa-solid-nav .site-nav .site-nav__link:hover,
body.spa-solid-nav .site-nav .site-nav__link:focus-visible { color: var(--ks-primary-ink) !important; }
body.spa-solid-nav .site-nav .site-nav__burger { color: var(--ks-ink) !important; }
body.spa-solid-nav .site-nav .site-nav__logo .is-white { opacity: 0 !important; }
body.spa-solid-nav .site-nav .site-nav__logo .is-color { opacity: 1 !important; }
body.spa-solid-nav .site-nav .site-lang { border-color: var(--ks-primary) !important; }
body.spa-solid-nav .site-nav .site-lang__btn { color: var(--ks-primary-ink) !important; border-color: var(--ks-primary) !important; }
body.spa-solid-nav .site-nav .site-lang__btn.is-active { background: var(--ks-primary) !important; color: #fff !important; }
/* Detail layanan - dipindah apa adanya dari <style> swedish-massage.html (identik di 15 halaman).
   Bagian "Fix header" ada di subpage-nav.css. Palet: --ks-primary #D89B31, font Jost + EB Garamond. */

/* FIX: halaman layanan (single) tidak ikut load reset box-sizing global (itu cuma
   ada di home.css, yang cuma di-enqueue di frontpage). Tanpa ini, .svc-cta yang
   width:100% + padding:17px 24px dihitung pakai content-box, jadi lebar aktualnya
   = 100% + 48px -> tombol kebablasan/overflow di layar sempit (mobile). Pola sama
   persis dipakai buat fix .site-footer di base.css. */
.svc-breadcrumb,
.svc-breadcrumb *,
.svc-breadcrumb *::before,
.svc-breadcrumb *::after,
.svc-detail,
.svc-detail *,
.svc-detail *::before,
.svc-detail *::after { box-sizing: border-box; }

.svc-breadcrumb{
    background:#fff;
    padding:calc(var(--ks-topbar-h,40px) + var(--ks-nav-py,8px)*2 + var(--ks-logo-h,48px) + 24px) 0 0;
  }
  @media (min-width:1024px){
    .svc-breadcrumb{ padding:calc(var(--ks-topbar-h,44px) + var(--ks-nav-py,12px)*2 + var(--ks-logo-h,60px) + 28px) 0 0; }
  }
  .svc-breadcrumb__inner{ max-width:1140px; margin:0 auto; padding:0 20px; }
  .svc-breadcrumb a{
    display:inline-flex; align-items:center; gap:8px;
    font-family:"Jost",sans-serif; font-weight:500; font-size:14px;
    color:#6b6b60; text-decoration:none; transition:color .2s ease;
  }
  .svc-breadcrumb a:hover{ color:var(--ks-primary,#D89B31); }

  .svc-detail{ background:#fff; padding:24px 0 90px; }
  .svc-detail__inner{
    max-width:1140px; margin:0 auto; padding:0 20px;
    display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start;
  }

  .svc-visual{
    position:relative; border-radius:20px; overflow:hidden;
    border:1px solid #ece4d3; background:#FBF9F4;
  }
  .svc-visual img{ display:block; width:100%; height:auto; }
  .svc-visual__badge{
    position:absolute; right:20px; bottom:20px;
    width:92px; height:92px; border-radius:50%;
    background:var(--ks-gradient, linear-gradient(to right,#B8791A,#D89B31));
    color:#fff; font-family:"Jost",sans-serif; font-weight:600; font-size:12.5px;
    line-height:1.3; text-align:center;
    display:flex; align-items:center; justify-content:center;
    box-shadow:0 10px 24px rgba(0,0,0,.25);
  }

  .svc-badge{
    display:inline-block;
    background:rgba(216,155,49,.12);
    color:var(--ks-primary-ink,#9a6410);
    font-family:"Jost",sans-serif; font-weight:600; font-size:13px;
    padding:7px 16px; border-radius:999px; margin-bottom:20px;
  }
  h1.svc-title{
    font-family:"EB Garamond",serif; font-weight:500;
    font-size:44px; color:#1a1a1a; line-height:1.15; margin:0 0 18px;
  }
  p.svc-desc{
    font-family:"Jost",sans-serif; font-weight:300; font-size:16px; line-height:1.75;
    color:#5c5c52; max-width:480px; margin:0 0 36px;
  }
  h3.svc-price-heading{
    font-family:"EB Garamond",serif; font-weight:500; font-size:19px; color:#1a1a1a;
    margin:0 0 16px;
  }
  .svc-price-options{
    display:grid; grid-template-columns:1fr 1fr; gap:14px; margin-bottom:10px;
  }
  .svc-price-card{
    display:flex; align-items:center; gap:12px;
    background:#FBF9F4; border:1px solid #ece4d3; border-radius:10px; padding:16px 16px;
  }
  .svc-price-clock{
    flex:0 0 34px; width:34px; height:34px; border-radius:50%;
    background:rgba(216,155,49,.12); color:var(--ks-primary,#D89B31);
    display:flex; align-items:center; justify-content:center;
  }
  .svc-price-info{ display:flex; flex-direction:column; gap:3px; }
  .svc-price-duration{ font-family:"Jost",sans-serif; font-weight:400; font-size:14px; color:#6b6b60; }
  .svc-price-amount{ font-family:"Jost",sans-serif; font-weight:600; font-size:18px; color:var(--ks-primary-ink,#9a6410); }
  .svc-price-note{
    font-family:"Jost",sans-serif; font-weight:300; font-style:italic; font-size:12.5px;
    color:#8a8a75; margin:0 0 26px;
  }

  .svc-cta{
    display:flex; align-items:center; justify-content:center; gap:10px;
    width:100%; background:var(--ks-gradient, linear-gradient(to right,#B8791A,#D89B31));
    color:#fff; font-family:"Jost",sans-serif; font-weight:600; font-size:15.5px;
    padding:17px 24px; border-radius:10px; text-decoration:none;
    transition:opacity .2s ease;
  }
  .svc-cta:hover{ opacity:.9; }

  @media (max-width:900px){
    .svc-detail__inner{ grid-template-columns:1fr; gap:32px; }
    h1.svc-title{ font-size:34px; }
  }
  @media (max-width:520px){
    .svc-price-options{ grid-template-columns:1fr; }
  }
/* ==========================================================================
   Theme overrides - Nixe Massage
   File ini untuk penyesuaian di LUAR CSS asli (assets/css/style-0xx.css dst),
   supaya file asli nggak diutak-atik. Dienqueue PALING TERAKHIR di
   functions.php biar bisa nimpa kalau perlu.
   ========================================================================== */

/* --------------------------------------------------------------------
   1) Tombol WhatsApp mengambang (pengganti plugin Join.chat).
      Situs asli pakai plugin ini; kita bikin native di tema biar nggak
      tergantung plugin pihak ketiga. Ruang di footer (padding-bottom
      100px mobile / 48px desktop) MEMANG sengaja disisain buat tombol ini.
   -------------------------------------------------------------------- */
.ks-float-wa {
	position: fixed;
	right: 20px;
	bottom: 20px;
	z-index: 9000;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	background: #25D366;
	border-radius: 50%;
	box-shadow: 1px 6px 24px 0 rgba(37, 211, 102, .35);
	transition: background-color .2s linear, transform .2s ease;
}
.ks-float-wa:hover,
.ks-float-wa:focus-visible {
	background: #20BA58;
	transform: scale(1.05);
}
.ks-float-wa svg {
	width: 30px;
	height: 30px;
	color: #fff;
}
@media (max-width: 767.98px) {
	.ks-float-wa { right: 16px; bottom: 16px; width: 54px; height: 54px; }
	.ks-float-wa svg { width: 27px; height: 27px; }
}

/* --------------------------------------------------------------------
   2) Safety-net header: nav asli didesain transparan (mengambang di atas
      foto hero gelap). Default-nya sekarang dibikin SOLID (background
      putih, teks gelap) supaya tetap kebaca di halaman yang BELUM/TIDAK
      punya hero (index.php fallback, 404, hasil pencarian).

      Halaman yang punya hero asli (Home, detail layanan, halaman area -
      dibuat di Batch 3-6) menambahkan class body.has-hero supaya nav-nya
      kembali transparan/mengambang seperti desain awal.
   -------------------------------------------------------------------- */
body:not(.has-hero) .site-nav,
body:not(.has-hero) .site-topbar { background: #fff !important; }
body:not(.has-hero) .site-nav { border-bottom: 1px solid var(--ks-line); }
body:not(.has-hero) .site-topbar { color: var(--ks-ink) !important; }
body:not(.has-hero) .site-topbar__wa-icon { color: #25D366; }
body:not(.has-hero) .site-nav__burger { color: var(--ks-ink) !important; }
body:not(.has-hero) .site-nav__link { color: var(--ks-ink) !important; }
body:not(.has-hero) .site-nav__logo .is-white { opacity: 0; }
body:not(.has-hero) .site-nav__logo .is-color { opacity: 1; }

/* --------------------------------------------------------------------
   3) Hilangkan border/outline hitam saat link, tombol, atau tab diklik
      (fokus). Sebelumnya berasal dari bootstrap "button:focus" dan
      outline bawaan browser.
   -------------------------------------------------------------------- */
a,
a:focus,
a:active,
a:focus-visible,
button,
button:focus,
button:active,
button:focus-visible,
summary,
[role="tab"],
[role="button"],
[tabindex],
[tabindex]:focus,
[tabindex]:focus-visible,
.elementor-button:focus,
.elementor-button:focus-visible,
.elementor-tab-title:focus,
.elementor-tab-title:focus-visible {
	outline: none !important;
	-webkit-tap-highlight-color: transparent;
}
a:focus,
a:focus-visible,
button:focus,
button:focus-visible,
[tabindex]:focus-visible {
	box-shadow: none;
}
