/* Rumahati simple home (Okt 2026): hero kecil + grid ikon Layanan & Toko Online.
   Layout lengkap sebelumnya ada di tag git homepage-full-layout-2026-10-02. */

/* latar Alice Blue + corak organik putih (sistem .rh-pat dari rumahati-home.css) */
.rs-bg{
  background:var(--rh-alice);
  min-height:100vh;
}
.rs-bg.rh-pat{--rh-pat-opacity:.55;}
.rs-bg.rh-pat::after{
  /* corak kedua, biru, supaya ada nuansa biru di atas Alice Blue */
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background-color:var(--rh-blue);opacity:.16;
  -webkit-mask:url(/assets/img/bg/mask-3-sm.webp) center/cover no-repeat;mask:url(/assets/img/bg/mask-3-sm.webp) center/cover no-repeat;
}

.rs-main{
  max-width:720px;
  margin:0 auto;
  padding:116px 16px 56px;
  position:relative;
  z-index:1;
}

/* ── hero ── */
.rs-hero{text-align:center;margin-bottom:40px;}
.rs-hero h1{
  font-family:var(--rh-head);
  font-size:clamp(28px,6vw,44px);
  line-height:1.15;
  color:var(--rh-carbon);
  margin:0 0 12px;
}
.rs-hero p{
  font-size:17px;
  line-height:1.6;
  color:var(--rh-body);
  font-weight:600;
  max-width:520px;
  margin:0 auto;
}

/* ── section ── */
.rs-main .rs-sec{margin-top:40px;padding:0;}
.rs-title{
  font-family:var(--rh-head);
  font-size:20px;
  font-weight:800;
  color:var(--rh-carbon);
  margin:0 0 20px;
}
.rs-title--line{
  padding-bottom:12px;
  border-bottom:1px solid rgba(64,144,205,.3);
}

/* ── icon grid ── */
.rs-grid{
  list-style:none;
  margin:0;
  padding:0;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:24px 12px;
}
.rs-item{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
  width:100%;
  padding:4px;
  background:none;
  border:0;
  font:inherit;
  text-align:center;
  text-decoration:none;
  color:var(--rh-carbon);
  cursor:pointer;
  border-radius:16px;
  -webkit-tap-highlight-color:transparent;
}
.rs-ico{
  display:grid;
  place-items:center;
  width:88px;
  height:88px;
  border-radius:50%;
  background:#fff;
  color:var(--rh-blue);
  box-shadow:0 6px 18px rgba(0,37,139,.08);
  transition:background .2s var(--rh-ease),color .2s var(--rh-ease),transform .2s var(--rh-ease);
}
.rs-ico svg{width:39px;height:39px;}
.rs-label{font-size:15px;font-weight:600;line-height:1.3;}
.rs-sub{font-size:12px;color:var(--rh-muted);margin-top:-6px;}

