/* Rumahati: gaya komponen "Syarat Menjalani Konseling & Hipnoterapi" (shared/js/rh-syarat.js).
   Token dipakai dengan nilai cadangan supaya aman di halaman yang tidak memuat rumahati.css. */
.rhs{
  --b:var(--rh-blue,#4090CD);--bd:var(--rh-blue-dark,#2F78B3);--al:var(--rh-alice,#E6F4FF);
  --ink:var(--rh-carbon,#1D1D1D);--body:var(--rh-body,#4A5563);--mut:var(--rh-muted,#5F6B7A);--ln:var(--rh-line,#D5E4F2);
  font-family:var(--rh-text,'Open Sans',system-ui,sans-serif);color:var(--body);font-size:14.5px;line-height:1.6;
}
.rhs *{box-sizing:border-box;}
.rhs-h{
  display:flex;align-items:center;gap:10px;margin:0 0 6px;
  font-family:var(--rh-head,'Nunito',system-ui,sans-serif);font-weight:800;font-size:19px;line-height:1.25;color:var(--ink);
}
.rhs-h--sub{font-size:16.5px;margin:26px 0 12px;padding-top:20px;border-top:1px solid var(--ln);}
.rhs-ico{display:inline-grid;place-items:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--al);color:var(--b);}
.rhs-ico svg{width:19px;height:19px;}
.rhs-lead{margin:0 0 14px;color:var(--mut);}

.rhs-list{list-style:none;margin:0;padding:0;counter-reset:rhs;display:grid;gap:10px;}
.rhs-list li{
  counter-increment:rhs;position:relative;display:flex;flex-direction:column;gap:2px;
  padding:12px 14px 12px 52px;border-radius:16px;background:var(--al);
}
.rhs-list li::before{
  content:counter(rhs);position:absolute;left:12px;top:12px;width:28px;height:28px;border-radius:50%;
  display:grid;place-items:center;background:#fff;color:var(--bd);
  font-family:var(--rh-head,'Nunito',system-ui,sans-serif);font-weight:800;font-size:13.5px;
  box-shadow:0 2px 6px rgba(0,37,139,.08);
}
.rhs-list b,.rhs-info b{font-family:var(--rh-head,'Nunito',system-ui,sans-serif);font-weight:800;color:var(--ink);font-size:14.5px;}
.rhs-list span,.rhs-info span{color:var(--body);font-size:13.5px;}

.rhs-info{list-style:none;margin:0;padding:0;display:grid;gap:12px;}
.rhs-info li{display:flex;gap:12px;align-items:flex-start;}
.rhs-info li>div{display:flex;flex-direction:column;gap:2px;min-width:0;}
.rhs-dot{flex:none;width:8px;height:8px;border-radius:50%;background:var(--b);margin-top:8px;}

.rhs-close{margin-top:24px;padding:20px 18px;border-radius:20px;background:var(--al);text-align:center;}
.rhs-close p{margin:0 0 8px;}
.rhs-quote{font-family:var(--rh-head,'Nunito',system-ui,sans-serif);font-weight:800;color:var(--bd);font-size:15.5px;line-height:1.45;}
.rhs-thanks{font-size:13px;color:var(--mut);margin:0;}

/* Di popup: semua ukuran huruf isi syarat +1pt (~1.33px). */
.rhs-dlg .rhs{font-size:16px;}
.rhs-dlg .rhs-h{font-size:20.5px;}
.rhs-dlg .rhs-h--sub{font-size:18px;}
.rhs-dlg .rhs-list li::before{font-size:15px;}
.rhs-dlg .rhs-list b,.rhs-dlg .rhs-info b{font-size:16px;}
.rhs-dlg .rhs-list span,.rhs-dlg .rhs-info span{font-size:15px;}
.rhs-dlg .rhs-quote{font-size:17px;}
.rhs-dlg .rhs-thanks{font-size:14.5px;}

/* popup */
.rhs-dlg{
  position:fixed;inset:0;margin:auto;height:fit-content;
  width:min(560px,calc(100% - 24px));max-height:calc(100dvh - 32px);
  padding:0;border:0;border-radius:26px;background:#fff;
  box-shadow:0 24px 60px rgba(0,37,139,.25);display:none;flex-direction:column;overflow:hidden;
}
.rhs-dlg[open]{display:flex;animation:rhs-in .35s cubic-bezier(.32,.72,0,1);}
.rhs-dlg::backdrop{background:rgba(0,26,99,.5);}
@keyframes rhs-in{from{opacity:0;transform:translateY(14px) scale(.98);}to{opacity:1;transform:none;}}
.rhs-scroll{overflow:auto;padding:24px 20px 8px;-webkit-overflow-scrolling:touch;outline:none;}
.rhs-scroll:focus-visible{box-shadow:inset 0 0 0 2px var(--rh-cyan,#00B4D8);}
.rhs-end{height:1px;}
.rhs-x{
  position:absolute;top:12px;right:12px;z-index:2;width:36px;height:36px;border-radius:50%;border:0;cursor:pointer;
  display:grid;place-items:center;background:var(--rh-alice,#E6F4FF);color:var(--rh-blue-dark,#2F78B3);
}
.rhs-x svg{width:18px;height:18px;}
.rhs-dlg .rhs-h{padding-right:40px;}
.rhs-foot{padding:12px 20px 18px;background:#fff;box-shadow:0 -10px 18px -14px rgba(0,37,139,.2);}
.rhs-ok{
  width:100%;min-height:48px;border:0;border-radius:999px;cursor:pointer;
  background:var(--rh-blue,#4090CD);color:#fff;font-family:var(--rh-head,'Nunito',system-ui,sans-serif);font-weight:800;font-size:15px;
  transition:transform .3s cubic-bezier(.32,.72,0,1),background .2s;
}
.rhs-ok:active{transform:scale(.98);}
@media (hover:hover){.rhs-ok:hover{background:var(--rh-blue-dark,#2F78B3);}}
.rhs-ok:focus-visible{outline:2px solid var(--rh-cyan,#00B4D8);outline-offset:3px;}
.rhs-ok[hidden],.rhs-hint[hidden]{display:none;}
.rhs-dlg.is-read .rhs-ok{animation:rhs-ok-in .3s cubic-bezier(.32,.72,0,1);}
@keyframes rhs-ok-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
/* petunjuk sebelum tombol muncul */
.rhs-hint{
  display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;margin:0;padding:8px 18px;text-align:center;line-height:1.35;
  border-radius:999px;background:var(--rh-alice,#E6F4FF);color:var(--rh-blue-dark,#2F78B3);
  font-family:var(--rh-text,'Open Sans',system-ui,sans-serif);font-size:14px;font-weight:600;
}
.rhs-hint svg{width:18px;height:18px;flex:none;animation:rhs-nudge 1.6s ease-in-out infinite;}
@keyframes rhs-nudge{0%,100%{transform:none;}50%{transform:translateY(3px);}}
.rhs-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}

/* centang persetujuan di form */
.rhs-consent{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:13.5px;line-height:1.5;color:var(--rh-body,#4A5563);}
.rhs-consent input{position:absolute;opacity:0;width:1px;height:1px;}
.rhs-box{
  flex:none;width:22px;height:22px;margin-top:1px;border-radius:7px;display:grid;place-items:center;
  background:#fff;box-shadow:inset 0 0 0 1.5px var(--rh-blue,#4090CD);color:transparent;
  transition:background .2s,color .2s;
}
.rhs-box svg{width:15px;height:15px;}
.rhs-consent input:checked + .rhs-box{background:var(--rh-blue,#4090CD);color:#fff;}
.rhs-consent input:focus-visible + .rhs-box{outline:2px solid var(--rh-cyan,#00B4D8);outline-offset:2px;}
.rhs-consent a{color:var(--rh-blue-dark,#2F78B3);font-weight:700;text-decoration:underline;text-underline-offset:2px;}
@media (prefers-reduced-motion:reduce){.rhs-dlg[open],.rhs-dlg.is-read .rhs-ok,.rhs-hint svg{animation:none;}}
