/* V5.3: one guest checkout shell, shared prebooking palette. */
[hidden]{display:none!important}.booking-shell{max-width:1200px;margin:auto;padding:24px}.booking-shell>header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:16px;margin-bottom:28px}.brand{background:var(--wine);padding:10px 14px;border-radius:6px;display:inline-flex}.brand img{display:block;width:200px}.intro{margin:24px 0}.intro h1{font-size:clamp(2rem,4vw,3.5rem)}.steps{display:flex;gap:18px;flex-wrap:wrap;font-size:.85rem;margin:22px 0}.steps .active{color:var(--wine);font-weight:700}.error{color:#a12434}.booking-shell>footer{margin-top:36px;padding-top:20px;border-top:1px solid var(--line)}.booking-shell .content-card41{margin-top:32px}.booking-shell .guest-languages{display:flex;gap:12px;flex-wrap:wrap;font-size:.85rem}.booking-shell #results,.booking-shell>p.muted{display:none}
.checkout-active{overflow:hidden}.checkout-active:before{content:"";position:fixed;inset:0;background:#21131ab8;z-index:990}.checkout-active #checkout{position:fixed;inset:32px max(24px,calc((100vw - 1120px)/2));z-index:1000;overflow:auto;overscroll-behavior:contain;background:#fcf9f3;border:1px solid var(--line);border-radius:18px;box-shadow:0 24px 80px #190b1833;padding:32px;scrollbar-gutter:stable}.checkout-active #message:not(:empty){position:fixed;z-index:1002;bottom:40px;left:50%;transform:translateX(-50%);width:min(90vw,800px);padding:14px 20px;background:#fff4ef;border:1px solid #bf8585;border-radius:8px;box-shadow:0 4px 20px #0002}.checkout-active .booking-shell>[data-inline-booking],.checkout-active .booking-shell>[data-booking-open],.checkout-active .booking-shell>.intro{visibility:hidden}
.checkout-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,340px);gap:16px 32px;margin:0}.checkout-layout>*{min-width:0;grid-column:1}.checkout-layout>h1,.checkout-layout>.eyebrow{grid-column:1/-1;margin:0}.checkout-layout>h1{font-size:clamp(1.6rem,2.5vw,2.2rem);margin-bottom:12px}.checkout-layout>h2{font-size:1.15rem;margin:8px 0}.checkout-layout>.stay-summary{grid-column:2;grid-row:3/span 30;padding:22px;background:#f2ece2;border:1px solid var(--line);border-radius:12px;align-self:start;position:sticky;top:0}.checkout-layout>.guest-form{grid-row:3}.checkout-layout p{margin:0 0 10px}.stay-summary h2{font-size:1.3rem}.stay-summary h3{font-size:1rem;margin:20px 0 10px}.stay-summary .total{display:block;font-size:1.7rem;margin:18px 0;padding-top:15px;border-top:1px solid var(--line)}.summary-condition{font-size:.83rem;line-height:1.5}.stay-summary small{display:block;color:var(--muted,#666)}
.guest-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}.guest-form>h2{grid-column:1/-1;font-size:1.25rem;margin:0}.guest-form label,.review-form label{display:flex;flex-direction:column;gap:7px;font-size:.88rem}.guest-form input,.guest-form textarea,.guest-form select{box-sizing:border-box;min-width:0;border:1px solid var(--line);border-radius:7px;padding:12px;background:white;color:var(--ink);font:inherit;width:100%}.guest-form textarea{min-height:90px;resize:vertical}.guest-form fieldset,.guest-form section,.guest-form>label:has(textarea),.form-hint{grid-column:1/-1}.guest-form fieldset{border:1px solid var(--line);border-radius:10px;padding:16px;margin:0;min-width:0}.guest-form legend{font-weight:600;padding:0 6px}.guest-form input[type=checkbox],.guest-form input[type=radio]{width:20px;height:20px;flex-shrink:0;accent-color:var(--wine)}.guest-form label:has([type=checkbox]),.guest-form label:has([type=radio]){flex-direction:row;align-items:flex-start}.guest-form button,.review-form button,.checkout-result button{padding:14px 20px;min-height:48px;background:var(--wine);color:white;border:1px solid var(--wine);border-radius:8px;cursor:pointer;font:inherit}.guest-form button.secondary,.review-form button.secondary,.checkout-result button.secondary{background:transparent;color:var(--wine)}button:disabled{opacity:.55;cursor:wait}.document-choice{display:grid;grid-template-columns:1fr 1fr;gap:12px}.document-tile{padding:14px;border:1px solid var(--line);border-radius:8px;background:#fff;cursor:pointer}.document-tile:has(:checked){border-color:var(--wine);background:#f6ecee;box-shadow:0 0 0 1px var(--wine)}.invoice-fields{display:grid;gap:14px}.form-hint{color:var(--muted,#666);margin-top:-10px}.legal-line{display:flex;flex-direction:column;gap:8px;margin-bottom:18px}.legal-line:last-child{margin-bottom:0}.legal-line>small{color:var(--muted,#666)}.legal-line a{text-decoration:underline;text-underline-offset:3px}.review-form{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.review-form>p{width:100%;font-size:.8rem}.checkout-result{max-width:860px!important;margin:auto;height:fit-content;max-height:calc(100dvh - 64px)}.checkout-result h1{font-size:clamp(1.7rem,3vw,2.4rem);margin:0 0 20px}.checkout-result>strong{display:block;font-size:1.5rem;margin:24px 0}.checkout-result .notice{background:#f2ece2;padding:16px;border-radius:10px;line-height:1.6}
.offer-sort{display:flex;align-items:center;justify-content:flex-end;gap:10px;font-size:.85rem;margin:0 0 16px}.offer-sort select{padding:10px 12px;border:1px solid var(--line);border-radius:20px;background:#fcf9f3;font:inherit;max-width:100%}.basket-bed-filter{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.basket-bed-filter p{margin:0 12px 0 0}.basket-bed-filter button{padding:9px 15px;border:1px solid var(--line);border-radius:30px;background:#fcf9f3;color:var(--wine);cursor:pointer}.basket-bed-filter button[aria-pressed=true]{color:white;background:var(--wine);border-color:var(--wine)}.category-tariffs{grid-column:1/-1;display:grid;border-top:1px solid var(--line);margin-top:8px}.category-tariff{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:20px;padding:22px 0;border-bottom:1px solid var(--line)}.category-tariff:last-child{border-bottom:0}.category-tariff h5{font-size:1.13rem;margin:0 0 8px}.category-tariff p{font-size:.86rem;line-height:1.5;margin:5px 0}.tariff-buy{display:flex;flex-direction:column;justify-content:center;align-items:flex-end;gap:8px}.tariff-buy>strong{font-size:1.5rem;color:var(--wine)}.tariff-buy>small{color:var(--muted,#666)}.tariff-buy .button{font-size:.85rem}.basket-summary button{align-self:center}:focus-visible{outline:3px solid #ac8150;outline-offset:3px}
@media(max-width:760px){.booking-shell{padding:18px}.brand img{width:150px}.booking-shell>header>a:last-child{font-size:.75rem}.booking-shell .guest-languages{width:100%;justify-content:flex-end;gap:18px}.checkout-active #checkout{inset:0;border:0;border-radius:0;padding:22px 18px;max-height:100dvh}.checkout-layout{display:flex;flex-direction:column;gap:18px}.checkout-layout>.stay-summary{position:static;order:0}.guest-form{grid-template-columns:1fr}.guest-form>*{grid-column:1!important}.steps{gap:10px;font-size:.72rem}.review-form button,.basket-summary button{width:100%}.category-tariff{grid-template-columns:1fr;gap:12px;padding:18px 0}.tariff-buy{align-items:flex-start}.tariff-buy .button{width:100%;text-align:center}.offer-sort{flex-direction:column;align-items:flex-start}.offer-sort select{width:100%}.checkout-active #message:not(:empty){bottom:12px}.checkout-result{width:100%;box-sizing:border-box;height:100dvh}.document-choice{grid-template-columns:1fr 1fr}}

.checkout-toolbar{display:flex;justify-content:space-between;align-items:center;gap:16px;border-bottom:1px solid var(--line);padding-bottom:14px;margin-bottom:20px;font-size:.8rem;color:var(--muted,#666)}.checkout-toolbar .secondary{padding:8px 12px}.summary-room,.summary-conditions,.summary-promo{margin:12px 0;font-size:.85rem}.stay-summary summary{cursor:pointer;line-height:1.5}.stay-summary details p{margin-top:10px}.summary-promo input{width:100%;box-sizing:border-box}.summary-promo button{margin-top:8px}.checkout-error{border:1px solid #a32b43;background:#fff4f4;padding:14px;border-radius:8px}

.summary-toggle{display:none}@media(max-width:760px){.checkout-layout>.stay-summary{width:100%;box-sizing:border-box;padding:16px;position:relative}.stay-summary>.eyebrow{font-size:.64rem}.stay-summary h2{font-size:1.15rem;margin:6px 0}.stay-summary .total{margin:8px 0;padding-top:8px;font-size:1.45rem}.stay-summary p{font-size:.83rem;margin:6px 0}.stay-summary h3{display:none}.stay-summary:not(.summary-expanded)>details{display:none}.summary-toggle{display:block;width:100%;padding:8px 0;border:0;border-top:1px solid var(--line);background:transparent!important;color:var(--wine,#9c3b3b)!important;font-size:.8rem;order:10;margin-top:8px}.stay-summary{display:flex;flex-direction:column}.checkout-toolbar{font-size:.68rem;margin-bottom:16px}.checkout-toolbar .secondary{font-size:.76rem}.checkout-layout>h1{font-size:1.45rem}}

.checkout-payment-choice{grid-column:1/-1;min-width:0}.checkout-payment-choice:empty{display:none}
