:root{--wine:#65172a;--wine-deep:#3d0d19;--rose:#96345d;--gold:#c89a42;--paper:#faf7f0;--cream:#f2eadc;--ink:#2d2529;--muted:#766c70;--line:#ded3c4;--green:#2f7552;--display:Georgia,"Times New Roman",serif;--sans:Arial,Helvetica,sans-serif}*{box-sizing:border-box}html{background:var(--wine-deep)}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);min-height:100dvh}button,input,textarea{font:inherit}.site-header{position:sticky;z-index:20;top:0;display:flex;align-items:center;justify-content:space-between;min-height:68px;padding:calc(.6rem + env(safe-area-inset-top)) max(1rem,calc((100vw - 1080px)/2)) .6rem;background:rgba(61,13,25,.96);color:#fff;backdrop-filter:blur(14px)}.brand{display:flex;align-items:center;gap:.65rem;color:inherit;text-decoration:none}.brand-mark{display:grid;place-items:center;width:42px;height:42px;border:1px solid var(--gold);color:var(--gold);font:700 1.45rem var(--display)}.brand strong,.brand small{display:block}.brand strong{font:700 .85rem var(--display)}.brand small{margin-top:.1rem;color:#e4c37e;font-size:.55rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.phone-link{display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.22);border-radius:50%;color:#fff;text-decoration:none}.reservation-shell{display:grid;grid-template-columns:minmax(0,760px) 240px;gap:2rem;width:min(1080px,calc(100% - 2rem));margin:0 auto;padding:2rem 0 4rem}.reservation-stage{background:#fff;box-shadow:0 22px 60px rgba(61,13,25,.12)}.stage-header{position:relative;padding:1.5rem 1.6rem 1.25rem;background:linear-gradient(115deg,var(--wine),var(--rose));color:#fff}.stage-header:after{position:absolute;right:1.5rem;bottom:-24px;width:90px;height:90px;border:1px solid rgba(200,154,66,.28);border-radius:50%;content:""}.stage-header p,.step-copy p,.service-note p,.success>p{margin:0;color:#e7c780;font-size:.64rem;font-weight:900;letter-spacing:.13em;text-transform:uppercase}.stage-header h1{max-width:620px;margin:.35rem 0 0;font:700 clamp(2rem,5vw,3.4rem)/.96 var(--display)}.stage-header>span{position:absolute;right:1.6rem;top:1.55rem;color:rgba(255,255,255,.72);font-size:.62rem;font-weight:800}.progress{height:4px;background:#eadfce}.progress span{display:block;width:25%;height:100%;background:var(--gold);transition:width .3s ease}.step{padding:1.6rem}.step[hidden]{display:none}.step.is-entering{animation:step-in .28s ease both}@keyframes step-in{from{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.step-copy{max-width:560px;margin-bottom:1.25rem}.step-copy p{color:var(--rose)}.step-copy h2{margin:.28rem 0 0;color:var(--wine-deep);font:700 clamp(1.5rem,4vw,2.2rem)/1.05 var(--display)}.step-copy>span{display:block;margin-top:.4rem;color:var(--muted);font-size:.75rem;line-height:1.45}.loading{display:grid;place-items:center;gap:.65rem;padding:3rem 1rem;color:var(--muted)}.loading i{width:28px;height:28px;border:3px solid #eadfce;border-top-color:var(--wine);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(1turn)}}.event-list{display:grid;gap:.75rem}.event-option{position:relative;display:grid;grid-template-columns:132px minmax(0,1fr);min-height:176px;padding:0;border:1px solid var(--line);background:#fff;color:inherit;text-align:left;cursor:pointer;overflow:hidden;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.event-option:hover{transform:translateY(-2px);border-color:rgba(101,23,42,.35);box-shadow:0 12px 24px rgba(61,13,25,.1)}.event-option.is-selected{border:2px solid var(--wine);box-shadow:0 12px 28px rgba(61,13,25,.14)}.event-option img,.event-poster-placeholder{width:132px;height:100%;object-fit:cover;background:var(--wine);color:var(--gold)}.event-poster-placeholder{display:grid;place-items:center;font:700 2rem var(--display)}.event-copy{display:flex;flex-direction:column;padding:1rem}.event-copy>span:first-child{color:var(--rose);font-size:.56rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.event-copy strong{margin-top:.3rem;color:var(--wine-deep);font:700 1.15rem/1.1 var(--display)}.event-copy small{margin-top:.3rem;color:var(--muted);font-size:.67rem;line-height:1.4}.event-copy b{margin-top:auto;padding-top:.8rem;color:var(--wine);font-size:.67rem}.availability{position:absolute;left:.45rem;bottom:.45rem;padding:.28rem .42rem;background:#fff;color:var(--wine);font-size:.53rem;font-style:normal;font-weight:900;text-transform:uppercase}.availability.is-low{background:#f2dca8}.availability.is-sold{background:var(--wine);color:#fff}.selected-event{display:grid;grid-template-columns:64px 1fr;gap:.7rem;padding:.65rem;border-block:1px solid var(--line)}.selected-event img,.selected-event>span{width:64px;height:82px;object-fit:cover;background:var(--wine);color:var(--gold)}.selected-event>span{display:grid;place-items:center;font:700 1.2rem var(--display)}.selected-event strong,.selected-event small{display:block}.selected-event strong{color:var(--wine-deep);font:700 1rem var(--display)}.selected-event small{margin-top:.25rem;color:var(--muted);font-size:.64rem;line-height:1.4}.quantity{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin:1.15rem 0}.quantity strong,.quantity small{display:block}.quantity strong{font-size:.78rem}.quantity small{margin-top:.15rem;color:var(--muted);font-size:.6rem}.stepper{display:grid;grid-template-columns:40px 46px 40px;align-items:center;border:1px solid var(--line)}.stepper button{height:42px;border:0;background:#f4eee4;color:var(--wine);font-size:1.1rem;cursor:pointer}.stepper output{text-align:center;font-weight:900}.delivery{display:grid;gap:.55rem;margin:0;padding:0;border:0}.delivery legend{margin-bottom:.25rem;color:var(--muted);font-size:.58rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.delivery label{position:relative;display:grid;grid-template-columns:1fr auto;align-items:center;padding:.75rem;border:1px solid var(--line);cursor:pointer}.delivery input{position:absolute;opacity:0}.delivery label:has(input:checked){border-color:var(--wine);background:#f8edf1}.delivery b,.delivery small{display:block}.delivery b{color:var(--wine-deep);font-size:.76rem}.delivery small{margin-top:.15rem;color:var(--muted);font-size:.59rem}.delivery i{color:var(--wine);font-size:.58rem;font-style:normal;font-weight:850}.address,.contact-fields{display:grid;gap:.72rem;margin-top:1rem}.address>div,.contact-fields>div{display:grid;grid-template-columns:1fr 1fr;gap:.65rem}label>span{display:block;margin-bottom:.3rem;color:var(--muted);font-size:.58rem;font-weight:850}.address input,.contact-fields input,.contact-fields textarea{width:100%;min-height:48px;padding:.7rem .75rem;border:1px solid var(--line);border-radius:0;background:#fff;color:var(--ink);font-size:16px;outline:none}.contact-fields textarea{resize:vertical}.address input:focus,.contact-fields input:focus,.contact-fields textarea:focus{border-color:var(--wine);box-shadow:0 0 0 3px rgba(101,23,42,.08)}.consent{display:grid;grid-template-columns:22px 1fr;gap:.55rem;align-items:start;padding:.75rem;background:#f4eee4}.consent input{width:20px;height:20px;min-height:0;margin:0;accent-color:var(--wine)}.consent span{margin:0;font-size:.62rem;line-height:1.45}.website-field{position:absolute!important;left:-10000px!important}.review{border-block:1px solid var(--line)}.review-row{display:grid;grid-template-columns:105px 1fr;gap:.8rem;padding:.75rem 0}.review-row+.review-row{border-top:1px solid var(--line)}.review-row span{color:var(--muted);font-size:.58rem;font-weight:900;text-transform:uppercase}.review-row strong{color:var(--ink);font-size:.7rem;line-height:1.45}.payment-note{display:grid;gap:.2rem;margin-top:1rem;padding:.8rem;border-left:4px solid var(--gold);background:#f6f0df}.payment-note strong{color:var(--wine-deep);font-size:.7rem}.payment-note span{color:var(--muted);font-size:.62rem;line-height:1.45}.form-status{min-height:1.2rem;margin:0;padding:0 1.6rem;color:#a32642;font-size:.65rem;font-weight:800}.form-actions{display:flex;justify-content:space-between;gap:.65rem;padding:1rem 1.6rem calc(1rem + env(safe-area-inset-bottom));border-top:1px solid var(--line)}.form-actions button{min-height:48px;padding:.7rem 1.2rem;border:1px solid var(--line);background:#fff;color:var(--wine);font-weight:900;cursor:pointer}.form-actions button:last-child{margin-left:auto;min-width:150px;border-color:transparent;background:var(--wine);color:#fff}.form-actions button:disabled{cursor:wait;opacity:.55}.success{text-align:center;padding-block:3rem}.success-mark{display:grid;place-items:center;width:62px;height:62px;margin:0 auto .8rem;border-radius:50%;background:#e3f1e9;color:var(--green);font-size:1.6rem;font-weight:900}.success h2{margin:.3rem 0;color:var(--wine-deep);font:700 2.1rem var(--display)}.success>span:not(.success-mark){color:var(--muted);font-size:.7rem}.booking-number{display:grid;gap:.2rem;margin:1.3rem auto;padding:1rem;border:1px solid var(--gold);max-width:390px}.booking-number small{color:var(--muted);font-size:.58rem;text-transform:uppercase}.booking-number strong{color:var(--wine);font:700 1.35rem var(--display);letter-spacing:.04em}.success-hint{max-width:480px;margin:0 auto;color:var(--muted);font-size:.65rem;line-height:1.55}.success a{display:inline-flex;margin-top:1rem;padding:.75rem 1rem;background:var(--wine);color:#fff;font-size:.7rem;font-weight:900;text-decoration:none}.service-note{align-self:start;position:sticky;top:100px;padding:1.2rem;border-top:3px solid var(--gold);background:var(--wine-deep);color:#fff}.service-note strong,.service-note span{display:block}.service-note strong{margin-top:.5rem;font:700 1.25rem var(--display)}.service-note span{margin-top:.35rem;color:#d8c7c3;font-size:.62rem;line-height:1.5}.empty{padding:2rem 1rem;border:1px dashed var(--line);text-align:center}.empty strong{color:var(--wine-deep);font:700 1.05rem var(--display)}.empty p{color:var(--muted);font-size:.67rem}.empty a{color:var(--wine);font-weight:800}@media(max-width:760px){.site-header{padding-inline:.75rem}.reservation-shell{display:block;width:100%;padding:0}.reservation-stage{box-shadow:none}.service-note{position:static;margin:0;padding:1rem 1.2rem}.stage-header{padding:1.15rem 1rem}.stage-header>span{top:1.15rem;right:1rem}.step{padding:1.2rem 1rem}.form-status{padding-inline:1rem}.form-actions{position:sticky;z-index:10;bottom:0;padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));background:rgba(250,247,240,.96);backdrop-filter:blur(12px)}.event-option{grid-template-columns:105px minmax(0,1fr);min-height:158px}.event-option img,.event-poster-placeholder{width:105px}.brand strong{font-size:.75rem}}@media(max-width:390px){.address>div,.contact-fields>div{grid-template-columns:1fr}.stage-header h1{max-width:270px}.stage-header>span{font-size:.54rem}.event-copy{padding:.75rem}.event-copy strong{font-size:1rem}.form-actions button:last-child{min-width:130px}}
