/* International driving licence application form + payment selection — additions to the "idl-apply" family */
.idl-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 14px}
@media (max-width:640px){.idl-grid{grid-template-columns:1fr}}
.idl-form .fld textarea,.idl-form .fld input[type=date]{border:1px solid var(--line);border-radius:12px;padding:12px 14px;font:inherit;background:#fff;width:100%}
.idl-form .fld + .ht-error,.idl-form .fld > .ht-error{margin:-6px 0 10px}
.idl-form .idl-doc{margin-bottom:6px}
.idl-form .idl-doc > .ht-help{display:block;margin:-6px 0 10px}
.idl-req{color:#c0392b;font-style:normal}
.idl-opt{color:var(--muted);font-weight:500;font-size:13px}
/* real file input kept in the form, visually hidden inside the design's upload row */
.ht-form.idl-form input.idl-file,.idl-form input.idl-radio{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0;opacity:0}
.idl-upl{position:relative;cursor:pointer}
.idl-upl .idl-fname{word-break:break-all}
.idl-upl:focus-within,.idl-form .opt:focus-within{outline:2px solid var(--teal);outline-offset:2px}
.idl-upl.is-invalid,.idl-form .opt.is-invalid{border-color:#d64545}
.idl-form label.opt{position:relative}
.idl-form .opt:has(input:checked){border-color:var(--teal);background:#eefaf7}
.idl-form .opt:has(input:checked) i{border-color:var(--teal);background:var(--teal);box-shadow:inset 0 0 0 3px #fff}
.idl-form .price-summary{margin-top:12px;border-top:1px dashed var(--line);padding-top:12px}
.idl-discount,.idl-discount b{color:#0f8a5f}
/* payment selection */
.idl-pay-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
@media (max-width:640px){.idl-pay-grid{grid-template-columns:1fr}}
.idl-paycard{display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;border:1px solid var(--line);border-radius:16px;padding:22px 18px;background:#fff}
.idl-paycard.main{border:2px solid var(--teal);background:#f4fbf9}
.idl-paycard .pc-ic{width:54px;height:54px;border-radius:16px;background:var(--soft);display:flex;align-items:center;justify-content:center;color:var(--teal-d)}
.idl-paycard .pc-ic svg{width:26px;height:26px}
.idl-paycard b{color:var(--navy);font-size:17px}
.idl-paycard p{color:var(--muted);font-size:14px;margin:0 0 6px}
.idl-paycard .btn{width:100%;margin-top:auto}
.idl-paycard .btn-ghost{background:#fff;color:var(--navy);border:1px solid var(--line)}
/* validate.js forces .navbtns .btn{display:inline-flex!important}; keep the hidden next/submit button hidden */
.stickybar .navbtns .btn[hidden],.idl-pane[hidden]{display:none!important}

/* ===== 3-step IDL flow (new design) ===== */
.idl-err{display:block;color:#c0392b;font-size:12.5px;font-weight:600;margin-top:8px;line-height:1.7}
.idl-upl{cursor:pointer}
.idl-upl.done{border-color:#bfe8dc;background:#f4fbf9}
.idl-upl [data-state] .linkbtn{border:0;background:none;color:#c0392b;font:inherit;font-weight:700;cursor:pointer;padding:0 2px}
.drvcard + .drvcard{margin-top:14px}
.spin3{width:16px;height:16px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;display:inline-block;vertical-align:-3px;margin-inline-end:8px;animation:sp3 .8s linear infinite}
@keyframes sp3{to{transform:rotate(360deg)}}
