/* /visiter-form/ — "Registration card": single focused card, two-step strip (details → OTP), big tap targets */
.p-visiter-form .pc--html{background:linear-gradient(var(--stone) 0 240px,var(--stone-2) 240px)}
.p-visiter-form .vf{max-width:600px;margin:0 auto}
.p-visiter-form .vf-title{margin:0 0 6px;text-align:center;font-size:clamp(24px,3vw,30px);letter-spacing:.03em;text-transform:uppercase;color:var(--olive-900)}
.p-visiter-form .vf-card{margin-top:22px;padding:30px clamp(18px,4vw,34px) 28px;background:#fff;border:1px solid var(--line);border-top:6px solid var(--army);box-shadow:var(--shadow-lg)}
.p-visiter-form .vf-card::before{content:"Step 1 \2014  Your details  \00B7  Step 2 \2014  Verify OTP";display:block;margin:-6px 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--brass-700)}
.p-visiter-form .vf-form{display:grid;gap:16px}
.p-visiter-form .vf-row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.p-visiter-form .vf-field{min-width:0;margin:0;padding:0;border:0}
.p-visiter-form .vf-field>label,.p-visiter-form .vf-gender legend,.p-visiter-form .vf-otp>label{display:block;margin-bottom:6px;padding:0;font-size:15.5px;font-weight:700;line-height:1.4;color:var(--ink)}
.p-visiter-form .vf-form input:not([type=radio]),.p-visiter-form .vf-form select,.p-visiter-form .vf-form textarea{display:block;width:100%;min-height:50px;padding:11px 14px;font-family:var(--ff-body);font-size:16px;color:var(--ink);background-color:var(--stone-2);border:1px solid #B9C2B4;border-bottom:2px solid var(--army-600);border-radius:var(--r);transition:border-color .15s,background-color .15s,box-shadow .15s}
.p-visiter-form .vf-form textarea{resize:vertical;min-height:90px}
.p-visiter-form .vf-form input:not([type=radio]):focus,.p-visiter-form .vf-form select:focus,.p-visiter-form .vf-form textarea:focus{outline:0;background-color:#fff;border-color:var(--army);box-shadow:0 0 0 3px rgb(var(--gold-rgb) / .45)}
.p-visiter-form .vf-gender{display:flex;flex-wrap:wrap;gap:10px}
.p-visiter-form .vf-gender legend{width:100%;float:left}
.p-visiter-form .vf-gender label{display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:8px 20px;font-weight:600;background:var(--stone-2);border:1px solid #B9C2B4;border-radius:var(--r);cursor:pointer}
.p-visiter-form .vf-gender label:has(input:checked){background:rgb(var(--army-rgb) / .1);border-color:var(--army);color:var(--army)}
.p-visiter-form .vf-gender input{width:18px;height:18px;margin:0;accent-color:var(--army)}
.p-visiter-form .vf-error{display:block;margin-top:6px;font-size:14px;font-weight:600;color:#B3261E}
.p-visiter-form .vf-error[hidden]{display:none}
.p-visiter-form .vf-btn{width:100%;min-height:54px;margin-top:4px;border:0;background:var(--army-600);color:#fff;font-family:var(--ff-head);font-size:20px;font-weight:800;letter-spacing:.06em;cursor:pointer;clip-path:polygon(0 0,calc(100% - 12px) 0,100% 12px,100% 100%,0 100%);transition:background .15s}
.p-visiter-form .vf-btn:hover{background:var(--maroon)}
.p-visiter-form .vf-btn:focus-visible{outline:3px solid var(--gold);outline-offset:2px}
.p-visiter-form .vf-btn:disabled{opacity:.6;cursor:wait}
.p-visiter-form .vf-btn--submit{background:var(--army);margin-top:14px}
.p-visiter-form .vf-otp{padding:14px 16px 18px;background:var(--brass-tint);border-left:4px solid var(--gold)}
.p-visiter-form .vf-otp[hidden]{display:none}
.p-visiter-form .vf-otp input{letter-spacing:.4em;font-size:20px!important;text-align:center}
.p-visiter-form .vf-msg{font-size:15.5px;font-weight:600;text-align:center}
.p-visiter-form .vf-msg:not(:empty){padding:10px 12px;background:var(--stone-2);border:1px solid var(--line)}
.p-visiter-form .vf-msg.is-ok{color:var(--army);border-color:var(--army)}
.p-visiter-form .vf-msg.is-err{color:#B3261E;border-color:#E3B4B0;background:#FBEDEC}
@media (max-width:560px){
  .p-visiter-form .vf-row{grid-template-columns:1fr}
  .p-visiter-form .vf-card{padding:24px 16px}
}
