/* Shared responsive spacing for guest forms and service screens, not the home hero. */
/* Do not combine this fallback with :has selectors: older Android drops the whole list. */
html[data-sh-theme] body.sh-guest-layout .sh-settings-menu>summary{display:flex;align-items:center;justify-content:center;width:44px;min-width:44px;height:44px;padding:0;font-size:24px;line-height:1;list-style:none;box-sizing:border-box}
html[data-sh-theme] body.sh-guest-layout .sh-settings-menu>summary::before{content:none;margin:0}
/* One settings icon only: legacy ::before hamburger must not stack above ⋮. */
html[data-sh-theme] body:is(.max-mini,.sh-guest-layout) .sh-settings-menu>summary,
html[data-sh-theme] body:has(#phone-status) .sh-settings-menu>summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;width:44px;min-width:44px;height:44px;min-height:44px;padding:0;font-size:24px;line-height:1;list-style:none}
html[data-sh-theme] body:is(.max-mini,.sh-guest-layout) .sh-settings-menu>summary::before,
html[data-sh-theme] body:has(#phone-status) .sh-settings-menu>summary::before{content:none;margin:0}
body.sh-guest-layout,body.max-mini:not(.sh-hero){--guest-gutter:clamp(16px,calc(40vw - 112px),48px)}
body:has(#phone-status){--guest-gutter:clamp(16px,calc(25vw - 64px),36px)}
body.sh-guest-layout :is(.shell,.portal){padding-top:16px!important}
body.max-mini:not(.sh-hero)>main,body:has(#phone-status)>main{margin:0 auto;padding:16px var(--guest-gutter) 24px;width:100%;min-width:0}
body:has(#phone-status)>main>.eyebrow:first-child{margin-top:0}
body:has(#phone-status)>header,body.max-mini:not(.sh-hero)>header,body.sh-guest-layout :is(.guest-top,.wf-header){box-sizing:border-box;min-height:60px;padding:8px var(--guest-gutter);display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;border-bottom:1px solid var(--sh-line,#536466)}
body:has(#phone-status)>header>strong,body.max-mini:not(.sh-hero)>header>a,body.sh-guest-layout :is(.brand,.wf-brand){grid-column:2;grid-row:1;font-size:18px!important;line-height:1.2;text-align:center;white-space:nowrap;margin:0}
body:has(#phone-status)>header>a:first-child:not([aria-label]),body.sh-guest-layout header>.back{grid-column:1;grid-row:1;justify-self:start;font-size:14px}
body:has(#phone-status)>header>a[aria-label]{grid-column:2;grid-row:1;font-size:18px;font-weight:600;white-space:nowrap}
body:has(#phone-status)>header>span,body.sh-guest-layout .wf-header>h1{display:none}
body:has(#phone-status) .sh-settings-menu,body.max-mini:not(.sh-hero)>header .sh-settings-menu,body.sh-guest-layout header .sh-settings-menu{grid-column:3;grid-row:1;justify-self:end;margin:0;position:relative}
body:has(#phone-status) .sh-settings-menu>summary,body.max-mini:not(.sh-hero) .sh-settings-menu>summary,body.sh-guest-layout header .sh-settings-menu>summary{display:flex;align-items:center;justify-content:center;min-height:44px;padding:8px 0;font-size:14px;line-height:1.2;list-style:none;cursor:pointer}
body:has(#phone-status) .sh-settings-menu>summary::-webkit-details-marker{display:none}
body:has(#phone-status) .sh-settings-menu>summary::before{content:'☰';margin-right:6px}
body:has(#phone-status) .sh-settings-menu nav{right:0;left:auto;min-width:0;width:190px;max-width:calc(100vw - 2 * var(--guest-gutter))}
body:has(#phone-status) h1{font-size:clamp(26px,7.5vw,32px);overflow-wrap:break-word}
body:has(#phone-status) :is(button,.primary){white-space:normal;overflow-wrap:break-word}
@media(max-width:390px){body:has(#phone-status)>header>a:first-child:not([aria-label]){font-size:0;min-width:44px;min-height:44px;display:flex;align-items:center}body:has(#phone-status)>header>a:first-child:not([aria-label])::before{content:'‹';font-size:30px}}
/* Registration only: avoid multiplying outer, card and upload-panel gutters.
   Keep the same readable type and 44px touch targets in web and MAX. */
body.sh-guest-layout.sh-registration-layout{--guest-gutter:clamp(10px,3vw,16px)}
body.sh-guest-layout.sh-registration-layout .shell{padding-top:10px!important;padding-bottom:20px!important}
body.sh-guest-layout.sh-registration-layout .card{padding:12px!important;margin-bottom:12px}
body.sh-guest-layout.sh-registration-layout .stage-context{padding:8px 10px;margin:0 0 10px;gap:3px 10px}
body.sh-guest-layout.sh-registration-layout .step-heading{margin-bottom:10px}
body.sh-guest-layout.sh-registration-layout .summary{padding:9px 10px;line-height:1.4;overflow-wrap:anywhere}
body.sh-guest-layout.sh-registration-layout #registerForm{margin-top:12px;gap:10px}
body.sh-guest-layout.sh-registration-layout #registerForm>label{gap:4px}
body.sh-guest-layout.sh-registration-layout #registerForm :is(input:not([type=checkbox]):not([type=file]):not([type=hidden]),select,textarea){min-height:44px;padding:10px;font-size:16px}
body.sh-guest-layout.sh-registration-layout .photo-block{margin:0;padding:10px}
body.sh-guest-layout.sh-registration-layout :is(.photo-block,.receipt-upload) p{margin:4px 0 8px}
body.sh-guest-layout.sh-registration-layout :is(.camera,.business-pay-button){padding:10px 12px;min-height:44px}
body.sh-guest-layout.sh-registration-layout :is(.payment-block,.deposit-block){margin:0;padding:12px 0 0}
body.sh-guest-layout.sh-registration-layout .payment-head{gap:6px 10px}
body.sh-guest-layout.sh-registration-layout .payment-head h2{margin:0}
body.sh-guest-layout.sh-registration-layout .payment-total{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
body.sh-guest-layout.sh-registration-layout :is(.payment-block,.deposit-block)>.muted{margin:8px 0}
body.sh-guest-layout.sh-registration-layout .business-payment{margin:10px 0;padding:10px;gap:8px}
body.sh-guest-layout.sh-registration-layout :is(.payment-block,.deposit-block)>.receipt-upload{margin-top:10px}
@media(min-width:760px){body.sh-guest-layout.sh-registration-layout .card{padding:16px!important}body.sh-guest-layout.sh-registration-layout #registerForm{gap:12px}}
/* Narrow registration screens: retain touch targets, reclaim nested side gutters. */
body.sh-guest-layout.sh-registration-layout .upload-choices{margin:8px 0 0}
body.sh-guest-layout.sh-registration-layout .upload-choices>summary{display:flex;align-items:center;justify-content:center;box-sizing:border-box;min-height:44px;padding:10px 12px;border:1px solid var(--sh-line);border-radius:9px;background:var(--sh-surface);color:var(--sh-ink);font-size:15px;font-weight:500;cursor:pointer;list-style:none}
body.sh-guest-layout.sh-registration-layout .upload-choices>summary::-webkit-details-marker{display:none}
body.sh-guest-layout.sh-registration-layout .upload-choices>div{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
body.sh-guest-layout.sh-registration-layout .upload-choices .camera{margin:0}
.sh-bank-widget{min-width:0;width:100%}
.sh-bank-widget[hidden],.sh-bank-widget [hidden],#businessPayment>[hidden]{display:none!important}
.sh-bank-link-panel{margin-top:10px}
.sh-bank-widget .business-pay-button{display:block;width:100%;box-sizing:border-box;text-align:center;white-space:normal}
.sh-bank-widget .bank-qr{margin:12px auto;max-width:320px;width:100%}
.sh-bank-widget .bank-qr svg{display:block;width:100%;height:auto;background:white}
.sh-bank-widget .bank-qr figcaption{font-size:13px;line-height:1.4;margin:8px 0}
.sh-bank-widget>button{margin-top:8px}
@media(max-width:759px){
body.sh-guest-layout.sh-registration-layout{--guest-gutter:8px}
body.sh-guest-layout.sh-registration-layout .card{padding:8px!important}
body.sh-guest-layout.sh-registration-layout .photo-block{padding:8px}
}
