:root{--navy:#253767;--navy-d:#1a2a50;--orange:#f15330;--orange-h:#d4401f;--white:#fff;--light:#f4f7fc;--border:#dde3ee;--txt:#363b46;--txt-s:#5a6270;--green:#1f7a5a;--red:#b42318}
*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--white)}
body{font-family:'Poppins',system-ui,-apple-system,'Segoe UI',sans-serif;font-size:16px;line-height:1.6;color:var(--txt);padding:30px 32px 34px}
@media (max-width:640px){body{padding:22px 18px 26px}}
h2{color:var(--navy);font-size:1.15rem;font-weight:700;line-height:1.3;margin-bottom:6px}
p{color:var(--txt-s)}
.fg{margin-bottom:20px}
.fg>label,.fg>.lbl{display:block;font-size:.86rem;font-weight:600;color:var(--navy);margin-bottom:8px;line-height:1.5}
input[type=text],input[type=email],input[type=tel],select,textarea{width:100%;padding:12px 14px;border:1px solid var(--border);border-radius:6px;font:inherit;font-size:.93rem;color:var(--txt);background:var(--white)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px rgba(37,55,103,.1)}
textarea{min-height:110px;resize:vertical}
.tel{display:grid;grid-template-columns:minmax(120px,38%) 1fr;gap:8px}
.ops{display:grid;gap:8px}
.op{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:8px;padding:11px 13px;cursor:pointer;font-size:.9rem;line-height:1.45;color:var(--txt)}
.op:hover{border-color:var(--navy)}
.op input{margin-top:4px;accent-color:var(--orange);flex-shrink:0}
.op:has(input:checked){border-color:var(--orange);background:#fff6f3}
.nota{font-size:.78rem;color:var(--txt-s);margin-top:6px;line-height:1.5}
.err{display:none;font-size:.8rem;color:var(--red);font-weight:600;margin-top:6px}
.fg.mal .err{display:block}
.fg.mal input,.fg.mal textarea,.fg.mal .ops{border-color:var(--red)}
.btn{display:flex;align-items:center;justify-content:center;gap:9px;width:100%;padding:15px 28px;border-radius:5px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;border:none;color:#fff;background:var(--orange);transition:background .2s}
.btn:hover{background:var(--orange-h)}
.btn:disabled{opacity:.6;cursor:wait}
.btn:focus-visible,.op:focus-within,.hora:focus-visible,.dia:focus-visible{outline:3px solid rgba(241,83,48,.45);outline-offset:2px}
.aviso{border-radius:8px;padding:12px 14px;font-size:.88rem;margin-bottom:16px;line-height:1.5}
.aviso.mal{background:#fdecea;color:var(--red)}
.aviso.ok{background:#e8f5ef;color:var(--green)}
.oculto{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
[hidden]{display:none!important}
.zona{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:.82rem;color:var(--txt-s);margin-bottom:16px}
.zona select{width:auto;padding:6px 10px;font-size:.82rem}
.dias{display:flex;gap:8px;overflow-x:auto;padding-bottom:6px;margin-bottom:16px;scrollbar-width:thin}
.dia{flex:0 0 auto;min-width:84px;border:1px solid var(--border);background:var(--white);border-radius:10px;padding:9px 10px;text-align:center;cursor:pointer;font:inherit;color:var(--navy)}
.dia b{display:block;font-size:.72rem;letter-spacing:1px;text-transform:uppercase;color:var(--txt-s);font-weight:600}
.dia span{font-size:1.05rem;font-weight:700}
.dia small{display:block;font-size:.7rem;color:var(--txt-s)}
.dia[aria-pressed=true]{border-color:var(--orange);background:#fff6f3}
.horas{display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:8px;margin-bottom:18px}
.hora{border:1px solid var(--border);border-radius:8px;padding:11px 6px;background:var(--white);font:inherit;font-weight:600;font-size:.92rem;color:var(--navy);cursor:pointer;font-variant-numeric:tabular-nums}
.hora:hover{border-color:var(--navy)}
.hora[aria-pressed=true]{background:var(--navy);color:#fff;border-color:var(--navy)}
.confirma{border:1px solid var(--border);border-radius:10px;padding:16px;background:var(--light)}
.confirma p{margin-bottom:12px;color:var(--txt)}
.vacio{text-align:center;padding:26px 10px}
.vacio a{color:var(--orange);font-weight:600}
