.reservas-section{padding-block:clamp(3rem,6vw,5rem);padding-inline:var(--gutter);overflow-x:hidden}.reservas-layout{max-width:var(--maxw);margin:0 auto;display:grid;grid-template-columns:17rem 1fr;gap:3rem;align-items:end}.reservas-aside{position:sticky;top:5.5rem}.reservas-titulo{font-family:var(--font-display);font-size:clamp(2.2rem,4vw,3rem);font-weight:400;line-height:1.05;margin-top:.6rem;margin-bottom:1rem;color:var(--ink)}.reservas-desc{color:var(--muted);font-size:.95rem;line-height:1.65;margin-bottom:2rem}.aside-datos{display:flex;flex-direction:column;gap:.85rem;padding-bottom:2rem;margin-bottom:2rem;border-bottom:1px solid rgba(154,118,54,.18)}.aside-dato{display:flex;align-items:flex-start;gap:.6rem;font-size:.84rem;color:var(--muted);line-height:1.55}.aside-dato svg{flex-shrink:0;margin-top:.2rem;color:var(--gold)}.aside-dato a{color:var(--ink);font-weight:500;text-decoration:none}.aside-dato a:hover{color:var(--accent)}.horas-lista{display:flex;flex-direction:column;gap:.05rem}.aside-canales-titulo{font-weight:600;font-size:.88rem;color:var(--ink);margin-bottom:.4rem}.aside-canales-nota{font-size:.78rem;color:var(--muted);line-height:1.55;margin-bottom:1rem}.aside-canal-btns{display:flex;flex-direction:column;gap:.5rem}.canal-btn{display:flex;align-items:center;justify-content:center;gap:.55rem;font-size:.85rem;font-weight:600;padding:.65rem 1rem;border-radius:.45rem;text-decoration:none;transition:opacity .2s;white-space:nowrap;width:100%}.canal-btn:hover{opacity:.85}.canal-btn--wa{background:#25d366;color:#fff}.canal-btn--tel{background:var(--dark);color:#f5f0e8}@media(max-width:1000px){.reservas-layout{grid-template-columns:1fr;gap:2.5rem}.reservas-aside{position:static}.aside-canal-btns{flex-direction:row;flex-wrap:wrap}}.booking-widget{background:var(--surface);border:1px solid rgba(154,118,54,.2);border-radius:1.25rem;overflow:hidden;min-width:0}.reservas-main{min-width:0}.booking-steps{display:flex;align-items:center;padding:1.4rem 2rem;background:var(--dark);gap:0}.booking-step{display:flex;flex-direction:column;align-items:center;gap:.35rem;flex-shrink:0}.step-num{width:2.1rem;height:2.1rem;border-radius:50%;border:2px solid rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:.88rem;font-weight:500;color:#ffffff40;font-family:var(--font-display);transition:all .25s}.step-label{font-size:.7rem;color:#ffffff40;text-transform:uppercase;letter-spacing:.1em;transition:color .25s;white-space:nowrap}.booking-step.active .step-num{border-color:var(--gold);background:var(--gold);color:var(--dark);font-weight:700}.booking-step.active .step-label{color:#f0e6d4;font-weight:600}.booking-step.done .step-num{border-color:#c4a26080;background:#c4a2601f;color:#c4a260}.booking-step.done .step-label{color:#c4a260b3}.step-connector{flex:1;height:1px;background:#ffffff1a;margin-bottom:1.4rem}.b-panel{padding:2rem 2.5rem}.b-field{margin-bottom:1.6rem}.b-label{display:block;font-size:var(--step--1);font-weight:500;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:.7rem}.b-label abbr{text-decoration:none;color:var(--accent)}.select-wrap{position:relative}.select-wrap:after{content:"";position:absolute;right:1rem;top:50%;transform:translateY(-50%);border:5px solid transparent;border-top-color:var(--muted);pointer-events:none}.select-wrap select{width:100%;max-width:22rem;padding:.85rem 2.5rem .85rem 1rem;border:1px solid rgba(154,118,54,.22);border-radius:.5rem;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);appearance:none;cursor:pointer}.select-wrap select:focus{outline:2px solid var(--sea);outline-offset:2px}.info-box{background:#9a763612;border:1px solid rgba(154,118,54,.2);border-radius:.75rem;padding:1.25rem 1.5rem;margin-bottom:.5rem}.info-box p{color:var(--muted)}.info-box-cta{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1rem}.date-strip-wrap{display:flex;align-items:center;gap:.5rem}.date-nav{flex-shrink:0;width:2.8rem;height:2.8rem;border-radius:50%;border:1.5px solid rgba(154,118,54,.3);background:#fff;color:var(--ink);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .18s;box-shadow:0 1px 4px #0000000f}.date-nav:hover{background:var(--dark);color:#f0e6d4;border-color:var(--dark)}.b-btn-back{display:inline-flex;align-items:center;gap:.4rem}.b-btn-next{display:inline-flex;align-items:center;gap:.5rem}.date-strip-outer{flex:1;min-width:0;overflow-x:auto;scrollbar-width:none;padding:.5rem 0}.date-strip-outer::-webkit-scrollbar{display:none}.date-strip{display:flex;gap:.65rem}.date-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;width:5rem;height:5rem;border-radius:50%;border:2px solid rgba(154,118,54,.15);background:#fff;box-shadow:0 2px 6px #00000012;color:var(--ink);cursor:pointer;transition:all .18s;flex-shrink:0;font-family:var(--font-body)}.date-num{font-size:1.25rem;font-weight:700;line-height:1}.date-month{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gold);line-height:1}.date-day{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);line-height:1}.date-btn.selected .date-month,.date-btn.selected .date-day{color:#ffffffbf}.date-btn:hover:not([disabled]){background:var(--gold);color:#fff;border-color:var(--gold);box-shadow:0 4px 12px #9a76364d}.date-btn:hover:not([disabled]) .date-month{color:#ffffffe6}.date-btn:hover:not([disabled]) .date-day{color:#ffffffe6}.date-btn.selected{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 6px 18px #8c1f2c59;transform:scale(1.07)}.date-btn.selected .date-day{color:#ffffffe6}.date-btn--closed{opacity:.25;cursor:not-allowed}.service-tabs{display:flex;border:1px solid rgba(154,118,54,.22);border-radius:.5rem;overflow:hidden;width:fit-content}.service-tab{padding:.7rem 2rem;font-size:var(--step--1);font-weight:600;letter-spacing:.12em;text-transform:uppercase;cursor:pointer;background:#fff;color:var(--muted);border:none;transition:all .18s;display:flex;align-items:center;user-select:none}.service-tab input{display:none}.service-tab.selected{background:var(--dark);color:#f0e6d4}.service-tab:not(.selected):hover{background:#9a763614}.sunday-msg{color:var(--muted);font-size:var(--step--1);margin-top:.6rem;font-style:italic}.time-slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(6.5rem,1fr));gap:.5rem}.time-btn{padding:.75rem .25rem;background:var(--dark);color:#e4d4c2;border:none;border-radius:.375rem;font-size:var(--step-0);font-weight:500;cursor:pointer;text-align:center;transition:all .18s;font-family:var(--font-body)}.time-btn:hover{background:#2d1e18}.time-btn.selected{background:var(--accent);color:#fff;box-shadow:0 4px 14px #8c1f2c52}input[type=text],input[type=tel],input[type=email],textarea{width:100%;padding:.85rem 1rem;border:1px solid rgba(154,118,54,.22);border-radius:.5rem;background:#fff;color:var(--ink);font-family:var(--font-body);font-size:var(--step-0);transition:outline .15s,border-color .15s}input:focus,textarea:focus{outline:2px solid var(--sea);outline-offset:2px;border-color:transparent}textarea{resize:vertical}.checkbox-label{display:flex;align-items:center;gap:.75rem;cursor:pointer;font-size:var(--step-0);color:var(--ink)}.checkbox-label input[type=checkbox]{width:1.2rem;height:1.2rem;accent-color:var(--accent);cursor:pointer;border-radius:.25rem}.booking-summary{background:#fff;border:1px solid rgba(154,118,54,.18);border-radius:1rem;padding:1.5rem 1.75rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.6rem}.sum-line{font-size:var(--step-0);color:var(--ink);line-height:1.5}.sum-line strong{font-weight:600}.sum-date{font-size:var(--step-1);font-family:var(--font-display);font-weight:500;color:var(--ink)}.sum-sub{color:var(--muted);font-size:var(--step--1);margin-top:.25rem}.confirm-note{font-size:var(--step--1);color:var(--muted);line-height:1.65}.confirm-note a{color:var(--accent);font-weight:500}.b-nav{display:flex;justify-content:flex-end;gap:1rem;padding:1.25rem 2.5rem 1.75rem;border-top:1px solid rgba(154,118,54,.1)}.b-success{margin-top:2rem;text-align:center;padding:3rem 2rem;background:var(--surface);border:1px solid rgba(154,118,54,.2);border-radius:1.25rem}.success-icon{display:block;width:4rem;height:4rem;margin:0 auto 1.25rem;color:var(--sea)}.success-icon svg{width:100%;height:100%}.b-success h2{font-size:var(--step-2);margin-bottom:.75rem}.b-success p{color:var(--muted);max-width:34ch;margin:0 auto}@media(max-width:600px){.b-panel{padding:1.5rem 1.25rem}.b-nav{padding:1rem 1.25rem 1.4rem}.booking-steps{padding:1.1rem .75rem}.step-label{display:none}.time-slots{grid-template-columns:repeat(3,1fr)}}
