.mobile-booking-topbar{display:none}
/* Shared fit and input targets; the desktop studio remains unchanged. */
.booking-panel,.booking-panel-body,.booking-panel-actions{min-width:0}
.booking-panel input,.booking-panel select,.booking-panel textarea{min-width:0;max-width:100%}
.booking-panel label[for=booking-consent]{min-height:44px;align-items:center!important}
.booking-brand,.booking-footer a{display:inline-flex;align-items:center;min-height:44px}
.booking-rewards,.booking-account-message,.booking-success{overflow-wrap:anywhere}
@media(max-width:759px){
  html{scroll-padding-bottom:calc(150px + env(safe-area-inset-bottom,0px))}
  .booking-panel :is(button,input,select,textarea,label[for=booking-consent]){scroll-margin-block:16px calc(150px + env(safe-area-inset-bottom,0px))}
  html,body{background:#fff7df!important;color:#4c2231!important;color-scheme:light}
  body{--mobile-wine:#a90d46;--mobile-line:#e7c785;--mobile-muted:#856d59}
  #booking-app{padding:0 16px calc(150px + env(safe-area-inset-bottom,0px))!important;max-width:600px!important}
  #booking-app a{color:var(--mobile-wine)}
  #booking-app button,#booking-app a{touch-action:manipulation}
  #booking-app button:focus-visible,#booking-app a:focus-visible,#booking-app input:focus-visible,#booking-app textarea:focus-visible{outline:3px solid #c19548;outline-offset:3px}
  .mobile-booking-topbar{position:relative;isolation:isolate;color:#fff8df;display:flex;align-items:center;gap:12px;min-height:calc(82px + env(safe-area-inset-top,0px));padding:calc(12px + env(safe-area-inset-top,0px)) 0 12px}
  .mobile-booking-topbar::before{content:'';position:absolute;inset:0 -16px -24px;z-index:-1;background:linear-gradient(115deg,#650c31 0%,#a90d46 65%,#c83261 100%);border-radius:0 0 24px 24px}
  html[data-festive-active=true] .mobile-booking-topbar::after{content:'';position:absolute;left:-16px;right:-16px;top:env(safe-area-inset-top,0px);height:18px;background:url('/assets/festive/fairy-lights.svg') center top/auto 18px repeat-x;opacity:.8;pointer-events:none}
  html[data-festive-active=true] #booking-app>.festive-decor{display:none}
  .mobile-booking-topbar>a{width:44px;height:44px;display:grid;place-items:center;flex-shrink:0;border:1px solid var(--mobile-line);border-radius:14px;background:#fff8e5;font-size:22px}
  .mobile-booking-topbar>div{display:grid;gap:4px;min-width:0}
  .mobile-booking-topbar strong{font-size:18px;font-weight:500;line-height:1.3;letter-spacing:-.02em}
  .mobile-booking-topbar span{font-size:12px;color:#f3d6ac}
  .booking-brand,.booking-desktop-eyebrow,.booking-desktop-title{display:none!important}
  .booking-header{position:relative;z-index:1;margin-bottom:10px!important;display:block!important}
  .booking-tabs{background:#fff8e5;border-radius:12px;box-shadow:0 6px 18px #5e082320;outline:1px solid #e7c785;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px!important;width:100%}
  .booking-tabs button{padding:10px 5px!important;border:1px solid var(--mobile-line)!important;border-radius:11px!important;background:#fffaf0!important;color:var(--mobile-muted)!important;font-size:11px!important;letter-spacing:0!important;text-transform:none!important;min-height:44px!important;white-space:nowrap;opacity:1!important}
  .booking-tabs button[aria-current=step]{background:var(--mobile-wine)!important;color:#fff!important;border-color:var(--mobile-wine)!important;font-weight:500}
  .booking-tabs button:disabled:not([aria-current=step]){background:#f8edce!important;color:#aa9474!important}
  .booking-progress{height:3px!important;background:#eddbad!important;margin-bottom:16px!important}
  .booking-progress>div{background:var(--mobile-wine)!important}
  .booking-notice{padding:12px!important;gap:8px!important;margin-bottom:16px!important;border-radius:14px!important;box-shadow:none!important;border-color:#e7c785!important}
  .booking-notice>svg{width:42%!important;opacity:.35}
  .booking-notice-heading{display:grid!important;grid-template-columns:38px minmax(0,1fr)!important;gap:10px!important;width:100%}
  .booking-notice-heading>div:first-child{width:36px!important;height:36px!important;border-width:1px!important;box-shadow:none!important}
  .booking-notice-heading>div:first-child svg{width:34px!important;height:34px!important}
  .booking-notice-heading>div:nth-child(2),.booking-notice-status{display:none!important}
  .booking-notice-heading>div:last-child{grid-column:auto!important}
  .booking-notice-heading>div:last-child>div:first-child{font-size:11px!important;letter-spacing:.03em!important;font-weight:500}
  .booking-notice-heading>div:last-child>div:last-child{font-size:12px!important;line-height:1.6!important}
  .booking-selection{gap:6px!important;flex-wrap:nowrap!important;overflow-x:auto;scrollbar-width:none;padding-bottom:2px;margin-bottom:14px!important}
  .booking-selection::-webkit-scrollbar{display:none}
  .booking-selection>span,.booking-selection span[data-selected=false]{display:none!important}
  .booking-selection:not(:has(span[data-selected=true])){display:none!important}
  .booking-selection span[data-selected=true]{flex-shrink:0;border-color:#e7c785!important;background:#fff0cf!important;color:var(--mobile-wine)!important;font-size:12px!important;padding:7px 11px!important;max-width:80%!important}
  .booking-stage{height:auto!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;scroll-margin-top:16px}
  .booking-stage:focus{outline:none}
  .booking-world,.booking-stage>svg,.booking-stage>span[aria-hidden],.booking-scene-label{display:none!important}
  .booking-panel{position:relative!important;inset:auto!important;width:100%!important;max-height:none!important;background:#fffaf0!important;color:#4c2231!important;backdrop-filter:none!important;border:1px solid var(--mobile-line)!important;border-radius:17px!important;box-shadow:0 4px 18px #9969180c!important;overflow:visible!important;animation:none!important}
  .booking-panel-heading{background:linear-gradient(115deg,#fffaf0,#fff2d3);border-radius:16px 16px 0 0;padding:20px 16px 17px!important;border-color:var(--mobile-line)!important}
  .booking-panel-heading>div:first-child:not(:last-child){margin-bottom:9px!important}
  .booking-panel-heading>div:first-child>div:first-child{display:none!important}
  .booking-panel-heading>div:first-child>span{color:var(--mobile-wine)!important;font-size:11px!important;letter-spacing:.04em!important}
  .booking-panel-heading>div:last-child{font-family:'Jost',sans-serif!important;font-size:20px!important;line-height:1.35!important;font-weight:500!important;letter-spacing:-.02em}
  .booking-panel-body{padding:18px 16px!important;overflow:visible!important;gap:24px!important}
  .booking-panel-body>div>span:first-child:not(:only-child),.booking-panel-body label>span:first-child,.booking-panel-body label[for=booking-date]{color:#6e453d!important;font-size:13px!important;font-weight:500!important;letter-spacing:.01em!important;text-transform:none!important}
  .booking-service-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .booking-choice{background:#fffaf0!important;border-color:var(--mobile-line)!important;box-shadow:none!important;color:#4c2231!important;border-radius:13px!important;padding:14px 12px 14px 15px!important;min-height:84px!important;gap:7px!important}
  .booking-choice>span:first-child{width:3px!important;background:#c9956b!important}
  .booking-choice>span:nth-child(2){font-family:'Jost',sans-serif!important;font-size:15px!important;font-weight:500;line-height:1.35!important;overflow-wrap:anywhere}
  .booking-choice>span:last-child{color:var(--mobile-muted)!important;font-size:10px!important;letter-spacing:.05em!important}
  .booking-choice[aria-pressed=true]{background:#ffe8dc!important;border-color:var(--mobile-wine)!important;box-shadow:inset 0 0 0 1px var(--mobile-wine)!important}
  .booking-choice[aria-pressed=true]>span:first-child{background:var(--mobile-wine)!important}
  .booking-budget-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .booking-budget{background:#fffaf0!important;border-color:var(--mobile-line)!important;color:#4c2231!important;border-radius:13px!important;padding:12px 10px!important;gap:7px!important;align-items:flex-start!important;min-height:112px!important}
  .booking-budget>span:first-child>span:first-child{font-size:13px!important;font-weight:500;line-height:1.45}
  .booking-budget>span:first-child>span:last-child{color:var(--mobile-muted)!important;font-size:12px!important;line-height:1.5}
  .booking-budget>span:last-child{width:15px!important;height:15px!important;border-color:#d7b66e!important;margin-top:3px;background:transparent!important}
  .booking-budget:last-child{grid-column:1/-1;min-height:70px!important;align-items:center!important}
  .booking-budget[aria-pressed=true]{background:#ffe8dc!important;border-color:var(--mobile-wine)!important;box-shadow:inset 0 0 0 1px var(--mobile-wine)}
  .booking-budget[aria-pressed=true]>span:last-child{background:var(--mobile-wine)!important;border:3px solid #ffe8dc!important;outline:1px solid var(--mobile-wine)}
  .booking-panel input:not([type=checkbox]),.booking-panel textarea{border:1px solid #e0c58f!important;border-radius:12px!important;background:#fffaf0!important;color:#4c2231!important;color-scheme:light!important;font-size:16px!important;min-height:52px!important;padding:14px!important}
  .booking-panel input::placeholder,.booking-panel textarea::placeholder{color:#a18b6e}
  .booking-panel input[type=checkbox]{accent-color:var(--mobile-wine)!important;width:20px!important;height:20px!important}
  .booking-panel label[for=booking-consent]{color:#77634e!important;font-size:12px!important;line-height:1.65!important;padding:8px 0;min-height:48px;align-items:center!important}
  .booking-panel label[for=booking-consent]>span{font-size:12px!important;letter-spacing:0!important;font-weight:400!important;text-transform:none!important}
  .booking-panel-body #booking-date+span{font-family:'Jost',sans-serif!important;font-size:13px!important;line-height:1.5!important;color:var(--mobile-muted)!important}
  .booking-time{background:#fffaf0!important;border-color:#e0c58f!important;color:#694032!important;font-size:13px!important;min-height:48px!important;letter-spacing:0!important;border-radius:11px!important;padding:12px 4px!important}
  .booking-time[aria-pressed=true]{background:var(--mobile-wine)!important;border-color:var(--mobile-wine)!important;color:#fff!important}
  .booking-time:disabled{text-decoration:line-through}
  #availability-note{color:var(--mobile-muted)!important;font-size:12px!important}
  .booking-retry{color:var(--mobile-wine)!important;border-color:#e0c58f!important;font-size:12px!important;min-height:44px!important}
  .booking-panel-actions{position:fixed!important;left:0;right:0;bottom:0;z-index:60;padding:12px max(16px,calc((100vw - 568px)/2)) calc(10px + env(safe-area-inset-bottom,0px))!important;background:#fffaf0!important;border-color:var(--mobile-line)!important;box-shadow:0 -4px 20px #a2722012;gap:7px!important}
  .booking-next,.booking-submit,.booking-followup{display:flex!important;align-items:center!important;justify-content:center!important;background:linear-gradient(105deg,#990d3d,#b91b50)!important;color:#fff8e5!important;font-size:14px!important;font-weight:500!important;letter-spacing:0!important;text-transform:none!important;min-height:52px!important;border:0!important;border-radius:13px!important;animation:none!important;opacity:1!important;cursor:pointer!important;line-height:1.4!important}
  .booking-next:disabled,.booking-submit:disabled{opacity:.6!important}
  .booking-panel-actions>div:not(:last-child),.booking-panel-actions>div:last-child:not(:has(button)){font-size:12px!important;color:var(--mobile-muted)!important;text-align:center;min-height:0!important;line-height:1.5}
  .booking-summary .booking-panel-heading{gap:12px!important}
  .booking-summary .booking-panel-heading>span{background:#fae5bd!important;color:var(--mobile-wine)!important}
  .booking-summary .booking-panel-heading>div{font-size:initial!important}
  .booking-summary .booking-panel-heading>div>div:first-child{display:block!important;color:var(--mobile-wine)!important;font-size:11px!important;letter-spacing:.03em!important}
  .booking-summary .booking-panel-heading>div>div:last-child{font-family:'Jost',sans-serif!important;font-size:19px!important;font-weight:500;line-height:1.35!important;margin-top:6px!important}
  .booking-receipt>div{background:#fff7df!important;border-color:var(--mobile-line)!important;padding:2px 12px!important}
  .booking-receipt sc-for>div{border-color:var(--mobile-line)!important;font-size:13px!important;line-height:1.5;gap:14px!important}
  .booking-receipt sc-for>div>span:first-child{color:var(--mobile-muted)!important;flex-shrink:0}
  .booking-receipt sc-for>div>span:last-child{overflow-wrap:anywhere;min-width:0}
  .booking-summary .booking-panel-actions{position:static!important;padding:0 16px 16px!important;border:0!important;box-shadow:none!important;background:transparent!important}
  .booking-summary .booking-panel-actions::after{content:'';position:fixed;z-index:59;left:0;right:0;bottom:0;height:calc(78px + env(safe-area-inset-bottom,0px));background:#fff8e5;border-top:1px solid var(--mobile-line);box-shadow:0 -4px 20px #a2722012;pointer-events:none}
  .booking-submit,.booking-followup{position:fixed;z-index:60;bottom:calc(12px + env(safe-area-inset-bottom,0px));left:max(16px,calc((100vw - 568px)/2));right:max(16px,calc((100vw - 568px)/2));padding:14px!important}
  .booking-summary .booking-panel-actions p{font-size:12px!important;color:var(--mobile-muted)!important;line-height:1.65!important;margin-bottom:12px!important}
  .booking-success{background:#edf8ef!important;border-color:#b7d8bd!important;color:#315d3c!important;text-align:left!important;font-size:13px!important;padding:14px!important;margin-bottom:12px}
  .booking-success strong{font-size:14px!important}
  .booking-summary .booking-panel-actions button:not(.booking-submit){border-color:#e0c58f!important;color:var(--mobile-wine)!important;font-size:12px!important;letter-spacing:0!important;text-transform:none!important;min-height:44px!important}
  .booking-bottom{margin-top:14px!important}
  .booking-bottom>button{border-color:#e0c58f!important;color:var(--mobile-wine)!important;letter-spacing:0!important;text-transform:none!important;font-size:13px!important;padding:10px 15px!important;min-height:44px!important}
  .booking-bottom>div{display:none!important}
  .booking-footer{border-color:var(--mobile-line)!important;margin-top:20px!important;padding-top:12px!important;gap:24px!important}
  .booking-footer a{display:flex;align-items:center;min-height:44px;font-size:12px}
  #booking-error,.booking-content-warning{background:#fff0ed!important;border-color:#eac3bd!important;color:#8d3040!important;font-size:13px!important;border-radius:12px!important;scroll-margin-top:16px}
  .booking-content-warning{background:#fff6e9!important;color:#75562f!important;border-color:#e6d2b4!important}
  .booking-account-message{border-color:var(--mobile-line);background:#fffaf0;color:var(--mobile-muted);padding:11px 13px;font-size:12px;gap:4px}
  .booking-account-message a{color:var(--mobile-wine);font-weight:500;min-height:44px}
  .booking-account-message button,.booking-rewards button{color:var(--mobile-wine);border-color:var(--mobile-line);font-size:12px;min-height:44px}
  .booking-rewards{border-color:var(--mobile-line);background:#fff4d5;color:var(--mobile-muted);padding:14px;font-size:12px}
  .booking-rewards strong{color:#6e453d;font-size:14px}
  .booking-rewards select{background:#fffaf0;color:#4c2231;border-color:#e0c58f;font-size:16px;min-height:52px}
  .booking-rewards a,.booking-account-receipt{font-size:12px;color:var(--mobile-wine)!important;min-height:44px}
}