@media (hover:hover){
  .rs-item:hover .rs-ico{background:var(--rh-blue);color:#fff;}
}
.rs-item:active .rs-ico{transform:scale(.94);}
.rs-item:focus-visible{outline:2px solid var(--rh-cyan);outline-offset:4px;}

.rs-note{
  margin:24px 0 0;
  padding:12px 16px;
  font-size:13px;
  line-height:1.6;
  color:var(--rh-muted);
  background:rgba(255,255,255,.8);
  border-radius:12px;
  text-align:center;
}

/* waitlist disembunyikan (atribut hidden di index.html) */
.rs-waitlist{padding-top:24px;}

@media (min-width:768px){
  .rs-main{padding-top:140px;}
  .rs-ico{width:109px;height:109px;}
  .rs-ico svg{width:44px;height:44px;}
  .rs-label{font-size:16px;}
  .rs-hero p{font-size:20px;max-width:600px;}
}

/* ── top bar: logo + "Sedang galau? Konsultasi sekarang" ──
   Blue Bell dengan corak tipis putih (mask yang sama dengan section lama). */
#navbar.rs-nav{
  position:fixed;top:0;left:0;right:0;z-index:200;
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:10px 16px;
  background:var(--rh-blue);
  backdrop-filter:none;
  border-bottom:0;
  overflow:hidden;
  isolation:isolate;
}
#navbar.rs-nav::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:#fff;opacity:.12;
  -webkit-mask:url(/assets/img/bg/mask-3-sm.webp) center/cover no-repeat;mask:url(/assets/img/bg/mask-3-sm.webp) center/cover no-repeat;
}
#navbar.rs-nav.scrolled{box-shadow:0 6px 24px rgba(0,37,139,.18);}
.rs-nav .brand-logo{height:40px;width:auto;display:block;}
.rs-nav-cta{display:flex;align-items:center;gap:10px;min-width:0;}
.rs-nav-q{
  color:#fff;font-family:var(--rh-head);font-weight:700;font-size:14px;white-space:nowrap;
}
.rs-nav-btn{
  border:0;cursor:pointer;white-space:nowrap;
  padding:9px 16px;border-radius:100px;
  background:#fff;color:var(--rh-blue-dark);
  font-family:var(--rh-head);font-weight:800;font-size:14px;
  box-shadow:0 4px 14px rgba(0,37,139,.18);
  transition:transform .2s var(--rh-ease),box-shadow .2s var(--rh-ease),color .2s;
}
@media (hover:hover){
  .rs-nav-btn:hover{transform:translateY(-1px);color:var(--rh-cobalt);box-shadow:0 8px 20px rgba(0,37,139,.24);}
}
.rs-nav-btn:active{transform:scale(.97);}
.rs-nav-btn:focus-visible{outline:2px solid #fff;outline-offset:3px;}
/* Masuk: gaya sama dengan "Konsultasi sekarang", di tengah navbar (grid 3 kolom) */
#navbar.rs-nav{display:grid;grid-template-columns:1fr auto 1fr;}
#navbar.rs-nav .nav-logo{justify-self:start;}
#navbar.rs-nav .rs-nav-cta{justify-self:end;}
@media (max-width:560px){
  .rs-nav-q{display:none;}
  .rs-nav-btn{padding:9px 13px;font-size:13.5px;}
}
@media (min-width:768px){
  #navbar.rs-nav{padding:12px 48px;}
  .rs-nav .brand-logo{height:54px;}
  .rs-nav-q{font-size:16px;}
  .rs-nav-btn{padding:11px 22px;font-size:15px;}
}
@media (max-width:360px){
  .rs-nav-q{display:none;}
}

/* ── animasi ikon ──
   Tiap ikon punya gerak sendiri dan bergiliran: satu siklus 12 detik dibagi
   6 slot (2 detik), jadi tidak pernah semua bergerak bersamaan. Gerakan
   hanya terjadi di awal slot masing-masing, sisanya diam. */
.rs-main{--cyc:16s;}
@keyframes rs-in{from{opacity:0;}to{opacity:1;}}
.rs-grid li{animation:rs-in .8s ease both;animation-delay:calc(var(--d,0) * 120ms + 100ms);}
.rs-grid li:nth-child(2){--d:1;}
.rs-grid li:nth-child(3){--d:2;}
#kenali .rs-grid li{--d:3;}
#kenali .rs-grid li:nth-child(2){--d:4;}
#toko .rs-grid li{--d:5;}
#toko .rs-grid li:nth-child(2){--d:6;}
#toko .rs-grid li:nth-child(3){--d:7;}

.rs-ico svg *{transform-box:fill-box;}
.rs-ico svg [class^="rs-"],.rs-ico svg [class*=" rs-"]{
  animation-duration:var(--cyc);animation-iteration-count:infinite;animation-timing-function:ease-in-out;
}
/* slot 2 detik per ikon dalam siklus 16 detik, urut dari atas ke bawah
   (+1.2s supaya mulai setelah ikon selesai muncul) */
.rs-a-chat{--s:1.2s;}  .rs-a-hipno{--s:3.2s;} .rs-a-read{--s:5.2s;}
.rs-a-idea{--s:7.2s;}  .rs-a-care{--s:9.2s;}
.rs-a-audio{--s:11.2s;} .rs-a-flip{--s:13.2s;} .rs-a-wear{--s:15.2s;}

/* konseling: titik mengetik muncul satu-satu, balon balasan mengangguk */
@keyframes rs-dot{0%,100%{opacity:.25;}2.25%{opacity:1;}5.25%{opacity:.25;}}
.rs-dot{opacity:.25;animation-name:rs-dot;animation-delay:var(--s);}
.rs-dot + .rs-dot{animation-delay:calc(var(--s) + .25s);}
.rs-dot + .rs-dot + .rs-dot{animation-delay:calc(var(--s) + .5s);}
@keyframes rs-reply{0%,100%{transform:none;}6.75%{transform:none;}9%{transform:rotate(-6deg);}11.25%{transform:none;}}
.rs-chat-b{transform-origin:70% 100%;animation-name:rs-reply;animation-delay:var(--s);}

/* hipnoterapi: spiral berputar satu kali, pelan */
@keyframes rs-spin{0%{transform:rotate(0);}11.25%,100%{transform:rotate(360deg);}}
.rs-spiral{transform-origin:center;animation-name:rs-spin;animation-delay:var(--s);}

/* artikel: buku menutup sebentar lalu terbuka pelan */
@keyframes rs-open{0%,100%{transform:scaleX(1);}2.25%,3.75%{transform:scaleX(.2);}12.75%{transform:scaleX(1);}}
.rs-page-l{transform-origin:100% 50%;animation-name:rs-open;animation-delay:var(--s);}
.rs-page-r{transform-origin:0 50%;animation-name:rs-open;animation-delay:var(--s);}

/* mindheart: bar audio seperti equalizer */
@keyframes rs-eq{0%,100%{transform:scaleY(1);}1.5%{transform:scaleY(.4);}3%{transform:scaleY(1.25);}4.5%{transform:scaleY(.55);}6%{transform:scaleY(1.1);}7.5%{transform:scaleY(.7);}9%{transform:scaleY(1);}}
.rs-bar{transform-origin:center;animation-name:rs-eq;animation-delay:var(--s);}
.rs-bar + .rs-bar{animation-delay:calc(var(--s) + .15s);}
.rs-bar + .rs-bar + .rs-bar{animation-delay:calc(var(--s) + .3s);}

/* bookheart: dua halaman membalik dari kanan ke kiri */
@keyframes rs-flip{0%{transform:scaleX(1);opacity:0;}0.75%{opacity:1;}8.25%{transform:scaleX(-1);opacity:1;}9.75%,100%{transform:scaleX(-1);opacity:0;}}
.rs-flip{transform-origin:0 50%;opacity:0;animation-name:rs-flip;animation-delay:var(--s);}
.rs-flip--2{animation-delay:calc(var(--s) + .45s);}

/* wearheart: kaos berayun pelan */
@keyframes rs-sway{0%,100%{transform:none;}3%{transform:rotate(5deg);}6%{transform:rotate(-4deg);}9%{transform:rotate(2deg);}11.25%{transform:none;}}
.rs-shirt{transform-origin:50% 0;animation-name:rs-sway;animation-delay:var(--s);}

/* latar bergeser perlahan */
@keyframes rs-drift{from{transform:translate3d(-3%,-2%,0) scale(1.04);}to{transform:translate3d(3%,2%,0) scale(1.1);}}
.rs-bg.rh-pat::after{inset:-8%;animation:rs-drift 38s ease-in-out infinite alternate;}
#navbar.rs-nav::before{inset:-20%;animation:rs-drift 30s ease-in-out infinite alternate-reverse;}

@media (prefers-reduced-motion:reduce){
  .rs-grid li,.rs-ico svg *,.rs-bg.rh-pat::after,#navbar.rs-nav::before{animation:none !important;}
  .rs-dot{opacity:1;}
}

/* ── popup info produk Toko Online ── */
.rs-dlg{
  position:fixed;inset:0;margin:auto;height:fit-content;
  width:min(440px,calc(100% - 32px));
  max-height:calc(100dvh - 48px);
  padding:0;border:0;border-radius:24px;
  background:#fff;color:var(--rh-body);
  box-shadow:0 24px 60px rgba(0,37,139,.25);
  overflow:auto;
}
.rs-dlg::backdrop{background:rgba(0,26,99,.5);}
.rs-dlg[open]{animation:rs-dlg-in .35s var(--rh-ease);}
@keyframes rs-dlg-in{from{opacity:0;transform:translateY(16px) scale(.97);}to{opacity:1;transform:none;}}
.rs-dlg-head{
  position:relative;isolation:isolate;overflow:hidden;
  display:grid;place-items:center;height:140px;
  background:var(--rh-blue);color:#fff;
}
.rs-dlg-head::before{
  content:"";position:absolute;inset:0;z-index:-1;background:#fff;opacity:.14;
  -webkit-mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;
}
.rs-dlg-head svg{width:56px;height:56px;}
.rs-dlg-x{
  position:absolute;top:12px;right:12px;width:36px;height:36px;border-radius:50%;
  display:grid;place-items:center;border:0;cursor:pointer;
  background:rgba(255,255,255,.2);color:#fff;
}
.rs-dlg-x svg{width:18px;height:18px;animation:none;}
.rs-dlg-x:hover{background:rgba(255,255,255,.32);}
.rs-dlg-body{padding:22px 24px 26px;}
.rs-dlg-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.rs-pill{font-size:12px;font-weight:700;padding:4px 10px;border-radius:100px;background:var(--rh-alice);color:var(--rh-blue-dark);}
.rs-pill--soon{background:#FFF3C4;color:#7A5A00;}
.rs-dlg h3{font-family:var(--rh-head);font-size:24px;margin:0 0 8px;color:var(--rh-carbon);}
.rs-dlg p{font-size:15px;line-height:1.65;margin:0 0 14px;}
.rs-dlg ul{margin:0;padding:0;list-style:none;display:grid;gap:8px;}
.rs-dlg li{display:flex;gap:10px;align-items:flex-start;font-size:14px;}
.rs-dlg li svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--rh-blue);}
@media (prefers-reduced-motion:reduce){.rs-dlg[open]{animation:none;}}

/* ── popup Pengenalan Hipnoterapi ── */
/* popup "Pengenalan Hipnoterapi" (extends .rs-dlg in rumahati-simple.css) */
.rs-dlg--intro{width:min(560px,calc(100% - 32px));}
.rs-dlg--intro .rs-dlg-body{padding:22px 24px 28px;}
.rs-dlg--intro .ri-eyebrow{
  margin:0 0 4px;font-family:var(--rh-head);font-size:12px;font-weight:800;
  letter-spacing:.08em;text-transform:uppercase;color:var(--rh-blue);
}
.rs-dlg--intro h3{margin-bottom:4px;}

/* sections */
.rs-dlg--intro .ri-sec{padding:20px 0;border-bottom:1px solid var(--rh-line);}
.rs-dlg--intro .ri-sec:last-of-type{border-bottom:0;padding-bottom:6px;}
.rs-dlg--intro .ri-h{
  margin:0 0 12px;font-family:var(--rh-head);font-size:18px;font-weight:800;
  line-height:1.3;color:var(--rh-carbon);
}

/* 1. Hipnosis + Terapi */
.rs-dlg--intro .ri-kicker{margin:0 0 2px;font-size:14px;color:var(--rh-muted);}
.rs-dlg--intro .ri-split{
  display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 10px;
  font-family:var(--rh-head);font-size:26px;font-weight:800;line-height:1.2;color:var(--rh-blue-dark);
}
.rs-dlg--intro .ri-plus{color:var(--rh-blue);font-weight:600;}
.rs-dlg--intro .ri-def{margin:0 0 16px;color:var(--rh-body);}
.rs-dlg--intro .ri-facts{display:grid;gap:10px;}
.rs-dlg--intro .ri-fact{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px 14px;border-radius:16px;background:var(--rh-alice);
}
.rs-dlg--intro .ri-ico{
  flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;
  background:#fff;color:var(--rh-blue);
}
.rs-dlg--intro .ri-ico svg{width:20px;height:20px;}
.rs-dlg--intro .ri-fact-txt{display:grid;gap:2px;font-size:14px;line-height:1.5;color:var(--rh-body);}
.rs-dlg--intro .ri-fact-txt strong{font-family:var(--rh-head);font-size:15px;color:var(--rh-carbon);}
.rs-dlg--intro .ri-fact-txt b{margin-right:6px;color:var(--rh-blue-dark);}
.rs-dlg--intro .ri-note{
  margin:14px 0 0;padding:2px 0 2px 14px;border-left:3px solid var(--rh-blue);
  font-size:14px;font-style:italic;color:var(--rh-muted);
}

