/* V6 · Booking made intentionally smaller and calmer.
   Real photographs, warm ink, muted brass, a single price summary. */
#booking-view.spell-booking-v5{--ink:#271a13;--brass:#a77b45;--rule:#e8dbca;}
#booking-view .reserve-v5-hero{padding-top:72px!important;background:linear-gradient(98deg,rgba(20,11,7,.95),rgba(36,22,14,.97)),url('/assets/fachada_night.webp') center 45%/cover;color:#f8eddd;}
#booking-view .reserve-hero-layout{min-height:0;display:block;max-width:1190px;padding:20px 0 24px;}
#booking-view .reserve-hero-copy{padding:0;display:grid;grid-template-columns:1fr;justify-items:start;}
#booking-view .reserve-back-home{margin:0 0 12px;font-size:9px;letter-spacing:.12em;color:#d4b992;}
#booking-view .reserve-superline{font-size:9px;letter-spacing:.19em;color:#d1ac79;}
#booking-view .reserve-hero-copy h1{margin:7px 0 3px;font-size:clamp(35px,4vw,56px);line-height:1.04;letter-spacing:-.02em;}
#booking-view .reserve-hero-copy>p{margin:0;font-size:12px;line-height:1.6;color:#e4cdb5;}
#booking-view .reserve-hero-benefits{margin-top:10px;font-size:9px;letter-spacing:.02em;color:#d8b987;gap:7px 22px;}
#booking-view .reserve-v5-area{padding:22px 0 52px;background:linear-gradient(#f3eddf,#e8decf);}
#booking-view .reserve-v5-layout{grid-template-columns:minmax(0,1fr) 264px;gap:18px;align-items:start;max-width:1190px;}
#booking-view .reserve-main{box-shadow:0 15px 45px #44290712;border-color:#e2cfb4;border-radius:6px;overflow:hidden;}
#booking-view .reserve-bar{height:35px;padding:0 24px;}
#booking-view .reserve-safe,#booking-view .reserve-overline{letter-spacing:.065em;font-size:9px;color:#815d36;}
#booking-view .stepper{padding:14px 25px 13px;gap:12px;}
#booking-view .stepper .step{gap:9px;}
#booking-view .stepper .step b{width:28px;height:28px;min-width:28px;font-size:11px;}
#booking-view .stepper .step span{font-size:12px;line-height:1.15;}
#booking-view .stepper i{max-width:none;}
#booking-view .form-step{padding:23px 26px 26px;}
#booking-view .reserve-section-heading{margin-bottom:17px;}
#booking-view .reserve-step-number{font-size:9px;letter-spacing:.12em;}
#booking-view .reserve-section-heading h2{font-size:clamp(29px,3vw,38px);margin:6px 0 0;line-height:1.14;}
#booking-view .choice-grid{gap:9px;}
#booking-view .choice-card,#booking-view .choice-card.selected{display:grid;grid-template-columns:75px minmax(0,1fr);min-height:99px;max-height:122px;box-shadow:none;border-width:1px;align-items:stretch;border-radius:4px;}
#booking-view .choice-card.selected{box-shadow:0 0 0 1px #aa7843 inset;background:#fffbf3;}
#booking-view .choice-photo{height:100%;min-height:99px;width:75px;grid-row:1;grid-column:1;}
#booking-view .choice-body{grid-row:1;grid-column:2;min-width:0;padding:13px 10px 9px;justify-content:center;}
#booking-view .choice-body strong{font:600 clamp(19px,1.55vw,23px)/1.13 var(--serif);margin:0 0 5px;}
#booking-view .choice-body small{font-size:10px;line-height:1.25;min-height:0;color:#7d6d5a;}
#booking-view .choice-price{margin-top:7px;padding-top:0;border:0;font-size:9px;line-height:1.3;color:#98703f;}
#booking-view .choice-check{right:7px;top:7px;width:19px;height:19px;font-size:10px;}
#booking-view .reserve-detail-box{margin-top:15px;padding:13px;border-radius:4px;}
#booking-view .reserve-detail-header{margin-bottom:10px;}
#booking-view .reserve-detail-header h3{font-size:27px;margin:3px 0 0;}
#booking-view .reserve-detail-header>span{font-size:8px;}
#booking-view .reserve-product-options{gap:7px;}
#booking-view .reserve-product-card{padding:11px 12px;align-items:center;border-radius:3px;}
#booking-view .reserve-product-info{gap:1px;}
#booking-view .reserve-product-info strong{font-size:22px;}
#booking-view .reserve-product-info small{font-size:10px;line-height:1.4;}
#booking-view .reserve-product-info em{font-size:10px;line-height:1.4;display:none;}
#booking-view .reserve-product-price{font-size:14px;}
#booking-view .reserve-product-price small{font-size:9px;}
#booking-view .reserve-detail-foot{font-size:10px;margin-top:9px;line-height:1.35;}
#booking-view .step-actions{padding-top:15px;margin-top:19px;}
#booking-view .reserve-primary{min-height:43px;padding:12px 17px;min-width:170px;gap:15px;font-size:10px;letter-spacing:.08em;border-radius:3px;}
#booking-view .reserve-secondary{min-height:42px;padding:11px 15px;font-size:10px;border-radius:3px;}
#booking-view .reserve-small-note{font-size:10px;max-width:270px;line-height:1.4;}
#booking-view .reserve-party-strip{padding:13px 17px;margin-bottom:15px;border-radius:4px;}
#booking-view .reserve-party-strip h3{font-size:25px;margin:0;}
#booking-view .reserve-party-strip .reserve-label{display:none;}
#booking-view .reserve-party-control button{width:33px;height:33px;}
#booking-view .reserve-calendar-wrap{padding:15px 16px 11px;}
#booking-view .reserve-calendar-top h3,#booking-view .reserve-time-title h3{font-size:26px;margin:2px 0 0;}
#booking-view .reserve-week-days{margin-top:12px;}
#booking-view .reserve-calendar-grid{gap:4px;}
#booking-view .reserve-calendar-grid button{min-height:33px;aspect-ratio:auto;font-size:12px;border-radius:4px;}
#booking-view .reserve-calendar-grid .calendar-empty{min-height:33px;}
#booking-view .reserve-calendar-bottom{padding-top:9px;gap:8px;}
#booking-view .reserve-calendar-legend{display:none;}
#booking-view .reserve-calendar-bottom label{font-size:10px;}
#booking-view .reserve-time-section{padding:15px 16px;}
#booking-view .reserve-timezone{font-size:8px;}
#booking-view .reserve-time-help{font-size:10px;margin:8px 0 10px;}
#booking-view .times-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;}
#booking-view .time-slot{min-height:35px;font-size:11px;border-radius:4px;}
#booking-view .ux-slot-selection{font-size:10px;}
#booking-view .form-step[data-step="2"]:not([hidden]){display:grid;grid-template-columns:minmax(0,1.12fr) minmax(205px,.88fr);gap:0 14px;align-items:start;}
#booking-view .form-step[data-step="2"] > .reserve-section-heading,
#booking-view .form-step[data-step="2"] > .reserve-party-strip,
#booking-view .form-step[data-step="2"] > .step-actions{grid-column:1/-1;}
#booking-view .reserve-review-compact{display:none!important;}
#booking-view .form-grid.reserve-contacts{gap:12px;}
#booking-view .form-field label{font-size:10px;}
#booking-view .form-field .input{min-height:44px;font-size:13px;padding:11px 12px;}
#booking-view .reserve-additional{grid-column:1/-1;border:1px solid #e6d8c5;background:#f7f0e5;padding:9px 12px;margin:2px 0;}
#booking-view .reserve-additional summary{font:600 11px/1.5 var(--sans);color:#8d6337;cursor:pointer;list-style-position:inside;}
#booking-view .reserve-additional .form-field{margin-top:12px;}
#booking-view .reserve-additional textarea{min-height:72px;}
#booking-view .privacy-check{margin-top:13px;font-size:11px;}
#booking-view .reserve-final-note{padding:12px 13px;gap:10px;margin-top:10px;border-radius:4px;}
#booking-view .reserve-final-note span{font-size:18px;}
#booking-view .reserve-final-note p{font-size:11px;line-height:1.5;}
#booking-view .reserve-ticket{position:sticky;top:85px;border:1px solid #cbaa7c;border-radius:5px;overflow:hidden;background:#241810;color:#f1dfc4;}
#booking-view .reserve-v5-aside{position:sticky;top:85px;}
#booking-view .ticket-content{padding:17px 19px 19px;}
#booking-view .ticket-eyebrow{color:#ba946a;font-size:9px;letter-spacing:.16em;}
#booking-view .ticket-content h3{font-size:28px;line-height:1;margin:4px 0 15px;color:#f3e1cc;}
#booking-view .ticket-content h3 em{color:#cda56f;}
#booking-view .ticket-list{gap:10px;}
#booking-view .ticket-list>div{padding:0 0 9px;border-bottom:1px solid #665038;}
#booking-view .ticket-list span{font-size:8px;letter-spacing:.13em;color:#b89b78;}
#booking-view .ticket-list strong{font-size:18px;color:#f1dfc4;}
#booking-view .ticket-list small{font-size:9px;line-height:1.3;color:#c6aa83;}
#booking-view .ticket-total{margin-top:13px;padding-top:12px;border-top:1px solid #8b673e;}
#booking-view .ticket-total>span{font-size:9px;color:#d9b784;}
#booking-view .ticket-total strong{font-size:30px;color:#f1c88a;}
#booking-view .ticket-total small{font-size:10px;line-height:1.4;color:#cbb89e;}
#booking-view .ticket-assurance{margin-top:14px;padding:10px 11px;border-color:#6e5133;background:#302013;color:#d0b896;gap:7px;}
#booking-view .ticket-assurance p{font-size:10px;line-height:1.35;color:#d0b896;}
#booking-view .ticket-assurance strong{color:#d9be98;}
#booking-view .ticket-help{font-size:9px;color:#d3b98e;}
#booking-view .reserve-bottom-lookup{padding:35px 0 46px;}
#booking-view .reserve-bottom-wrap h2{font-size:36px;margin:8px 0;}
#booking-view .reserve-bottom-wrap p{font-size:11px;line-height:1.5;}
#booking-view .reserve-success{padding:28px 25px;}
#booking-view .reserve-success h2{font-size:43px;}
#booking-view .reserve-success .reserve-primary{display:flex;margin:10px auto 0;max-width:320px;}
#booking-view .reserve-success #booking-pay-link:not([hidden]){display:flex;}
#booking-view .reserve-success #booking-pay-link[hidden]{display:none!important;}
@media(max-width:1050px){#booking-view .reserve-v5-layout{grid-template-columns:minmax(0,1fr) 232px;}#booking-view .choice-card{grid-template-columns:58px 1fr;}#booking-view .choice-photo{width:58px;}#booking-view .choice-body{padding:10px 7px;}}
@media(max-width:930px){
 #booking-view .reserve-v5-layout{grid-template-columns:1fr;max-width:745px;}
 #booking-view .reserve-v5-aside{display:none;}
 #booking-view .reserve-mobile-summary{padding:9px 24px;}
 #booking-view .reserve-mobile-summary strong{font-size:17px;}
}
@media(max-width:690px){
 #booking-view .reserve-v5-hero{padding-top:63px!important;}
 #booking-view .reserve-hero-layout{padding:17px 0 18px;}
 #booking-view .reserve-back-home{margin-bottom:9px;font-size:8px;}
 #booking-view .reserve-superline{font-size:8px;}
 #booking-view .reserve-hero-copy h1{font-size:clamp(33px,8.4vw,43px);margin:5px 0;}
 #booking-view .reserve-hero-copy>p{font-size:11px;line-height:1.5;}
 #booking-view .reserve-hero-benefits{font-size:9px;margin-top:7px;gap:6px 12px;}
 #booking-view .reserve-v5-area{padding:10px 0 27px;}
 #booking-view .reserve-v5-layout{width:calc(100% - 16px);}
 #booking-view .reserve-bar{height:32px;padding:0 12px;}
 #booking-view .stepper{padding:10px 11px;gap:3px;}
 #booking-view .stepper .step{gap:5px;}
 #booking-view .stepper .step b{width:23px;height:23px;min-width:23px;font-size:10px;}
 #booking-view .stepper .step span{font-size:9px;white-space:normal;}
 #booking-view .stepper i{min-width:5px;max-width:11px;}
 #booking-view .reserve-mobile-summary{padding:7px 13px;}
 #booking-view .reserve-mobile-summary strong{font-size:15px;}
 #booking-view .form-step{padding:18px 14px;}
 #booking-view .reserve-section-heading{margin-bottom:14px;}
 #booking-view .reserve-section-heading h2{font-size:32px;}
 #booking-view .choice-grid{grid-template-columns:1fr;gap:7px;}
 #booking-view .choice-card,#booking-view .choice-card.selected{grid-template-columns:90px 1fr;min-height:80px;max-height:98px;}
 #booking-view .choice-photo{width:90px;min-height:80px;}
 #booking-view .choice-body{padding:9px 22px 8px 12px;}
 #booking-view .choice-body strong{font-size:23px;margin:0 0 3px;}
 #booking-view .choice-body small{font-size:10px;}
 #booking-view .choice-price{margin-top:4px;font-size:9px;}
 #booking-view .reserve-product-card{padding:10px;}
 #booking-view .reserve-product-info strong{font-size:20px;}
 #booking-view .reserve-product-info small{font-size:9px;}
 #booking-view .reserve-product-price{font-size:13px;}
 #booking-view .step-actions{display:flex;flex-direction:column;gap:10px;margin-top:18px;padding-top:13px;}
 #booking-view .step-actions .reserve-primary{width:100%;order:0;}
 #booking-view .step-actions .reserve-secondary{width:100%;order:1;}
 #booking-view .step-actions .reserve-small-note{order:2;text-align:center;}
 #booking-view .form-step[data-step="2"]:not([hidden]){display:block;}
 #booking-view .reserve-party-strip{padding:10px 12px;margin-bottom:10px;}
 #booking-view .reserve-party-strip h3{font-size:23px;}
 #booking-view .reserve-calendar-wrap{padding:12px 12px;}
 #booking-view .reserve-month-switch{width:auto;justify-content:end;padding-top:0;border-top:0;}
 #booking-view .reserve-calendar-top{display:flex;flex-direction:row;align-items:center;gap:9px;}
 #booking-view .reserve-month-switch strong{font-size:12px;white-space:nowrap;}
 #booking-view .reserve-month-switch button{width:25px;height:25px;}
 #booking-view .reserve-calendar-top h3{font-size:22px;}
 #booking-view .reserve-calendar-grid button{min-height:33px;}
 #booking-view .reserve-time-section{padding:13px 12px;margin-top:10px;}
 #booking-view .reserve-time-title h3{font-size:23px;}
 #booking-view .times-grid{grid-template-columns:repeat(4,minmax(0,1fr));}
 #booking-view .time-slot{min-height:35px;}
 #booking-view .form-grid.reserve-contacts{grid-template-columns:1fr 1fr;gap:10px;}
 #booking-view .form-grid.reserve-contacts > .form-field.full{grid-column:1/-1;}
 #booking-view .form-grid.reserve-contacts > .form-field:not(.full){grid-column:1/-1;}
 #booking-view .reserve-additional{grid-column:1/-1;}
 #booking-view .reserve-final-note{padding:10px;}
 #booking-view .reserve-bottom-lookup{padding:29px 0;}
 #booking-view .reserve-bottom-wrap h2{font-size:33px;}
}
@media(prefers-reduced-motion:reduce){#booking-view *{animation-duration:.01ms!important;transition-duration:.01ms!important;}}
#booking-view .booking-payment-notice{background:#fff2dd;color:#825627;border-bottom:1px solid #e4cfb1;padding:10px 25px;font:600 11px/1.5 var(--sans);}
#booking-view .booking-payment-notice[hidden]{display:none!important;}
.admin-payment-hint{padding:12px;background:#f4e6d1;border:1px solid #ddc5a3;margin-bottom:14px;font-size:12px;line-height:1.6;color:#61462b;}
#booking-view .ticket-total strong{display:block;}

#booking-view .reserve-payment-terms{margin:14px 0 8px;border:1px solid #e3d2b8;border-radius:4px;background:#f5ead9;max-width:100%;}
#booking-view .reserve-payment-terms summary{padding:11px 13px;font:600 11px/1.5 var(--sans);color:#765028;cursor:pointer;list-style:inside;}
#booking-view .reserve-payment-terms p{margin:0;padding:0 14px 14px;font:400 11px/1.55 var(--sans);color:#634d37;white-space:pre-line;}
#booking-view .privacy-check{margin-top:10px;}
