/* Customer delivery surfaces; server totals, account ownership and native forms stay authoritative. */
.storefront .customer-page{max-width:1160px;width:100%;margin:0 auto;min-width:0}
.storefront .customer-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 20px;flex-wrap:wrap}
.storefront .customer-heading h1{font-size:26px;line-height:1.6;letter-spacing:-.6px;margin:0 0 3px}
.storefront .customer-heading h2{font-size:19px;margin:0}
.storefront .customer-heading p{font-size:12px;color:var(--muted);margin:5px 0 0}
.storefront .customer-heading .eyebrow{font-size:10px;margin-bottom:4px}
.storefront .customer-heading--section{margin-block:24px 14px}
.storefront .customer-page .text-link{font-size:12px;color:var(--primary-deep);font-weight:600}
.storefront .customer-card{background:var(--panel);border:1px solid var(--border);border-radius:12px;padding:22px;margin:0 0 18px;box-shadow:none;min-width:0;overflow-wrap:anywhere}
.storefront .customer-card h2{font-size:17px;margin:0 0 12px;line-height:1.7}
.storefront .customer-card h3{font-size:15px;margin:0 0 8px;line-height:1.8}
.storefront .customer-card p{font-size:13px;line-height:2}
.storefront .customer-card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-bottom:14px;margin-bottom:16px;border-bottom:1px solid var(--border)}
.storefront .customer-card-heading>div{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.storefront .customer-card-heading :is(h2,h3){margin:0}
.storefront .customer-card-footer{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;border-top:1px solid var(--border);padding-top:14px;margin-top:16px;font-size:11px;color:var(--muted)}
.storefront .customer-card-footer form{margin:0}
.storefront .customer-card-footer>span{flex:1;min-width:0}
.storefront .customer-page :is(button,.button){font-size:12px;padding:9px 16px;min-height:42px;border-radius:8px}
.storefront .customer-page :is(input,select,textarea){font-size:13px;padding:9px 11px;min-height:42px;background:var(--panel);border-color:var(--border);color:var(--text);border-radius:8px;min-width:0;max-width:100%}
.storefront .customer-page :is(input,select,textarea):focus{border-color:var(--primary);box-shadow:0 0 0 3px #169b7214}
.storefront .customer-page :is(input[type=checkbox],input[type=radio]){width:18px!important;height:18px;min-height:0;flex-shrink:0;margin:0;accent-color:var(--primary)}
.storefront .customer-page input[type=file]{padding:7px;overflow:hidden}
.storefront .customer-page input[type=file]::file-selector-button{padding:5px 10px;border:0;border-radius:4px;background:var(--surface);color:var(--text);font:inherit;margin-inline-end:8px;cursor:pointer}
.storefront .customer-page textarea{min-height:116px;width:100%;resize:vertical}
.storefront .customer-page label{font-size:12px;font-weight:600;color:var(--text)}
.storefront .customer-nav{display:flex;gap:4px;overflow-x:auto;scrollbar-width:thin;background:var(--panel);padding:6px;border:1px solid var(--border);border-radius:10px;margin-bottom:22px}
.storefront .customer-nav a{padding:10px 14px;white-space:nowrap;font-size:12px;color:var(--muted);border-radius:7px;min-height:40px;display:flex;align-items:center;flex-shrink:0}
.storefront .customer-nav a:hover{background:var(--surface);color:var(--primary-deep)}
.storefront .customer-nav a[aria-current=page]{background:#e7f6ef;color:#147c58;font-weight:700}
.storefront[data-mode=dark] .customer-nav a[aria-current=page]{background:#193f32;color:#b2ead1}
.storefront .customer-greeting{display:flex;align-items:center;gap:14px}
.storefront .customer-avatar{display:flex;align-items:center;justify-content:center;width:54px;height:54px;background:#e7f6ef;border-radius:50%;font-size:21px;color:#147c58;flex-shrink:0}
.storefront .customer-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:20px}
.storefront .customer-stats .customer-card{padding:19px;margin:0;min-height:110px}
.storefront .customer-stats small{display:block;font-size:11px;color:var(--muted)}
.storefront .customer-stats strong{display:block;font-size:25px;margin-top:9px;line-height:1.6}
.storefront .customer-stats strong small{display:inline;font-size:10px;font-weight:400}
.storefront .points-stat{border-inline-start:3px solid var(--primary)}
.storefront .points-stat>span{font-size:10px;color:var(--primary-deep)}
.storefront .customer-card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:16px;margin-bottom:22px}
.storefront .customer-card-grid>.customer-card{margin:0}
.storefront .customer-order-list{display:grid;gap:16px}
.storefront .customer-order-list>.customer-card{margin:0}
.storefront .order-meta{display:flex;gap:20px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin-bottom:15px}
.storefront .order-meta strong{color:var(--text);font-size:13px}
.storefront .order-preview-lines{display:grid;gap:8px;list-style:none;margin:0;padding:0}
.storefront .order-preview-lines li{display:flex;justify-content:space-between;gap:12px;font-size:12px}
.storefront .order-preview-lines small{white-space:nowrap;color:var(--muted)}
.storefront .customer-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 20px;align-items:start;min-width:0}
.storefront .customer-field{min-width:0;overflow-wrap:anywhere}
.storefront .customer-field>label{display:block;margin-bottom:6px;line-height:1.6}
.storefront .customer-field>:is(input:not([type=checkbox]):not([type=radio]),select,textarea){display:block;width:100%}
.storefront .customer-field>small,.storefront .customer-field>.text-link{display:block;margin-top:6px;font-size:11px;line-height:1.8}
.storefront .customer-field>small,.storefront .customer-hint{color:var(--muted)}
.storefront .customer-page .customer-hint{font-size:12px;line-height:1.9;margin:0 0 14px}
.storefront :is(.customer-field--wide,.customer-form-actions,.customer-form-grid>.customer-alert),.storefront .customer-field:has(textarea,input[type=file],select[multiple]){grid-column:1/-1}
.storefront .customer-check{display:flex!important;align-items:center;gap:9px;padding:9px 11px;border:1px solid var(--border);border-radius:8px;background:var(--panel);margin-bottom:0!important}
.storefront .customer-field--check{align-self:end}
.storefront .customer-required{color:#b35358}
.storefront .customer-page .helptext{font-size:11px;line-height:1.8;color:var(--muted);margin-top:6px}
.storefront .customer-page .helptext ul{margin:6px 0;padding-inline-start:19px}
.storefront .customer-field--invalid :is(input,textarea,select){border-color:#bc626b}
.storefront .customer-page .errorlist{background:#fff1f2;color:#a03948;border:1px solid #f0c9ce;margin:7px 0 0;padding:8px 11px;font-size:12px;line-height:1.7;list-style:none}
.storefront .customer-form-actions{display:flex;gap:17px;align-items:center;flex-wrap:wrap;padding-top:17px;border-top:1px solid var(--border);margin-top:3px}
.storefront .customer-account-form{background:var(--surface);padding:25px}
.storefront .customer-profile-image{display:flex;gap:15px;align-items:center}
.storefront .customer-map summary{cursor:pointer;font-weight:600;color:var(--primary-deep);font-size:12px;margin-bottom:12px}
.storefront #address-map{height:340px;min-width:0;width:100%;border:1px solid var(--border);border-radius:9px;z-index:1}
.storefront .customer-map{min-width:0;border:1px solid var(--border);padding:14px;background:var(--panel);border-radius:9px}
.storefront .avatar-crop{padding:15px;border:1px solid var(--border);border-radius:9px}
.storefront .avatar-crop canvas{width:280px;max-width:100%;margin-bottom:14px}
.storefront .customer-auth{max-width:700px;padding-top:10px}
.storefront .customer-auth--login{max-width:500px}
.storefront .customer-auth--login .customer-form-grid{grid-template-columns:minmax(0,1fr)}
.storefront .customer-auth h1{font-size:24px}
.storefront .customer-auth>.customer-card{padding:28px}
.storefront .customer-auth .customer-form-actions .button{flex:1}
.storefront .auth-links{display:flex;gap:12px;justify-content:space-between;flex-wrap:wrap;margin-top:20px;padding-top:17px;border-top:1px solid var(--border)}
.storefront .auth-banner{height:115px;margin:-28px -28px 24px;padding:24px;display:flex;align-items:flex-end;border-radius:12px 12px 0 0;background-size:cover;background-position:center;color:#fff;font-size:22px}
.storefront .customer-alert{background:#fff1f2;color:#a03948;border:1px solid #f0c9ce;border-radius:9px;padding:13px 16px;font-size:13px;line-height:1.8;margin-bottom:18px;grid-column:1/-1}
.storefront .customer-alert .errorlist{margin:0;border:0;padding:0}
.storefront .customer-empty{text-align:center;padding:35px 25px!important;grid-column:1/-1}
.storefront .customer-empty h2{font-size:19px;margin-bottom:9px}
.storefront .customer-empty p{color:var(--muted);max-width:480px;margin:0 auto 17px;font-size:12px}
.storefront .customer-empty .button{margin-top:5px}
.storefront .customer-remove{color:#9e535d}
.storefront .checkout-steps{list-style:none;display:flex;justify-content:center;gap:40px;border:1px solid var(--border);border-radius:11px;background:var(--panel);padding:17px 22px;margin:0 0 24px}
.storefront .checkout-steps li{display:flex;align-items:center;gap:9px;font-size:12px;color:var(--muted)}
.storefront .checkout-steps li>span,.storefront .section-number{width:27px;height:27px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;background:var(--surface);border-radius:50%;color:var(--muted);font-size:12px}
.storefront .checkout-steps .is-complete>span,.storefront .checkout-steps .is-current>span,.storefront .section-number{background:#e6f5ed;color:#1b825e}
.storefront .checkout-steps .is-current{color:var(--primary-deep);font-weight:700}
.storefront .checkout-layout,.storefront .order-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 335px;gap:22px;align-items:start}
.storefront .checkout-sections{min-width:0}
.storefront .checkout-sections .customer-card{margin-bottom:16px}
.storefront .checkout-review,.storefront .order-payment-card{position:sticky;top:145px;margin:0}
.storefront .address-choices{display:grid;gap:10px}
.storefront .address-choice{display:flex;align-items:flex-start;gap:12px;padding:14px 15px;border:1px solid var(--border);border-radius:9px;background:var(--panel);cursor:pointer}
.storefront .address-choice:has(input:checked){border-color:var(--primary);background:color-mix(in srgb,var(--primary) 4%,var(--panel))}
.storefront .address-choice>input{margin-top:5px}
.storefront .address-choice>span{min-width:0}
.storefront .address-choice strong{font-size:13px}
.storefront .address-choice .badge{margin-inline-start:9px;font-size:9px}
.storefront .address-text{display:block;color:var(--muted);font-size:12px;line-height:2;margin:7px 0 0;overflow-wrap:anywhere;white-space:pre-line}
.storefront .balance-pill{background:#e7f6ef;border:1px solid #d6ece1;border-radius:8px;padding:6px 10px;color:#1d7c59;font-size:11px;white-space:nowrap}
.storefront .checkout-items{display:grid;gap:13px}
.storefront .checkout-item{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;font-size:12px;padding-bottom:13px;border-bottom:1px solid var(--border)}
.storefront .checkout-item strong{display:block;font-size:12px;line-height:1.9}
.storefront .checkout-item small{display:block;font-size:10px;color:var(--muted)}
.storefront .checkout-item>span{flex-shrink:0;font-size:12px;text-align:left}
.storefront .customer-totals{margin:20px 0}
.storefront .customer-totals>div{display:flex;justify-content:space-between;gap:12px;padding-block:10px;font-size:12px}
.storefront .customer-totals dt{color:var(--muted)}
.storefront .customer-totals dd{margin:0;font-weight:600;text-align:left}
.storefront .customer-totals small{font-size:10px;font-weight:400}
.storefront .customer-totals .total-due{border-top:1px solid var(--border);margin-top:8px;padding-top:17px;font-size:15px}
.storefront .customer-totals .total-due dt{color:var(--text);font-weight:600}
.storefront .checkout-review>.button,.storefront .order-payment-card>.button{width:100%}
.storefront .delivery-method{display:flex;gap:12px;align-items:center;padding:13px 15px;border:1px solid var(--border);border-radius:9px;background:var(--surface);margin:0 0 14px}
.storefront .delivery-method>.icon{color:var(--primary-deep);width:25px;height:25px}
.storefront .delivery-method strong{font-size:13px}
.storefront .delivery-method p{font-size:11px;color:var(--muted);margin:4px 0 0;line-height:1.9}
.storefront .order-cancel-form{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding-top:14px;border-top:1px solid var(--border)}
.storefront .order-cancel-form p{font-size:11px;color:var(--muted);margin:0}
.storefront .order-detail-line{display:grid;grid-template-columns:50px minmax(0,1fr);gap:14px;padding:15px 0;border-bottom:1px solid var(--border)}
.storefront .order-detail-line:last-child{border-bottom:0;padding-bottom:0}
.storefront .order-item-icon{height:50px;display:flex;align-items:center;justify-content:center;color:var(--primary-deep);background:var(--surface);border:1px solid var(--border);border-radius:9px}
.storefront .order-item-icon .icon{width:25px;height:25px}
.storefront .order-detail-line h3{font-size:14px;margin:0 0 4px}
.storefront .order-detail-line .customer-hint{margin-bottom:4px;font-size:11px}
.storefront .order-line-price{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;font-size:11px;margin-top:8px}
.storefront .order-line-price strong{font-size:13px}
.storefront .order-line-price small{font-size:10px;font-weight:400}
.storefront .customer-wishlist .product-card{padding:16px;min-width:0}
.storefront .customer-wishlist h2{font-size:14px;line-height:1.9;margin:5px 0 14px}
.storefront .wishlist-price{display:block;margin-top:auto;font-size:16px}
.storefront .wishlist-price small{font-size:10px;font-weight:400}
.storefront .wishlist-actions{margin-top:16px;border-top:1px solid var(--border);padding-top:13px;display:grid;gap:8px}
.storefront .wishlist-actions form{border:0;padding:0;display:block;margin:0}
.storefront .wishlist-actions button{width:100%;font-size:11px}
.storefront .reward-cost{display:block;font-size:24px;margin:13px 0 5px;color:var(--primary-deep)}
.storefront .reward-cost small{font-size:11px;font-weight:400}
.storefront .reward-card form{margin-top:18px}
.storefront .reward-card button{width:100%}
.storefront .customer-ticket-list{display:grid;gap:12px}
.storefront .customer-ticket{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:12px 14px;border:1px solid var(--border);background:var(--surface);border-radius:9px;font-size:12px}
.storefront .customer-ticket small{display:block;color:var(--muted);font-size:11px;margin-top:4px}
.storefront .customer-table{box-shadow:none;border-radius:9px;max-width:100%;margin-top:14px}
.storefront .customer-table :is(th,td){padding:11px 13px;font-size:12px}
.storefront .customer-table th{background:var(--surface)}
.storefront .customer-message-list{display:grid;gap:14px}
.storefront .customer-message-list>.customer-card{margin:0}
.storefront .customer-page .support-message{padding:20px;overflow-wrap:anywhere}
.storefront .customer-page .support-message p{white-space:normal}
.storefront .customer-page .support-message .button{font-size:11px}
.storefront .customer-page .support-message small{font-size:10px}
.storefront .customer-page .support-message h2{margin-block:7px}
.storefront .customer-page .review-card blockquote{margin:15px 0 0;padding:12px 15px;border-inline-start:3px solid var(--primary);border-radius:5px;background:var(--surface);font-size:12px}
.storefront .review-card details{padding-top:15px;margin-top:15px;border-top:1px solid var(--border)}
.storefront .review-card summary{font-size:12px;color:var(--primary-deep);cursor:pointer;font-weight:600}
.storefront .review-card details form{margin-top:14px}
.storefront .review-votes{display:flex;gap:8px;flex-wrap:wrap}
.storefront .review-votes button{font-size:11px;min-height:36px;padding:7px 11px}
@media(max-width:1050px){.storefront .checkout-layout,.storefront .order-detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:16px}.storefront .customer-card{padding:18px}.storefront .customer-nav a{padding:9px 12px}.storefront .customer-stats{gap:10px}.storefront .customer-stats strong{font-size:21px}}
@media(max-width:800px){.storefront .checkout-layout,.storefront .order-detail-layout{grid-template-columns:minmax(0,1fr)}.storefront .checkout-review,.storefront .order-payment-card{position:static}.storefront .customer-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.storefront .checkout-steps{gap:24px}.storefront .customer-nav{margin-bottom:18px}}
@media(max-width:550px){.storefront .customer-heading{margin-bottom:16px;gap:12px}.storefront .customer-heading h1{font-size:22px}.storefront .customer-heading h2{font-size:17px}.storefront .customer-heading p{font-size:11px}.storefront .customer-card{padding:16px;border-radius:10px;margin-bottom:14px}.storefront .customer-card-heading{gap:9px;margin-bottom:14px;padding-bottom:12px}.storefront .customer-card h2{font-size:15px}.storefront .customer-form-grid{grid-template-columns:minmax(0,1fr);gap:15px}.storefront .customer-stats{gap:9px}.storefront .customer-stats .customer-card{padding:13px;min-height:98px}.storefront .customer-stats strong{font-size:19px}.storefront .customer-stats small{font-size:10px}.storefront .customer-greeting{gap:11px}.storefront .customer-avatar{width:44px;height:44px;font-size:18px}.storefront .customer-greeting .profile-avatar{width:44px;height:44px}.storefront .checkout-steps{gap:12px;padding:12px 9px;justify-content:space-between;margin-bottom:18px}.storefront .checkout-steps li{font-size:10px;gap:5px;flex-direction:column;text-align:center;flex:1}.storefront .checkout-steps li>span{width:23px;height:23px;font-size:10px}.storefront .address-choice{padding:12px;gap:10px}.storefront .address-text{font-size:11px}.storefront .checkout-item{gap:8px}.storefront .checkout-item>span{font-size:11px}.storefront .checkout-item strong{font-size:11px}.storefront .customer-card-heading .text-link{font-size:11px}.storefront .balance-pill{font-size:10px;padding:5px 8px}.storefront .customer-auth>.customer-card{padding:20px}.storefront .auth-banner{margin:-20px -20px 20px;height:95px;padding:20px}.storefront .auth-links{font-size:11px;gap:10px}.storefront .order-meta{gap:9px;font-size:10px}.storefront .order-preview-lines li{font-size:11px}.storefront .order-detail-line{grid-template-columns:38px minmax(0,1fr);gap:10px}.storefront .order-item-icon{height:38px}.storefront .order-item-icon .icon{width:21px;height:21px}.storefront .order-detail-line h3{font-size:12px}.storefront .customer-wishlist h2{font-size:12px}.storefront .customer-wishlist .product-card{padding:12px}.storefront .wishlist-price{font-size:14px}.storefront .wishlist-actions button{padding:8px;font-size:10px}.storefront #address-map{height:280px}.storefront .customer-form-actions{gap:12px}.storefront .customer-empty{padding:28px 15px!important}.storefront .customer-nav a{font-size:11px;padding:9px 12px}.storefront .customer-table :is(th,td){padding:10px 11px;font-size:11px}}
.storefront .auth-banner[hidden]{display:none!important}
.storefront .customer-account-form>.auth-banner{margin:-25px -25px 22px}
.storefront .customer-auth .customer-account-form>.auth-banner{margin:-28px -28px 22px}
@media(max-width:1050px){.storefront .customer-account-form>.auth-banner{margin:-18px -18px 20px}}
@media(max-width:550px){.storefront .customer-account-form>.auth-banner{margin:-16px -16px 20px}.storefront .customer-auth .customer-account-form>.auth-banner{margin:-20px -20px 20px}}
