/* Studio-scoped overrides: keep the shared booking modal untouched elsewhere. */
#a94-studio-dialog{box-sizing:border-box;width:min(760px,calc(100% - 48px));height:min(820px,calc(var(--a94-view-height,100dvh) - 48px));max-height:none;color:#eee;font-family:inherit;overflow:hidden}
#a94-studio-dialog *{box-sizing:border-box}
#a94-studio-dialog .a94sb__frame{display:flex;flex-direction:column;position:relative;height:100%;max-height:none;min-height:0;padding:24px;overflow:hidden}
#a94-studio-dialog .a94sb__header{flex:none;margin:0 0 16px;padding:0 52px 16px 0}
#a94-studio-dialog .a94sb__header h3{font-size:26px!important;line-height:1.15!important;overflow-wrap:anywhere}
#a94-studio-dialog .a94sb__close{width:44px;height:44px;top:18px;right:18px}
#a94-studio-dialog .a94-studio{display:flex;flex:1;flex-direction:column;min-height:0;padding:0;background:transparent;border-radius:0;font-family:inherit;font-size:15px;line-height:1.5}
#a94-studio-form{display:flex;flex:1;flex-direction:column;min-height:0;margin:0}
#a94-studio-form [hidden]{display:none!important}
.a94-studio-steps{flex:none;list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0 0 10px;font-size:13px;line-height:1.4;font-weight:700;color:#aaa}
.a94-studio-steps [aria-current=step]{color:#ff8533}.a94-studio-steps .is-complete{color:#eee}
.a94-studio-progress{flex:none;height:4px;border-radius:999px;background:#333;overflow:hidden;margin-bottom:18px}.a94-studio-progress span{display:block;width:33.333%;height:100%;background:#ff6600;transition:width .2s ease}
#a94-studio-form [data-step]{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-padding:16px;padding:0 8px 16px 0;-webkit-overflow-scrolling:touch}
#a94-studio-form [data-step]>h3{margin:0 0 8px;font-size:24px;line-height:1.2;font-weight:800;letter-spacing:-.02em;color:#fff;text-transform:none}
#a94-studio-form [data-step]>h3:focus{outline:none}
#a94-studio-dialog .a94-studio p{color:#bbb;margin:8px 0 14px;font-size:14px;line-height:1.5;overflow-wrap:anywhere}
#a94-studio-dialog .a94-studio h4{color:#fff;font-size:18px;line-height:1.3;margin:0 0 10px;text-transform:none;letter-spacing:0}
#a94-studio-form .a94-rooms{grid-template-columns:1fr;gap:0;margin:14px 0}
#a94-studio-form .a94-rooms article{border:1px solid #49301e;background:linear-gradient(150deg,#281a10,#151515 70%);border-radius:12px;padding:14px;min-width:0}
#a94-studio-form .a94-rooms label{margin:0}#a94-studio-form #a94-calendar{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:14px}
#a94-studio-dialog .a94-studio label{display:block;min-width:0;font-size:14px;font-weight:600;color:#ddd;margin:10px 0;line-height:1.4}
#a94-studio-dialog .a94-studio input:not([type=checkbox]),#a94-studio-dialog .a94-studio select{box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-height:48px;background:#171717;border:1px solid #454545;border-radius:8px;color:#fff;color-scheme:dark;padding:11px 12px;font-family:inherit;font-size:16px;line-height:1.3;margin:6px 0 0}
#a94-studio-dialog input[type=date]{appearance:none;-webkit-appearance:none}#a94-studio-dialog input[type=date]::-webkit-date-and-time-value{text-align:left;min-height:1.3em}
#a94-studio-dialog input[type=file]{overflow:hidden;font-size:13px!important;padding:8px!important}#a94-studio-dialog input[type=file]::file-selector-button{max-width:100%;min-height:36px;border:0;border-radius:6px;margin-right:8px;background:#333;color:#fff;padding:6px 10px;font:600 13px inherit}
.a94-studio-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}#a94-studio-form .a94-studio-fields label{margin:7px 0}
#a94-studio-dialog .a94-confirm{display:flex!important;align-items:flex-start;gap:12px;font-weight:400;font-size:14px;line-height:1.5;padding:8px 0;min-height:44px}
#a94-studio-dialog input[type=checkbox]{appearance:auto;-webkit-appearance:checkbox;accent-color:#ff6600;margin:2px 0 0;width:22px;height:22px;flex:0 0 22px}
.a94-studio-terms{border:1px solid #49301e;padding:14px;border-radius:12px;margin:16px 0;background:#1b130e}.a94-studio-terms ul{padding:0 0 0 18px;margin:0}.a94-studio-terms li{margin:0 0 10px;font-size:14px;line-height:1.5;color:#ccc}
#a94-studio-dialog .a94-review-summary{white-space:pre-line;background:#1b130e;border:1px solid #49301e;border-radius:12px;padding:14px;color:#eee;margin:12px 0}
#a94-studio-dialog #a94-result{flex:none;color:#ffb27c;font-size:14px;font-weight:600;margin:0;padding:8px 0;max-height:90px;overflow:auto;overflow-wrap:anywhere}#a94-studio-dialog #a94-result:empty{display:none}
#a94-studio-dialog .a94-studio-nav{flex:none;display:flex;align-items:stretch;justify-content:space-between;gap:12px;position:static;padding:14px 0 0;margin:0;border-top:1px solid #333;background:#101010;box-shadow:none}
#a94-studio-dialog .a94-studio button,.a94-studio-action{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border-radius:999px;padding:12px 20px;border:1px solid #ff6600;background:#ff6600;color:#080808;font-size:14px;font-weight:800;cursor:pointer;text-decoration:none;line-height:1.3;text-align:center}
#a94-studio-dialog .a94-studio-nav #a94-back{background:transparent;color:#eee;border:1px solid #555;flex:0 1 auto}#a94-studio-dialog .a94-studio-nav #a94-submit{width:auto}
#a94-studio-dialog button:focus-visible,#a94-studio-dialog input:focus-visible,#a94-studio-dialog select:focus-visible{outline:3px solid #ffb06c;outline-offset:2px}
@media(max-width:600px){
 #a94-studio-dialog{position:fixed;inset:var(--a94-view-top,0px) 0 auto;margin:0;width:100%;max-width:100%;height:var(--a94-view-height,100dvh);max-height:none;border:0;border-radius:0}
 #a94-studio-dialog .a94sb__frame{padding:calc(12px + env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) calc(12px + env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
 #a94-studio-dialog .a94sb__header{padding:0 48px 10px 0;margin-bottom:12px}#a94-studio-dialog .a94sb__header h3{font-size:22px!important;margin:0!important}#a94-studio-dialog .a94sb__header p{display:none}
 #a94-studio-dialog .a94sb__close{top:calc(6px + env(safe-area-inset-top,0px));right:max(10px,env(safe-area-inset-right,0px))}
 .a94-studio-steps{font-size:12px;gap:6px;margin-bottom:8px}.a94-studio-progress{margin-bottom:14px}
 #a94-studio-form [data-step]{padding-right:2px;scrollbar-gutter:auto}#a94-studio-form [data-step]>h3{font-size:21px}
 .a94-studio-fields{grid-template-columns:1fr;gap:0}#a94-studio-form #a94-calendar{grid-template-columns:1fr;gap:0}
 #a94-studio-dialog .a94-studio-nav{gap:10px;padding-top:12px}#a94-studio-dialog .a94-studio-nav #a94-next,#a94-studio-dialog .a94-studio-nav #a94-submit{flex:1}#a94-studio-dialog .a94-studio-nav button{font-size:14px;padding:12px 14px}
}
@media(max-height:500px){#a94-studio-dialog .a94sb__header{margin-bottom:8px;padding-bottom:8px}#a94-studio-dialog .a94sb__header p{display:none}.a94-studio-progress{margin-bottom:10px}#a94-studio-dialog .a94sb__frame{padding-top:10px;padding-bottom:10px}#a94-studio-dialog .a94-studio-nav{padding-top:8px}}
@media(prefers-reduced-motion:reduce){.a94-studio-progress span{transition:none}}

/* The room catalogue should be as usable as the booking screens. */
@media(max-width:980px){
 body[data-page="studio"] #studios .studio-card{min-height:0;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr)}
 body[data-page="studio"] #studios .studio-image{min-height:0}
 body[data-page="studio"] #studios .studio-copy{padding:24px;min-width:0}
 body[data-page="studio"] #studios .studio-copy h3{font-size:32px;line-height:1.1;overflow-wrap:normal}
 body[data-page="studio"] #studios .studio-copy .eyebrow{margin-bottom:12px}
 body[data-page="studio"] #studios .studio-specs{margin:14px 0 18px;gap:6px}
 body[data-page="studio"] #studios .studio-specs span{font-size:11px;padding:7px 9px;line-height:1.3}
 body[data-page="studio"] #studios .studio-price{flex-wrap:wrap;gap:4px 10px;margin-bottom:14px}
 body[data-page="studio"] #studios .studio-price span{font-size:12px}
 body[data-page="studio"] #studios .button{min-height:48px;width:100%;padding:13px 16px}
}
@media(max-width:699px){
 body[data-page="studio"] #studios .studio-card{grid-template-columns:1fr}
 body[data-page="studio"] #studios .studio-image{height:auto;min-height:0;aspect-ratio:16/9}
 body[data-page="studio"] #studios .studio-copy{padding:20px}
 body[data-page="studio"] #studios .studio-copy h3{font-size:28px}
 body[data-page="studio"] #studios .studio-copy>p:not(.eyebrow){font-size:15px;line-height:1.5;margin:12px 0}
 body[data-page="studio"] #studios .studio-price strong{font-size:30px}
}
