.real-logo{display:block;object-fit:contain;filter:invert(1);width:63px;height:46px;flex:none}.wizard-topbar{position:relative;z-index:4;height:80px}.wizard-topbar .brand{gap:8px}.wizard-topbar .brand strong{font-size:13px}.wizard-shell{position:relative;isolation:isolate;min-height:calc(100dvh - 80px);overflow:hidden}.step-backdrop{position:absolute;inset:0;z-index:-2;background-image:url('/assets/hero-mobile.webp');background-size:cover;background-position:center;transition:opacity .35s ease,transform 1s ease;transform:scale(1.04)}.step-backdrop.changing{opacity:.2;transform:scale(1.1)}.step-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgba(8,6,5,.77),rgba(8,6,5,.38) 57%,rgba(8,6,5,.65)),linear-gradient(0deg,#0b0908 0%,transparent 45%,rgba(11,9,8,.25))}.wizard-container{display:grid;grid-template-columns:minmax(260px,.85fr) minmax(490px,1fr);gap:clamp(32px,5vw,90px);align-items:center;min-height:calc(100dvh - 80px);padding-block:50px 70px}.wizard-intro{align-self:center;max-width:480px}.hero-logo{width:155px;height:112px;margin:0 0 25px}.wizard-intro .eyebrow{display:block;font-size:10px;letter-spacing:.26em}.wizard-intro h1{font-family:Manrope,sans-serif;font-size:clamp(42px,5vw,74px);line-height:1.07;letter-spacing:-.07em;margin:22px 0}.wizard-intro h1 em{font-family:Georgia,serif;color:var(--accent-soft);font-weight:400}.wizard-intro p{font-size:15px;line-height:1.75;color:#ebdfd2;max-width:410px}.intro-separator{height:1px;background:rgba(255,235,205,.32);max-width:210px;margin:28px 0 17px}.intro-location{font-size:10px;letter-spacing:.2em;color:var(--accent-soft)}.wizard-card{background:linear-gradient(150deg,rgba(33,25,19,.95),rgba(18,14,11,.96));border:1px solid rgba(237,205,166,.27);border-radius:26px;box-shadow:0 28px 90px rgba(0,0,0,.48);backdrop-filter:blur(28px);min-height:680px;display:flex;flex-direction:column;overflow:hidden}.wizard-progress{padding:28px 36px 0}.progress-top{display:flex;justify-content:space-between;color:var(--accent-soft);font-weight:800;font-size:10px;letter-spacing:.19em}.progress-top span:last-child{color:#c9b9a7;letter-spacing:.04em;text-transform:none}.progress-track{height:3px;background:rgba(241,216,183,.17);border-radius:3px;margin-top:14px;overflow:hidden}.progress-track span{display:block;height:100%;width:25%;background:linear-gradient(90deg,#d8983d,#ffe0aa);box-shadow:0 0 12px rgba(237,183,110,.6);transition:width .45s cubic-bezier(.22,1,.36,1)}.progress-dots{display:flex;justify-content:space-between;margin-top:-6px;position:relative}.progress-dots i{width:10px;height:10px;border:2px solid #71563a;border-radius:50%;background:#21170e}.progress-dots i.current{background:var(--accent-soft);border-color:var(--accent-soft);box-shadow:0 0 0 4px rgba(217,160,76,.13)}.wizard-card form{flex:1;display:flex;flex-direction:column;min-height:0}.wizard-step{padding:28px 36px 20px;flex:1;animation:step-enter .43s cubic-bezier(.22,1,.36,1) both}.wizard-step[hidden]{display:none!important}@keyframes step-enter{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}.step-heading{margin-bottom:26px}.step-orbit{width:50px;height:50px;margin:0 0 18px;display:grid;place-items:center;position:relative;border-radius:50%;background:#251a11}.step-orbit:before{content:'';position:absolute;inset:0;border-radius:50%;border:2px solid transparent;background:conic-gradient(from 0deg,transparent 0 35%,var(--accent-soft) 60%,transparent 100%) border-box;mask:linear-gradient(#000 0 0) padding-box,linear-gradient(#000 0 0);mask-composite:exclude;animation:orbit 1.1s ease-out both}.step-orbit span{font-size:14px;color:var(--accent-soft);font-weight:800}.step-kicker{color:var(--accent-soft);font-size:10px;font-weight:800;letter-spacing:.18em}.step-heading h2{font-size:clamp(26px,2.9vw,40px);line-height:1.13;letter-spacing:-.06em;margin:9px 0}.step-heading p{font-size:13px;line-height:1.55;color:#c5b5a4;max-width:430px;margin:0}.wizard-step .field{margin-bottom:17px}.wizard-step .field>span,.guest-label{font-size:13px;color:#f3e6d6;font-weight:800}.wizard-step .field input,.wizard-step .field textarea{min-height:54px;border-radius:12px;font-size:15px;padding:13px 16px;background:rgba(9,7,6,.8)}.wizard-step .field textarea{min-height:85px}.big-field input{min-height:59px!important}.guest-row{border:1px solid var(--line);border-radius:13px;background:rgba(10,8,6,.59);min-height:81px;padding:15px 17px;display:flex;align-items:center;justify-content:space-between;gap:10px}.guest-row>div:first-child{display:flex;flex-direction:column;gap:4px}.guest-row small{color:var(--muted);font-size:11px}.guest-stepper{display:flex;align-items:center;gap:10px}.guest-stepper button{height:40px;width:40px;border-radius:50%;border:1px solid rgba(232,185,121,.5);background:#352519;color:var(--accent-soft);font-size:23px;line-height:1}.guest-stepper button:active{transform:scale(.92)}.guest-stepper output{min-width:23px;text-align:center;font-family:Manrope,sans-serif;font-size:22px;font-weight:800}.slot-area{margin-top:22px}.slot-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;max-height:165px;overflow:auto;margin-top:10px;padding-right:2px}.slot-grid>p{font-size:12px;color:var(--muted);grid-column:1/-1}.slot-choice{min-height:43px;border-radius:10px;border:1px solid var(--line);background:rgba(13,10,8,.8);color:#ead6bc;font-size:12px;font-weight:700}.slot-choice:hover,.slot-choice.selected{border-color:var(--accent);background:rgba(217,160,76,.16);color:var(--accent-soft)}.occasion-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:12px 0 24px}.occasion-choice{min-height:57px;border:1px solid var(--line);background:rgba(10,8,6,.6);border-radius:12px;color:#dfd0bf;font-size:13px;font-weight:700;padding:10px 14px;text-align:left}.occasion-choice:before{content:'✧';color:var(--accent);margin-right:9px}.occasion-choice:hover,.occasion-choice.selected{border-color:var(--accent);background:rgba(217,160,76,.14);color:#fff}.wizard-step .product-card{background:rgba(10,8,6,.59);padding:15px}.wizard-step .product-card h4{font-size:14px}.wizard-step .quantity-control button{width:36px;height:36px;font-size:17px}.extras-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);margin-top:20px;padding-top:17px}.extras-total span{font-size:10px;font-weight:800;letter-spacing:.15em;color:var(--muted)}.extras-total strong{font-size:24px;color:var(--accent-soft)}.review-summary{border:1px solid rgba(217,160,76,.27);border-radius:13px;background:rgba(217,160,76,.07);padding:16px;margin-top:20px;font-size:12px;line-height:1.7;color:#e2d2be}.review-summary strong{display:block;color:var(--accent-soft);font-size:10px;letter-spacing:.13em;margin-bottom:5px}.wizard-actions{display:flex;gap:12px;justify-content:flex-end;padding:20px 36px 30px;border-top:1px solid var(--line);margin-top:auto}.wizard-actions .button{min-height:50px;font-size:13px}.wizard-actions .button.primary{min-width:185px}.wizard-actions .button.secondary{min-width:110px}.wizard-actions button[hidden]{display:none}.wizard-card .alert{margin:10px 36px 0}.group-dialog{border:none;background:transparent;padding:0;width:min(430px,calc(100% - 24px));max-height:calc(100dvh - 24px);overflow:visible}.group-dialog::backdrop{background:rgba(3,2,2,.74);backdrop-filter:blur(10px)}.group-cloud{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;border:1px solid rgba(243,206,152,.45);border-radius:34px;background:radial-gradient(circle at 50% 0%,rgba(222,144,65,.28),transparent 48%),#201710;color:var(--text);padding:34px 30px 27px;box-shadow:0 30px 90px #0009}.group-cloud:after{content:'';position:absolute;bottom:-12px;width:28px;height:28px;transform:rotate(45deg);background:#201710;border-right:1px solid rgba(243,206,152,.45);border-bottom:1px solid rgba(243,206,152,.45);z-index:-1}.group-cloud img{width:85px;height:62px;object-fit:contain;filter:invert(1);margin-bottom:15px}.group-cloud h2{font-size:28px;letter-spacing:-.05em;line-height:1.15;margin:13px 0}.group-cloud p{font-size:13px;line-height:1.6;color:#d6c6b4}.group-cloud .button{margin-top:9px}
@keyframes orbit{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
@media(max-width:1050px){.wizard-container{grid-template-columns:minmax(200px,.7fr) minmax(440px,1fr);gap:25px}.wizard-intro h1{font-size:46px}}
@media(max-width:760px){.wizard-page{background:#0a0807}.wizard-topbar{height:66px;width:100%;padding-inline:15px;background:rgba(8,6,5,.72);backdrop-filter:blur(18px)}.wizard-topbar .real-logo{width:49px;height:39px}.wizard-topbar .brand strong{font-size:11px}.wizard-topbar .brand small{font-size:7px;max-width:135px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wizard-topbar .top-link{font-size:10px}.wizard-shell{min-height:calc(100dvh - 66px)}.step-backdrop{position:fixed;top:66px;bottom:0;background-position:center}.step-shade{position:fixed;top:66px;bottom:0;background:linear-gradient(180deg,rgba(7,5,4,.28) 0%,rgba(7,5,4,.52) 26%,rgba(7,5,4,.82) 100%)}.wizard-container{width:100%;min-height:calc(100dvh - 66px);display:flex;flex-direction:column;gap:0;padding:0}.wizard-intro{width:100%;max-width:none;padding:17px 22px 15px;align-self:auto}.wizard-intro .hero-logo,.wizard-intro p,.intro-separator,.intro-location{display:none}.wizard-intro .eyebrow{font-size:9px}.wizard-intro h1{font-size:26px;line-height:1.08;margin:5px 0 0}.wizard-card{width:100%;flex:1;min-height:calc(100dvh - 145px);border-radius:25px 25px 0 0;border-inline:0;border-bottom:0;background:linear-gradient(160deg,rgba(25,18,13,.87),rgba(15,11,9,.92));backdrop-filter:blur(22px);box-shadow:0 -20px 60px rgba(0,0,0,.3)}.wizard-progress{padding:22px 21px 0}.wizard-step{padding:23px 21px 12px;min-height:0;overflow-y:auto}.step-heading{margin-bottom:21px}.step-orbit{width:42px;height:42px;margin-bottom:14px}.step-orbit span{font-size:12px}.step-kicker{font-size:9px}.step-heading h2{font-size:clamp(29px,8vw,38px);margin:8px 0}.step-heading p{font-size:14px;line-height:1.45}.wizard-step .field{margin-bottom:17px}.wizard-step .field>span,.guest-label{font-size:14px}.wizard-step .field input,.wizard-step .field textarea{min-height:58px;font-size:16px}.guest-row{min-height:82px}.guest-stepper button{width:44px;height:44px}.slot-grid{grid-template-columns:repeat(3,minmax(0,1fr));max-height:185px}.slot-choice{min-height:48px;font-size:12px}.occasion-choice{font-size:14px;min-height:62px}.wizard-actions{position:sticky;bottom:0;z-index:2;padding:13px 18px calc(13px + env(safe-area-inset-bottom));background:rgba(18,13,10,.96);backdrop-filter:blur(16px);border-top:1px solid rgba(238,210,167,.24)}.wizard-actions .button{min-height:56px;font-size:15px}.wizard-actions .button.primary{flex:1}.wizard-actions .button.secondary{min-width:105px}.wizard-card .alert{margin:5px 20px}.product-card{min-height:95px}.group-cloud{padding:30px 21px 25px}}
@media(max-width:380px){.occasion-options{gap:7px}.occasion-choice{font-size:12px;padding:9px}.wizard-intro h1{font-size:24px}.slot-grid{gap:6px}.slot-choice{font-size:11px}}
@media(prefers-reduced-motion:reduce){.wizard-step,.step-orbit:before{animation:none!important}.step-backdrop,.progress-track span{transition:none!important}}
@media(max-width:760px){.step-shade{background:linear-gradient(180deg,rgba(7,5,4,.13) 0%,rgba(7,5,4,.34) 28%,rgba(7,5,4,.58) 100%)}.wizard-card{position:relative;isolation:isolate;background:linear-gradient(160deg,rgba(22,15,10,.73),rgba(13,9,7,.81));backdrop-filter:blur(9px)}.wizard-card:before{content:'';position:absolute;inset:0;z-index:0;pointer-events:none;background-image:var(--step-image,url('/assets/hero-mobile.webp'));background-position:center;background-size:cover;opacity:.17;mask-image:linear-gradient(180deg,#000,transparent 90%)}.wizard-card>*{position:relative;z-index:1}.wizard-topbar .real-logo{width:61px;height:47px}}
@media(max-width:760px){.wizard-page{height:100dvh;overflow:hidden}.wizard-container{height:calc(100dvh - 66px);overflow:hidden}.wizard-card{min-height:0;height:auto;flex:1}.wizard-card form{min-height:0;overflow:hidden}.wizard-step{min-height:0;overscroll-behavior:contain;padding-bottom:24px}.wizard-actions{position:relative;flex:none}}
.step-orbit:before{animation:orbit 5s linear infinite}
.wizard-step .field input[type=date]{color-scheme:dark}
.wizard-step .field .field-note{display:block;margin-top:6px;font-size:11px;color:#baa994;font-weight:500}
@media(prefers-reduced-motion:reduce){.step-orbit:before{animation:none}}
.offline-link{display:block;margin:10px 36px;color:var(--accent-soft);font-size:13px;font-weight:800}.offline-link[hidden]{display:none}
@media(max-width:760px){.offline-link{margin:10px 21px}}
.retry-availability{min-height:42px;margin-top:9px;font-size:12px}.retry-availability[hidden]{display:none}
/* En iOS, el desplazamiento pertenece a la página: evita que el selector de hora
   quede atrapado en un contenedor interior detrás del botón fijo. */
@media(max-width:760px){
  .wizard-page{height:auto;min-height:100svh;overflow-x:hidden;overflow-y:auto}
  .wizard-shell{min-height:0;overflow:visible}
  .wizard-container{height:auto;min-height:0;overflow:visible;padding-bottom:0}
  .wizard-intro{display:none}
  .wizard-card{height:auto;min-height:calc(100svh - 66px);flex:none;overflow:visible;border-radius:23px 23px 0 0;backdrop-filter:none}
  .wizard-card form{display:block;overflow:visible;min-height:0;padding-bottom:calc(92px + env(safe-area-inset-bottom))}
  .wizard-progress{padding:19px 20px 0}
  .wizard-step{overflow:visible;min-height:0;padding:21px 20px 29px}
  .step-heading{margin-bottom:19px}
  .step-orbit{margin-bottom:12px}
  .wizard-step .field input,.wizard-step .field textarea{font-size:16px}
  .guest-row{flex-wrap:wrap;gap:10px}
  .slot-grid{max-height:none;overflow:visible;grid-template-columns:repeat(3,minmax(0,1fr))}
  .slot-choice{min-height:50px}
  .wizard-actions{position:fixed;left:0;right:0;bottom:var(--visual-bottom-gap,0px);z-index:15;margin:0;padding:11px 16px calc(11px + env(safe-area-inset-bottom));background:rgba(17,12,9,.98);box-shadow:0 -12px 36px rgba(0,0,0,.25)}
  .wizard-actions .button{min-height:54px}
  .wizard-card .alert{margin:8px 20px 0}
  .wizard-card:before{border-radius:23px 23px 0 0}
}
@media(max-width:380px){
  .wizard-topbar .brand small{max-width:105px}
  .wizard-intro h1{font-size:27px}
  .wizard-step{padding-inline:17px}
  .guest-stepper{gap:6px}
  .guest-stepper button{width:42px;height:42px}
}
.calendar-field{gap:9px}
.booking-calendar{width:100%;padding:16px;border:1px solid rgba(232,196,144,.3);border-radius:17px;background:rgba(9,7,6,.78);box-shadow:0 15px 40px rgba(0,0,0,.14)}
.booking-calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:17px}
.booking-calendar-header>div{text-align:center;display:grid;gap:2px}
.booking-calendar-header small{font-size:9px;font-weight:800;letter-spacing:.2em;color:var(--accent-soft)}
.booking-calendar-header strong{font-family:Manrope,sans-serif;font-size:19px;letter-spacing:-.04em;text-transform:capitalize}
.booking-calendar-arrow{display:grid;place-items:center;flex:none;width:42px;height:42px;border-radius:12px;border:1px solid rgba(232,196,144,.4);background:#302116;color:var(--accent-soft);font-size:27px;line-height:1}
.booking-calendar-arrow:disabled{opacity:.3;cursor:not-allowed}
.booking-calendar-weekdays,.booking-calendar-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px}
.booking-calendar-weekdays{margin-bottom:7px}
.booking-calendar-weekdays span{text-align:center;font-size:11px;font-weight:800;color:#c9b7a2}
.booking-calendar-day,.calendar-spacer{min-width:0;min-height:44px;border-radius:10px}
.booking-calendar-day{border:1px solid transparent;background:#1a140f;color:#f7f1e9;font-family:Manrope,sans-serif;font-size:14px;font-weight:800;transition:transform .16s,background .16s,border-color .16s}
.booking-calendar-day.available{background:#183626;border-color:#3e9160;color:#d9ffe4}
.booking-calendar-day.available:hover{background:#245035;transform:translateY(-2px)}
.booking-calendar-day.unavailable{background:#44201e;border-color:#955047;color:#ffd3cd;opacity:.78}
.booking-calendar-day.past{background:#1b1714;color:#766d63;opacity:.55}
.booking-calendar-day.loading{background:#211a15;color:#8c7d6c;opacity:.7}
.booking-calendar-day.selected{outline:2px solid var(--accent-soft);outline-offset:2px;background:#306845;color:#fff}
.booking-calendar-day:disabled{cursor:not-allowed}
.booking-calendar-legend{display:flex;flex-wrap:wrap;gap:7px 16px;padding-top:15px;color:#ddd0c1;font-size:11px;font-weight:700}
.booking-calendar-legend span{display:inline-flex;align-items:center;gap:7px}
.booking-calendar-legend i{width:10px;height:10px;border-radius:3px;display:inline-block}
.booking-calendar-legend i.available{background:#4cb573}
.booking-calendar-legend i.unavailable{background:#c45d50}
.calendar-message{font-size:12px;line-height:1.5;color:#d9c7b2;margin:3px 0 0}
.calendar-retry{min-height:42px;margin-top:5px}
.calendar-retry[hidden]{display:none}
@media(max-width:760px){
  .booking-calendar{padding:13px}
  .booking-calendar-day,.calendar-spacer{min-height:44px}
  .booking-calendar-legend{font-size:10px}
}
@media(max-width:380px){
  .booking-calendar{padding:10px}
  .booking-calendar-days,.booking-calendar-weekdays{gap:3px}
  .booking-calendar-day,.calendar-spacer{min-height:40px;font-size:13px}
}