/* 2. Mitos umum */
.rs-dlg--intro .ri-myth-title span{
  display:block;margin-top:2px;font-size:13px;font-weight:600;color:var(--rh-muted);
}
.rs-dlg--intro .ri-myths{display:grid;gap:10px;}
.rs-dlg--intro .ri-myth{padding:12px 14px;border:1px solid var(--rh-line);border-radius:14px;}
.rs-dlg--intro .ri-myth p{margin:0;font-size:14px;line-height:1.55;}
.rs-dlg--intro .ri-myth-false{color:var(--rh-muted);text-decoration:line-through;text-decoration-color:rgba(0,0,0,.25);}
.rs-dlg--intro .ri-myth-true{display:flex;gap:8px;align-items:flex-start;margin-top:6px !important;color:var(--rh-carbon);font-weight:600;}
.rs-dlg--intro .ri-myth-true svg{flex:none;width:18px;height:18px;margin-top:1px;color:var(--rh-blue);}

/* 3. Permasalahan: tabs */
.rs-dlg--intro .ri-tabs{
  display:inline-flex;gap:4px;padding:4px;margin:0 0 14px;
  border-radius:999px;background:var(--rh-alice);
}
.rs-dlg--intro .ri-tab{
  min-width:96px;padding:8px 18px;border:0;border-radius:999px;cursor:pointer;
  background:transparent;color:var(--rh-blue-dark);
  font-family:var(--rh-head);font-size:14px;font-weight:700;
  transition:background .2s,color .2s;
}
.rs-dlg--intro .ri-tab[aria-selected="true"]{background:var(--rh-blue);color:#fff;}
.rs-dlg--intro .ri-tab:focus-visible{outline:2px solid var(--rh-blue-dark);outline-offset:2px;}
.rs-dlg--intro .ri-iss{display:grid;grid-template-columns:1fr 1fr;gap:6px 16px;}
.rs-dlg--intro .ri-iss li{
  display:block;position:relative;padding-left:14px;
  font-size:14px;line-height:1.45;color:var(--rh-body);
}
.rs-dlg--intro .ri-iss li::before{
  content:"";position:absolute;left:0;top:.6em;width:6px;height:6px;border-radius:50%;
  background:var(--rh-blue);
}
@media (max-width:420px){.rs-dlg--intro .ri-iss{grid-template-columns:1fr;}}

/* 4. Syarat */
.rs-dlg--intro .ri-sub{margin:-4px 0 12px;font-size:14px;color:var(--rh-muted);}
.rs-dlg--intro .ri-syarat{margin:0;padding:0;list-style:none;display:grid;gap:10px;}
.rs-dlg--intro .ri-syarat li{gap:12px;align-items:flex-start;}
.rs-dlg--intro .ri-num{
  flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:var(--rh-alice);color:var(--rh-blue-dark);
  font-family:var(--rh-head);font-size:13px;font-weight:800;
}
.rs-dlg--intro .ri-syarat p{margin:5px 0 0;font-size:14px;line-height:1.55;color:var(--rh-body);}

/* CTA */
.rs-dlg--intro .ri-cta{
  display:flex;align-items:center;justify-content:center;gap:8px;
  margin-top:20px;padding:14px 24px;border-radius:999px;
  background:var(--rh-blue);color:#fff;text-decoration:none;
  font-family:var(--rh-head);font-size:15px;font-weight:700;
  transition:background .2s;
}
.rs-dlg--intro .ri-cta:hover{background:var(--rh-blue-dark);}
.rs-dlg--intro .ri-cta:focus-visible{outline:2px solid var(--rh-blue-dark);outline-offset:3px;}
.rs-dlg--intro .ri-cta svg{width:18px;height:18px;}

@media (max-width:420px){
  .rs-dlg--intro .rs-dlg-body{padding:20px 18px 24px;}
  .rs-dlg--intro .ri-split{font-size:23px;}
}
@media (prefers-reduced-motion:reduce){
  .rs-dlg--intro .ri-tab,.rs-dlg--intro .ri-cta{transition:none;}
}

/* pengenalan: sinar lampu menyala pelan */
@keyframes rs-glow{0%,100%{opacity:0;}3%{opacity:1;}9%{opacity:1;}12%{opacity:0;}}
.rs-ray{opacity:0;animation-name:rs-glow;animation-delay:var(--s);}
/* permasalahan: hati kecil muncul di antara orang tua dan anak */
@keyframes rs-heart{0%,100%{opacity:0;transform:translate(5px,-2.6px) scale(.3);}3%{opacity:1;transform:translate(5px,-2.6px) scale(.8);}5%{transform:translate(5px,-2.6px) scale(.7);}10%{opacity:1;}13%{opacity:0;}}
.rs-heart{opacity:0;transform-box:view-box;transform-origin:0 0;animation-name:rs-heart;animation-delay:var(--s);}
@media (prefers-reduced-motion:reduce){.rs-ray,.rs-heart{opacity:1;}}
.rs-dlg-head .rs-heart,.rs-dlg-head .rs-ray{opacity:1;animation:none;}

/* popup Permasalahan: dua slide Anak / Dewasa, digeser */
.rs-slides{
  display:flex;overflow-x:auto;scroll-snap-type:x mandatory;
  scrollbar-width:none;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
}
.rs-slides::-webkit-scrollbar{display:none;}
.rs-slide{flex:0 0 100%;scroll-snap-align:start;min-width:0;}
.rs-slide[hidden]{display:block;}
.rs-swipe-hint{display:flex;align-items:center;justify-content:center;gap:6px;margin:16px 0 0;font-size:12.5px;color:var(--rh-muted);}
.rs-swipe-hint svg{width:16px;height:16px;}
/* Permasalahan: tab Anak/Dewasa di tengah, daftar lebih besar (+2pt) */
.rs-dlg--iss .ri-tabs{display:flex;width:fit-content;margin:4px auto 18px;}
.rs-dlg--iss .ri-tab{font-size:16px;min-width:110px;padding:9px 20px;}
.rs-dlg--iss .ri-iss{gap:9px 18px;}
.rs-dlg--iss .ri-iss li{font-size:16.5px;line-height:1.5;padding-left:16px;}
.rs-dlg--iss .ri-iss li::before{top:.62em;}

/* ═══ Kartu hipnoterapis (panel Cari Hipnoterapis) ═══
   Soft structuralism: cangkang Alice Blue + inti putih (double bezel),
   bayangan lebar & tipis, hierarki jelas: nama > harga > jadwal > aksi. */
.fho-results .fho-hyp-card.fc,
.fho-results .fho-hyp-card.fc:hover{
  display:block;padding:6px;border:0;border-radius:28px;cursor:default;transform:none;
  background:var(--rh-alice);
  box-shadow:0 0 0 1px rgba(64,144,205,.14),0 22px 40px -24px rgba(0,37,139,.28);
  animation:fc-in .6s cubic-bezier(.32,.72,0,1) both;
  animation-delay:calc(var(--i,0) * 70ms);
}
@keyframes fc-in{from{opacity:0;transform:translateY(14px);}to{opacity:1;transform:none;}}
.fc-core{
  background:#fff;border-radius:22px;padding:20px 20px 18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.9);
}
.fc-head{display:flex;align-items:center;gap:14px;margin:0 0 14px;flex-wrap:wrap;}
.fc .fho-av.fc-av{
  width:58px;height:58px;font-size:22px;font-family:var(--rh-head);font-weight:800;
  background:linear-gradient(145deg,var(--rh-blue),var(--rh-blue-dark));
  box-shadow:0 0 0 4px var(--rh-alice);
}
.fc-id{flex:1;min-width:0;}
.fc-name{
  display:flex;align-items:center;gap:6px;margin:0 0 2px;
  font-family:var(--rh-head);font-weight:800;font-size:18px;line-height:1.2;color:var(--rh-carbon);
}
.fc-verified{display:inline-grid;place-items:center;color:var(--rh-blue);}
.fc-verified svg{width:19px;height:19px;}
.fc-spec{margin:0;font-size:13.5px;color:var(--rh-muted);}
.fc-status{
  display:inline-flex;align-items:center;gap:7px;align-self:flex-start;
  padding:5px 11px;border-radius:999px;background:#f1f4f8;color:var(--rh-muted);
  font-size:11.5px;font-weight:700;letter-spacing:.01em;white-space:nowrap;
}
.fc-status i{width:7px;height:7px;border-radius:50%;background:#aeb8c4;}
.fc-status.is-on{background:var(--rh-alice);color:var(--rh-blue-dark);}
.fc-status.is-on i,.fc-status.is-soon i{background:var(--rh-cyan);box-shadow:0 0 0 3px rgba(0,180,216,.18);}
.fc-status.is-soon{background:#E0F7FC;color:#00758C;}

.fc-facts{
  list-style:none;margin:0 0 16px;padding:0;display:flex;flex-wrap:wrap;gap:6px 18px;
  font-size:13px;color:var(--rh-body);
}
.fc-facts li{display:inline-flex;align-items:center;gap:6px;}
.fc-facts svg{width:16px;height:16px;color:var(--rh-blue);flex:none;}
.fc-facts b{font-family:var(--rh-head);font-weight:800;color:var(--rh-carbon);}
.fc-facts li>span{color:var(--rh-muted);}
.fc-star{fill:#E2A62B;stroke:#E2A62B;}
.fc .fho-map-link{margin-left:4px;font-size:12.5px;}

.fc-price-row{
  display:flex;align-items:flex-end;justify-content:space-between;gap:14px;flex-wrap:wrap;
  padding:14px 0;margin:0 0 14px;border-top:1px solid var(--rh-line);border-bottom:1px solid var(--rh-line);
}
.fc-price{display:flex;flex-direction:column;gap:1px;}
.fc-from{font-size:11.5px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--rh-muted);}
.fc-amt{font-family:var(--rh-head);font-weight:800;font-size:23px;line-height:1.1;color:var(--rh-blue-dark);}
.fc-amt--ask{font-size:18px;}
.fc-rates{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;min-width:0;}
.fc-rates li{display:flex;justify-content:space-between;gap:18px;font-size:12.5px;color:var(--rh-muted);}
.fc-rates b{font-weight:700;color:var(--rh-carbon);}

.fc .fc-sched.fho-week-schedule{
  background:transparent;border:0;padding:0;margin:0 0 16px;gap:9px;
}
.fc .fho-day-slot{gap:6px;}
.fc .fho-day-label{
  min-width:50px;font-family:var(--rh-head);font-size:12.5px;font-weight:800;color:var(--rh-blue-dark);
}
.fc .fho-time-chip{
  font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;
  background:var(--rh-alice);border:0;color:var(--rh-carbon);
}
.fc .fho-time-chip.fho-more{background:transparent;border:1px dashed rgba(64,144,205,.5);color:var(--rh-blue-dark);}

.fc .fc-actions.fho-book-row{display:flex;gap:8px;}
.fc .fc-btn.fho-book-btn{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:48px;padding:6px 6px 6px 18px;border:0;border-radius:999px;
  background:var(--rh-blue);color:#fff;font-family:var(--rh-head);font-weight:800;font-size:14.5px;
  box-shadow:0 10px 20px -10px rgba(47,120,179,.7);
  transition:transform .35s cubic-bezier(.32,.72,0,1),box-shadow .35s cubic-bezier(.32,.72,0,1),background .2s;
}
.fc .fc-btn--alt.fho-book-btn{background:#fff;color:var(--rh-blue-dark);box-shadow:inset 0 0 0 1.5px var(--rh-blue);}
.fc-btn-ico{
  display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;
  background:rgba(255,255,255,.2);transition:transform .35s cubic-bezier(.32,.72,0,1);
}
.fc-btn--alt .fc-btn-ico{background:var(--rh-alice);}
.fc-btn-ico svg{width:17px;height:17px;}
@media (hover:hover){
  .fc .fc-btn.fho-book-btn:hover{opacity:1;transform:translateY(-1px);background:var(--rh-blue-dark);}
  .fc .fc-btn--alt.fho-book-btn:hover{background:var(--rh-alice);}
  .fc-btn:hover .fc-btn-ico{transform:translate(2px,-2px);}
}
.fc .fc-btn.fho-book-btn:active{transform:scale(.98);}
.fc .fc-btn.fho-book-btn:focus-visible{outline:2px solid var(--rh-cyan);outline-offset:3px;}

@media (max-width:560px){
  .fc-core{padding:16px 14px 14px;}
  .fc-head{gap:12px;}
  .fc-status{order:3;}
  .fc-price-row{flex-direction:column;align-items:stretch;gap:10px;}
  .fc .fc-actions.fho-book-row{flex-direction:column;}
  .fc .fc-btn.fho-book-btn{width:100%;font-size:14.5px;padding:6px 6px 6px 18px;}
}
@media (prefers-reduced-motion:reduce){
  .fho-results .fho-hyp-card.fc{animation:none;}
}
.fho-no-slots{display:block;font-size:13px;color:var(--rh-muted);}
.fc .fho-no-slots::before{
  content:"";display:inline-block;width:6px;height:6px;border-radius:50%;
  background:#aeb8c4;margin-right:8px;vertical-align:middle;
}
@media (max-width:560px){
  .fc-id{flex:1 1 calc(100% - 72px);}
  .fc-status{margin-left:72px;margin-top:-6px;}
}

/* tagline hero: kalimat "Platform Digital Hipnoterapi Pertama di Indonesia" */
.rs-hero .rs-tagline{
  margin:0 auto 10px;max-width:340px;text-wrap:balance;
  color:var(--rh-blue-dark);
  font-family:var(--rh-head);font-weight:800;font-size:15px;line-height:1.35;letter-spacing:.01em;
}
@media (min-width:768px){.rs-hero .rs-tagline{font-size:18px;max-width:none;}}

/* beberapa tempat terapi di kartu */
.fc-facts .fc-places-li{align-items:flex-start;flex:1 1 100%;}
.fc-facts .fc-places-li>svg{margin-top:2px;}
.fc-places{min-width:0;flex:1;}
.fc-places summary{
  display:flex;align-items:center;flex-wrap:wrap;gap:4px 8px;cursor:pointer;list-style:none;color:var(--rh-muted);
}
.fc-places summary::-webkit-details-marker{display:none;}
.fc-places summary em{
  font-style:normal;font-size:11.5px;font-weight:700;padding:2px 9px;border-radius:999px;
  background:var(--rh-alice);color:var(--rh-blue-dark);
}
.fc-places summary::after{
  content:"";width:7px;height:7px;border-right:1.5px solid var(--rh-blue);border-bottom:1.5px solid var(--rh-blue);
  transform:rotate(45deg) translateY(-2px);transition:transform .25s cubic-bezier(.32,.72,0,1);
}
.fc-places[open] summary::after{transform:rotate(-135deg) translateY(-2px);}
.fc-places ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:8px;}
.fc-places ul li{
  display:flex;flex-direction:column;gap:1px;padding:9px 12px;border-radius:14px;background:var(--rh-alice);
}
.fc-places ul b{font-family:var(--rh-head);font-weight:800;font-size:13px;color:var(--rh-carbon);}
.fc-places ul span{font-size:12.5px;color:var(--rh-muted);}
.fc-places ul .fho-map-link{margin:2px 0 0;font-size:12.5px;}
.fc-places,.fc-places ul li{text-align:left;}
.fc-places ul li{align-items:flex-start;}

/* ═══ Modal booking tanpa akun: ringan, biru Rumahati, per langkah ═══
   Warna gelap diganti Blue Bell / Alice Blue (variabel --gb-* dipetakan ulang, jadi modal
   konfirmasi ikut), blur latar dibuang (berat di HP low-end), corak tipis seperti di home. */
.gb-overlay{
  --gb-ink:#1D1D1D;--gb-deep:#2F78B3;--gb-green:#4090CD;--gb-soft:#E6F4FF;--gb-line:#D5E4F2;
  --gb-cream:#EEF7FF;--gb-field:#fff;--gb-fline:#C9DDEE;--gb-mute:#5F6B7A;--gb-body:#4A5563;
  background:rgba(0,26,99,.5);backdrop-filter:none;-webkit-backdrop-filter:none;
}
.gb-modal{box-shadow:0 24px 60px rgba(0,37,139,.25);isolation:isolate;}
.gb-modal::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;
  background:var(--rh-blue);opacity:.09;
  -webkit-mask:url(/assets/img/bg/mask-3-sm.webp) center/cover no-repeat;mask:url(/assets/img/bg/mask-3-sm.webp) center/cover no-repeat;
}
#gbModal{
  display:flex;flex-direction:column;overflow:hidden;
  max-height:min(92vh,780px);max-height:min(92dvh,780px);border-radius:28px;
}

/* header biru dengan corak */
#gbModal .gb-header{
  flex:none;padding:14px 18px 12px;background:var(--rh-blue);position:relative;overflow:hidden;isolation:isolate;
}
#gbModal .gb-header::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:#fff;opacity:.14;
  -webkit-mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;
}
#gbModal .gb-header-title{
  margin:0 44px 0 0;color:#fff;font-family:var(--rh-head);font-size:18px;font-weight:800;line-height:1.3;
}
#gbModal .gb-close-btn{top:11px;right:14px;width:34px;height:34px;background:rgba(255,255,255,.22);color:#fff;}
#gbModal .gb-close-btn:hover{background:rgba(255,255,255,.34);color:#fff;}

