/* Taverna Spell V5 — Reserve como numa boa plataforma de experiências,
   com a personalidade editorial da casa. Sem frameworks nem fontes extras. */
#booking-view.spell-booking-v5 { --ivory:#fbf5e9;--paper:#f8f0e3;--ink:#2e2017;--muted:#7d6c5a;--brass:#b68548;--brass-dark:#866038;--rule:#e4d4bd; --ease:cubic-bezier(.22,1,.36,1);background:#eee2ce;color:var(--ink); }
#booking-view.spell-booking-v5 [hidden] {display:none !important;}
#booking-view .reserve-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;clip-path:inset(50%)!important;}
#booking-view button,#booking-view input,#booking-view select,#booking-view textarea{font-family:var(--sans,Arial,sans-serif)}
#booking-view :is(button,input,select,textarea,a):focus-visible{outline:3px solid #ad7a3e;outline-offset:3px;}
#booking-view .reserve-label,#booking-view .reserve-overline {display:block;font-size:10px;letter-spacing:.19em;font-family:var(--sans);font-weight:700;color:#986c3e;}
#booking-view .reserve-step-number {display:flex;align-items:center;gap:13px;font:700 10px/1.5 var(--sans);letter-spacing:.19em;color:#a27543;}
#booking-view .reserve-step-number i{display:inline-block;width:22px;height:1px;background:#a27543;}
/* INTRO */
#booking-view .reserve-v5-hero{position:relative;overflow:hidden;isolation:isolate;background:radial-gradient(ellipse at 90% 5%,#483020 0%,transparent 48%),linear-gradient(105deg,#110a08,#21130e 68%,#1c100b);border-bottom:1px solid #b9864238;color:#f8e9d2;}
#booking-view .reserve-v5-hero:before{content:'';position:absolute;inset:0;z-index:-1;opacity:.15;pointer-events:none;background:radial-gradient(circle at 26% 20%,#ca9a62,transparent 39%);}
#booking-view .reserve-hero-layout{min-height:338px;display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:50px;align-items:center;padding-top:32px;padding-bottom:34px;}
#booking-view .reserve-hero-copy{position:relative;z-index:2;padding:10px 0 6px;}
#booking-view .reserve-back-home{display:inline-flex;align-items:center;gap:7px;text-decoration:none;color:#a99378;font:700 10px/1.4 var(--sans);letter-spacing:.14em;margin-bottom:29px;transition:color .2s;}
#booking-view .reserve-back-home:hover{color:#f3c989}
#booking-view .reserve-superline{display:flex;align-items:center;gap:11px;color:#d4ae78;letter-spacing:.2em;font:700 10px var(--sans);}
#booking-view .reserve-superline .reserve-star{font-size:17px;opacity:.8;}
#booking-view .reserve-hero-copy h1{font:500 clamp(48px,5.1vw,83px)/.99 var(--serif);letter-spacing:-.035em;color:#fff4df;margin:18px 0 18px;}
#booking-view .reserve-hero-copy h1 em{font-weight:500;color:#d3a66b;}
#booking-view .reserve-hero-copy>p{font:400 14px/1.85 var(--sans);max-width:580px;color:#c9b9a5;margin:0 0 27px;}
#booking-view .reserve-hero-benefits{display:flex;flex-wrap:wrap;gap:8px 18px;color:#d5b893;font:600 11px/1.6 var(--sans);}
#booking-view .reserve-hero-benefits span{white-space:nowrap;}
#booking-view .reserve-hero-visual{position:relative;width:100%;height:270px;margin:0;border:1px solid rgba(213,165,104,.42);padding:7px;box-shadow:0 21px 55px #0007;transform:rotate(1deg);}
#booking-view .reserve-hero-visual img{width:100%;height:100%;object-fit:cover;object-position:center 46%;display:block;filter:saturate(.78) contrast(1.07) brightness(.84);}
#booking-view .reserve-hero-visual:after{content:'';pointer-events:none;position:absolute;inset:7px;background:linear-gradient(0deg,#100804d9,transparent 58%);}
#booking-view .reserve-hero-visual figcaption{position:absolute;z-index:2;left:25px;bottom:21px;font:700 10px var(--sans);letter-spacing:.17em;color:#f5dfb7;}
#booking-view .reserve-hero-visual figcaption span{margin-right:8px;font-size:17px;color:#d6a15e;}
/* 2-column booking desk */
#booking-view .reserve-v5-area{background:linear-gradient(180deg,#e9ddc9,#f3e9db 28%,#ede1cd);padding:54px 0 90px;}
#booking-view .reserve-v5-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:30px;align-items:start;}
#booking-view .reserve-main{min-width:0;background:#fbf7ef;border:1px solid #decbb0;box-shadow:0 18px 65px rgba(69,39,17,.10);}
#booking-view .reserve-bar{height:43px;display:flex;justify-content:space-between;align-items:center;background:#ede1cd;padding:0 35px;border-bottom:1px solid #dccbb2;}
#booking-view .reserve-overline{letter-spacing:.21em;font-size:9px;color:#795c3e}
#booking-view .reserve-safe{color:#6b614f;font:500 10px var(--sans);display:flex;align-items:center;gap:7px;}
#booking-view .reserve-safe>span{color:#6a886c;font-size:8px;}
#booking-view .stepper{position:relative;display:flex;gap:12px;align-items:center;justify-content:space-between;margin:0;padding:26px 35px 23px;border-bottom:1px solid var(--rule);background:#faf3e7;}
#booking-view .stepper:after{display:none!important}
#booking-view .stepper .step{position:relative;display:flex;flex:0 1 auto;align-items:center;text-align:left;gap:10px;white-space:nowrap;min-width:0;width:auto;padding:0;background:transparent;border:0;cursor:default;color:#b5a38e;letter-spacing:0;}
#booking-view .stepper .step b{display:grid;place-items:center;width:33px;height:33px;min-width:33px;line-height:1;font-size:13px;font-weight:700;font-family:var(--sans);border:1px solid #d3bea4;background:transparent;color:#a99985;border-radius:50%;}
#booking-view .stepper .step span{display:grid;gap:1px;font:700 12px/1.35 var(--sans);}
#booking-view .stepper .step small{font:700 8px/1.5 var(--sans);letter-spacing:.14em;}
#booking-view .stepper .step.active{color:#53331c;}
#booking-view .stepper .step.active b{background:#aa7841;color:#fff4df;border-color:#aa7841;box-shadow:0 0 0 4px #e6d1b8;}
#booking-view .stepper .step.ux-complete{cursor:pointer;color:#806347;}
#booking-view .stepper .step.ux-complete b{background:#dbc09e;color:#54351f;border-color:#ccb089;}
#booking-view .stepper .step.ux-complete b:after{display:none;}
#booking-view .stepper i{height:1px;flex:1;max-width:65px;background:#d9c6af;}
#booking-view .form-step{padding:43px 39px 38px;min-width:0;background:#fbf7ef;border:0;margin:0;}
#booking-view .form-step.ux-step-enter{animation:spellV5Enter .43s var(--ease) both;}
@keyframes spellV5Enter{from{opacity:.35;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}
#booking-view .reserve-section-heading h2{font:500 clamp(43px,4vw,59px)/1.08 var(--serif);letter-spacing:-.03em;margin:14px 0 10px;color:#372518;}
#booking-view .reserve-section-heading h2 em{color:#a5713c;}
#booking-view .reserve-section-heading>p{margin:0 0 29px;font:400 13px/1.75 var(--sans);color:#756555;max-width:630px;}
/* experience selector */
#booking-view .choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;}
#booking-view .choice-card{position:relative;display:flex;flex-direction:column;min-width:0;padding:0;border:1px solid #dbc8b0;background:#fffdf8;cursor:pointer;min-height:312px;overflow:hidden;box-shadow:none;border-radius:3px;text-align:left;transition:transform .3s var(--ease),border-color .3s,box-shadow .3s;}
#booking-view .choice-card:hover{transform:translateY(-3px);border-color:#b17d42;box-shadow:0 14px 26px #6e48281a;}
#booking-view .choice-card.selected{border:2px solid #a67842;background:#fffefa;box-shadow:0 9px 20px #66422218;}
#booking-view .choice-card input{position:absolute;left:12px;top:12px;z-index:3;opacity:0;width:18px;height:18px;cursor:pointer;}
#booking-view .choice-card:focus-within{outline:3px solid #a77b4c;outline-offset:3px}
#booking-view .choice-card:after{display:none}
#booking-view .choice-photo{height:132px;width:100%;position:relative;display:block;overflow:hidden;background:#6c4e34;}
#booking-view .choice-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#2c170e65,transparent 65%);}
#booking-view .choice-photo img{height:100%;width:100%;object-fit:cover;object-position:center 46%;display:block;filter:saturate(.85);transition:transform .65s var(--ease);}
#booking-view .choice-card:hover .choice-photo img{transform:scale(1.05);}
#booking-view .choice-body{display:flex;flex:1;flex-direction:column;align-items:start;padding:16px 15px 15px;gap:0;}
#booking-view .choice-eyebrow{display:block;font:700 8px/1.3 var(--sans);letter-spacing:.15em;color:#946734;}
#booking-view .choice-body strong{display:block;font:600 clamp(25px,2.1vw,30px)/1.1 var(--serif);color:#302015;letter-spacing:-.02em;margin:9px 0 8px;}
#booking-view .choice-body small{display:block;font:400 11px/1.6 var(--sans);color:#766653;min-height:51px;}
#booking-view .choice-price{display:block;font:700 10px/1.5 var(--sans);margin-top:auto;padding-top:14px;color:#946234;border-top:1px solid #e9dfd0;width:100%;}
#booking-view .choice-check{position:absolute;top:11px;right:11px;width:25px;height:25px;display:grid;place-items:center;color:#382511;font:700 13px var(--sans);border-radius:50%;border:1px solid #f6eedc;background:#e2bf81;opacity:0;transform:scale(.7);transition:opacity .2s,transform .2s;z-index:3;}
#booking-view .choice-card.selected .choice-check{opacity:1;transform:scale(1)}
/* sub-option list */
#booking-view .reserve-detail-box{margin-top:27px;padding:24px;border:1px solid #deccb4;background:#f6edde;}
#booking-view .reserve-detail-header{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-bottom:19px;}
#booking-view .reserve-detail-header h3{font:600 34px/1.05 var(--serif);margin:7px 0 0;color:#352419;}
#booking-view .reserve-detail-header>span{font:700 9px/1.3 var(--sans);letter-spacing:.13em;color:#9f7955;white-space:nowrap;}
#booking-view .reserve-product-options{display:grid;gap:9px;}
#booking-view .reserve-product-card{position:relative;display:flex;align-items:start;gap:12px;background:#fffbf4;border:1px solid #e4d4bf;padding:16px 18px;cursor:pointer;transition:border-color .2s,transform .2s;}
#booking-view .reserve-product-card:hover{border-color:#ad7d47;transform:translateX(2px)}
#booking-view .reserve-product-card.selected{border-color:#976730;box-shadow:0 0 0 1px #976730 inset;background:#fff9e9;}
#booking-view .reserve-product-card input{accent-color:#a56f36;width:17px;height:17px;margin:5px 0 0;flex-shrink:0;}
#booking-view .reserve-product-info{flex:1;min-width:0;display:grid;gap:5px;}
#booking-view .reserve-product-info strong{font:600 27px/1.1 var(--serif);color:#342319;}
#booking-view .reserve-product-info small{font:400 11px/1.6 var(--sans);color:#7c6b57;}
#booking-view .reserve-product-info em{font:400 10px/1.5 var(--sans);color:#947147;font-style:normal;}
#booking-view .reserve-product-price{white-space:nowrap;color:#81572e;font:700 15px/1.5 var(--sans);}
#booking-view .reserve-product-price small{display:block;font:400 10px var(--sans);color:#8a7b6b;text-align:right;}
#booking-view .reserve-detail-foot{font:400 11px/1.7 var(--sans);color:#866e53;margin:14px 0 0;}
#booking-view .reserve-empty-events{padding:20px;font:400 13px/1.7 var(--sans);color:#79654e;background:#fff9ee;border:1px dashed #d6b68c;}
/* steps footer and buttons */
#booking-view .step-actions{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:34px;padding-top:26px;border-top:1px solid #e4d5c1;}
#booking-view .reserve-small-note{font:400 11px/1.55 var(--sans);color:#8a7761;max-width:270px;}
#booking-view .reserve-primary{appearance:none;border:1px solid #af7b40;background:linear-gradient(117deg,#bd8c51,#d6ad72);color:#2b180c;min-height:49px;display:inline-flex;align-items:center;justify-content:center;gap:24px;padding:15px 20px;min-width:230px;text-decoration:none;cursor:pointer;text-align:center;font:700 10px/1.5 var(--sans);letter-spacing:.12em;transition:transform .25s var(--ease),box-shadow .2s,filter .2s;box-shadow:0 5px 16px #85592a19;}
#booking-view .reserve-primary:hover:not(:disabled){transform:translateY(-2px);filter:brightness(1.045);box-shadow:0 10px 23px #85592a35;}
#booking-view .reserve-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;}
#booking-view .reserve-secondary{appearance:none;background:transparent;color:#8c643a;border:1px solid #cbb394;padding:14px 19px;min-height:48px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:12px;font:700 10px/1.5 var(--sans);letter-spacing:.11em;transition:background .2s,border-color .2s;}
#booking-view .reserve-secondary:hover{background:#f5e7d2;border-color:#9a6c38;}
#booking-view .step-warning{border:1px solid #dbab91;color:#8c3c25;background:#fff3e9;padding:13px;font:600 12px/1.5 var(--sans);margin:17px 0 0;}
/* date/calendar panel */
#booking-view .reserve-party-strip{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:21px 24px;background:#f1e6d5;border:1px solid #e0ccb3;margin-bottom:22px;}
#booking-view .reserve-party-strip h3,#booking-view .reserve-calendar-top h3,#booking-view .reserve-time-title h3{font:600 30px/1.12 var(--serif);color:#382619;margin:6px 0;}
#booking-view .reserve-party-strip p{font:400 11px/1.6 var(--sans);color:#81715e;margin:0;}
#booking-view .reserve-party-control{display:flex;align-items:center;gap:8px;white-space:nowrap;}
#booking-view .reserve-party-control button{appearance:none;width:38px;height:38px;display:grid;place-items:center;cursor:pointer;background:#fffaf0;border:1px solid #c9ad8c;color:#7c522c;font:500 20px var(--sans);transition:background .2s;}
#booking-view .reserve-party-control button:hover:not(:disabled){background:#e2c7a5;}
#booking-view .reserve-party-control button:disabled{opacity:.35;cursor:not-allowed;}
#booking-view .reserve-party-control strong{color:#38231a;font:600 32px var(--serif);min-width:30px;text-align:center;margin-left:6px;}
#booking-view .reserve-party-control>span{font:500 11px var(--sans);color:#9b7a55;margin-right:8px;}
#booking-view .reserve-calendar-wrap{background:#fffaf2;border:1px solid #dfcdb6;padding:24px 25px 17px;}
#booking-view .reserve-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:23px;}
#booking-view .reserve-month-switch{display:flex;align-items:center;gap:7px;}
#booking-view .reserve-month-switch strong{font:600 16px var(--serif);text-transform:capitalize;min-width:119px;text-align:center;color:#412916;}
#booking-view .reserve-month-switch button{width:33px;height:33px;border:1px solid #decab1;background:#fff9ee;color:#8c6338;cursor:pointer;transition:background .2s;}
#booking-view .reserve-month-switch button:hover:not(:disabled){background:#ecd5b8;}
#booking-view .reserve-month-switch button:disabled{opacity:.3;cursor:not-allowed}
#booking-view .reserve-week-days,#booking-view .reserve-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;}
#booking-view .reserve-week-days{margin-bottom:8px;}
#booking-view .reserve-week-days>span{text-align:center;font:700 9px var(--sans);letter-spacing:.11em;color:#9e8b73;padding:9px 0;}
#booking-view .reserve-calendar-grid button{position:relative;aspect-ratio:1.26;min-height:41px;border:1px solid transparent;background:transparent;color:#433327;font:600 13px var(--sans);cursor:pointer;transition:background .2s,border-color .2s;}
#booking-view .reserve-calendar-grid button.is-open:after{content:'';position:absolute;bottom:6px;left:50%;width:3px;height:3px;background:#af7c40;transform:translateX(-50%);border-radius:100%;}
#booking-view .reserve-calendar-grid button:hover:not(:disabled){border-color:#ceb08d;background:#f4e7d4;}
#booking-view .reserve-calendar-grid button.is-today:before{content:'';position:absolute;top:6px;right:6px;width:4px;height:4px;border:1px solid #b47b3b;border-radius:50%;}
#booking-view .reserve-calendar-grid button.is-selected{background:#9d6e38!important;border-color:#9d6e38!important;color:#fff8e9!important;box-shadow:0 3px 10px #76522e32;}
#booking-view .reserve-calendar-grid button.is-selected:after{background:#fff1d7;}
#booking-view .reserve-calendar-grid button:disabled{color:#c9bfb0;cursor:not-allowed;}
#booking-view .reserve-calendar-grid button.is-closed{background:#faf4e9;opacity:.65;text-decoration:line-through;}
#booking-view .reserve-calendar-grid .calendar-empty{aspect-ratio:1.26;min-height:41px;}
#booking-view .reserve-calendar-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid #e5d6c3;margin-top:14px;padding-top:15px;}
#booking-view .reserve-calendar-legend{display:flex;gap:15px;flex-wrap:wrap;}
#booking-view .reserve-calendar-legend span{display:flex;align-items:center;gap:6px;color:#897460;font:400 10px var(--sans);}
#booking-view .reserve-calendar-legend span i{width:6px;height:6px;border-radius:50%;background:#b17d40;}
#booking-view .reserve-calendar-legend span+span i{background:#d3c4b0;}
#booking-view .reserve-calendar-bottom label{display:flex;align-items:center;gap:6px;color:#967b5b;font:500 10px var(--sans);}
#booking-view .reserve-calendar-bottom input{width:126px;padding:5px 6px;background:#fffaf2;color:#573d2a;border:1px solid #dbc4a4;font:500 11px var(--sans);}
#booking-view .reserve-time-section{margin-top:30px;}
#booking-view .reserve-time-title{display:flex;justify-content:space-between;align-items:center;gap:14px;}
#booking-view .reserve-timezone{color:#977552;font:700 9px var(--sans);letter-spacing:.09em;}
#booking-view .reserve-time-help{margin:6px 0 15px;font:400 11px/1.7 var(--sans);color:#82715d;}
#booking-view .times-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;min-height:49px;}
#booking-view .times-grid>p{grid-column:1/-1;font:500 12px/1.7 var(--sans);color:#87745b;margin:8px 0;}
#booking-view .time-slot{min-height:47px;padding:9px 4px;border:1px solid #dbc6a8;background:#fffaf2;color:#4d3624;font:700 13px var(--sans);border-radius:3px;cursor:pointer;}
#booking-view .time-slot:not(:disabled):hover{transform:translateY(-2px);border-color:#9e6d37;box-shadow:0 6px 15px #9e6d3719;}
#booking-view .time-slot.selected{border-color:#986632!important;background:#a07039!important;color:#fff9ee!important;box-shadow:0 0 0 2px #a0703930!important;}
#booking-view .time-slot:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through;}
#booking-view .ux-slot-selection{margin:14px 0 0;padding:11px 13px;background:#f7eddd;border:1px solid #e0d0b8;color:#826b53;font:400 11px/1.6 var(--sans);}
#booking-view .ux-slot-selection.ux-picked{border-color:#b6a07c;background:#f0e0c7;color:#543d24;}
/* Contacts and final review */
#booking-view .reserve-review{background:linear-gradient(106deg,#eee0ca,#f5ead9);border-left:3px solid #b88a53;padding:23px 23px 18px;margin:2px 0 30px;}
#booking-view .reserve-review-grid{display:grid;grid-template-columns:1.2fr 1.1fr .7fr;gap:18px;margin-top:15px;}
#booking-view .reserve-review-grid>div{min-width:0;display:grid;gap:8px;}
#booking-view .reserve-review-grid small{font:700 9px var(--sans);letter-spacing:.12em;color:#8e795e;}
#booking-view .reserve-review-grid strong{font:600 21px/1.12 var(--serif);color:#3a281c;overflow-wrap:anywhere;}
#booking-view .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px;}
#booking-view .form-field.full{grid-column:1/-1;}
#booking-view .form-field label{display:block;font:700 11px/1.5 var(--sans);color:#5e4935;margin:0 0 8px;}
#booking-view .form-field label>span:not(.optional){color:#ac6038;}
#booking-view .form-field label .optional{font-weight:400;color:#9e8972;}
#booking-view .form-field .input{width:100%;background:#fffdfa;color:#4c3220;border:1px solid #d9c2a7;min-height:50px;border-radius:2px;padding:13px 15px;font:400 13px var(--sans);transition:border .2s,background .2s;}
#booking-view .form-field .input:focus{outline:0;border-color:#a0703c;box-shadow:0 0 0 3px #a0703c19;}
#booking-view .form-field .input::placeholder{color:#aa9a88;}
#booking-view .form-field textarea.input{min-height:96px;resize:vertical;}
#booking-view .privacy-check{display:flex;align-items:flex-start;gap:12px;margin:26px 0 0;font:400 12px/1.65 var(--sans);color:#705f4c;}
#booking-view .privacy-check input{width:18px;height:18px;min-width:18px;accent-color:#9c703a;margin-top:2px;}
#booking-view .privacy-check a{color:#8c5d2c;text-underline-offset:3px;}
#booking-view .booking-msg{font:600 12px/1.55 var(--sans);color:#a04b36;margin-top:12px;}
#booking-view .reserve-final-note{display:flex;align-items:flex-start;gap:12px;padding:13px 16px;background:#f2e6d6;border:1px solid #e4d0b6;margin-top:20px;}
#booking-view .reserve-final-note span{font:600 25px var(--serif);color:#a07544;}
#booking-view .reserve-final-note p{font:400 11px/1.65 var(--sans);color:#786048;margin:0;}
#booking-view .reserve-final-note strong{color:#5c432d;}
/* Ticket */
#booking-view .reserve-v5-aside{position:sticky;top:102px;align-self:start;}
#booking-view .reserve-ticket{background:linear-gradient(146deg,#302016,#21140e 76%);color:#f5e6cf;border:1px solid #b4874d;box-shadow:0 17px 48px #3f27192e;position:relative;overflow:hidden;}
#booking-view .reserve-ticket:after{content:'';pointer-events:none;position:absolute;inset:7px;border:1px solid #c5a27635;}
#booking-view .ticket-photo{height:142px;position:relative;overflow:hidden;}
#booking-view .ticket-photo img{width:100%;height:100%;display:block;object-fit:cover;object-position:center 43%;filter:brightness(.73) saturate(.85);}
#booking-view .ticket-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#302016,transparent 60%);}
#booking-view .ticket-photo>span{position:absolute;z-index:2;bottom:11px;left:27px;color:#e6bd7c;font:700 10px var(--sans);letter-spacing:.21em;}
#booking-view .ticket-content{padding:25px 29px 23px;position:relative;z-index:2;}
#booking-view .ticket-eyebrow{font:700 9px var(--sans);letter-spacing:.2em;color:#c09662;}
#booking-view .ticket-content h3{font:500 40px/1.05 var(--serif);margin:10px 0 14px;color:#fff0d8;letter-spacing:-.03em;}
#booking-view .ticket-content h3 em{color:#c7995e;}
#booking-view .ticket-divider{display:flex;align-items:center;justify-content:center;gap:9px;color:#b8884e;font-size:17px;}
#booking-view .ticket-divider:before,#booking-view .ticket-divider:after{content:'';display:block;flex:1;height:1px;background:#af81462b;}
#booking-view .ticket-list{display:grid;gap:15px;margin:20px 0 23px;}
#booking-view .ticket-list>div{display:grid;gap:5px;border-bottom:1px solid #bb9d7830;padding-bottom:14px;}
#booking-view .ticket-list>div span{font:700 9px var(--sans);letter-spacing:.18em;color:#be9d76;}
#booking-view .ticket-list>div strong{font:600 24px/1.1 var(--serif);color:#fff2de;overflow-wrap:anywhere;}
#booking-view .ticket-list>div small{font:400 11px/1.4 var(--sans);color:#bea993;}
#booking-view .ticket-total{padding:16px 17px;background:#463020a8;border:1px solid #a97d4a67;display:grid;gap:5px;}
#booking-view .ticket-total>span{color:#cca36f;font:700 9px var(--sans);letter-spacing:.17em;}
#booking-view .ticket-total strong{font:600 28px/1.1 var(--serif);color:#fce6c8;}
#booking-view .ticket-total small{font:400 10px/1.6 var(--sans);color:#cdb398;}
#booking-view .ticket-assurance{display:flex;align-items:flex-start;gap:11px;margin:23px 0 17px;}
#booking-view .ticket-assurance>span{font-size:19px;color:#c2975e;line-height:1;}
#booking-view .ticket-assurance p{margin:0;font:400 11px/1.7 var(--sans);color:#b7a18d;}
#booking-view .ticket-assurance strong{color:#ebd6bb;}
#booking-view .ticket-help{display:flex;justify-content:space-between;color:#d5ac78;border-top:1px solid #aa885b48;padding-top:17px;text-decoration:none;font:700 10px var(--sans);letter-spacing:.15em;}
#booking-view .ticket-help:hover{color:#ffdfb0;}
#booking-view .reserve-mobile-summary{display:none;}
/* Confirmation and lookup */
#booking-view .reserve-success{padding:52px 30px;margin:0;border:0;background:#fbf7ef;text-align:center;box-shadow:none;color:#39271b;}
#booking-view .reserve-success .success-symbol{display:block;color:#ac7a40;font:50px var(--serif);margin-bottom:15px;}
#booking-view .reserve-success h2{font:500 clamp(46px,5vw,62px)/1 var(--serif);color:#352319;margin:18px 0;}
#booking-view .reserve-success h2 em{color:#a16f3e;}
#booking-view .reserve-success>p{color:#72604a;font:400 13px/1.7 var(--sans);}
#booking-view .reserve-success .reference-code{display:block;max-width:360px;font:700 clamp(29px,3vw,43px) var(--serif);padding:15px;background:#f0e1c9;color:#78502a;letter-spacing:.06em;border:1px solid #cfae7c;margin:23px auto;}
#booking-view .reserve-success .success-caution{max-width:500px;text-align:left;padding:14px 19px;margin:15px auto 28px;background:#eee2ce;font:400 12px/1.6 var(--sans);color:#806447;}
#booking-view .reserve-success .reserve-primary{margin:0 auto;}
#booking-view .reserve-simple-link{display:block;color:#826142;text-decoration:none;font:700 10px var(--sans);letter-spacing:.1em;margin-top:24px;}
#booking-view .reserve-bottom-lookup{border-top:1px solid #d6bea0;background:linear-gradient(120deg,#21150f,#130e0a);padding:54px 0 69px;color:#e8d8bf;}
#booking-view .reserve-bottom-wrap{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:60px;}
#booking-view .reserve-bottom-wrap h2{font:500 47px/1.05 var(--serif);color:#f5e4c9;margin:15px 0 8px;}
#booking-view .reserve-bottom-wrap h2 em{color:#c79659;}
#booking-view .reserve-bottom-wrap p{font:400 12px/1.7 var(--sans);color:#b8a48e;}
#booking-view .reserve-lookup-area{justify-self:end;width:100%;max-width:420px;}
#booking-view .reserve-lookup-area>.reserve-secondary{width:100%;color:#f4d3a5;border-color:#886841;}
#booking-view .reserve-lookup-area>.reserve-secondary:hover{background:#312016;}
#booking-view .lookup-form{margin-top:18px;padding:23px;background:#2d1c13;display:grid;grid-template-columns:1fr;gap:12px;border:1px solid #9b6c3b;}
#booking-view .lookup-form[hidden]{display:none;}
#booking-view .lookup-form .form-field label{color:#e2c7a6;}
#booking-view .lookup-form .input{background:#1c130e;color:#f1ddbe;border:1px solid #8c673c;}
#booking-view .lookup-form .reserve-primary{width:100%;}
#booking-view .lookup-form .booking-msg{color:#dfc29d;}
/* Tablet and responsive */
@media(max-width:1150px){
 #booking-view .reserve-v5-layout{grid-template-columns:minmax(0,1fr) 286px;gap:19px;}
 #booking-view .form-step{padding:36px 27px;}
 #booking-view .stepper{padding:24px 27px;}
 #booking-view .choice-grid{gap:9px;}
 #booking-view .choice-body{padding:14px 12px;}
 #booking-view .choice-body strong{font-size:27px;}
 #booking-view .ticket-content{padding:25px 22px;}
 #booking-view .ticket-content h3{font-size:35px;}
 #booking-view .reserve-hero-layout{grid-template-columns:1fr 310px;gap:25px;}
}
@media(max-width:930px){
 #booking-view .reserve-hero-layout{grid-template-columns:1fr 260px;gap:28px;}
 #booking-view .reserve-v5-layout{grid-template-columns:1fr;max-width:760px;}
 #booking-view .reserve-v5-aside{position:static;display:none;}
 #booking-view .reserve-mobile-summary{display:flex;align-items:center;gap:11px;background:#f2e5d2;padding:14px 27px;border-bottom:1px solid #e1cdb3;}
 #booking-view .reserve-mobile-dot{font:21px var(--serif);color:#b1844c;}
 #booking-view .reserve-mobile-summary div{display:grid;gap:3px;flex:1;min-width:0;}
 #booking-view .reserve-mobile-summary strong{font:600 20px var(--serif);color:#58391f;}
 #booking-view .reserve-mobile-summary small{font:400 10px var(--sans);color:#816a4c;}
 #booking-view .reserve-mobile-step{font:700 11px var(--sans);color:#946c40;}
 #booking-view .reserve-bottom-wrap{max-width:760px;gap:20px;}
}
@media(max-width:690px){
 #booking-view .reserve-v5-hero{padding-top:0;}
 #booking-view .reserve-hero-layout{display:block;min-height:unset;padding-top:23px;padding-bottom:30px;}
 #booking-view .reserve-back-home{margin-bottom:19px;font-size:9px;}
 #booking-view .reserve-superline{font-size:9px;gap:8px;}
 #booking-view .reserve-hero-copy h1{font-size:clamp(48px,12.2vw,64px);margin:12px 0;}
 #booking-view .reserve-hero-copy>p{font-size:12px;line-height:1.75;margin-bottom:20px;}
 #booking-view .reserve-hero-benefits{gap:7px 14px;font-size:9px;}
 #booking-view .reserve-hero-visual{height:155px;margin-top:21px;transform:none;padding:4px;}
 #booking-view .reserve-hero-visual:after{inset:4px;}
 #booking-view .reserve-hero-visual figcaption{font-size:8px;bottom:12px;left:14px;}
 #booking-view .reserve-v5-area{padding:21px 0 43px;}
 #booking-view .reserve-v5-layout{width:calc(100% - 24px);max-width:none;}
 #booking-view .reserve-bar{padding:0 17px;height:37px;}
 #booking-view .reserve-bar .reserve-overline{font-size:8px;}
 #booking-view .reserve-safe{font-size:9px;}
 #booking-view .stepper{padding:19px 14px 17px;gap:5px;}
 #booking-view .stepper .step{gap:5px;}
 #booking-view .stepper .step b{width:27px;height:27px;min-width:27px;font-size:11px;}
 #booking-view .stepper .step span{font-size:10px;}
 #booking-view .stepper .step small{display:none;}
 #booking-view .stepper i{max-width:15px;}
 #booking-view .reserve-mobile-summary{padding:10px 17px;}
 #booking-view .reserve-mobile-summary strong{font-size:18px;}
 #booking-view .form-step{padding:25px 17px 24px;}
 #booking-view .reserve-section-heading h2{font-size:clamp(40px,10.7vw,52px);}
 #booking-view .reserve-section-heading>p{font-size:12px;margin-bottom:21px;}
 #booking-view .choice-grid{grid-template-columns:1fr;gap:9px;}
 #booking-view .choice-card{min-height:114px;display:grid;grid-template-columns:108px minmax(0,1fr);grid-template-rows:auto;padding:0;}
 #booking-view .choice-photo{width:108px;height:100%;min-height:114px;grid-column:1;}
 #booking-view .choice-body{grid-column:2;padding:12px 28px 12px 12px;}
 #booking-view .choice-eyebrow{font-size:8px;}
 #booking-view .choice-body strong{margin:5px 0 4px;font-size:25px;}
 #booking-view .choice-body small{font-size:10px;line-height:1.4;min-height:0;}
 #booking-view .choice-price{font-size:9px;padding-top:6px;margin-top:7px;border-top:0;}
 #booking-view .choice-check{width:20px;height:20px;top:8px;right:7px;font-size:11px;}
 #booking-view .reserve-detail-box{padding:16px 13px;}
 #booking-view .reserve-detail-header{align-items:start;}
 #booking-view .reserve-detail-header>span{display:none;}
 #booking-view .reserve-product-card{padding:12px 10px;gap:7px;}
 #booking-view .reserve-product-info strong{font-size:24px;}
 #booking-view .reserve-product-info small{font-size:10px;}
 #booking-view .reserve-product-price{font-size:12px;}
 #booking-view .step-actions{display:grid;grid-template-columns:1fr;gap:14px;margin-top:24px;padding-top:20px;}
 #booking-view .step-actions .reserve-primary{width:100%;order:0;min-width:0;}
 #booking-view .step-actions .reserve-secondary{width:100%;order:1;}
 #booking-view .reserve-small-note{order:1;max-width:none;text-align:center;font-size:10px;}
 #booking-view .reserve-party-strip{flex-wrap:wrap;gap:13px;padding:14px;}
 #booking-view .reserve-party-strip>div:first-child{flex:1;min-width:135px;}
 #booking-view .reserve-party-strip h3{font-size:25px;}
 #booking-view .reserve-party-control{gap:5px;}
 #booking-view .reserve-party-control button{height:34px;width:34px;}
 #booking-view .reserve-party-control strong{font-size:25px;min-width:22px;margin-left:2px;}
 #booking-view .reserve-party-control>span{font-size:9px;margin-right:3px;}
 #booking-view .reserve-calendar-wrap{padding:16px 11px 13px;}
 #booking-view .reserve-calendar-top h3,#booking-view .reserve-time-title h3{font-size:26px;}
 #booking-view .reserve-month-switch strong{font-size:14px;min-width:100px;}
 #booking-view .reserve-month-switch button{height:29px;width:29px;}
 #booking-view .reserve-calendar-grid button{min-height:35px;aspect-ratio:1.14;font-size:12px;}
 #booking-view .reserve-calendar-grid .calendar-empty{min-height:35px;}
 #booking-view .reserve-week-days>span{font-size:8px;}
 #booking-view .reserve-calendar-bottom{gap:14px;}
 #booking-view .reserve-calendar-legend{gap:12px;}
 #booking-view .reserve-calendar-bottom label{width:100%;justify-content:space-between;}
 #booking-view .reserve-time-title{align-items:end;}
 #booking-view .reserve-timezone{font-size:8px;white-space:nowrap;}
 #booking-view .times-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;}
 #booking-view .time-slot{min-height:44px;font-size:12px;}
 #booking-view .form-grid{grid-template-columns:1fr;gap:13px;}
 #booking-view .form-field.full{grid-column:1;}
 #booking-view .reserve-review{padding:17px 14px;}
 #booking-view .reserve-review-grid{grid-template-columns:1fr 1fr;gap:12px;}
 #booking-view .reserve-review-grid>div:first-child{grid-column:1/-1;}
 #booking-view .reserve-review-grid strong{font-size:21px;}
 #booking-view .reserve-success{padding:35px 18px;}
 #booking-view .reserve-success .reserve-primary{min-width:0;width:100%;}
 #booking-view .reserve-bottom-lookup{padding:44px 0 53px;}
 #booking-view .reserve-bottom-wrap{display:grid;grid-template-columns:1fr;gap:25px;}
 #booking-view .reserve-bottom-wrap h2{font-size:43px;}
 #booking-view .reserve-lookup-area{justify-self:start;max-width:none;}
 #booking-view .lookup-form{padding:18px;}
 body[data-page="/reservar"] .mobile-quick-book{display:none!important;}
}
@media(prefers-reduced-motion:reduce){#booking-view *,#booking-view *:before,#booking-view *:after{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
/* The main site's header overlays the first viewport; keep the return link visible. */
#booking-view .reserve-v5-hero{padding-top:60px}
#booking-view .reserve-main{scroll-margin-top:94px}
@media(max-width:690px){#booking-view .reserve-v5-hero{padding-top:47px}#booking-view .reserve-main{scroll-margin-top:81px}}
@media(max-width:690px){
 #booking-view .reserve-calendar-top{flex-direction:column;align-items:stretch;gap:13px}
 #booking-view .reserve-month-switch{width:100%;justify-content:space-between;border-top:1px solid #e6d8c3;padding-top:10px}
 #booking-view .reserve-month-switch strong{font-size:16px;min-width:0;text-transform:none;white-space:nowrap}
}
