/* Shared Shop controls: one readable scale across public and merchant screens. */
:root{--shop-control-height:56px;--shop-control-radius:12px;--shop-control-border:#8997ac;--shop-control-font:16px;--shop-field-font:12px;--shop-control-weight:475;--shop-button-weight:700;--shop-control-family:'Tripelfy Sans','Avenir Next',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif}
:is(#main,dialog,.shop-header,.shop-categories) :is(input,select,textarea,button,.button){font-family:var(--shop-control-family)!important;box-sizing:border-box}
:is(#main,dialog,.shop-header) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),select,textarea){
 font-size:var(--shop-field-font)!important;font-weight:var(--shop-control-weight)!important;line-height:1.5!important;
 border:1px solid var(--shop-control-border)!important;border-radius:var(--shop-control-radius)!important;
 background:#fff;color:#1a2b49;padding:14px 16px!important;min-height:var(--shop-control-height)!important;
 max-width:100%;box-shadow:none;
}
:is(#main,dialog,.shop-header) :is(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=hidden]):not([type=color]):not([type=submit]):not([type=button]),select){height:var(--shop-control-height)!important}
:is(#main,dialog) textarea{min-height:144px!important;height:auto;resize:vertical}
:is(#main,dialog,.shop-header) input::placeholder,:is(#main,dialog) textarea::placeholder{color:#5c6b80;opacity:1;font-weight:var(--shop-control-weight)}
:is(#main,dialog) label{font-family:var(--shop-control-family);font-size:14px!important;font-weight:650!important;line-height:1.5}
:is(#main,dialog) :is(button,.button),.shop-header :is(button,.button),.shop-categories :is(button,a){
 font-family:var(--shop-control-family)!important;font-size:var(--shop-control-font)!important;font-weight:var(--shop-button-weight)!important;
 line-height:1.5!important;min-height:var(--shop-control-height)!important;border-radius:var(--shop-control-radius)!important;
 padding:14px 20px!important;white-space:normal;overflow-wrap:anywhere;max-width:100%;box-sizing:border-box;
}
:is(#main,dialog) :is(.inline-buttons,.actions,.section-head,.home-section-head){gap:12px}
:is(#main,dialog,.shop-header) :is(input,textarea,select,button,.button):focus-visible{outline:3px solid #1267ce!important;outline-offset:3px;box-shadow:none!important}
:is(#main,dialog,.shop-header) :is(input,textarea,select):is([aria-invalid=true],.invalid){border-color:#b42337!important}
:is(#main,dialog,.shop-header) :is(input,textarea,select,button):disabled{cursor:not-allowed;opacity:.6}
:is(#main,dialog) :is(input[type=checkbox],input[type=radio]){width:20px;height:20px;min-height:20px;flex:none;accent-color:#294ecc}
/* Composite search has one outer frame, matching every other field. */
.shop-header #global-search{height:var(--shop-control-height)!important;min-height:var(--shop-control-height);padding:0!important;border:1px solid var(--shop-control-border)!important;border-radius:var(--shop-control-radius)!important;align-items:stretch;background:#fff}
.shop-header #global-search input{border:0!important;min-height:0!important;height:54px!important;border-radius:11px 0 0 11px!important;margin:0!important;padding:14px 16px!important}
.shop-header #global-search button{border:0;min-height:54px!important;height:54px!important;min-width:56px;border-radius:0 11px 11px 0!important;margin:0!important;padding:12px!important}
.shop-categories{height:auto;min-height:72px;gap:16px;align-items:center}
.shop-categories :is(button,a){flex-shrink:0;white-space:nowrap;padding:14px 12px!important}
/* Icon and disclosure controls retain their distinct meaning and hit area. */
:is(#main,dialog) :is(.close,.save-product){width:44px;min-width:44px;min-height:44px!important;height:44px;padding:8px!important;line-height:1!important}
#main .new-category{padding:0!important;background:transparent;border:0}
#main .new-category strong{font-size:14px;line-height:1.4}
:is(#main,dialog) input[type=file]{padding:10px!important;height:auto!important}
:is(#main,dialog) input[type=file]::file-selector-button{font:600 14px/1.4 var(--shop-control-family);padding:7px 12px;border:1px solid #8997ac;border-radius:8px;background:#f1f5fc;color:#1a2b49;margin-right:12px}
@media(max-width:680px){.shop-header{height:auto}.shop-header #global-search{flex-basis:100%}#main .home-market label{min-width:0}#main .home-market :is(input,select){width:100%}:is(#main,dialog) :is(.inline-buttons,.actions){flex-wrap:wrap}.shop-categories{gap:8px}.shop-categories :is(button,a){padding-inline:10px!important}}
/* Composite children override the shared field rule; the outer frame stays 56px. */
#global-search#global-search input{border:0!important;min-height:0!important;height:54px!important;border-radius:11px 0 0 11px!important;padding:14px 16px!important;box-shadow:none!important}
#global-search#global-search button{min-height:54px!important;height:54px!important;border-radius:0 11px 11px 0!important;padding:12px!important}
:is(#main,dialog) label:has(>input:not([type=checkbox]):not([type=radio]):not([type=hidden]),>select,>textarea){display:flex;flex-direction:column;align-items:stretch;gap:8px}
:is(#main,dialog) label>input:not([type=checkbox]):not([type=radio]),:is(#main,dialog) label>select,:is(#main,dialog) label>textarea{margin:0!important}
#global-search:focus-within{outline:3px solid #1267ce;outline-offset:3px}
#global-search#global-search input:focus-visible{outline:none!important}
:is(#main,dialog,.shop-header) :is(button,.button)>span:not([aria-hidden=true]):not(.graphic-icon):not(.shop-category-icon){font-family:inherit;font-size:inherit;font-weight:inherit;line-height:inherit}

/* Keep focused mobile fields at 16px to prevent Safari zoom; hints stay compact. */
@media(max-width:680px){:root{--shop-field-font:16px}:is(#main,dialog,.shop-header) :is(input,textarea)::placeholder{font-size:12px}}