/* layanan + harga, satu baris di header */
#gbModal .gb-hmeta{
  display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 0;
  font-size:13px;color:rgba(255,255,255,.86);
}
#gbModal .gb-hmeta span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
#gbModal .gb-hmeta strong{flex:none;font-family:var(--rh-head);font-weight:800;font-size:15px;color:#fff;}

/* langkah: tiga garis tipis + label kecil */
#gbModal .gb-steps{display:flex;gap:6px;margin:12px 0 0;}
#gbModal .gb-step{
  appearance:none;border:0;background:none;padding:0;font:inherit;cursor:pointer;
  flex:1;min-width:0;display:flex;flex-direction:column;gap:5px;text-align:left;
}
#gbModal .gb-step::before{
  content:"";display:block;height:3px;border-radius:3px;background:rgba(255,255,255,.3);transition:background .2s;
}
#gbModal .gb-step.on::before,#gbModal .gb-step.done::before{background:#fff;}
#gbModal .gb-step .slbl{font-size:11.5px;font-weight:600;color:rgba(255,255,255,.7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
#gbModal .gb-step.on .slbl{color:#fff;font-weight:700;}

/* isi: hanya area ini yang digulir, tombol di bawah selalu terlihat */
#gbModal .gb-body{
  flex:1;min-height:0;overflow-y:auto;padding:14px 16px 10px;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;
}
#gbModal .gb-body::-webkit-scrollbar{display:none;}
#gbModal .gb-panel[hidden]{display:none;}
#gbModal .gb-field{margin-bottom:12px;}
#gbModal .gb-field-row{gap:10px;margin-bottom:12px;}
#gbModal .gb-label{
  font-size:12.5px;font-weight:700;letter-spacing:0;text-transform:none;color:var(--rh-muted);margin:0 0 6px;
}
#gbModal .gb-input,#gbModal .gb-textarea{
  background:#fff;border:1.5px solid var(--gb-fline);border-radius:14px;font-size:16px;color:var(--rh-carbon);
}
#gbModal .gb-input{height:46px;padding:0 14px;}
#gbModal .gb-input:hover,#gbModal .gb-textarea:hover{border-color:#A9C6E0;}
#gbModal .gb-input:focus,#gbModal .gb-textarea:focus{border-color:var(--rh-blue);box-shadow:0 0 0 3px rgba(64,144,205,.18);outline:none;}
#gbModal .gb-input::placeholder,#gbModal .gb-textarea::placeholder{color:#8A97A6;}

