/* Customer-only accessibility/layout layer; existing brand components stay intact. */
*,*::before,*::after{box-sizing:border-box}
html{scroll-padding-top:90px}
body{overflow-wrap:break-word}
button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}
a:focus-visible,button:focus-visible{outline:2px solid #8057ba;outline-offset:3px}
.auth-nav a,.auth-nav button,.auth-close,.auth-secondary,.back-button,.quick-chip,.clear-search,.cart-controls button,.qty-button,.account-tabs button,.order-pager button{min-height:44px;min-width:44px}
.auth-nav a{display:inline-flex;align-items:center;justify-content:center;padding:8px}
.auth-nav button{font-size:13px}.auth-close{display:inline-flex;align-items:center;justify-content:center}
.auth-dialog{max-height:calc(100dvh - 24px);overflow-y:auto;overscroll-behavior:contain}
.auth-dialog input{font-size:16px}.auth-dialog .auth-secondary{display:block;width:100%;text-align:center}
.auth-dialog button,.order-pager button,.account-tabs button{touch-action:manipulation}
.auth-dialog h2{clear:both}.auth-dialog [name=code]{font-size:24px;letter-spacing:.25em;text-align:center}
.account-shell button,.account-shell .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:12px 16px;border-radius:12px;font:inherit;font-weight:700;border:1px solid #dfc8c0;background:#a00000;color:#fff;text-decoration:none;cursor:pointer}
.account-shell .quiet{background:#f4edf8;color:#59327a}.account-shell .account-tabs button,.account-shell .order-pager button{background:white;color:#752925}.account-shell .account-tabs [aria-selected=true]{background:#a00000;color:white}
.account-tabs{gap:8px}.account-tabs button{flex:1}.order-pager{justify-content:space-between;gap:8px}.order-pager span{text-align:center;font-size:13px}
.order-card h3,.line-name,.cart-line-title,.order-detail{overflow-wrap:anywhere;min-width:0}
.order-card a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}
.order-page button,.order-page .button{min-height:48px}.order-page #checkout button[type=submit]{display:block;width:100%;background:#a00000}
.order-page #checkout label:has(input[type=checkbox]),.order-page fieldset label{min-height:44px;padding:6px 0}
.order-page input:not([type=checkbox]):not([type=radio]),.order-page textarea,.order-page select{font-size:16px}
.order-page .line>b{flex-shrink:0}.order-page .actions>*{min-width:0}.order-page .actions{gap:10px}
.order-detail .actions .button{flex:1;min-width:150px}.order-detail dd{margin-left:0}
.pdf-view{border-radius:12px}.order-page #open{background:#a00000}.order-page #download{background:#f3eefa;color:#513178}
#pdf-login,#order-login,#retry,#retry-checkout,#pdf-retry{min-height:48px}
.bottom-nav{grid-template-columns:repeat(var(--nav-count,2),minmax(0,1fr))}
.bottom-nav .nav-item{min-height:48px;min-width:0;display:flex;align-items:center;justify-content:center;flex-direction:column;text-decoration:none;color:#67545f;font-size:12px;gap:2px;position:relative}
.bottom-nav .nav-item.active{color:#a00000;background:#fff1ec;border-radius:12px;font-weight:800}
.bottom-nav .nav-icon{font-size:20px;line-height:22px}
@media(max-width:767px){
 body[data-customer-page]:not([data-customer-page=home]){padding-bottom:calc(84px + env(safe-area-inset-bottom))}
 .topbar-inner{flex-wrap:wrap;gap:8px;min-height:68px}.topbar-inner>.brand{margin-right:auto}
 .topbar-inner>.auth-nav{margin-left:0}.topbar-inner>a:not(.brand),.topbar-actions .header-cart{display:none}
 .topbar-actions{margin-left:0;order:3}.topbar-actions:has(.session-chip.is-hidden){display:none}
 .auth-nav{gap:4px}.auth-nav a,.auth-nav button{font-size:12px;padding:8px 10px}.brand-copy{font-size:13px}
 .bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:60;display:grid;background:#fffdfb;border-top:1px solid #ead7ce;padding:6px 10px calc(6px + env(safe-area-inset-bottom));gap:6px}
 .price-dock{bottom:calc(72px + env(safe-area-inset-bottom))}.page{padding-bottom:145px}
 .cart-page{padding-bottom:24px}.cart-controls{grid-template-columns:44px 60px 44px 44px;gap:8px}.cart-controls button,.cart-controls input{min-height:44px}
 .checkout-note .primary-button{width:100%;min-height:48px}.checkout-note>a:last-child{display:inline-flex;align-items:center;min-height:44px}
 .order-page,.account-shell{padding-left:14px;padding-right:14px;margin-top:20px}
 .panel,.order-detail,.order-card{padding:18px;border-radius:18px}.order-detail .detail-grid{gap:12px}
 .order-page .actions{flex-direction:column}.order-page .actions>*{width:100%;flex:auto}
 .order-card>div:last-child{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
 .order-card>div:last-child p{margin:0}.order-pager button{padding:10px;font-size:13px}
 .nav-wrap{display:grid!important;grid-template-columns:minmax(0,1fr) auto;gap:8px!important;padding:12px 16px!important}
 .nav-wrap>.brand{grid-column:1;grid-row:1}.nav-wrap>.auth-nav{grid-column:2;grid-row:1;margin:0}
 .nav-wrap>.nav-cta{grid-column:1;grid-row:2;margin:0;width:fit-content;min-height:44px}
 .nav-wrap>.menu-toggle{grid-column:2;grid-row:2;justify-self:end;min-height:44px;min-width:44px;align-items:center;justify-content:center;padding:8px}
 #mobile-nav a,.text-link{min-height:44px;display:inline-flex;align-items:center}
 .hero-actions .button{min-height:48px}.section-heading>.text-link{min-height:44px}
}
@media(min-width:768px){.bottom-nav{display:none}}
@media(max-width:359px){.auth-nav a,.auth-nav button{font-size:11px;padding:8px}.topbar-inner .brand-logo{width:36px;height:36px}.auth-dialog{padding:18px}.order-detail .actions{flex-direction:column}.order-detail .actions .button{width:100%}.order-pager{flex-wrap:wrap}.order-pager span{order:3;width:100%}.panel,.order-card,.order-detail{padding:14px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
.primary-button{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:48px}
.checkout-note .primary-button{display:flex;width:100%;font-size:15px}
.checkout-note{font-size:13px}.checkout-note p{margin:12px 0}
@media(max-width:767px){.topbar-inner .brand-copy{display:grid!important;font-size:12px}.topbar-inner .brand-copy small{font-size:8px}.topbar-inner .brand-logo{width:38px;height:38px}.topbar-inner .brand{gap:7px}.checkout-note>a:last-child{font-size:13px}.line{gap:10px}.order-page .total{font-size:20px}}
.customer-facts{margin:18px 0;border:1px solid #eadbd5;border-radius:12px;padding:0 12px}.customer-facts summary{min-height:48px;display:list-item;padding:14px 0;font-size:14px;font-weight:700;cursor:pointer}.customer-facts[open]{padding-bottom:16px}.order-detail .financial-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;margin-top:24px}.financial-summary dt{color:#74666b;font-size:14px}.financial-summary dd{margin:0;text-align:right;font-weight:700}.account-shell> #app > a{display:inline-flex;min-height:44px;align-items:center}
@media(max-width:767px){.pdf-view{display:none}}
.qty-input{min-height:44px;min-width:44px;font-size:16px}.qty-stack{grid-template-columns:46px}
