body{background:#f7f8f4;color:var(--tinta);font-family:'DM Sans',system-ui,sans-serif}
.booking-header{background:#fff;color:var(--tinta);border-bottom:1px solid var(--linea);min-height:70px;padding:14px clamp(20px,5vw,70px);display:flex;align-items:center;justify-content:space-between;gap:15px;font-weight:700}
.booking-back{color:var(--marca);font-size:.86rem}.booking-back:hover{text-decoration:underline}.booking-brand{font:800 1rem Manrope,system-ui,sans-serif}.booking-spacer{width:130px}
main{max-width:820px;margin:0 auto;padding:35px 20px 80px}.booking-intro{text-align:center;margin:0 auto 32px}.booking-intro h1{font-size:clamp(2.2rem,4vw,3.5rem);line-height:1.15;margin:11px 0}.booking-intro p{color:var(--suave);margin:0 0 28px}.booking-steps{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.booking-steps span{padding:8px 14px;border:1px solid var(--linea);border-radius:999px;background:#fff;color:var(--suave);font-size:.78rem;font-weight:700}.booking-steps .active{background:#e6efe8;color:var(--marca);border-color:#b8d0bf}
.card{padding:clamp(22px,4vw,35px);border:1px solid var(--linea);border-radius:22px;box-shadow:0 12px 40px #1b4c4020;margin-bottom:18px}.card h2{font:800 1.35rem Manrope,system-ui,sans-serif;margin-bottom:7px}.step-help{color:var(--suave);font-size:.92rem;margin:0 0 25px}.card label{font-size:.82rem;color:var(--tinta);font-weight:700;margin:18px 0 7px}.card select,.card input{background:#fbfcfa;border-color:#dce6de;border-radius:11px;padding:13px 14px;min-height:47px}.card select:focus,.card input:focus{outline:2px solid #a3c3af;outline-offset:1px}
.btn-primario{background:var(--marca);color:#fff;border-radius:11px;padding:13px 19px}.btn-primario:hover:not(:disabled){filter:brightness(1.12)}.btn-sec{background:#eaf0e9;border-radius:11px;padding:13px 19px;color:var(--marca)}.btn-primario:disabled{opacity:.5}
.service-price-note{margin:10px 0 3px;padding:9px 12px;background:#edf5ee;border-radius:9px;color:var(--marca);font-weight:700;font-size:.86rem}
.mes-tab,.dia-chip,.slot{border-radius:11px}.mes-tab.active,.dia-chip.sel,.slot.sel{background:var(--marca);border-color:var(--marca);color:#fff}.mes-tab:hover,.dia-chip:hover,.slot:hover{border-color:#a5c4af;background:#eaf2eb;color:var(--marca)}.slot.sel:hover,.dia-chip.sel:hover{background:var(--marca);color:#fff}.slot{background:#eff5ef;border-color:#cbdccd;color:var(--marca);min-width:75px;padding:12px 16px}.slots{gap:11px}
.horarios-prof-box{background:#f8faf7}.codigo{background:#eaf2eb;color:var(--marca)}
.cancel-details{margin-top:38px}.cancel-details summary{cursor:pointer;list-style:none;padding:18px 20px;border:1px solid var(--linea);background:#fff;border-radius:15px;color:var(--suave);font-size:.92rem;font-weight:700;display:flex;justify-content:space-between}.cancel-details summary::-webkit-details-marker{display:none}.cancel-details[open] summary{border-radius:15px 15px 0 0}.cancel-details[open] summary span{transform:rotate(180deg)}.cancel-card{border-radius:0 0 15px 15px;box-shadow:none;margin:0}.cancel-card .btn-primario{background:#435b57}
@media(max-width:600px){.booking-header{padding:13px 17px}.booking-brand{font-size:.75rem;text-align:right;max-width:46%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.booking-spacer{display:none}.booking-back{font-size:.78rem}main{padding:26px 14px 60px}.booking-intro{margin-bottom:25px}.booking-intro h1{font-size:2.3rem}.booking-steps{gap:5px}.booking-steps span{font-size:.66rem;padding:7px 8px}.card{padding:20px;border-radius:17px}.card h2{font-size:1.2rem}.card select,.card input{font-size:16px}.slot{min-width:69px}}