/* formulir pendaftaran di dalam modal: rapat */
#gbModal .rrf{margin:0 0 4px;}
#gbModal .rrf-title{font-size:15px;margin:2px 0 10px;}
#gbModal .rrf-field{margin:0 0 12px;}
#gbModal .rrf-row{grid-template-columns:1fr 1fr;gap:10px;}
#gbModal .rrf-label{font-size:12.5px;margin-bottom:6px;}
#gbModal .rrf-q{font-size:13.5px;}
#gbModal .rrf-input{height:44px;padding:0 14px;border-color:var(--gb-fline);}
#gbModal .rrf-area{height:auto;min-height:68px;padding:10px 14px;}
#gbModal .rrf-opt span{min-height:42px;font-size:14.5px;border-color:var(--gb-fline);}
#gbModal .rrf-opt input:checked + span{border-color:var(--rh-blue);background:var(--rh-alice);}
#gbModal .rrf-seg{gap:8px;}
#gbModal .rrf-opt{flex:1 1 100px;}
#gbModal .rrf-trio .rrf-seg{height:44px;border-color:var(--gb-fline);}
#gbModal .rrf-trio .rrf-opt span{min-height:0;font-size:14px;}
#gbModal .rrf-trio .rrf-opt input:checked + span{background:var(--rh-blue);color:#fff;}

/* ringkasan jadwal: terang, muncul hanya setelah memilih */
#gbModal .gb-summary{
  background:#fff;color:var(--rh-carbon);border-radius:16px;padding:11px 14px;margin:0 0 12px;
  box-shadow:0 4px 14px rgba(0,37,139,.07);
}
#gbModal .gb-summary[hidden]{display:none;}
#gbModal .gb-summary svg{stroke:var(--rh-blue);}
#gbModal .gb-summary-price{color:var(--rh-blue-dark);font-family:var(--rh-head);font-weight:800;}
#gbModal .gb-error{margin-bottom:10px;}

/* ringkasan akhir (langkah 3) */
.gb-recap{background:#fff;border-radius:18px;padding:4px 14px;margin:0 0 12px;box-shadow:0 4px 14px rgba(0,37,139,.07);}
.gb-recap>div{display:flex;justify-content:space-between;align-items:baseline;gap:14px;padding:10px 0;border-bottom:1px solid var(--rh-line);font-size:13.5px;}
.gb-recap>div:last-child{border-bottom:0;}
.gb-recap>div[hidden]{display:none;}
.gb-recap span{color:var(--rh-muted);flex:none;}
.gb-recap strong{color:var(--rh-carbon);font-weight:700;text-align:right;}
.gb-recap-total strong{font-family:var(--rh-head);font-weight:800;font-size:17px;color:var(--rh-blue-dark);}

/* footer tetap */
#gbModal .gb-foot{
  flex:none;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));
  background:#fff;box-shadow:0 -10px 20px -14px rgba(0,37,139,.25);position:relative;
}
#gbModal .gb-btn{
  appearance:none;border:0;cursor:pointer;min-height:48px;border-radius:999px;
  font-family:var(--rh-head);font-weight:800;font-size:15px;
  transition:transform .3s cubic-bezier(.32,.72,0,1),background .2s,opacity .2s;
}
#gbModal .gb-btn[hidden]{display:none;}
#gbModal .gb-btn--ghost{flex:none;padding:0 20px;background:var(--rh-alice);color:var(--rh-blue-dark);}
#gbModal .gb-btn--primary,#gbModal .gb-btn.gb-submit-btn{
  flex:1;width:auto;display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:6px 6px 6px 20px;background:var(--rh-blue);color:#fff;
  box-shadow:0 10px 20px -10px rgba(47,120,179,.7);
}
#gbModal .gb-btn-ico{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.22);transition:transform .3s cubic-bezier(.32,.72,0,1);}
#gbModal .gb-btn-ico svg{width:17px;height:17px;}
#gbModal .gb-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none;}
#gbModal .gb-btn:active:not(:disabled){transform:scale(.98);}
@media (hover:hover){
  #gbModal .gb-btn--primary:hover:not(:disabled),#gbModal .gb-btn.gb-submit-btn:hover:not(:disabled){background:var(--rh-blue-dark);transform:none;}
  #gbModal .gb-btn--primary:hover:not(:disabled) .gb-btn-ico{transform:translateX(2px);}
  #gbModal .gb-btn--ghost:hover{background:#D7EBFB;}
}
#gbModal .gb-btn:focus-visible{outline:2px solid var(--rh-cyan);outline-offset:3px;}

