.booking-ai-help-tab{top:50%;right:max(12px,env(safe-area-inset-right,0px));z-index:80;box-sizing:border-box;color:#fff;cursor:pointer;background:linear-gradient(#0f766e,#0d635c);border:1px solid #0f766e38;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:9px;min-width:40px;padding:12px 11px;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:13px;font-weight:600;line-height:1;transition:transform .2s,box-shadow .2s,filter .2s;display:inline-flex;position:fixed;overflow:visible;transform:translateY(-50%);box-shadow:0 8px 24px #0f766e47}.booking-ai-help-tab:hover{filter:brightness(1.06);box-shadow:0 10px 28px #0f766e57}.booking-ai-help-tab:focus-visible{outline-offset:2px;outline:2px solid #10b981}.booking-ai-help-tab__icon{flex-shrink:0;width:18px;height:18px}.booking-ai-help-tab__label{writing-mode:vertical-rl;text-orientation:mixed;white-space:nowrap;letter-spacing:.08em;line-height:1.2;display:block;overflow:visible}@media (max-width:639px){.booking-ai-help-tab{right:max(8px,env(safe-area-inset-right,0px));gap:7px;min-width:44px;padding:12px 9px;font-size:12px}.booking-ai-help-tab__icon{width:16px;height:16px}}html.pwa-mode .booking-ai-help-tab,body.pwa-mode .booking-ai-help-tab{top:50%;bottom:auto;right:max(0px,env(safe-area-inset-right,0px));border-right:none;border-radius:8px 0 0 8px;flex-direction:column;justify-content:center;align-items:center;gap:4px;width:28px;min-width:28px;max-width:28px;padding:7px 3px;font-size:9px;transform:translateY(-50%);box-shadow:-3px 6px 18px #0f766e38}html.pwa-mode .booking-ai-help-tab__icon,body.pwa-mode .booking-ai-help-tab__icon{width:11px;height:11px;display:block}html.pwa-mode .booking-ai-help-tab__label,body.pwa-mode .booking-ai-help-tab__label{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.04em;white-space:nowrap;font-size:9px}@media (max-width:639px){:is(body.dmg-customer-app:has(.booking-bottom-bar) .dmg-scroll-to-top,body.dmg-customer-app:has(.booking-mobile-bar) .dmg-scroll-to-top){bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))!important}}.booking-flow{--accent:#0f766e;--accent-deep:#0d635c;--accent-soft:#ecfdf5;--accent-mint:#6ee7b7;--cta-red:#ef4444;--cta-red-hover:#f87171;--cta-red-shadow:#b91c1c;--surface:#fff;--surface-muted:#f3efe7;--border:#e8ecea;--border-alt:#e5ebe8;--ink:#0a0a0a;--muted:#525252;--grad-emerald:linear-gradient(135deg, #0f766e 0%, #0d635c 100%);--grad-red:linear-gradient(135deg, #ef4444 0%, #b91c1c 100%);--grad-brand:linear-gradient(90deg, #0f766e 0%, #10b981 42%, #ef4444 100%);--grad-surface:linear-gradient(180deg, #f8faf9 0%, #fff 100%);--grad-page:radial-gradient(ellipse 90% 55% at 8% -5%, #0f766e24, transparent 58%), radial-gradient(ellipse 75% 50% at 96% 4%, #ef44441f, transparent 52%), linear-gradient(180deg, #ecfdf5 0%, #f8faf9 42%, #fff7f7 78%, #fef2f2 100%);--grad-page-bar:linear-gradient(90deg, #ecfdf5f7 0%, #f8faf9f7 48%, #fff7f7f7 100%);color:var(--ink);background:var(--grad-page);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-attachment:fixed;font-family:Inter,ui-sans-serif,system-ui,sans-serif}.booking-flow .booking-intro{width:100%;max-width:58rem;margin:0 auto 1.75rem;padding:.25rem 0 .75rem}.booking-flow .booking-intro__status{color:#2b2b2b;background:#ffffffe0;border:1px solid #0f172a1f;border-radius:9999px;align-items:center;gap:.6rem;padding:.55rem .95rem;font-size:.875rem;line-height:1;display:inline-flex;box-shadow:0 8px 22px #0f172a0a}.booking-flow .booking-intro__status-dot{background:var(--accent);border-radius:9999px;width:.58rem;height:.58rem;box-shadow:0 0 0 4px #0f766e1a}.booking-flow .booking-intro__title{letter-spacing:-.06em;max-width:42rem;margin-top:1.5rem;font-size:clamp(2.25rem,5.5vw,3.75rem);font-weight:850;line-height:.95;color:#0a0a0a!important;font-family:Inter,ui-sans-serif,system-ui,sans-serif!important}.booking-flow .booking-intro__accent{color:var(--cta-red)}.booking-flow .booking-intro__sub{color:#6b625a;max-width:43rem;margin-top:1.1rem;font-size:clamp(.95rem,1.6vw,1.15rem);line-height:1.45}.booking-flow .booking-stack{flex-direction:column;gap:1.5rem;width:100%;max-width:58rem;margin-left:auto;margin-right:auto;display:flex}.booking-flow .booking-stack-card{background:#fff;border:1px solid #0f172a0f;border-radius:2.15rem;padding:1.5rem;box-shadow:0 18px 48px #0f172a0e}@media (min-width:640px){.booking-flow .booking-stack-card{padding:2.15rem}}.booking-flow .booking-stack-card__head{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.35rem;display:flex}.booking-flow .booking-stack-card__head--calendar{align-items:center}.booking-flow .booking-stack-card__head-actions{flex-shrink:0;align-items:center;gap:.85rem;display:flex}.booking-flow .booking-stack-card__head--calendar .booking-stack-card__title{flex:1;min-width:0}.booking-flow .booking-stack-card__head--calendar .booking-stack-card__step{text-align:right;min-width:1.25rem}.booking-flow .booking-stack-card__title{letter-spacing:-.04em;color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.25rem,2vw,1.6rem);font-weight:800}.booking-flow .booking-stack-card__sub{color:var(--muted);margin-top:.15rem;font-size:.875rem}.booking-flow .booking-whatsapp-notice{background:#f0fdf9;border:1px solid #0f766e33;border-radius:.85rem;margin-top:.75rem;padding:.85rem 1rem}.booking-flow .booking-whatsapp-notice__title{color:#0f766e;margin:0;font-size:.8125rem;font-weight:600}.booking-flow .booking-whatsapp-notice__text{color:#0f172ab8;margin:.35rem 0 0;font-size:.8125rem;line-height:1.5}.booking-flow .booking-stack-card__step{color:#a3a3a3;letter-spacing:.08em;font-size:.875rem;font-weight:700}.booking-flow .booking-stack-card__step--final{letter-spacing:.04em;white-space:nowrap;font-size:.75rem}.booking-flow .booking-pill-calendar{position:relative}.booking-flow .booking-pill-calendar__month-wrap{align-items:center;display:inline-flex;position:relative}.booking-flow .booking-pill-calendar__month-select{appearance:none;color:#0a0a0a;cursor:pointer;background:#eee7dc;border:none;border-radius:9999px;outline:none;padding:.7rem 2.35rem .7rem 1.1rem;font-size:.9rem;font-weight:800;line-height:1}.booking-flow .booking-pill-calendar__month-chevron{pointer-events:none;color:#0a0a0a;width:1rem;height:1rem;position:absolute;right:1.05rem}.booking-flow .booking-pill-calendar__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:.7rem;display:grid}@media (min-width:900px){.booking-flow .booking-pill-calendar__grid{grid-template-columns:repeat(11,minmax(0,1fr))}}.booking-flow .booking-pill-calendar__day{color:#0a0a0a;background:#fff;border:1px solid #e5ddd2;border-radius:1.1rem;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;min-height:4.9rem;transition:transform .12s,border-color .16s,box-shadow .16s,background .16s;display:flex}.booking-flow .booking-pill-calendar__day.is-enabled:hover{border-color:#0f766e59;transform:translateY(-1px);box-shadow:0 10px 22px #0f766e14}.booking-flow .booking-pill-calendar__day.is-disabled{color:#c7bdae;cursor:not-allowed;opacity:1;background:#f2ece2}.booking-flow .booking-pill-calendar__day.is-selected{border-color:var(--accent);background:var(--accent-soft);box-shadow:inset 0 0 0 2px #0f766e1f,0 10px 22px #0f766e14}.booking-flow .booking-pill-calendar__dow{color:#737373;font-size:.74rem;font-weight:700}.booking-flow .booking-pill-calendar__day.is-disabled .booking-pill-calendar__dow{color:#d1c8bc}.booking-flow .booking-pill-calendar__num{letter-spacing:-.04em;font-size:1.55rem;font-weight:850;line-height:1}.booking-flow .booking-pill-calendar__footer{color:#0a0a0a;align-items:center;gap:.65rem;margin-top:1.45rem;font-size:1rem;font-weight:650;display:flex}@media (max-width:639px){.booking-flow .booking-stack-card__head-actions{gap:.55rem}.booking-flow .booking-pill-calendar__grid{gap:.5rem}.booking-flow .booking-pill-calendar__day{border-radius:.9rem;min-height:4rem}.booking-flow .booking-pill-calendar__num{font-size:1.25rem}}.booking-flow .booking-visitor-switch{background:#f3eee6;border:1px solid #0f172a0f;border-radius:1.25rem;grid-template-columns:1fr 1fr;gap:.75rem;padding:.75rem;display:grid}.booking-flow .booking-visitor-switch__tab{background:#ffffffa6;border:1px solid #0000;border-radius:1.1rem;flex-direction:column;justify-content:center;align-items:center;gap:.25rem;padding:.9rem .75rem;transition:background .2s,border-color .2s,box-shadow .2s,transform 80ms;display:flex}.booking-flow .booking-visitor-switch__tab:hover{transform:translateY(-1px)}.booking-flow .booking-visitor-switch__tab.is-active{background:#0a0a0a;border-color:#000000bf;box-shadow:0 12px 30px #0000002e}.booking-flow .booking-visitor-switch__label{color:#0a0a0a;font-weight:700}.booking-flow .booking-visitor-switch__meta{color:#525252;font-size:.8rem}.booking-flow .booking-visitor-switch__tab.is-active .booking-visitor-switch__label,.booking-flow .booking-visitor-switch__tab.is-active .booking-visitor-switch__meta{color:#fff;opacity:.92}.booking-flow .booking-visitor-switch+.booking-form-section,.booking-flow .booking-resident-panel+.booking-form-section{margin-top:1.25rem}.booking-flow .booking-resident-panel{background:#fbf7f1;border:1px solid #0f172a0f;border-radius:1.5rem;margin-top:1rem;padding:1rem}@media (min-width:640px){.booking-flow .booking-resident-panel{padding:1.25rem}}.booking-flow .booking-resident-limit-alert{background:#fffbeb;border:1px solid #f59e0b59;border-radius:1rem;gap:.85rem;margin-top:1rem;padding:1rem 1.05rem;display:flex}.booking-flow .booking-resident-limit-alert--blocked{background:#fef2f2;border-color:#dc262647}.booking-flow .booking-resident-limit-alert--warning{background:#fffbeb;border-color:#f59e0b59}.booking-flow .booking-resident-limit-alert__icon{color:#b45309;background:#f59e0b26;border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:flex-start;width:2.25rem;height:2.25rem;padding-top:.35rem;display:flex}.booking-flow .booking-resident-limit-alert--blocked .booking-resident-limit-alert__icon{color:#dc2626;background:#dc26261f}.booking-flow .booking-resident-limit-alert__title{color:var(--ink);margin:0;font-size:.95rem;font-weight:700}.booking-flow .booking-resident-limit-alert__message{color:#0f172ac7;margin:.35rem 0 0;font-size:.875rem;line-height:1.5}.booking-flow .booking-resident-limit-alert__action{height:auto;margin-top:.75rem;padding:.45rem .85rem;font-size:.8125rem}.booking-flow .booking-bottom-bar__cta--hint:disabled{opacity:1;cursor:not-allowed;background:#9ca3af;border-color:#9ca3af}.booking-flow--stacked .booking-flow__content{padding-bottom:calc(6.75rem + env(safe-area-inset-bottom,0px))}@media (min-width:768px){.booking-flow--stacked .booking-flow__content{padding-bottom:calc(7.25rem + env(safe-area-inset-bottom,0px))}}.booking-flow .booking-bottom-bar{z-index:60;background:var(--grad-page-bar);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-top:1px solid #0f766e24;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 34px #0f172a0e}.booking-flow .booking-bottom-bar__inner{max-width:58rem;padding-top:1rem;padding-bottom:max(1rem,env(safe-area-inset-bottom,0px));justify-content:space-between;align-items:center;gap:.85rem;display:flex}.booking-flow .booking-bottom-bar__total{flex-direction:column;flex:0 auto;gap:.1rem;min-width:0;display:flex}.booking-flow .booking-bottom-bar__total-label{letter-spacing:.16em;text-transform:uppercase;color:var(--accent-deep);font-size:.82rem;font-weight:800}.booking-flow .booking-bottom-bar__total-value{letter-spacing:-.05em;color:var(--ink);white-space:nowrap;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:clamp(1.65rem,3vw,2.15rem);font-weight:850}.booking-flow .booking-bottom-bar__cta{white-space:nowrap;border-radius:9999px;flex:none;width:auto;min-width:0;min-height:3rem;padding:.7rem 1.35rem;font-size:.9rem}.booking-flow .booking-bottom-bar__cta--hint{cursor:not-allowed;opacity:.92}@media (max-width:420px){.booking-flow .booking-bottom-bar__cta{padding:.65rem 1rem;font-size:.78rem}}.booking-flow .dmg-display,.booking-flow .booking-display,.booking-flow h1,.booking-flow h2,.booking-flow h3,.booking-flow h4{letter-spacing:-.02em;font-family:Fraunces,ui-serif,Georgia,serif}.booking-flow .booking-eyebrow,.booking-flow .dmg-eyebrow{letter-spacing:.16em;text-transform:uppercase;color:var(--accent);align-items:center;font-size:.6875rem;font-weight:700;display:inline-flex}.booking-flow .dmg-eyebrow-pill{color:var(--accent-mint);background:#0f766e33;border:1px solid #6ee7b740;border-radius:9999px;padding:.25rem .75rem}.booking-flow .booking-hero{color:#fff;background:#0a0f0d;border-bottom:1px solid #1e293b;position:relative;overflow:hidden}.booking-flow .booking-hero>.site-container{z-index:2;position:relative}.booking-flow .booking-hero h1,.booking-flow .booking-hero .dmg-display{color:#fff;text-shadow:0 2px 24px #00000073}.booking-flow .booking-hero__media{z-index:0;pointer-events:none;position:absolute;inset:0}.booking-flow .booking-hero__media img{-o-object-fit:cover;object-fit:cover;opacity:.42;width:100%;height:100%}.booking-flow .booking-hero__glow{z-index:1;background:linear-gradient(90deg,#0a0f0de0,#0a0f0da6,#0a0f0d66),radial-gradient(70% 60% at 75% 40%,#0f766e47,#0000 62%);position:absolute;inset:0}.booking-flow .booking-hero__petals{display:none}.booking-flow .booking-stepper{border:1px solid var(--border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#ffffffe6;border-radius:1.5rem;margin-bottom:1.5rem;padding:1.1rem 1.25rem;position:relative;box-shadow:0 8px 28px #0f172a0d}@media (min-width:768px){.booking-flow .booking-stepper{padding:1.35rem 1.75rem}}.booking-flow .booking-stepper__track{background:var(--border);border-radius:3px;height:3px;display:none;position:absolute;top:2.6rem;left:16.6%;right:16.6%}.booking-flow .booking-stepper__fill{background:var(--grad-emerald);border-radius:3px;max-width:66.6%;height:3px;transition:width .5s;display:none;position:absolute;top:2.6rem;left:16.6%}@media (min-width:768px){.booking-flow .booking-stepper__track,.booking-flow .booking-stepper__fill{display:block}}.booking-flow .booking-stepper__dot{z-index:1;border:2px solid var(--border);color:#a3a3a3;background:#fff;border-radius:9999px;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;font-weight:700;transition:all .25s;display:flex;position:relative}.booking-flow .booking-stepper__dot--current{border-color:var(--accent);color:var(--accent);background:#fff;box-shadow:0 0 0 4px #0f766e1f,0 6px 16px #0f766e1a}.booking-flow .booking-stepper__dot--done{background:var(--grad-emerald);color:#fff;border-color:#0000;box-shadow:0 6px 18px #0f766e47}.booking-flow .booking-step-label{color:#737373;font-size:.6875rem;font-weight:600}@media (min-width:640px){.booking-flow .booking-step-label{font-size:.875rem}}.booking-flow .booking-step-label--active{color:var(--accent)}.booking-flow .booking-main-card{border:1px solid var(--border);background:var(--surface);border-radius:1.75rem;position:relative;overflow:visible;box-shadow:0 20px 50px #0f172a0f}.booking-flow .booking-main-card:before{content:"";background:var(--grad-red);border-radius:1.75rem 1.75rem 0 0;height:4px;position:absolute;inset:0 0 auto}.booking-flow .booking-step-panel{padding:1.5rem 1.25rem}@media (min-width:640px){.booking-flow .booking-step-panel{padding:2rem}}@media (min-width:1024px){.booking-flow .booking-step-panel{padding:2.25rem}}.booking-flow .booking-step-panel--date{background:var(--grad-surface);border-bottom:1px solid var(--border)}.booking-flow .booking-step-panel--details{background:#fff}@media (min-width:1024px){.booking-flow .booking-step-panel--date{border-bottom:none;border-right:1px solid var(--border)}}.booking-flow .booking-step-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.booking-flow .booking-step-header__text{flex:1;min-width:0}.booking-flow .booking-step-header__actions{flex-shrink:0}.booking-flow .booking-section-title{letter-spacing:-.02em;color:var(--ink);font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.125rem;font-weight:600}@media (min-width:640px){.booking-flow .booking-section-title{font-size:1.25rem}}.booking-flow .booking-card{border:1px solid var(--border);background:#fff;border-radius:1.5rem;box-shadow:0 12px 36px #0f172a0d}.booking-flow .booking-panel-muted{background:var(--surface-muted)}.booking-flow .booking-chip{background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 100%);border:1px solid #0f766e2e;border-radius:1rem}.booking-flow .booking-info-card{border:1px solid var(--border-alt);background:#fff;border-radius:1rem;transition:box-shadow .2s,border-color .2s}.booking-flow .booking-info-card:hover{border-color:#0f766e47;box-shadow:0 8px 24px #0f766e14}.booking-flow .booking-icon-wrap{background:var(--grad-emerald);color:#fff;border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:2.4rem;height:2.4rem;display:flex;box-shadow:0 4px 14px #0f766e38}.booking-flow .booking-btn-primary{border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;width:100%;min-height:3rem;padding:.75rem 2rem;font-size:1rem;font-weight:600;line-height:1.25;transition:transform .1s,box-shadow .1s,background-color .1s;display:inline-flex;background-color:var(--cta-red)!important;color:#fff!important;box-shadow:0 5px 0 var(--cta-red-shadow)!important;border:none!important}.booking-flow .booking-btn-primary:hover:not(:disabled){background-color:var(--cta-red-hover)!important}.booking-flow .booking-btn-primary:active:not(:disabled){transform:translateY(3px);box-shadow:0 2px 0 var(--cta-red-shadow)!important}.booking-flow .booking-btn-primary:disabled{opacity:.55;cursor:not-allowed}.booking-flow .booking-bottom-bar .booking-btn-primary.booking-bottom-bar__cta{flex:none;align-self:center;max-width:none;width:auto!important}.booking-flow .booking-bottom-bar .booking-btn-primary.booking-bottom-bar__cta span{white-space:nowrap}.booking-flow .booking-btn-outline{border-radius:.75rem;justify-content:center;align-items:center;gap:.5rem;min-height:2.25rem;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;transition:background-color .15s,box-shadow .1s,transform .1s;display:inline-flex;color:var(--ink)!important;background-color:#fff!important;border:1px solid #e5e5e5!important;box-shadow:0 3px #d4d4d4!important}.booking-flow .booking-btn-outline:hover:not(:disabled){background-color:#fafafa!important}.booking-flow .booking-btn-outline:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px #d4d4d4!important}.booking-flow .booking-input{min-height:3rem;font-size:1rem;border-color:var(--border)!important;color:var(--ink)!important;background:#fff!important;border-radius:.85rem!important}.booking-flow .booking-input::placeholder{color:#a3a3a3}.booking-flow .booking-input:focus-visible{border-color:#0f766e73!important;box-shadow:0 0 0 3px #0f766e1f!important}.booking-flow label:not(#ngenius-payment-form label):not([for=payment-terms-ngenius]){color:var(--ink);font-size:.875rem;font-weight:500}@media (min-width:640px){.booking-flow label.text-lg,.booking-flow .booking-label-lg{font-size:1.125rem}}.booking-flow .booking-form-section{border:1px solid var(--border);background:#fff;border-radius:1.35rem;padding:1.35rem;box-shadow:0 2px 12px #0f172a08}.booking-flow .booking-form-section+.booking-form-section{margin-top:1rem}.booking-flow .booking-form-section__head{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:1.1rem;display:flex}.booking-flow .booking-form-section__badge{background:var(--accent-soft);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border:1px solid #0f766e2e;border-radius:9999px;align-items:center;gap:.375rem;padding:.3rem .7rem;font-size:.6875rem;font-weight:700;display:inline-flex}.booking-flow .booking-calendar-shell{border:1px solid var(--border);background:#fff;border-radius:1.35rem;overflow:hidden;box-shadow:0 8px 28px #0f172a0d}.booking-flow .booking-calendar{width:100%}.booking-flow .booking-date-chip{background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 100%);border:1px solid #0f766e33;border-radius:1.1rem;align-items:center;gap:.9rem;margin-top:1rem;padding:1rem 1.15rem;display:flex;box-shadow:0 4px 16px #0f766e14}.booking-flow .booking-perks-grid{gap:.75rem;margin-top:1.5rem;display:grid}@media (min-width:640px){.booking-flow .booking-perks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-flow .booking-perk-card{border:1px solid var(--border);background:#fff;border-radius:1.1rem;align-items:flex-start;gap:.9rem;padding:1rem;transition:border-color .2s,box-shadow .2s,transform .2s;display:flex}.booking-flow .booking-perk-card:hover{border-color:#0f766e47;transform:translateY(-1px);box-shadow:0 8px 22px #0f766e14}.booking-flow .booking-terms-panel{border:1px solid var(--border);background:#fff;border-radius:1.25rem;margin-top:1.5rem;overflow:hidden}.booking-flow .booking-terms-panel__header{background:var(--grad-emerald);justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.booking-flow .booking-terms-panel.is-collapsed .booking-terms-panel__header,.booking-flow .booking-terms-panel:not(.is-collapsed) .booking-terms-panel__header{border-radius:1.25rem 1.25rem 0 0}.booking-flow .booking-terms-panel__header .booking-section-title{color:#fff;margin:0}.booking-flow .booking-terms-panel__toggle{color:#fff;letter-spacing:.02em;background:#ffffff24;border:1px solid #ffffff59;border-radius:9999px;align-items:center;gap:.35rem;padding:.4rem .75rem;font-size:.75rem;font-weight:700;transition:background .15s,border-color .15s;display:inline-flex}.booking-flow .booking-terms-panel__toggle:hover{background:#ffffff38;border-color:#ffffff80}.booking-flow .booking-terms-panel__body{border-top:1px solid #0f766e1f;height:auto;padding:1rem 1.25rem 1.25rem;max-height:none!important;overflow:visible!important}.booking-flow .booking-terms-panel__accept{border-top:1px solid var(--border);background:var(--surface-muted);border-radius:0 0 1.25rem 1.25rem;justify-content:space-between;align-items:center;gap:1rem;padding:.95rem 1.25rem;display:flex}.booking-flow .booking-terms-panel.is-collapsed .booking-terms-panel__accept{border-top:none}.booking-flow .booking-terms-panel__accept.has-error{background:#fef2f2;border-top-color:#fecaca}.booking-flow .booking-terms-panel__accept-label{color:var(--ink);font-size:.9rem;font-weight:600;line-height:1.35}.booking-flow .booking-terms-panel__switch{flex-shrink:0}.booking-flow .booking-terms-panel__switch[data-state=checked]{background-color:var(--accent)!important}.booking-flow .booking-terms-panel__switch[data-state=unchecked]{background-color:#d4d4d4!important}.booking-flow .booking-terms-panel__error{background:#fef2f2;margin:0;padding:0 1.25rem .9rem}.booking-flow .booking-summary-card{border:1px solid var(--border);background:#fff;border-radius:1.15rem;margin-top:1rem;overflow:hidden;box-shadow:0 6px 20px #0f172a0a}.booking-flow .booking-summary-card.is-collapsed{border-color:#0f766e2e}.booking-flow .booking-summary-card__trigger{background:linear-gradient(180deg,#fff 0%,var(--surface-muted) 100%);cursor:pointer;text-align:left;border:none;justify-content:space-between;align-items:center;gap:.85rem;width:100%;padding:.85rem 1rem;transition:background .15s;display:flex}.booking-flow .booking-summary-card__trigger:hover{background:linear-gradient(#fff,#eef7f4)}.booking-flow .booking-summary-card:not(.is-collapsed) .booking-summary-card__trigger{border-bottom:1px solid var(--border)}.booking-flow .booking-summary-card__trigger-copy{flex:1;min-width:0}.booking-flow .booking-summary-card__title{color:var(--ink);font-size:.875rem;font-weight:700;line-height:1.2;display:block}.booking-flow .booking-summary-card__peek{color:#737373;flex-wrap:wrap;align-items:center;gap:.3rem .45rem;margin-top:.2rem;font-size:.75rem;line-height:1.35;display:flex}.booking-flow .booking-summary-card__trigger-end{color:var(--accent);flex-shrink:0;align-items:center;gap:.45rem;display:flex}.booking-flow .booking-summary-card__trigger-total{color:var(--ink);white-space:nowrap;font-size:.9375rem;font-weight:700}.booking-flow .booking-summary-card__body{padding:.9rem 1rem 1rem}.booking-flow .booking-summary-card__meta{flex-direction:column;gap:.55rem;margin-bottom:.85rem;display:flex}.booking-flow .booking-summary-card__meta-row{color:#334155;align-items:flex-start;gap:.55rem;font-size:.8125rem;line-height:1.45;display:flex}.booking-flow .booking-summary-card__price-panel{border-radius:1rem}.booking-flow .booking-summary-card__price-panel .booking-price-panel__rows{padding:1rem 1rem .85rem}.booking-flow .booking-summary-card__price-panel .booking-price-panel__total{border-radius:0 0 1rem 1rem}.booking-flow .booking-summary-card--checkout{background:radial-gradient(120% 80% at 0 -20%,#0f766e17,#0000 55%),radial-gradient(90% 60% at 100% 0,#ef44440f,#0000 50%),#fff;border:1px solid #0f766e24;border-radius:1.65rem;margin-top:0;box-shadow:0 22px 50px #0f172a12,inset 0 0 0 1px #ffffffd9}.booking-flow .booking-summary-card--checkout.is-collapsed{border-color:#0f766e33}.booking-flow .booking-summary-card--checkout .booking-summary-card__trigger{background:0 0;padding:1.1rem 1.15rem 1.15rem;position:relative;overflow:hidden}.booking-flow .booking-summary-card--checkout .booking-summary-card__trigger:hover{background:linear-gradient(#ecfdf559 0%,#0000 100%)}.booking-flow .booking-summary-card--checkout:not(.is-collapsed) .booking-summary-card__trigger{border-bottom:1px solid #0f766e1a}.booking-flow .booking-summary-card--checkout .booking-summary-card__accent-bar{background:var(--grad-brand);height:3px;position:absolute;top:0;left:0;right:0}.booking-flow .booking-summary-card--checkout .booking-summary-card__trigger-layout{justify-content:space-between;align-items:flex-start;gap:.85rem;width:100%;display:flex}.booking-flow .booking-summary-card--checkout .booking-summary-card__eyebrow{letter-spacing:.14em;text-transform:uppercase;color:#0f766e;margin-bottom:.2rem;font-size:.6875rem;font-weight:800;display:block}.booking-flow .booking-summary-card--checkout .booking-summary-card__title{letter-spacing:-.03em;color:var(--ink);font-size:1.05rem;font-weight:800}.booking-flow .booking-summary-card--checkout .booking-summary-card__chips{flex-wrap:wrap;gap:.4rem;margin-top:.65rem;display:flex}.booking-flow .booking-summary-chip{color:#334155;background:#ffffffeb;border:1px solid #0f766e29;border-radius:9999px;align-items:center;gap:.35rem;padding:.32rem .65rem;font-size:.72rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #0f766e0f}.booking-flow .booking-summary-chip--accent{color:#b91c1c;background:linear-gradient(135deg,#fff5f5,#fff);border-color:#ef444438}.booking-flow .booking-summary-card--checkout .booking-summary-card__total-pill{white-space:nowrap;background:linear-gradient(135deg,#0f766e,#0d635c);border-radius:9999px;flex-direction:row;justify-content:center;align-items:center;gap:.5rem;min-width:10.5rem;padding:.5rem 1rem;display:inline-flex;box-shadow:0 8px 22px #0f766e47}.booking-flow .booking-summary-card--checkout .booking-summary-card__total-pill-label{letter-spacing:.1em;text-transform:uppercase;color:#ffffffe0;flex-shrink:0;font-size:.6875rem;font-weight:800}.booking-flow .booking-summary-card--checkout .booking-summary-card__total-pill-value{letter-spacing:-.03em;color:#fff;white-space:nowrap;flex-shrink:0;font-size:1rem;font-weight:800}.booking-flow .booking-summary-card--checkout .booking-summary-card__chevron{color:#0f766e;background:#fff;border:1px solid #0f766e24;border-radius:9999px;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;display:flex;box-shadow:0 4px 12px #0f172a0d}.booking-flow .booking-summary-card--checkout .booking-summary-card__body{flex-direction:column;gap:.9rem;padding:1rem 1.15rem 1.15rem;display:flex}.booking-flow .booking-checkout-hero{background:linear-gradient(135deg,#ecfdf5f2,#fff);border:1px solid #0f766e1f;border-radius:1.15rem;align-items:center;gap:.85rem;padding:.85rem .95rem;display:flex}.booking-flow .booking-checkout-hero__mark{background:var(--grad-emerald);color:#fff;border-radius:1rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex;box-shadow:0 8px 20px #0f766e40}.booking-flow .booking-checkout-hero__name{letter-spacing:-.02em;color:var(--ink);font-size:.98rem;font-weight:800;line-height:1.2}.booking-flow .booking-checkout-hero__location{color:#0f766e;margin-top:.15rem;font-size:.78rem;font-weight:500}.booking-flow .booking-checkout-rate-badge{letter-spacing:.04em;text-transform:uppercase;color:#57534e;background:#f5f5f4;border:1px solid #e7e5e4;border-radius:9999px;margin-top:.45rem;padding:.2rem .55rem;font-size:.65rem;font-weight:700;display:inline-flex}.booking-flow .booking-checkout-rate-badge--resident{background:var(--accent-soft);color:#0d635c;border-color:#0f766e33}.booking-flow .booking-checkout-facts{grid-template-columns:1fr 1fr;gap:.55rem;display:grid}.booking-flow .booking-checkout-fact{background:#fafaf9;border:1px solid #0f172a0f;border-radius:1rem;align-items:flex-start;gap:.55rem;padding:.7rem .75rem;display:flex}.booking-flow .booking-checkout-fact__icon{color:#0f766e;background:#fff;border:1px solid #0f766e1f;border-radius:.65rem;flex-shrink:0;justify-content:center;align-items:center;width:1.85rem;height:1.85rem;display:flex}.booking-flow .booking-checkout-fact__label{letter-spacing:.08em;text-transform:uppercase;color:#a3a3a3;font-size:.625rem;font-weight:700;display:block}.booking-flow .booking-checkout-fact__value{color:#1c1917;margin-top:.12rem;font-size:.78rem;font-weight:700;line-height:1.35;display:block}.booking-flow .booking-checkout-contact{background:#fff;border:1px solid #0f172a0f;border-radius:1.1rem;align-items:center;gap:.75rem;padding:.8rem .9rem;display:flex;box-shadow:0 8px 24px #0f172a0a}.booking-flow .booking-checkout-contact__avatar{color:#fff;background:linear-gradient(135deg,#ef4444,#b91c1c);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:.82rem;font-weight:800;display:flex;box-shadow:0 6px 16px #ef444447}.booking-flow .booking-checkout-contact__name{color:var(--ink);font-size:.88rem;font-weight:800;line-height:1.2}.booking-flow .booking-checkout-contact__line{color:#525252;align-items:flex-start;gap:.4rem;margin-top:.28rem;font-size:.75rem;line-height:1.35;display:flex}.booking-flow .booking-checkout-contact__line--muted{color:#737373;padding-left:1.25rem}.booking-flow .booking-checkout-resident-badge{background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 100%);color:#0d635c;text-align:center;border:1px solid #0f766e33;border-radius:.85rem;padding:.55rem .75rem;font-size:.72rem;font-weight:700}.booking-flow .booking-checkout-receipt{background:#fff;border:1px solid #0f172a12;border-radius:1.2rem;overflow:hidden;box-shadow:0 10px 28px #0f172a0d}.booking-flow .booking-checkout-receipt__head{letter-spacing:.1em;text-transform:uppercase;color:#525252;background:linear-gradient(#f8faf9,#fff);border-bottom:1px dashed #0f766e2e;justify-content:space-between;align-items:center;gap:.75rem;padding:.7rem .95rem;font-size:.72rem;font-weight:800;display:flex}.booking-flow .booking-checkout-receipt__savings{background:var(--accent-soft);letter-spacing:0;text-transform:none;color:#0d635c;white-space:nowrap;border:1px solid #0f766e2e;border-radius:9999px;padding:.2rem .55rem;font-size:.65rem;font-weight:700}.booking-flow .booking-checkout-receipt__rows{flex-direction:column;gap:.45rem;padding:.75rem .95rem;display:flex}.booking-flow .booking-checkout-receipt__row{color:#334155;justify-content:space-between;align-items:flex-start;gap:.75rem;font-size:.8125rem;font-weight:600;display:flex}.booking-flow .booking-checkout-receipt__row em{color:#a3a3a3;margin-left:.2rem;font-style:normal;font-weight:500}.booking-flow .booking-checkout-receipt__row span:last-child{white-space:nowrap;color:var(--ink)}.booking-flow .booking-checkout-receipt__footer{background:linear-gradient(#fff,#f8faf9);border-top:1px dashed #0f766e2e;flex-direction:column;gap:.4rem;padding:.75rem .95rem .9rem;display:flex}.booking-flow .booking-checkout-receipt__row--muted{color:#737373;font-size:.78rem;font-weight:500}.booking-flow .booking-checkout-receipt__row--muted span:last-child{color:#525252;font-weight:600}.booking-flow .booking-checkout-receipt__row--total{color:var(--ink);border-top:1px solid #0f766e1f;margin-top:.25rem;padding-top:.55rem;font-size:.9rem;font-weight:800}.booking-flow .booking-checkout-receipt__row--total span:last-child{color:#0f766e;font-size:1.05rem}@media (max-width:480px){.booking-flow .booking-checkout-facts{grid-template-columns:1fr}.booking-flow .booking-summary-card--checkout .booking-summary-card__trigger-layout{flex-direction:column;align-items:stretch}.booking-flow .booking-summary-card--checkout .booking-summary-card__trigger-end{justify-content:space-between;width:100%}}.booking-flow .booking-terms li::marker{color:var(--accent)}.booking-flow .booking-visitor-pill{background:linear-gradient(90deg,var(--accent-soft) 0%,#fff 100%);border:1px solid #0f766e29;border-radius:1.1rem;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:.95rem 1.1rem;display:flex}.booking-flow .booking-visitor-pill__type{color:var(--muted);align-items:center;gap:.55rem;font-size:.875rem;display:inline-flex}.booking-flow .booking-visitor-pill__badge{background:var(--grad-emerald);color:#fff;border-radius:9999px;align-items:center;padding:.25rem .7rem;font-size:.75rem;font-weight:700;display:inline-flex}.booking-flow .booking-guest-grid{gap:.9rem;display:grid}@media (min-width:480px){.booking-flow .booking-guest-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.booking-flow .booking-guest-card{border:1px solid var(--border);background:var(--surface-muted);border-radius:1.15rem;padding:1.1rem;transition:border-color .2s,box-shadow .2s}.booking-flow .booking-guest-card:focus-within{border-color:#0f766e59;box-shadow:0 0 0 3px #0f766e1a}.booking-flow .booking-guest-card--error{border-color:#fca5a5;box-shadow:0 0 0 3px #ef44441a}.booking-flow .booking-guest-card__head{margin-bottom:.85rem}.booking-flow .booking-guest-card__label{color:var(--ink);font-size:.9rem;font-weight:600;display:block}.booking-flow .booking-guest-card__hint{color:var(--muted);margin-top:.6rem;font-size:.6875rem;line-height:1.4;display:block}.booking-flow .booking-guest-stepper{border:1px solid var(--border);background:#fff;border-radius:.95rem;align-items:center;gap:.5rem;padding:.35rem;display:flex}.booking-flow .booking-guest-stepper__btn{background:var(--accent-soft);width:2.4rem;height:2.4rem;color:var(--accent);border:none;border-radius:.7rem;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s,transform .1s;display:flex}.booking-flow .booking-guest-stepper__btn:hover:not(:disabled){background:var(--grad-emerald);color:#fff}.booking-flow .booking-guest-stepper__btn:active:not(:disabled){transform:scale(.94)}.booking-flow .booking-guest-stepper__btn:disabled{opacity:.35;cursor:not-allowed}.booking-flow .booking-guest-stepper__value{text-align:center;width:100%;min-width:0;color:var(--ink);-moz-appearance:textfield;background:0 0;border:none;outline:none;font-size:1.2rem;font-weight:700}.booking-flow .booking-guest-stepper__value::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.booking-flow .booking-guest-stepper__value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.booking-flow .booking-field-stack{flex-direction:column;gap:.75rem;display:flex}.booking-flow .booking-field-wrap{position:relative}.booking-flow .booking-field-icon{pointer-events:none;color:#0f766e8c;width:1.25rem;height:1.25rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.booking-flow .booking-phone-field{width:100%}.booking-flow .booking-phone-input__icon{pointer-events:none;color:#0f766e8c;width:1.25rem;height:1.25rem;position:absolute;top:50%;left:1rem;transform:translateY(-50%)}.booking-flow .booking-phone-country{font-size:1rem;border-color:var(--border)!important;color:var(--ink)!important;background:#fff!important;border-radius:.85rem 0 0 .85rem!important}.booking-flow .booking-phone-country__flag,.booking-flow .booking-phone-menu__flag{object-fit:cover;border-radius:2px;flex-shrink:0;width:1.35rem;height:.95rem;display:block;box-shadow:0 0 0 1px #0f172a29}.booking-flow .booking-field-error{color:#dc2626;margin-top:.375rem;font-size:.8125rem}.booking-flow .booking-combo-section{border:1px solid var(--border);background:linear-gradient(180deg,var(--surface-muted) 0%,#fff 100%);border-radius:1.35rem;padding:1.35rem}@media (min-width:640px){.booking-flow .booking-combo-section{padding:1.6rem}}.booking-flow .booking-addon{border:1px solid var(--border);background:#fff;border-radius:1.15rem;padding:1rem;transition:border-color .2s,box-shadow .2s,background .2s;position:relative;overflow:hidden}@media (min-width:640px){.booking-flow .booking-addon{padding:1.25rem}}.booking-flow .booking-addon--selected{border:2px solid var(--accent);background:linear-gradient(180deg,var(--accent-soft) 0%,#fff 72%);box-shadow:0 12px 32px #0f766e1f}.booking-flow .booking-addon__promo-top{flex-direction:column;align-items:flex-end;gap:.2rem;margin-bottom:.65rem;display:flex}.booking-flow .booking-addon__saved{color:#16a34a;white-space:nowrap;font-size:.75rem;font-weight:600}.booking-flow .booking-addon__header{align-items:flex-start;gap:.75rem;display:flex}.booking-flow .booking-addon__icon{background:#fce7f3;border-radius:.85rem;flex-shrink:0;justify-content:center;align-items:center;width:2.75rem;height:2.75rem;display:flex}.booking-flow .booking-addon__icon--selected{background:var(--accent);border-radius:9999px}.booking-flow .booking-addon__copy{flex:1;min-width:0;padding-top:.1rem}.booking-flow .booking-addon__title{color:#0a0a0a;margin:0;font-size:.9375rem;font-weight:700;line-height:1.25}@media (min-width:640px){.booking-flow .booking-addon__title{font-size:1.05rem}}.booking-flow .booking-addon__desc{color:#737373;margin:.25rem 0 0;font-size:.75rem;line-height:1.45}@media (min-width:640px){.booking-flow .booking-addon__desc{font-size:.8125rem}}.booking-flow .booking-addon__control{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:.45rem;display:flex}.booking-flow .booking-addon__line-total{color:#0a0a0a;white-space:nowrap;font-size:.9375rem;font-weight:700}.booking-flow .booking-addon__switch[data-state=checked]{background-color:var(--accent)!important}.booking-flow .booking-addon__switch[data-state=unchecked]{background-color:#d4d4d4!important}.booking-flow .booking-addon__promo-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.85rem;display:flex}.booking-flow .booking-addon__off-pill{background:var(--cta-red);color:#fff;letter-spacing:.02em;border-radius:9999px;align-items:center;padding:.2rem .55rem;font-size:.6875rem;font-weight:700;display:inline-flex}.booking-flow .booking-addon__combo-label{color:#737373;font-size:.75rem}.booking-flow .booking-addon__location{color:#525252;align-items:center;gap:.3rem;margin-top:.65rem;font-size:.8125rem;display:flex}.booking-flow .booking-addon__flex{background:#ecfdf5;border:1px solid #bbf7d0;border-radius:.75rem;margin-top:.85rem;padding:.75rem .85rem}.booking-flow .booking-addon__flex p{color:#166534;margin:0;font-size:.6875rem;line-height:1.5}@media (min-width:640px){.booking-flow .booking-addon__flex p{font-size:.75rem}}.booking-flow .booking-addon__flex p+p{margin-top:.35rem}.booking-flow .booking-addon__pricing{border:1px solid var(--border);background:#fff;border-radius:.75rem;grid-template-columns:1fr 1fr;margin-top:.85rem;display:grid;overflow:hidden}.booking-flow .booking-addon__price-col{text-align:center;padding:.75rem .65rem}.booking-flow .booking-addon__price-col--split{border-left:1px solid var(--border)}.booking-flow .booking-addon__price-label{color:#737373;margin-bottom:.35rem;font-size:.6875rem}.booking-flow .booking-addon__price-values{flex-wrap:wrap;justify-content:center;align-items:center;gap:.35rem;display:flex}.booking-flow .booking-addon__price-old{color:#a3a3a3;font-size:.75rem;text-decoration:line-through}.booking-flow .booking-addon__price-new{color:var(--accent);font-size:.9375rem;font-weight:700}@media (min-width:640px){.booking-flow .booking-addon__price-new{font-size:1.05rem}}.booking-flow .booking-save-badge{background:var(--cta-red);color:#fff;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 4px 12px #ef444440}.booking-flow .booking-addon-cta{text-align:center;border-radius:.9rem;margin-top:.85rem;padding:.8rem 1rem;font-size:.875rem;font-weight:600}.booking-flow .booking-addon-cta--selected{background:var(--grad-emerald);color:#fff}.booking-flow .booking-spots-badge{background:var(--accent-soft);letter-spacing:.04em;text-transform:uppercase;color:var(--accent);border:1px solid #0f766e33;border-radius:9999px;align-items:center;padding:.3rem .7rem;font-size:.6875rem;font-weight:700;display:inline-flex}.booking-flow .booking-price-panel{border:1px solid var(--border);background:#fff;border-radius:1.35rem;overflow:hidden;box-shadow:0 8px 28px #0f172a0d}.booking-flow .booking-price-panel__rows{flex-direction:column;gap:.75rem;padding:1.35rem 1.35rem 1.1rem;display:flex}.booking-flow .booking-price-row{color:var(--muted);justify-content:space-between;align-items:center;gap:1rem;font-size:.9375rem;display:flex}.booking-flow .booking-price-row strong,.booking-flow .booking-price-row .booking-price-row__amount{color:var(--ink);font-weight:600}.booking-flow .booking-price-panel__divider{background:var(--border);height:1px;margin:0 1.35rem}.booking-flow .booking-price-panel__total{background:var(--grad-emerald);color:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 1.35rem;display:flex}.booking-flow .booking-price-panel__total-label{opacity:.92;font-size:.9375rem;font-weight:500}.booking-flow .booking-price-panel__total-amount{letter-spacing:-.02em;font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.65rem;font-weight:600}.booking-flow .booking-desktop-cta{margin-top:.75rem}.booking-flow .booking-summary-header,.booking-flow .booking-total-bar{background:var(--grad-emerald);color:#fff}.booking-flow .booking-total-bar{border-radius:1rem}.booking-flow .booking-mobile-bar{border-top:1px solid var(--border);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;box-shadow:0 -8px 28px #0f172a0f}.booking-flow .rdp-day_selected,.booking-flow .rdp-day_selected:hover{background:var(--grad-emerald)!important;color:#fff!important}.booking-flow .rdp-day_today:not(.rdp-day_selected){color:var(--accent)!important;background:var(--accent-soft)!important}.booking-flow .text-primary{color:var(--accent)!important}.booking-flow .text-primary\/60{color:#0f766e99!important}.booking-flow a:not([class*=btn-3d]):not(.booking-btn-primary):not(.booking-btn-outline){color:var(--accent)}.booking-flow a:not([class*=btn-3d]):not(.booking-btn-primary):not(.booking-btn-outline):hover{color:var(--accent-deep)}body.dmg-customer-app .booking-flow button.booking-btn-primary,body.dmg-customer-app .booking-flow .booking-btn-primary{background-color:var(--cta-red)!important;color:#fff!important;border-color:#0000!important}@media (max-width:767px){html.pwa-mode body.dmg-customer-app .booking-flow--stacked .booking-flow__content{padding-top:calc(3.75rem + env(safe-area-inset-top,0px))}}html.pwa-mode .booking-flow .booking-pill-calendar__grid{gap:.35rem}html.pwa-mode .booking-flow .booking-pill-calendar__day{border-radius:.72rem;gap:.1rem;min-height:3.1rem}html.pwa-mode .booking-flow .booking-pill-calendar__dow{letter-spacing:.04em;font-size:.56rem}html.pwa-mode .booking-flow .booking-pill-calendar__num{font-size:.92rem}html.pwa-mode .booking-flow .booking-pill-calendar__month-select{padding:.55rem 2rem .55rem .85rem;font-size:.78rem}html.pwa-mode .booking-flow .booking-pill-calendar__footer{margin-top:1rem;font-size:.875rem}html.pwa-mode .booking-flow{--booking-pwa-header-size:1rem}html.pwa-mode .booking-flow .booking-stack-card__title,html.pwa-mode .booking-flow .booking-section-title,html.pwa-mode .booking-flow .booking-addon__title,html.pwa-mode .booking-flow .booking-summary-card__title{line-height:1.2;font-size:var(--booking-pwa-header-size)!important}html.pwa-mode .booking-flow .booking-field-stack .booking-input,html.pwa-mode .booking-flow .booking-field-stack .booking-phone-field .booking-phone-input,html.pwa-mode .booking-flow .booking-field-stack .booking-phone-field .booking-phone-country{font-size:.9375rem!important}html.pwa-mode .booking-flow .booking-field-stack .booking-input::-moz-placeholder{font-size:.9375rem!important}html.pwa-mode .booking-flow .booking-field-stack .booking-phone-field .booking-phone-input::-moz-placeholder{font-size:.9375rem!important}html.pwa-mode .booking-flow .booking-field-stack .booking-input::placeholder,html.pwa-mode .booking-flow .booking-field-stack .booking-phone-field .booking-phone-input::placeholder,html.pwa-mode .booking-flow .booking-phone-country__flag{font-size:.9375rem!important}html.pwa-mode .booking-flow .booking-spots-badge{letter-spacing:.03em;padding:.2rem .48rem;font-size:.56rem}html.pwa-mode .booking-flow .booking-terms-panel__header{padding:.75rem .9rem}html.pwa-mode .booking-flow .booking-terms-panel__toggle{white-space:nowrap;flex-shrink:0;padding:.3rem .55rem;font-size:.62rem}html.pwa-mode .booking-flow .booking-bottom-bar__cta-label--compact{display:inline}html.pwa-mode .booking-flow .booking-bottom-bar__cta-label--full,.booking-flow .booking-bottom-bar__cta-label--compact{display:none}@media (max-width:767px){html.pwa-mode .booking-flow .booking-bottom-bar__inner{padding-top:.75rem;padding-left:max(.85rem,env(safe-area-inset-left,0px));padding-right:max(.85rem,env(safe-area-inset-right,0px));justify-content:space-between;align-items:center;gap:.5rem;display:flex}html.pwa-mode .booking-flow .booking-bottom-bar__total{flex:auto;min-width:0}html.pwa-mode .booking-flow .booking-bottom-bar__total-label{letter-spacing:.12em;font-size:.68rem}html.pwa-mode .booking-flow .booking-bottom-bar__total-value{font-size:1.15rem;line-height:1.05}html.pwa-mode .booking-flow .booking-bottom-bar__cta{flex:none;max-width:none;min-height:2.65rem;font-size:.68rem;width:auto!important;padding:.5rem .62rem!important}html.pwa-mode .booking-flow .booking-bottom-bar .booking-btn-primary.booking-bottom-bar__cta>span{gap:.35rem}html.pwa-mode .booking-flow--stacked .booking-flow__content{padding-bottom:calc(5.5rem + env(safe-area-inset-bottom,0px))}}.booking-flow .booking-stack>.booking-summary-card{margin-top:0}.booking-flow .booking-checkout-back{width:100%;margin-top:1rem}.booking-flow .booking-payment-form__terms{align-items:flex-start;gap:.85rem;margin-top:.35rem;display:flex}.booking-flow .booking-payment-form__terms [data-state]{background:#f9f7f2;border:1.5px solid #d6cfc3;border-radius:.45rem;width:1.35rem;height:1.35rem}.booking-flow .booking-payment-form__terms [data-state=checked]{background:var(--accent);border-color:var(--accent)}.booking-flow .booking-payment-brands{grid-template-columns:repeat(5,minmax(0,1fr));gap:.45rem;margin-bottom:.9rem;display:grid}.booking-flow .booking-payment-brands__pill{background:#fff;border:1px solid #eae4d8;border-radius:9px;justify-content:center;align-items:center;height:2.25rem;display:flex;overflow:hidden}.booking-flow .booking-payment-brands__pill svg{max-width:100%;height:auto;display:block}.booking-flow .booking-payment-brands__pill--visa{padding:0 .875rem}.booking-flow .booking-payment-brands__pill--mastercard{padding:0 .75rem}.booking-flow .booking-payment-brands__pill--amex{background:#2e77bc;border-color:#2e77bc;padding:0 .8125rem}.booking-flow .booking-payment-brands__pill--unionpay,.booking-flow .booking-payment-brands__pill--jcb{padding:0 .625rem}.booking-flow .booking-payment-loading{text-align:center;background:#f9f7f2;border:1px solid #e8e0d4;border-radius:1.5rem;flex-direction:column;justify-content:center;align-items:center;gap:.85rem;min-height:12rem;padding:2rem 1.5rem;display:flex}.booking-flow .booking-payment-loading p{color:var(--muted);font-size:.9375rem;font-weight:500}.booking-flow .booking-payment-form__terms label{color:var(--muted);cursor:pointer;font-size:.875rem;line-height:1.45}.booking-flow .booking-payment-form__terms a{color:var(--accent);font-weight:600}.booking-flow .booking-payment-form__terms a:hover{color:var(--accent-deep)}.booking-flow .booking-payment-form__submit{margin-top:1rem}.booking-flow .booking-stripe-payment{flex-direction:column;gap:1rem;display:flex}.booking-flow .booking-stripe-payment__head{flex-direction:column;gap:.25rem;display:flex}.booking-flow .booking-stripe-payment__title{letter-spacing:-.03em;color:var(--ink);margin:0;font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.35rem;font-weight:700}.booking-flow .booking-stripe-payment__sub{color:#64748b;margin:0;font-size:.92rem}.booking-flow .booking-stripe-payment__express{gap:.65rem;min-height:2.75rem;display:grid}.booking-flow .booking-stripe-payment__wallet-hint{color:#64748b;text-align:center;background:#0f766e0f;border:1px solid #0f766e1f;border-radius:.85rem;margin:0;padding:.65rem .85rem;font-size:.78rem;line-height:1.45}.booking-flow .booking-stripe-payment__error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:.85rem;margin:0;padding:.75rem .9rem;font-size:.82rem;line-height:1.45}.booking-flow .booking-stripe-payment__divider{justify-content:center;align-items:center;margin:.15rem 0;display:flex;position:relative}.booking-flow .booking-stripe-payment__divider:before{content:"";border-top:1px solid #0f766e24;position:absolute;inset:50% 0 auto}.booking-flow .booking-stripe-payment__divider span{letter-spacing:.16em;color:#94a3b8;background:#fff;padding:0 .75rem;font-size:.68rem;font-weight:800;position:relative}.booking-flow .booking-stripe-payment__card{background:#fff;border:1px solid #0f766e24;border-radius:1rem;padding:1rem}.booking-flow .booking-stripe-payment__submit{min-height:3.1rem;font-size:1rem;font-weight:700}.booking-flow .booking-stripe-payment__footnote{text-align:center;color:#94a3b8;margin:0;font-size:.78rem;line-height:1.45}.booking-flow .booking-payment-error{text-align:center;padding:2rem 1.25rem 1.5rem}.booking-flow .booking-payment-error--panel{flex-direction:column;justify-content:center;align-items:center;min-height:14rem;margin-bottom:.25rem;display:flex}.booking-flow .booking-payment-error__title{color:#dc2626;margin:0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.125rem;font-weight:600;line-height:1.35}.booking-flow .booking-payment-error__message{color:#525252;max-width:22rem;margin:.5rem auto 0;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.9375rem;line-height:1.5}.booking-flow .booking-payment-error__actions{width:100%;max-width:18rem;margin-top:1.25rem}.booking-flow .booking-payment-fields{width:100%;min-width:0}.booking-flow .booking-payment-fields--hidden{visibility:hidden;pointer-events:none;height:0;margin:0;padding:0;overflow:hidden;min-height:0!important}.booking-flow .booking-payment-fields__mount,.booking-flow #ngenius-payment-form{width:100%;min-width:0;max-width:100%;overflow:hidden}.booking-flow #ngenius-payment-form iframe{border:0;min-height:380px;display:block;width:100%!important;max-width:100%!important;height:380px!important}@media (max-width:767px){html.pwa-mode .booking-flow #ngenius-payment-form iframe{min-height:500px;height:500px!important}html.pwa-mode .booking-flow #ngenius-payment-form{min-height:500px}}.booking-3ds-modal{z-index:10000;padding:max(1rem,env(safe-area-inset-top,0px)) max(1rem,env(safe-area-inset-right,0px)) max(1rem,env(safe-area-inset-bottom,0px)) max(1rem,env(safe-area-inset-left,0px));background:#0f172a8c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.booking-3ds-modal__dialog{background:#fff;border-radius:1rem;flex-direction:column;width:min(600px,100%);max-height:min(580px,100dvh - 2rem);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #0f172a47}.booking-3ds-modal__close{z-index:2;color:#374151;cursor:pointer;background:#fff;border:1px solid #e5e7eb;border-radius:9999px;justify-content:center;align-items:center;min-height:2rem;padding:.35rem .75rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:.8125rem;font-weight:600;line-height:1;display:inline-flex;position:absolute;top:.75rem;right:.75rem;box-shadow:0 1px 2px #0f172a14}.booking-3ds-modal__close:hover{background:#f9fafb;border-color:#d1d5db}.booking-3ds-modal__close:focus-visible{outline-offset:2px;outline:2px solid #0f766e}.booking-3ds-modal__content{flex:1;min-height:24rem;padding:3rem 1rem 1rem;overflow:auto}.booking-3ds-modal__content iframe{border:0;min-height:22rem;display:block;width:100%!important;max-width:100%!important}@media (max-width:767px){.booking-3ds-modal__dialog{width:100%;max-height:calc(100dvh - 1.5rem)}.booking-3ds-modal__content{min-height:20rem;padding-top:3.25rem}}.booking-flow .booking-payment-error__icon{background:#fef2f2;border-radius:9999px;justify-content:center;align-items:center;width:3.5rem;height:3.5rem;margin:0 auto 1rem;display:flex}.booking-flow .booking-payment-validation{color:#92400e;text-align:center;background:#fffbeb;border:1px solid #f59e0b59;border-radius:.85rem;margin-top:1rem;padding:.85rem 1rem;font-size:.8125rem}.booking-flow--success .booking-success-intro-meta{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.25rem;display:flex}.booking-flow--success .booking-success-intro-meta .booking-success-hero__ref,.booking-flow--success .booking-success-intro-meta .booking-success-status{align-items:center;min-height:2.125rem;margin-top:0;padding:.5rem .9rem;font-size:.8125rem;font-weight:600;line-height:1}.booking-flow--success .booking-success-hero{text-align:center;background:#fff;border:1px solid #0f172a0f;border-radius:2rem;padding:2rem 1.5rem 1.75rem;position:relative;overflow:hidden;box-shadow:0 18px 48px #0f172a0e}.booking-flow--success .booking-success-hero--loading{width:100%}@media (min-width:640px){.booking-flow--success .booking-success-hero{padding:2.25rem 2rem 2rem}}.booking-flow--success .booking-success-hero:before{content:"";background:var(--grad-brand);height:4px;position:absolute;inset:0 0 auto}.booking-flow--success .booking-success-hero__icon{width:4.5rem;height:4.5rem;color:var(--accent);background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:9999px;justify-content:center;align-items:center;margin-bottom:1.25rem;display:inline-flex;box-shadow:0 0 0 8px #0f766e14}.booking-flow--success .booking-success-hero__icon--loading{position:relative}.booking-flow--success .booking-success-hero__title{letter-spacing:-.03em;color:var(--ink);font-family:Fraunces,ui-serif,Georgia,serif;font-size:clamp(1.75rem,4vw,2.35rem);font-weight:600;line-height:1.1}.booking-flow--success .booking-success-hero__sub{color:#6b625a;max-width:32rem;margin-top:.75rem;margin-left:auto;margin-right:auto;font-size:1rem;line-height:1.5}.booking-flow--success .booking-success-hero__ref{background:var(--accent-soft);color:var(--accent-deep);letter-spacing:.02em;border:1px solid #0f766e2e;border-radius:9999px;align-items:center;gap:.35rem;margin-top:1rem;padding:.45rem .9rem;font-size:.875rem;font-weight:600;display:inline-flex}.booking-flow--success .booking-success-status{text-transform:capitalize;letter-spacing:.04em;border-radius:9999px;align-items:center;gap:.4rem;margin-top:.85rem;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.booking-flow--success .booking-success-status--completed{color:#047857;background:#ecfdf5;border:1px solid #10b98140}.booking-flow--success .booking-success-status--processing,.booking-flow--success .booking-success-status--pending{color:#b45309;background:#fffbeb;border:1px solid #f59e0b4d}.booking-flow--success .booking-success-status--failed{color:#b91c1c;background:#fef2f2;border:1px solid #ef444440}.booking-flow--success .booking-success-card,.booking-flow--tickets .booking-success-card{background:#fff;border:1px solid #0f172a0f;border-radius:1.75rem;padding:1.35rem 1.25rem;box-shadow:0 12px 36px #0f172a0b}@media (min-width:640px){.booking-flow--success .booking-success-card,.booking-flow--tickets .booking-success-card{padding:1.5rem}}.booking-flow--success .booking-success-card__head,.booking-flow--tickets .booking-success-card__head{align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.booking-flow--success .booking-success-card__title,.booking-flow--tickets .booking-success-card__title{letter-spacing:-.02em;color:var(--ink);font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.125rem;font-weight:600}.booking-flow--success .booking-success-tickets{background:linear-gradient(135deg,#ecfdf5,#f0fdf9 55%,#fff);border:1px solid #0f766e33;border-radius:1.25rem;padding:1.15rem 1.15rem 1.25rem}.booking-flow--success .booking-success-tickets__title{color:var(--accent-deep);align-items:center;gap:.5rem;font-size:.95rem;font-weight:600;display:flex}.booking-flow--success .booking-success-tickets__sub{color:#4b6b66;margin-top:.35rem;margin-bottom:1rem;font-size:.8125rem;line-height:1.45}.booking-flow--success .booking-success-ticket-row{border:1px solid var(--border);background:#fff;border-radius:1rem;flex-direction:column;gap:.75rem;padding:.85rem 1rem;display:flex}@media (min-width:640px){.booking-flow--success .booking-success-ticket-row{flex-direction:row;justify-content:space-between;align-items:center}}.booking-flow--success .booking-success-ticket-row+.booking-success-ticket-row{margin-top:.65rem}.booking-flow--success .booking-success-ticket-row .booking-btn-primary,.booking-flow--success .booking-success-ticket-row .booking-btn-outline{flex-shrink:0;min-height:2.25rem;padding:.5rem 1.25rem;font-size:.875rem;width:auto!important}.booking-flow--success .booking-success-ticket-row .booking-btn-primary{box-shadow:0 3px 0 var(--cta-red-shadow)!important}.booking-flow--success .booking-success-ticket-row .booking-btn-primary:active:not(:disabled){transform:translateY(2px);box-shadow:0 1px 0 var(--cta-red-shadow)!important}.booking-flow--success .booking-success-tour{border:1px solid var(--border);background:var(--surface-muted);border-radius:1.25rem;padding:1.1rem 1.15rem}.booking-flow--success .booking-success-tour+.booking-success-tour{margin-top:.85rem}.booking-flow--success .booking-success-tour__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.85rem;display:flex}.booking-flow--success .booking-success-tour__name{color:var(--ink);font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.05rem;font-weight:600}.booking-flow--success .booking-success-tour__badge{letter-spacing:.05em;text-transform:uppercase;border-radius:9999px;padding:.25rem .6rem;font-size:.6875rem;font-weight:700;display:inline-flex}.booking-flow--success .booking-success-tour__badge--main{color:var(--accent-deep);background:#0f766e1f}.booking-flow--success .booking-success-tour__badge--addon{color:#b91c1c;background:#ef44441a}.booking-flow--success .booking-success-tour__badge--resident{color:#047857;background:#10b9811f}.booking-flow--success .booking-success-price__row--discount{color:#047857;font-weight:600}.booking-flow--success .booking-success-tour__meta{grid-template-columns:1fr;gap:.55rem;display:grid}@media (min-width:640px){.booking-flow--success .booking-success-tour__meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}}.booking-flow--success .booking-success-tour__meta-item{color:var(--muted);align-items:center;gap:.45rem;font-size:.8125rem;display:flex}.booking-flow--success .booking-success-tour__meta-item svg{color:var(--accent);flex-shrink:0}.booking-flow--success .booking-success-tour__notice{color:#4b6b66;background:#fff;border:1px solid #0f766e26;border-radius:.85rem;margin-bottom:.85rem;padding:.75rem .85rem;font-size:.8125rem;line-height:1.45}.booking-flow--success .booking-success-tour__notice-tag{background:var(--accent-soft);color:var(--accent-deep);letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;margin-bottom:.35rem;padding:.2rem .5rem;font-size:.6875rem;font-weight:700;display:inline-flex}.booking-flow--success .booking-success-tour__ready{color:#047857;background:#ecfdf5;border-radius:.75rem;align-items:center;gap:.45rem;margin-top:.75rem;padding:.55rem .75rem;font-size:.8125rem;font-weight:600;display:flex}.booking-flow--success .booking-success-price{margin-top:.5rem}.booking-flow--success .booking-success-price__block{background:var(--surface-muted);border:1px solid var(--border);border-radius:1rem;margin-bottom:.85rem;padding:.9rem 1rem}.booking-flow--success .booking-success-price__block-title{color:var(--accent-deep);letter-spacing:.02em;margin-bottom:.65rem;font-size:.8125rem;font-weight:700}.booking-flow--success .booking-success-price__row{color:var(--muted);justify-content:space-between;gap:1rem;font-size:.8125rem;line-height:1.6;display:flex}.booking-flow--success .booking-success-price__row--sub{border-top:1px dashed var(--border);color:var(--ink);margin-top:.45rem;padding-top:.45rem;font-weight:600}.booking-flow--success .booking-success-price__total{color:var(--ink);border-top:2px solid #0f766e26;justify-content:space-between;align-items:center;margin-top:.85rem;padding-top:.85rem;font-size:1.1rem;font-weight:700;display:flex}.booking-flow--success .booking-success-alert{border:1px solid var(--border);background:#fff;border-radius:1rem;gap:.85rem;padding:1rem 1.05rem;display:flex}.booking-flow--success .booking-success-alert--info{background:linear-gradient(135deg,#f0fdf9,#fff);border-color:#0f766e2e}.booking-flow--success .booking-success-alert--warn{background:#fffbeb;border-color:#f59e0b4d}.booking-flow--success .booking-success-alert__icon{background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:flex}.booking-flow--success .booking-success-alert__title{color:var(--ink);font-size:.9rem;font-weight:600}.booking-flow--success .booking-success-alert__text{color:var(--muted);margin-top:.25rem;font-size:.8125rem;line-height:1.5}.booking-flow--success .booking-success-info-list{flex-direction:column;gap:.55rem;margin:0;padding:0;list-style:none;display:flex}.booking-flow--success .booking-success-info-list li{color:#4b5563;align-items:flex-start;gap:.55rem;font-size:.8125rem;line-height:1.45;display:flex}.booking-flow--success .booking-success-info-list li:before{content:"";background:var(--accent);border-radius:9999px;flex-shrink:0;width:.4rem;height:.4rem;margin-top:.45rem}.booking-flow--success .booking-success-info-panel{border:1px solid var(--border);background:var(--surface-muted);border-radius:1rem;padding:1rem 1.05rem}.booking-flow--success .booking-success-info-panel+.booking-success-info-panel{margin-top:.75rem}.booking-flow--success .booking-success-info-panel__title{color:var(--ink);margin-bottom:.65rem;font-size:.875rem;font-weight:700}.booking-flow--success .booking-success-map{border:1px solid var(--border);background:var(--surface-muted);border-radius:1rem;height:14rem;overflow:hidden}.booking-flow--success .booking-success-map iframe{border:0;width:100%;height:100%}.booking-flow--success .booking-success-actions{flex-direction:column;gap:.75rem;margin-top:.25rem;display:flex}.booking-flow--success .booking-success-actions .booking-btn-primary{max-width:none}.booking-flow--success .booking-success-loading{justify-content:center;align-items:center;min-height:50vh;display:flex}.booking-flow--success .booking-success-loading__card{text-align:center;width:100%;max-width:28rem}.booking-ai-help-panel{z-index:1100;width:100%;max-width:none;height:100dvh;max-height:none;box-shadow:none;background:#f8faf9;border:none;border-radius:0;flex-direction:column;display:flex;position:fixed;inset:0;overflow:hidden;transform:none}.booking-ai-help-panel__header{padding:calc(1rem + env(safe-area-inset-top,0px)) 1.25rem 1rem;color:#fff;background:linear-gradient(135deg,#0f766e,#0d635c);border-bottom:1px solid #ffffff1f;flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.booking-ai-help-panel__messages{background:#f8faf9;flex:1 1 0;width:100%;min-height:0}.booking-ai-help-panel__messages [data-radix-scroll-area-viewport]{height:100%}.booking-ai-help-panel__message-list{box-sizing:border-box;flex-direction:column;gap:1rem;width:100%;min-height:100%;padding:1.25rem 1.25rem 1.5rem;display:flex}.booking-ai-help-panel__message-row{width:100%}.booking-ai-help-panel__bubble{box-sizing:border-box;border-radius:1.25rem;width:100%;max-width:100%;padding:1.25rem 1.35rem;box-shadow:0 1px 3px #0f172a0f}.booking-ai-help-panel__bubble-content{font-size:1rem;line-height:1.65}.booking-ai-help-panel__bubble-content ul,.booking-ai-help-panel__bubble-content ol{margin:.75rem 0;padding-left:1.35rem}.booking-ai-help-panel__bubble-time{opacity:.65;text-align:right;margin-top:.85rem;font-size:.75rem}.booking-ai-help-panel__bubble--user{color:#fff;background:#0f766e}.booking-ai-help-panel__bubble--assistant{color:#0a0a0a;background:#fff;border:1px solid #0f172a14}.booking-ai-help-panel__typing{align-items:center;gap:.65rem;display:flex}.booking-ai-help-panel__footer{padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #0f172a14;flex-shrink:0}.booking-ai-help-panel__input{border-color:#0f172a1f;border-radius:.75rem;min-height:2.75rem}.booking-ai-help-panel__input:focus-visible{border-color:#0f766e;box-shadow:0 0 0 3px #0f766e26}.booking-ai-help-panel__send{min-width:2.75rem;min-height:2.75rem;color:#fff!important;background:#0f766e!important;border-color:#0000!important}.booking-ai-help-panel__send:hover{background:#0d635c!important}.booking-flow--tickets .booking-eticket-download{text-align:center;flex-direction:column;align-items:center;gap:.65rem;display:flex}.booking-flow--tickets .booking-eticket-download__hint{color:#4b6b66;max-width:28rem;font-size:.8125rem;line-height:1.45}.booking-flow--tickets .booking-eticket-summary{background:#fff;border:1px solid #0f172a0f;border-radius:1.75rem;padding:1.25rem 1.15rem;box-shadow:0 12px 36px #0f172a0b}@media (min-width:640px){.booking-flow--tickets .booking-eticket-summary{padding:1.5rem}}.booking-flow--tickets .booking-eticket-summary__grid{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:640px){.booking-flow--tickets .booking-eticket-summary__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}}.booking-flow--tickets .booking-eticket-summary__item{border:1px solid var(--border);background:var(--surface-muted);border-radius:1rem;align-items:flex-start;gap:.75rem;padding:.85rem .95rem;display:flex}.booking-flow--tickets .booking-eticket-summary__icon{background:var(--accent-soft);width:2.25rem;height:2.25rem;color:var(--accent);border-radius:.75rem;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.booking-flow--tickets .booking-eticket-summary__label{letter-spacing:.04em;text-transform:uppercase;color:#6b625a;font-size:.75rem;font-weight:600}.booking-flow--tickets .booking-eticket-summary__value{color:var(--ink);margin-top:.15rem;font-size:.9375rem;font-weight:600;line-height:1.35}.booking-flow--tickets .booking-eticket-tour{flex-direction:column;gap:1rem;display:flex}.booking-flow--tickets .booking-eticket-tour__head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem;display:flex}.booking-flow--tickets .booking-eticket-tour__title{letter-spacing:-.02em;color:var(--ink);font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.125rem;font-weight:600}.booking-flow--tickets .booking-eticket-tour__count{color:#525252;font-size:.8125rem}.booking-flow--tickets .booking-eticket-tour__location{color:#525252;margin-top:.2rem;font-size:.8125rem}.booking-flow--tickets .booking-eticket-validity-banner{text-align:center;background:#ccfbf18c;border:1px solid #0f766e2e;border-radius:1rem;flex-direction:column;align-items:center;gap:.2rem;padding:.85rem 1rem;display:flex}.booking-flow--tickets .booking-eticket-validity-banner strong{color:#0f766e;font-size:.875rem;font-weight:700}.booking-flow--tickets .booking-eticket-validity-banner span{color:#525252;font-size:.8125rem}.booking-flow--tickets .booking-eticket-scan-hint{color:#0f766e;font-size:.875rem;font-weight:600}.booking-flow--tickets .booking-eticket-qr-grid{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:640px){.booking-flow--tickets .booking-eticket-qr-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}.booking-flow--tickets .booking-eticket-qr-tile{text-align:center;background:#fff;border:1px solid #0f172a14;border-radius:1.25rem;flex-direction:column;align-items:center;gap:.65rem;padding:1rem .85rem .9rem;display:flex;box-shadow:0 10px 28px #0f172a0a}.booking-flow--tickets .booking-eticket-qr-tile--butterfly{border-color:#6d28d926}.booking-flow--tickets .booking-eticket-qr-tile__label{color:#0f766e;font-size:.8125rem;font-weight:700}.booking-flow--tickets .booking-eticket-qr-tile--butterfly .booking-eticket-qr-tile__label{color:#6d28d9}.booking-flow--tickets .booking-eticket-qr-tile__qr{background:#fff;border:1px solid #0f766e33;border-radius:.85rem;padding:.5rem}.booking-flow--tickets .booking-eticket-qr-tile--butterfly .booking-eticket-qr-tile__qr{border-color:#6d28d933}.booking-flow--tickets .booking-eticket-qr-tile__hint{color:#737373;font-size:.75rem}.booking-flow--tickets .booking-eticket-qr-tile__code{color:#0a0a0a;word-break:break-all;background:0 0;width:100%;padding:.25rem .15rem 0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.6875rem;font-weight:600;line-height:1.35;display:block}.booking-flow--tickets .booking-eticket-qr-tile--butterfly .booking-eticket-qr-tile__code{color:#0a0a0a}.booking-flow--tickets .booking-eticket-list{flex-direction:column;gap:1rem;display:flex}.booking-flow--tickets .booking-eticket-card{background:#fff;border:1px solid #0f172a14;border-radius:1.5rem;overflow:hidden;box-shadow:0 14px 40px #0f172a0f}.booking-flow--tickets .booking-eticket-card__header{color:#fff;background:linear-gradient(135deg,#0f766e,#0d635c);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1rem 1.15rem;display:flex}body.dmg-customer-app .booking-flow--tickets .booking-eticket-card__header .booking-eticket-card__brand,body.dmg-customer-app .booking-flow--tickets .booking-eticket-card__header .booking-eticket-card__tour,body.dmg-customer-app .booking-flow--tickets .booking-eticket-card__header .booking-eticket-card__badge{color:#fff!important}.booking-flow--tickets .booking-eticket-card--butterfly .booking-eticket-card__header{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.booking-flow--tickets .booking-eticket-card__brand{letter-spacing:.12em;text-transform:uppercase;opacity:.9;font-size:.6875rem;font-weight:700}.booking-flow--tickets .booking-eticket-card__tour{color:#fff;margin-top:.2rem;font-family:Inter,ui-sans-serif,system-ui,sans-serif;font-size:1.05rem;font-weight:600;line-height:1.2}.booking-flow--tickets .booking-eticket-card__badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;background:#ffffff29;border-radius:9999px;flex-shrink:0;align-items:center;padding:.5rem .9rem;font-size:.75rem;font-weight:700;display:inline-flex}.booking-flow--tickets .booking-eticket-card__body{padding:1.15rem 1.15rem 1.25rem}.booking-flow--tickets .booking-eticket-card__meta{border:1px solid var(--border);background:var(--surface-muted);border-radius:1rem;gap:.55rem;margin-bottom:1rem;padding:.85rem .95rem;display:grid}.booking-flow--tickets .booking-eticket-card__meta-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.35rem .75rem;font-size:.8125rem;display:flex}.booking-flow--tickets .booking-eticket-card__meta-row span:first-child{color:#6b625a;font-weight:500}.booking-flow--tickets .booking-eticket-card__meta-row span:last-child{color:var(--ink);text-align:right;font-weight:600}.booking-flow--tickets .booking-eticket-card__meta-row code{word-break:break-all;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.booking-flow--tickets .booking-eticket-card__qr-wrap{flex-direction:column;align-items:center;gap:.65rem;margin-bottom:1rem;display:flex}.booking-flow--tickets .booking-eticket-card__qr{background:#fff;border:2px solid #0f766e2e;border-radius:1rem;padding:.85rem}.booking-flow--tickets .booking-eticket-card--butterfly .booking-eticket-card__qr{border-color:#7c3aed38}.booking-flow--tickets .booking-eticket-card__qr-hint{color:#525252;font-size:.8125rem}.booking-flow--tickets .booking-eticket-card__code{color:#fff;text-align:center;letter-spacing:.04em;word-break:break-all;background:linear-gradient(135deg,#0f766e,#0d635c);border-radius:.9rem;margin-bottom:.85rem;padding:.85rem .95rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8125rem;font-weight:700}.booking-flow--tickets .booking-eticket-card--butterfly .booking-eticket-card__code{background:linear-gradient(135deg,#7c3aed,#6d28d9)}.booking-flow--tickets .booking-eticket-card__validity{background:var(--accent-soft);text-align:center;border:1px solid #0f766e2e;border-radius:.9rem;padding:.75rem .85rem}.booking-flow--tickets .booking-eticket-card__validity strong{letter-spacing:.06em;text-transform:uppercase;color:var(--accent-deep);font-size:.75rem;font-weight:700;display:block}.booking-flow--tickets .booking-eticket-card__validity span{color:#4b6b66;margin-top:.2rem;font-size:.75rem;display:block}.booking-flow--tickets .booking-eticket-card__foot{border-top:1px solid var(--border);text-align:center;color:#6b625a;margin-top:.85rem;padding-top:.85rem;font-size:.75rem}.booking-flow--tickets .booking-eticket-instructions{background:linear-gradient(135deg,#ecfdf5,#f8faf9 55%,#fff);border:1px solid #0f766e2e;border-radius:1.5rem;padding:1.25rem 1.15rem}.booking-flow--tickets .booking-eticket-instructions__title{color:var(--accent-deep);align-items:center;gap:.5rem;margin-bottom:1rem;font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.125rem;font-weight:600;display:flex}.booking-flow--tickets .booking-eticket-instructions__list{gap:.75rem;display:grid}@media (min-width:768px){.booking-flow--tickets .booking-eticket-instructions__list{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem 1rem}}.booking-flow--tickets .booking-eticket-instructions__item{color:#3f3f3f;align-items:flex-start;gap:.65rem;font-size:.875rem;line-height:1.5;display:flex}.booking-flow--tickets .booking-eticket-instructions__bullet{width:1.35rem;height:1.35rem;color:var(--accent);background:#fff;border:1px solid #0f766e33;border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;margin-top:.1rem;font-size:.7rem;font-weight:700;display:inline-flex}.booking-flow--tickets .booking-eticket-support{border-top:1px dashed var(--border);margin-top:1rem;padding-top:1rem}.booking-flow--tickets .booking-eticket-support__title{color:var(--ink);margin:0 0 .55rem;font-size:.82rem;font-weight:700}.booking-flow--tickets .booking-eticket-support__line{color:#525252;align-items:center;gap:.45rem;margin:.25rem 0;font-size:.8125rem;display:flex}.booking-flow--tickets .booking-eticket-support__line a{color:#0f766e;font-weight:600;text-decoration:none}.booking-flow--tickets .booking-eticket-cancelled{text-align:center;background:#fff;border:1px solid #ef444433;border-radius:1.75rem;padding:2rem 1.5rem;box-shadow:0 12px 36px #0f172a0b}.booking-flow--tickets .booking-eticket-cancelled h2{color:#b91c1c;font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.5rem;font-weight:600}.booking-flow--tickets .booking-eticket-cancelled p{color:#525252;margin-top:.75rem;line-height:1.55}.booking-flow--tickets .booking-eticket-cancelled a{color:var(--accent);margin-top:1rem;font-weight:600;display:inline-block}.booking-flow--tickets .booking-eticket-loading{justify-content:center;align-items:center;min-height:50vh;display:flex}.booking-flow--tickets .booking-success-intro-meta{flex-wrap:wrap;align-items:center;gap:.65rem;margin-top:1.25rem;display:flex}.booking-flow--tickets .booking-success-intro-meta .booking-success-hero__ref,.booking-flow--tickets .booking-success-intro-meta .booking-success-status{align-items:center;min-height:2.125rem;margin-top:0;padding:.5rem .9rem;font-size:.8125rem;font-weight:600;line-height:1}.booking-flow--tickets .booking-success-hero__ref{background:var(--accent-soft);color:var(--accent-deep);letter-spacing:.02em;border:1px solid #0f766e2e;border-radius:9999px;align-items:center;gap:.35rem;display:inline-flex}.booking-flow--tickets .booking-success-status{letter-spacing:.04em;border-radius:9999px;align-items:center;gap:.4rem;font-weight:600;display:inline-flex}.booking-flow--tickets .booking-success-status--completed{color:#047857;background:#ecfdf5;border:1px solid #10b98140}.booking-flow--access .booking-access{width:100%;max-width:32rem;margin-left:auto;margin-right:auto}.booking-flow--access .booking-access__intro{text-align:center;margin-bottom:1.5rem}.booking-flow--access .booking-access__title{font-size:clamp(1.85rem,5vw,2.5rem)}.booking-flow--access .booking-access-card{background:#fff;border:1px solid #0f172a0f;border-radius:1.75rem;position:relative;overflow:hidden;box-shadow:0 18px 48px #0f172a0e}.booking-flow--access .booking-access-card:before{content:"";background:var(--grad-brand);border-radius:1.75rem 1.75rem 0 0;height:4px;position:absolute;inset:0 0 auto}.booking-flow--access .booking-access-card__body{padding:1.5rem 1.25rem 1.35rem}@media (min-width:640px){.booking-flow--access .booking-access-card__body{padding:1.75rem 1.65rem 1.5rem}}.booking-flow--access .booking-access-form{flex-direction:column;gap:1.1rem;display:flex}.booking-flow--access .booking-access-field{flex-direction:column;gap:.45rem;display:flex}.booking-flow--access .booking-access-field__hint{color:var(--muted);margin:0;font-size:.8125rem;line-height:1.45}.booking-flow--access .booking-access-field__hint--inline{align-items:center;gap:.35rem;display:flex}.booking-flow--access .booking-access-select{appearance:none;border:1px solid var(--border);width:100%;min-height:3rem;color:var(--ink);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%23525252' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") right 1rem center no-repeat;border-radius:.85rem;padding:.65rem 2.5rem .65rem 1rem;font-size:1rem;line-height:1.35}.booking-flow--access .booking-access-select:focus-visible{border-color:#0f766e73;outline:none;box-shadow:0 0 0 3px #0f766e1f}.booking-flow--access .booking-access-summary{background:linear-gradient(135deg,var(--accent-soft) 0%,#fff 100%);color:var(--accent-deep);border:1px solid #0f766e2e;border-radius:1rem;padding:.95rem 1rem;font-size:.875rem;line-height:1.5}.booking-flow--access .booking-access-summary p+p{margin-top:.35rem}.booking-flow--access .booking-access-error{color:#b91c1c;background:#fef2f2;border:1px solid #ef444447;border-radius:.95rem;align-items:flex-start;gap:.65rem;padding:.85rem 1rem;font-size:.875rem;line-height:1.45;display:flex}.booking-flow--access .booking-access-error p{margin:0}.booking-flow--access .booking-access-notice{background:linear-gradient(135deg,#f0fdf9,#fff);border:1px solid #0f766e2e;border-radius:1rem;margin-top:1.25rem;padding:1rem 1.05rem}.booking-flow--access .booking-access-notice__title{color:var(--accent-deep);margin:0 0 .35rem;font-size:.875rem;font-weight:700}.booking-flow--access .booking-access-notice__text{color:var(--muted);font-size:.8125rem;line-height:1.5}.booking-flow--access .booking-access-footnote{text-align:center;color:var(--muted);margin-top:1.25rem;font-size:.8125rem;line-height:1.55}.booking-flow--access .booking-access-footnote a{font-weight:600}.booking-flow--access .booking-access-actions{gap:.65rem;display:flex}.booking-flow--access .booking-access-actions .booking-btn-outline{flex:1;min-height:2.75rem}.booking-flow--access .booking-access-success{text-align:center}.booking-flow--access .booking-access-success__icon{width:4.25rem;height:4.25rem;color:var(--accent);background:linear-gradient(135deg,#ecfdf5,#d1fae5);border-radius:9999px;justify-content:center;align-items:center;margin-bottom:1rem;display:inline-flex;box-shadow:0 0 0 8px #0f766e14}.booking-flow--access .booking-access-success__title{letter-spacing:-.03em;color:var(--accent-deep);margin:0;font-family:Fraunces,ui-serif,Georgia,serif;font-size:1.65rem;font-weight:600}.booking-flow--access .booking-access-success__text{color:var(--muted);margin:.75rem 0 0;font-size:.9375rem;line-height:1.55}.booking-flow--access .booking-access-success__banner{background:var(--accent-soft);color:#047857;text-align:left;border:1px solid #0f766e33;border-radius:1rem;margin-top:1rem;padding:.95rem 1rem;font-size:.875rem;line-height:1.5}.booking-flow--access .booking-access-success__meta{color:#737373;margin-top:.85rem;font-size:.8125rem}.booking-flow--access .booking-access-success .booking-btn-primary{margin-top:1.25rem}.booking-flow--access .booking-access-loading{text-align:center;color:var(--muted);flex-direction:column;align-items:center;gap:.85rem;padding:2rem 1rem;display:flex}.booking-flow--access .booking-access-loading .booking-icon-wrap{width:3rem;height:3rem}.booking-flow--access .booking-access-hero-icon{background:var(--grad-emerald);color:#fff;border-radius:1rem;justify-content:center;align-items:center;width:3.25rem;height:3.25rem;margin:0 auto 1rem;display:flex;box-shadow:0 8px 22px #0f766e47}.booking-experience-popup{border-color:#0f766e2e;border-radius:1rem}.booking-experience-popup__body{flex-direction:column;gap:1rem;display:flex}.booking-experience-popup__choices{grid-template-columns:1fr 1fr;gap:.65rem;display:grid}.booking-experience-popup__choice{color:#0a0a0a;cursor:pointer;background:#fff;border:1px solid #0f766e38;border-radius:.75rem;padding:.75rem .65rem;font-size:.875rem;font-weight:600;transition:border-color .15s,background .15s}.booking-experience-popup__choice:hover{background:#0f766e0a;border-color:#0f766e73}.booking-experience-popup__choice.is-active{color:#0f766e;background:#0f766e1a;border-color:#0f766e}.booking-experience-popup__label{color:#262626;margin-bottom:.4rem;font-size:.8125rem;font-weight:600;display:block}.booking-experience-popup__error{color:#b91c1c;margin:0;font-size:.8125rem}.booking-experience-popup__thanks{color:#0f766e;margin:.25rem 0 0;font-size:.9375rem;font-weight:600}.booking-experience-popup__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}@media (max-width:420px){.booking-experience-popup__choices{grid-template-columns:1fr}}body.dmg-customer-app .booking-flow button.booking-btn-primary,body.dmg-customer-app .booking-flow .booking-btn-primary{color:#fff!important;background-color:#ef4444!important;border-color:#0000!important}body.dmg-customer-app .booking-flow button.booking-btn-outline,body.dmg-customer-app .booking-flow .booking-btn-outline{color:#0a0a0a!important;background-color:#fff!important;border-color:#e5e5e5!important}.booking-flow .booking-terms-panel__switch,.booking-flow .booking-addon__switch{appearance:none;cursor:pointer;border:none;border-radius:9999px;flex-shrink:0;width:2.75rem;height:1.5rem;margin:0;padding:0;position:relative}.booking-flow .booking-terms-panel__switch:after,.booking-flow .booking-addon__switch:after{content:"";background:#fff;border-radius:9999px;width:1.25rem;height:1.25rem;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000026}.booking-flow .booking-terms-panel__switch[data-state=checked]:after,.booking-flow .booking-addon__switch[data-state=checked]:after{transform:translate(1.25rem)}.booking-flow .booking-addon__switch:disabled{opacity:1;cursor:default}.booking-flow .booking-intro__title,.booking-flow .booking-pill-calendar__num,.booking-flow .booking-bottom-bar__total-value,.booking-flow .booking-stack-card__title,.booking-flow .booking-pill-calendar__month-select,.booking-flow .booking-bottom-bar__total-label{font-weight:700}.booking-flow .booking-pill-calendar__footer{font-weight:600}.booking-flow .booking-addon__desc{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.booking-flow .booking-phone-field{border:1px solid var(--border);background:#fff;border-radius:.85rem;align-items:stretch;width:100%;height:3rem;display:flex;overflow:hidden}.booking-flow .booking-phone-field:focus-within{border-color:#0f766e73;box-shadow:0 0 0 3px #0f766e1f}.booking-flow .booking-phone-country{white-space:nowrap;cursor:pointer;flex:0 auto;justify-content:center;align-items:center;gap:.3rem;max-width:46%;height:100%;margin:0;padding:0 .7rem;line-height:1;display:inline-flex;border:0!important;border-right:1px solid var(--border)!important;background:0 0!important;border-radius:0!important}.booking-flow .booking-phone-country__code{letter-spacing:-.01em;font-size:.875rem;font-weight:500}.booking-flow .booking-phone-country__chevron{flex-shrink:0;width:.85rem;height:.85rem}.booking-flow .booking-phone-number{flex:auto;min-width:0;position:relative}.booking-flow .booking-phone-number .booking-phone-input__icon{left:.85rem}.booking-flow .booking-phone-field .booking-phone-input{width:100%;height:100%;min-height:0;padding-left:2.45rem;display:block;box-shadow:none!important;background:0 0!important;border:0!important;border-radius:0!important}.booking-flow .booking-phone-menu{z-index:30;border:1px solid var(--border);background:#fff;border-radius:.85rem;flex-direction:column;gap:.5rem;max-height:22rem;padding:.75rem;display:flex;position:absolute;top:3.4rem;left:0;right:0;box-shadow:0 16px 40px #0f172a1f}.booking-flow .booking-phone-menu__title{color:#737373;margin:0;padding:0 .25rem;font-size:.875rem;font-weight:500}.booking-flow .booking-phone-menu__search{border:1px solid var(--border);width:100%;height:2.25rem;color:var(--ink);background:#fff;border-radius:.6rem;padding:0 .75rem;font-size:1rem}.booking-flow .booking-phone-menu__list{max-height:16rem;overflow:auto}.booking-flow .booking-phone-menu__option{text-align:left;width:100%;min-height:2.5rem;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:.55rem;align-items:center;gap:.65rem;padding:.4rem .5rem;display:flex}.booking-flow .booking-phone-menu__option:hover,.booking-flow .booking-phone-menu__option[aria-selected=true]{background:#f3eee6}.booking-flow .booking-phone-menu__name{flex:1;min-width:0;font-size:.9rem}.booking-flow .booking-phone-menu__dial{color:#525252;font-size:.85rem}.booking-flow .booking-phone-menu__empty{color:#737373;margin:.5rem .25rem;font-size:.875rem}@media (max-width:767px){body:has(.booking-flow) .site-container{padding-left:1rem;padding-right:1rem}}.booking-flow .booking-terms-panel__accept-label{flex:1;min-width:0;font-size:1rem}.booking-flow .dmg-dirham-icon:not(.brightness-0){filter:brightness(0)}body:has(.booking-flow) .site-header-nav-pill a:not([aria-current=page]){color:#0a0a0a!important}@media (max-width:767px){.booking-flow .booking-visitor-switch__tab{padding-left:.95rem;padding-right:.95rem}.booking-flow .booking-visitor-switch__meta{text-align:center;white-space:normal;line-height:1.5;display:block}.booking-flow .booking-terms-panel__accept-label{max-width:12.875rem}}html.pwa-mode .booking-flow .booking-addon__title{white-space:nowrap;line-height:1.25;font-size:.9375rem!important}@media (max-width:639px){.booking-flow .booking-addon__header{gap:.5rem}.booking-flow .booking-addon__copy{flex:auto;min-width:9.5rem}.booking-flow .booking-addon__control{width:4.75rem}}@media (max-width:767px){html:has(.booking-flow){font-size:100%}body:has(.booking-flow){line-height:1.5}}
