/* Mobile app document policy, 2026-10-15. Component layout overrides follow below. */
@media(max-width:1024px){html,body{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none;touch-action:pan-y}body{overflow-wrap:anywhere}input,textarea,select{font-size:16px!important}main,section,article,form,fieldset,dialog{min-width:0;max-width:100%}img,video,canvas,iframe{max-width:100%}button,a,input,textarea,select{touch-action:pan-y}}

.site-header,body.home .site-header:not(.is-mega):not(.is-solid){background:#fff}
body.home{padding-top:var(--header)}
@media(max-width:767px){.header-inner{gap:12px}.header-inner>*{min-width:0}.utils{flex-shrink:1}.drawer,.drawer-peek,.mobile-nav,.search-modal{max-width:100vw}.search-form input{min-width:0}.luce-help-item,.luce-help-title,.cart_totals,.woocommerce{min-width:0}.woocommerce table{table-layout:fixed;overflow-wrap:anywhere}.woocommerce-account .woocommerce-MyAccount-content{min-width:0}.woocommerce-account .woocommerce-orders-table th,.woocommerce-account .woocommerce-orders-table td{white-space:normal}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea{max-width:100%;min-width:0}}

@media(max-width:767px){.mobile-stacked-table{display:block!important;table-layout:auto!important;width:100%!important;min-width:0!important}.mobile-stacked-table thead{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%);white-space:nowrap}.mobile-stacked-table tbody{display:grid!important;width:100%;gap:16px}.mobile-stacked-table tbody tr{display:block!important;width:100%;padding:12px 0;border-bottom:1px solid #e2e4e9}.mobile-stacked-table tbody td{display:grid!important;grid-template-columns:minmax(70px,30%) minmax(0,1fr);gap:10px!important;width:100%!important;min-width:0!important;border:0!important;padding:8px 14px!important;white-space:normal!important;overflow-wrap:anywhere}.mobile-stacked-table tbody td:before{content:attr(data-mobile-label);font-weight:600;align-self:start;font-size:12px;line-height:1.7;color:inherit}.mobile-stacked-table tbody td>*{min-width:0;max-width:100%}.mobile-stacked-table tbody td[data-mobile-label=""]{display:block!important}.mobile-stacked-table tbody td[data-mobile-label=""]:before{display:none}}

@media(max-width:767px){.plp-cats{flex-wrap:wrap;overflow:visible;gap:4px 16px;padding-inline:16px}.plp-cats a{white-space:normal}}

@media(max-width:980px){.main,.content,.top,.app{min-width:0;max-width:100%}.main{width:100%}.top{flex-wrap:wrap;gap:10px}.top-search{min-width:0;flex:1}.top-search input{min-width:0;width:100%}.side{max-width:100vw;overflow-y:auto}.side nav{min-width:0}.toolbar{flex-wrap:wrap}.toolbar input,.toolbar select{min-width:0;max-width:100%}.split,.grid-2,.pair,.trio,.editor-grid,.cust-split{grid-template-columns:minmax(0,1fr)}.login form{min-width:0;max-width:100%;padding:32px 24px}.mobile-stacked-table tr:has(>th):not(:has(>td)){display:none!important}.mobile-stacked-table tr.is-row{display:block!important}.mobile-stacked-table td{grid-column:auto!important;grid-row:auto!important}.row-between{gap:12px}.title-actions{flex-wrap:wrap}}

.mobile-side-close{display:none}
@media(max-width:980px){.mobile-side-close{display:block;align-self:flex-end;min-height:44px;padding:8px 0;margin:0 0 12px;color:inherit;background:none;border:0;font:inherit;cursor:pointer}}

/* Custom choice controls stay inside their label; invisible full-width inputs
   previously used the viewport as their containing block and widened the page. */
.rail-pick,.type-chip,.flag{position:relative;min-width:0}
.rail-pick input,.type-chip input,.flag input{left:0;top:0;width:1px;height:1px;max-width:1px;min-width:0;min-height:0;margin:0;padding:0;border:0;overflow:hidden;clip-path:inset(50%)}
.rail-pick:focus-within,.type-chip:focus-within,.flag:focus-within{outline:2px solid var(--gold,#b08d57);outline-offset:3px}