@media (max-width:640px){
  #gbModal{border-radius:24px 24px 0 0;max-height:min(94vh,780px);max-height:min(94dvh,780px);}
  #gbModal .gb-header{padding:14px 16px 12px;}
  #gbModal .gb-header-title{font-size:17px;margin-top:0;}
  #gbModal .gb-close-btn{top:10px;right:12px;}
  #gbModal .gb-body{padding:12px 16px 8px;}
}
@media (max-width:640px) and (min-width:380px){
  #gbModal .gb-field-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:0;}
  #gbModal .gb-field-row>div{margin-bottom:12px;}
}
@media (prefers-reduced-motion:reduce){
  #gbModal .gb-btn,#gbModal .gb-btn-ico{transition:none;}
}
#gbModal .gb-foot [hidden]{display:none !important;}
@media (max-width:640px) and (min-width:340px){
  #gbModal .gb-field-row{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:0;}
  #gbModal .gb-field-row>div{margin-bottom:12px;}
}
/* jadwal terpilih sudah terlihat di kalender dan di ringkasan akhir: kartu tambahan dihilangkan */
#gbModal .gb-summary{display:none !important;}

/* ═══ Cari Hipnoterapis: tampilan premium ═══
   Panel terang berlapis (header & sidebar putih, hasil di atas Alice Blue tipis),
   bayangan lebar & lembut, kontrol bersegmen. Tanpa blur supaya ringan di HP low-end. */
