/* Rumahati: gaya "Formulir Pendaftaran Hipnoterapi" (shared/js/rh-regform.js).
   Token Rumahati dengan nilai cadangan agar aman di halaman yang tidak memuat rumahati.css. */
.rrf{
  --b:var(--rh-blue,#4090CD);--bd:var(--rh-blue-dark,#2F78B3);--al:var(--rh-alice,#E6F4FF);
  --ink:var(--rh-carbon,#1D1D1D);--mut:var(--rh-muted,#5F6B7A);--ln:#C9DDEE;
  border:0;margin:0 0 16px;padding:0;min-width:0;
  font-family:var(--rh-text,'Open Sans',system-ui,sans-serif);
}
.rrf *{box-sizing:border-box;}
.rrf-title{
  padding:0;margin:0 0 14px;font-family:var(--rh-head,'Nunito',system-ui,sans-serif);
  font-weight:800;font-size:16px;color:var(--ink);
}
.rrf-field{margin:0 0 16px;position:relative;}
.rrf-row{display:grid;grid-template-columns:1fr 1.4fr;gap:14px;}
.rrf-label{
  display:block;margin:0 0 8px;font-size:12.5px;font-weight:700;color:var(--mut);letter-spacing:.02em;
}
.rrf-q{font-size:14px;color:var(--ink);letter-spacing:0;line-height:1.45;font-weight:700;}
.rrf-opt-txt{font-weight:500;color:var(--mut);}
.rrf-input{
  display:block;width:100%;height:48px;padding:0 16px;border-radius:14px;border:1.5px solid var(--ln);
  background:#fff;color:var(--ink);font:500 16px/1.4 var(--rh-text,'Open Sans',system-ui,sans-serif);
  outline:none;transition:border-color .2s,box-shadow .2s;
}
.rrf-input:hover{border-color:#a9c6e0;}
.rrf-input:focus{border-color:var(--b);box-shadow:0 0 0 3px rgba(64,144,205,.18);}
.rrf-input::placeholder{color:#8a97a6;font-weight:400;}
.rrf-area{height:auto;min-height:84px;padding:12px 16px;resize:vertical;line-height:1.55;}
.rrf-count{display:block;text-align:right;margin-top:4px;font-size:11.5px;color:var(--mut);}
.rrf-sub{margin-top:12px;}
.rrf-sub[hidden]{display:none;}

.rrf-seg{display:flex;gap:10px;flex-wrap:wrap;}
.rrf-opt{flex:1 1 120px;position:relative;cursor:pointer;margin:0;}
.rrf-opt input{position:absolute;opacity:0;width:0;height:0;}
.rrf-opt span{
  display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 14px;border-radius:14px;
  border:1.5px solid var(--ln);background:#fff;color:var(--ink);
  font:600 15px var(--rh-head,'Nunito',system-ui,sans-serif);text-align:center;
  transition:border-color .2s,background .2s,color .2s;
}
.rrf-opt:hover span{border-color:#a9c6e0;}
.rrf-opt input:checked + span{border-color:var(--b);background:var(--al);color:var(--bd);}
.rrf-opt input:focus-visible + span{box-shadow:0 0 0 3px rgba(64,144,205,.3);}

/* jenis kelamin + usia + kota dalam satu baris; jenis kelamin jadi satu kontrol bersambung */
.rrf-trio{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.6fr) minmax(0,1fr);gap:8px;}
.rrf-trio .rrf-label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.rrf-trio .rrf-input{padding:0 12px;}
.rrf-trio .rrf-seg{
  flex-wrap:nowrap;gap:0;padding:3px;height:48px;border:1.5px solid var(--ln);border-radius:14px;background:#fff;
}
.rrf-trio .rrf-opt{flex:1 1 0;min-width:0;}
.rrf-trio .rrf-opt span{
  height:100%;min-height:0;padding:0 4px;border:0;border-radius:10px;font-size:14px;color:var(--mut);
}
.rrf-trio .rrf-opt input:checked + span{background:var(--b);color:#fff;}

@media (max-width:520px){
  .rrf-row{grid-template-columns:1fr;gap:0;}
}
@media (prefers-reduced-motion:reduce){
  .rrf-input,.rrf-opt span{transition:none;}
}