.fho-backdrop{background:rgba(0,26,99,.42);backdrop-filter:none;-webkit-backdrop-filter:none;}
.fho-panel{
  background:#F4F9FE;border-radius:28px;
  box-shadow:0 0 0 1px rgba(0,37,139,.06),0 12px 30px -12px rgba(0,37,139,.2),0 48px 100px -36px rgba(0,26,99,.55);
}
.fho-header{
  padding:18px 24px;background:#fff;border-bottom:0;position:relative;z-index:2;
  box-shadow:0 1px 0 rgba(0,37,139,.06),0 12px 24px -20px rgba(0,37,139,.35);
}
.fho-header-left{gap:12px;}
.fho-title{font-family:var(--rh-head);font-weight:800;font-size:22px;letter-spacing:-.01em;color:var(--rh-carbon);}
.fho-count{
  display:inline-flex;align-items:center;padding:4px 11px;border-radius:999px;
  background:var(--rh-alice);color:var(--rh-blue-dark);font-size:12px;font-weight:700;
}
.fho-count:empty{display:none;}
.fho-search-wrap,.fho-city{
  background:#F4F9FE;border:1px solid rgba(64,144,205,.2);border-radius:999px;
  box-shadow:inset 0 1px 2px rgba(0,37,139,.05);transition:border-color .2s,box-shadow .2s,background .2s;
}
.fho-search-wrap{padding:10px 16px;min-width:260px;}
.fho-city{padding:10px 14px;}
.fho-search-wrap:focus-within,.fho-city:focus-within{background:#fff;border-color:var(--rh-blue);box-shadow:0 0 0 4px rgba(64,144,205,.14);}
.fho-search-wrap svg,.fho-city>svg{color:var(--rh-blue);}
.fho-close-btn{border:0;background:var(--rh-alice);color:var(--rh-blue-dark);}
.fho-close-btn:hover{background:#D7EBFB;color:var(--rh-blue-dark);}

/* sidebar */
.fho-sidebar{
  width:276px;padding:22px 18px 28px;background:#fff;border-right:0;
  box-shadow:1px 0 0 rgba(0,37,139,.06);scrollbar-width:thin;
}
.fho-filter-sec{margin:0;}
.fho-filter-sec-title{
  margin:0 0 10px;font-family:var(--rh-head);font-size:11.5px;font-weight:800;letter-spacing:.1em;color:var(--rh-muted);
}
.fho-session-btns,.fho-feel-tabs{
  display:grid;gap:4px;padding:4px;margin:0;background:#EDF5FC;border-radius:14px;
  box-shadow:inset 0 1px 2px rgba(0,37,139,.06);
}
.fho-session-btns{grid-template-columns:repeat(3,minmax(0,1fr));}
.fho-feel-tabs{grid-template-columns:1fr 1fr;margin-bottom:10px;}
.fho-sess-btn,.fho-feel-tab{
  appearance:none;border:0;background:transparent;border-radius:10px;padding:8px 4px;cursor:pointer;
  font:700 12.5px var(--rh-head);color:var(--rh-muted);white-space:nowrap;transition:background .2s,color .2s,box-shadow .2s;
}
.fho-sess-btn:hover,.fho-feel-tab:hover{color:var(--rh-blue-dark);}
.fho-sess-btn.active,.fho-feel-tab[aria-selected="true"]{
  background:#fff;color:var(--rh-blue-dark);border-color:transparent;
  box-shadow:0 1px 2px rgba(0,37,139,.08),0 6px 14px -6px rgba(0,37,139,.25);
}
.fho-feel{margin-top:24px;}
.fho-feel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px;}
.fho-feel-head .fho-filter-sec-title{margin:0;}
.fho-clear-btn{margin:0;font:700 12px var(--rh-head);color:var(--rh-blue);}
.fho-clear-btn[hidden]{display:none;}
.fho-clear-btn:hover{color:var(--rh-blue-dark);text-decoration:underline;text-underline-offset:3px;}
.fho-feel-toggle{display:none;}
.fho-feel-list{display:flex;flex-direction:column;}
.fho-check-item{
  position:relative;display:flex;align-items:flex-start;gap:11px;padding:8px 10px;margin:0 -10px;border-radius:10px;
  cursor:pointer;transition:background .15s;
}
.fho-check-item:hover{background:#F2F8FD;}
.fho-check-item input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none;}
.fho-check-box{
  position:relative;flex:none;width:18px;height:18px;margin-top:1px;border-radius:6px;
  border:1.5px solid #B9D3EA;background:#fff;transition:background .15s,border-color .15s,box-shadow .15s;
}
.fho-check-item.checked .fho-check-box{background:var(--rh-blue);border-color:var(--rh-blue);box-shadow:0 4px 10px -3px rgba(64,144,205,.7);}
.fho-check-item.checked .fho-check-box::after{
  content:"";position:absolute;left:5px;top:1.5px;width:4.5px;height:9px;
  border:solid #fff;border-width:0 1.75px 1.75px 0;transform:rotate(45deg);
}
.fho-check-item input:focus-visible + .fho-check-box{outline:2px solid var(--rh-cyan);outline-offset:2px;}
.fho-check-label{font-size:13.5px;line-height:1.45;color:var(--rh-carbon);}
.fho-check-item.checked .fho-check-label{color:var(--rh-blue-dark);font-weight:600;}

/* hasil */
.fho-results{padding:22px 24px 36px;background:transparent;}
.fho-results-meta{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;margin:0 0 16px;font-size:13px;color:var(--rh-muted);}
.fho-results-meta:empty{display:none;}
.fho-meta-n b{font-family:var(--rh-head);font-weight:800;color:var(--rh-carbon);}
.fho-chips{display:flex;flex-wrap:wrap;gap:6px;}
.fho-chip{
  display:inline-flex;align-items:center;gap:6px;padding:5px 8px 5px 12px;border:0;border-radius:999px;cursor:pointer;
  background:#fff;color:var(--rh-blue-dark);font:600 12.5px var(--rh-text,'Open Sans',sans-serif);
  box-shadow:0 0 0 1px rgba(64,144,205,.28),0 4px 10px -6px rgba(0,37,139,.3);transition:background .15s;
}
.fho-chip:hover{background:var(--rh-alice);}
.fho-chip svg{width:14px;height:14px;flex:none;}
.fho-note{
  flex-basis:100%;margin:0;padding:11px 14px;border-radius:14px;background:#fff;color:var(--rh-muted);font-size:13px;line-height:1.5;
  box-shadow:0 0 0 1px rgba(64,144,205,.15);
}
.fho-hyp-list{gap:16px;}
.fho-results .fho-hyp-card.fc,
.fho-results .fho-hyp-card.fc:hover{
  box-shadow:0 0 0 1px rgba(64,144,205,.12),0 1px 2px rgba(0,37,139,.05),0 26px 50px -30px rgba(0,37,139,.4);
}
.fc .fho-av.fc-av{box-shadow:0 0 0 4px #fff,0 0 0 5px rgba(64,144,205,.2),0 8px 18px -8px rgba(0,37,139,.5);}
.fho-empty{padding:56px 20px;font-size:14px;line-height:1.6;}
.fho-empty-ico{
  display:grid;place-items:center;width:64px;height:64px;margin:0 auto 14px;border-radius:50%;
  background:#fff;color:var(--rh-blue);font-size:0;box-shadow:0 10px 24px -12px rgba(0,37,139,.35);
}

@media (max-width:700px){
  .fho-panel{border-radius:24px 24px 0 0;}
  .fho-header{padding:14px 14px 12px;}
  .fho-title{font-size:19px;}
  .fho-count{padding:2px 9px;font-size:11.5px;margin-top:3px;}
  .fho-search-wrap{min-width:0;padding:9px 14px;}
  .fho-city{padding:9px 10px;}
  .fho-sidebar{
    display:flex;flex-wrap:wrap;align-items:center;gap:8px;width:auto;padding:10px 14px 12px;
    box-shadow:0 1px 0 rgba(0,37,139,.06),0 12px 20px -18px rgba(0,37,139,.4);position:relative;z-index:1;
  }
  .fho-sidebar .fho-filter-sec:not(:first-child){display:contents;}
  .fho-sidebar .fho-filter-sec:first-child{flex:1 1 auto;min-width:0;}
  .fho-session-btns{display:grid;overflow:visible;}
  .fho-sess-btn,.fho-sess-btn.active{padding:7px 4px;font-size:12px;border:0;}
  .fho-sess-btn{background:transparent;color:var(--rh-muted);}
  .fho-sess-btn.active{background:#fff;color:var(--rh-blue-dark);}
  .fho-feel-head{display:none;}
  .fho-feel-toggle{
    display:inline-flex;align-items:center;gap:6px;flex:none;height:38px;padding:0 12px;border:0;border-radius:12px;cursor:pointer;
    background:#fff;color:var(--rh-blue-dark);font:700 12.5px var(--rh-head);
    box-shadow:0 0 0 1px rgba(64,144,205,.3),0 4px 10px -6px rgba(0,37,139,.3);
  }
  .fho-feel-toggle svg{width:16px;height:16px;}
  .fho-feel-toggle[aria-expanded="true"]{background:var(--rh-blue);color:#fff;box-shadow:0 6px 14px -6px rgba(47,120,179,.8);}
  .fho-feel-n{
    display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;
    background:var(--rh-cyan);color:#fff;font-size:11px;
  }
  .fho-feel-n[hidden]{display:none;}
  .fho-feel-body{display:none;flex-basis:100%;}
  .fho-feel.is-open .fho-feel-body{display:block;}
  .fho-feel-tabs{margin:2px 0 8px;}
  .fho-feel-list{flex-direction:row;flex-wrap:wrap;gap:6px;max-height:34vh;overflow-y:auto;overscroll-behavior:contain;padding:2px;}
  .fho-check-item{margin:0;padding:7px 12px;border-radius:999px;background:#fff;box-shadow:0 0 0 1px rgba(64,144,205,.25);}
  .fho-check-item:hover{background:#fff;}
  .fho-check-box{display:none;}
  .fho-check-label{font-size:13px;}
  .fho-check-item.checked{background:var(--rh-blue);box-shadow:0 6px 14px -8px rgba(47,120,179,.9);}
  .fho-check-item.checked .fho-check-label{color:#fff;}
  .fho-results{padding:14px 12px 28px;background:transparent;}
  .fho-results-meta{display:none;}
  .fho-results-meta.has-chips{display:flex;margin-bottom:12px;}
  .fho-results-meta .fho-meta-n{display:none;}
  .fho-hyp-list{gap:12px;}
}

/* ikon tautan (Instagram) di grid home: tampil sama dengan tombol */
a.rs-item{text-decoration:none;color:inherit;}

/* "Yang dirasakan": penanda, bukan filter */
.fho-feel-sub{margin:-2px 0 12px;font-size:12px;line-height:1.5;color:var(--rh-muted);}
.fho-marked{display:flex;flex-direction:column;gap:8px;flex-basis:100%;padding:12px 14px;border-radius:16px;background:#fff;
  box-shadow:0 0 0 1px rgba(64,144,205,.15),0 10px 24px -18px rgba(0,37,139,.35);}
.fho-marked-t{font-size:12.5px;font-weight:600;color:var(--rh-blue-dark);}
@media (max-width:700px){
  .fho-feel-sub{flex-basis:100%;order:0;margin:0 0 6px;}
  .fho-feel.is-open .fho-feel-sub{display:block;}
  .fho-feel:not(.is-open) .fho-feel-sub{display:none;}
}

/* tombol Lanjut: tetap bisa diklik, memberi tahu yang kurang */
#gbModal .gb-foot{flex-wrap:wrap;}
#gbModal .gb-need{
  flex-basis:100%;margin:0 0 2px;padding:0 4px;font-size:12.5px;line-height:1.45;color:#B4561F;
  display:flex;gap:6px;align-items:flex-start;
}
#gbModal .gb-need::before{
  content:"";flex:none;width:6px;height:6px;margin-top:.5em;border-radius:50%;background:#E8833A;
}
#gbModal .gb-btn.is-off{opacity:.55;box-shadow:none;cursor:pointer;}
#gbModal .gb-flag{animation:gb-flag 1.4s ease;border-radius:14px;}
@keyframes gb-flag{0%,60%{box-shadow:0 0 0 3px rgba(232,131,58,.45);background:rgba(232,131,58,.06);}100%{box-shadow:0 0 0 3px rgba(232,131,58,0);}}
@media (prefers-reduced-motion:reduce){#gbModal .gb-flag{animation:none;outline:2px solid #E8833A;outline-offset:2px;}}

/* kartu hipnoterapis: foto 1/3 penuh di kiri, semua informasi di kanan */
.fc-core.fc-split{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,2fr);padding:0;overflow:hidden;}
.fc-media{
  position:relative;margin:0;min-height:240px;overflow:hidden;isolation:isolate;
  background:linear-gradient(160deg,#5BA6DD 0%,var(--rh-blue) 45%,var(--rh-blue-dark) 100%);
}
.fc-media::before{
  content:"";position:absolute;inset:0;z-index:0;pointer-events:none;background:#fff;opacity:.13;
  -webkit-mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;
}
.fc-media-ini{
  position:absolute;inset:0;z-index:1;display:grid;place-items:center;
  font-family:var(--rh-head);font-weight:800;font-size:72px;line-height:1;color:#fff;
  text-shadow:0 10px 30px rgba(0,37,139,.35);
}
.fc-media img{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;object-position:50% 0%;}
.fc-media::after{
  content:"";position:absolute;inset:auto 0 0;height:45%;z-index:3;pointer-events:none;
  background:linear-gradient(to top,rgba(0,26,99,.38),transparent);
}
.fc-media .fc-status{
  position:absolute;left:12px;bottom:12px;z-index:4;margin:0;
  background:rgba(255,255,255,.95);box-shadow:0 6px 16px -6px rgba(0,26,99,.45);
}
.fc-main{min-width:0;padding:22px 24px 20px;position:relative;isolation:isolate;}
/* corak yang sama dengan bidang foto, sangat tipis di atas putih */
.fc-main::before{
  content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:var(--rh-blue);opacity:.05;
  -webkit-mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;mask:url(/assets/img/bg/mask-1-sm.webp) center/cover no-repeat;
}
.fc-main .fc-head{margin:0 0 12px;}
.fc-main .fc-name{font-size:21px;}
@media (max-width:560px){
  .fc-core.fc-split{grid-template-columns:1fr;}
  .fc-media{min-height:0;aspect-ratio:16/10;max-height:220px;}
  .fc-media-ini{font-size:60px;}
  .fc-main{padding:16px 14px 14px;}
  .fc-main .fc-id{flex:1 1 auto;}
  .fc-main .fc-name{font-size:18px;}
}

/* metode sesi: tanpa deskripsi, tanda centang besar di kanan */
#gbModal .gb-method-label{align-items:center;min-height:64px;padding:12px 64px 12px 14px;}
#gbModal .gb-method-name{font-size:15px;}
#gbModal .gb-method-check{
  top:50%;right:14px;width:34px;height:34px;transform:translateY(-50%);
  border:2px solid #C9DDEE;background:#fff;color:transparent;
}
#gbModal .gb-method-check svg{width:18px;height:18px;}
#gbModal .gb-method-label.selected .gb-method-check{
  border-color:var(--rh-blue);background:var(--rh-blue);color:#fff;box-shadow:0 6px 14px -6px rgba(47,120,179,.8);
}

/* ═══ HP low-end: html.rh-lite (dipasang di <head> index.html) dan saat overlay terbuka (html.rh-busy) ═══ */
html.rh-lite .rs-ico svg *,html.rh-lite .rs-bg.rh-pat::after,html.rh-lite #navbar.rs-nav::before,html.rh-lite .fho-results .fho-hyp-card.fc{animation:none !important;}
html.rh-lite .rs-dot{opacity:1;}
html.rh-lite .rh-sound,html.rh-lite .fho-backdrop{backdrop-filter:none !important;-webkit-backdrop-filter:none !important;}
html.rh-lite .rh-sound{background:#fff !important;}
/* overlay menutupi halaman: animasi di belakangnya dijeda supaya scroll & ketik tetap mulus */
html.rh-busy .rs-ico svg *,html.rh-busy .rs-bg.rh-pat::after,html.rh-busy #navbar.rs-nav::before,html.rh-busy .rh-sound-bars i{animation-play-state:paused !important;}
html.rh-busy .fho-backdrop{backdrop-filter:none;-webkit-backdrop-filter:none;}

/* ═══ Buat password akun: langkah terakhir setelah pembayaran + formulir intake ═══
   Memakai gaya modal gb-* yang sama; tanpa blur dan tanpa animasi berat (HP low-end). */
.gb-acct-overlay{z-index:3100;}
.gb-acct-overlay,.gb-acct-overlay .gb-modal{transition:none;}
.gb-acct{max-width:440px;padding:30px 26px 24px;text-align:center;}
.gb-acct-view[hidden]{display:none;}
.gb-acct-ic{
  display:grid;place-items:center;width:56px;height:56px;margin:0 auto;border-radius:50%;
  background:var(--rh-alice);color:var(--rh-blue-dark);box-shadow:0 0 0 6px rgba(64,144,205,.08);
}
.gb-acct-ic svg{width:24px;height:24px;}
.gb-acct-ic.is-ok{background:var(--rh-blue);color:#fff;}
.gb-acct-kicker{margin:14px 0 0;font:700 11px/1.2 'Open Sans',sans-serif;letter-spacing:1.2px;text-transform:uppercase;color:var(--rh-blue-dark);}
.gb-acct .gb-ok-title{margin-top:6px;outline:none;}
.gb-acct-kicker+.gb-ok-title{margin-top:6px;}
.gb-acct .gb-acct-ic+.gb-ok-title{margin-top:16px;}
.gb-acct .gb-ok-sub{max-width:320px;font-size:13px;color:var(--rh-muted);}
.gb-acct-form{margin-top:18px;text-align:left;}
.gb-acct .gb-field{margin-bottom:12px;}
.gb-acct .gb-label{color:var(--rh-muted);}
.gb-acct .gb-input{background:#fff;font-size:16px;border:1.5px solid var(--gb-fline);border-radius:14px;height:46px;padding:0 14px;}
.gb-acct .gb-input:focus{border-color:var(--rh-blue);box-shadow:0 0 0 3px rgba(64,144,205,.18);}
.gb-acct .gb-input[readonly]{background:var(--rh-alice);border-color:transparent;color:var(--rh-carbon);cursor:default;}
.gb-acct .gb-input[readonly]:focus{box-shadow:none;}
.gb-acct .gb-input[aria-invalid="true"]{border-color:#C2573A;}
.gb-pw{position:relative;}
.gb-pw .gb-input{padding-right:50px;}
.gb-pw-eye{
  position:absolute;top:50%;right:5px;transform:translateY(-50%);width:38px;height:38px;border:0;border-radius:10px;
  display:grid;place-items:center;background:transparent;color:var(--rh-muted);cursor:pointer;
}
.gb-pw-eye svg{width:20px;height:20px;}
.gb-pw-eye svg[hidden]{display:none;}
.gb-pw-eye:hover{color:var(--rh-blue-dark);background:var(--rh-alice);}
.gb-pw-eye:focus-visible,.gb-acct .gb-submit-btn:focus-visible,.gb-acct .gb-link-btn:focus-visible,.gb-acct-bar-x:focus-visible{outline:2px solid var(--rh-cyan);outline-offset:2px;}
.gb-acct-hint{margin:6px 2px 0;font-size:12px;color:var(--rh-muted);}
.gb-acct-err{margin:2px 0 12px;padding:10px 14px;border-radius:12px;background:#fdf1ee;border:1px solid #f3d9d1;color:#a8452f;font-size:12.5px;line-height:1.5;}
.gb-acct-err[hidden]{display:none;}
.gb-acct .gb-submit-btn{background:var(--rh-blue);color:#fff;min-height:48px;box-shadow:0 8px 20px -8px rgba(47,120,179,.7);text-decoration:none;}
.gb-acct .gb-submit-btn:hover:not(:disabled){background:var(--rh-blue-dark);transform:none;}
.gb-acct .gb-ok-actions{margin-top:20px;}
.gb-acct .gb-ok-actions .ghost{background:#fff;color:var(--rh-blue-dark);border:1.5px solid var(--rh-blue);box-shadow:none;}
.gb-acct .gb-link-btn{text-decoration-thickness:1px;}
a.gb-link-btn{display:table;}
.gb-acct-box.is-done{background:#fff;}
.gb-acct-bar{padding-right:46px;}
.gb-acct-bar-x{
  position:absolute;top:8px;right:8px;width:32px;height:32px;border:0;border-radius:50%;
  display:grid;place-items:center;background:transparent;color:#2F78B3;cursor:pointer;
}
.gb-acct-bar-x svg{width:18px;height:18px;margin:0;}
.gb-acct-bar-x:hover{background:rgba(64,144,205,.12);}
@media (max-width:480px){
  .gb-acct{padding:26px 16px 18px;border-radius:24px;}
  .gb-acct .gb-ok-actions{flex-direction:column;}
}
