/* Shared tokens follow the existing colour and typography settings. */
:root{--commerce-ink:var(--web-body-text,#263e33);--commerce-muted:color-mix(in srgb,var(--commerce-ink) 82%,var(--web-body-background,#fff));--commerce-surface:var(--web-body-background,#fff);--commerce-soft:color-mix(in srgb,var(--web-main-color,#397459) 4%,var(--commerce-surface));--commerce-line:color-mix(in srgb,var(--commerce-ink) 15%,var(--commerce-surface));--commerce-accent:var(--web-main-color,#397459)}
:is(.wl-login,.customer-account,.cart-page,.checkout-page,.order-success-page,.order-lookup-page,.site-cart-drawer){font-family:var(--web-body-font-family,inherit);color:var(--commerce-ink);--ticket-accent:var(--commerce-accent);--checkout-accent:var(--commerce-accent);--cart-accent:var(--commerce-accent);--lookup-accent:var(--commerce-accent);--account-primary:var(--commerce-accent);--account-ink:var(--commerce-ink);--account-muted:var(--commerce-muted);--login-accent:var(--commerce-accent)}
:is(.customer-account,.cart-page,.checkout-page,.order-success-page,.order-lookup-page){background:var(--commerce-soft)}
:is(.cart-page,.checkout-page,.order-success-page,.order-lookup-page,.customer-account) :is(input,textarea,select,button){font-family:var(--web-body-font-family,inherit)}
:is(.order-success-heading,.lookup-heading,.cart-page__title) h1{font-family:var(--web-title-font-family,inherit);color:var(--web-title-text,var(--commerce-ink))}
:is(.order-bank-qr,.cart-summary,.checkout-summary,.lookup-section,.lookup-payment) :is(h2,h3){font-family:var(--web-heading-font-family,inherit);color:var(--web-heading-text,var(--commerce-ink))}
:is(.order-ticket,.order-bank-qr,.order-lookup-result,.order-lookup-form,.cart-page__main,.cart-summary,.checkout-summary,.site-cart-drawer__head,.site-cart-drawer__foot){background:var(--commerce-surface);border-color:var(--commerce-line)}
:is(.order-ticket__head,.order-ticket__bottom,.lookup-payment,.lookup-result-head,.order-bank-qr dl){background:var(--commerce-soft)}
:is(.order-ticket__tear:before,.order-ticket__tear:after){background:var(--commerce-soft);border-color:var(--commerce-line)}
:is(.order-ticket__details dt,.order-ticket__code>span,.order-ticket__code small,.order-success-heading>span:last-child,.order-success-help,.order-bank-qr p,.order-bank-qr dt,.lookup-details dt,.lookup-heading>div,.lookup-payment-note,.lookup-totals dt,.cart-summary dt,.cart-summary__note,.cart-page-item__price){color:var(--commerce-muted)}
:is(.order-ticket__details dd,.order-ticket__code strong,.lookup-details dd,.lookup-item h4,.cart-page-item__title){color:var(--commerce-ink)}
:is(.checkout-page,.order-success-page,.order-lookup-page,.cart-page) :is(a,button,input,textarea,select):focus-visible{outline:2px solid var(--commerce-accent);outline-offset:3px}
.product-image-fallback{object-fit:contain!important}
.order-payment-notice,.order-payment-watch{max-width:650px;margin:0 auto 20px;padding:16px 20px;border:1px solid var(--commerce-line);border-radius:12px;background:var(--commerce-surface);font-size:13px;line-height:1.7;color:var(--commerce-ink)}
.order-payment-watch{display:flex;align-items:center;justify-content:space-between;gap:16px}.order-payment-watch button{flex-shrink:0;border:1px solid var(--commerce-line);border-radius:8px;background:var(--commerce-soft);padding:10px 14px;min-height:42px;color:var(--commerce-ink);font:inherit;cursor:pointer}.order-payment-watch button:disabled{opacity:.6;cursor:wait}
.payment-state--confirming .order-success-check,.payment-state--pending .order-success-check{background:#fff4db;color:#805712;border-color:#e6cf9c}.payment-state--failed .order-success-check,.payment-state--cancelled .order-success-check,.payment-state--expired .order-success-check{background:#fff0ea;color:#934d36;border-color:#e4c9bf}.payment-state--paid .order-success-check{background:#e5f4e9;color:#267442;border-color:#b9d8c2}
/* Checkout should remain usable with a small viewport and the software keyboard. */
.checkout-page .checkout-form,.checkout-page .checkout-summary,.checkout-page .checkout-form>section{min-width:0}.checkout-page .checkout-payments{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.checkout-page .checkout-payments label{min-width:0}.checkout-page .checkout-payments label>span{white-space:normal;line-height:1.6}.checkout-page .checkout-promotion__control{min-width:0}.checkout-page .checkout-promotion__control input{min-width:0}
body:has([data-checkout-page]) :is(.site-chatbot,.site-contact-icons,.site-footer-actions,.site-back-to-top){display:none!important}
@media(max-width:760px){.checkout-page .checkout-layout{grid-template-columns:minmax(0,1fr)}.checkout-page .checkout-summary{position:static;top:auto;margin-bottom:env(safe-area-inset-bottom)}.checkout-page :is(input,textarea,select){font-size:16px!important}.checkout-page .checkout-payments{grid-template-columns:minmax(0,1fr)}.checkout-page .checkout-payments label{min-height:52px}.checkout-page .checkout-summary>button{min-height:52px}.checkout-page .checkout-contact-fields{grid-template-columns:minmax(0,1fr)}.checkout-page .checkout-promotion__control button{min-height:44px}.order-payment-watch{flex-direction:column;align-items:stretch}.order-payment-watch button{width:100%}.site-cart-item__controls button{min-width:40px;min-height:40px}}
@media(max-width:380px){.checkout-page .checkout-promotion__control{display:grid;grid-template-columns:minmax(0,1fr)}.checkout-page .checkout-promotion__control button{width:100%;border-radius:8px}.checkout-page .checkout-totals>div{gap:10px}.checkout-page .checkout-totals__grand dd{font-size:20px!important}.site-cart-item__controls span{min-width:24px}.site-cart-item__controls button{min-width:36px}}

.wl-login__intro{--commerce-ink:#f1f7f5;--commerce-muted:#c1d2d3;background:linear-gradient(135deg,color-mix(in srgb,var(--commerce-accent) 30%,#142f32),#142f32)}.wl-login__heading h2,.account-tab-heading h2{font-family:var(--web-heading-font-family,inherit);color:var(--web-heading-text,var(--commerce-ink))}.checkout-page .checkout-form>section{background:var(--commerce-surface);border-color:var(--commerce-line)}

.site-cart-drawer{background:var(--commerce-soft)}.site-cart-drawer :is(.site-cart-item,.site-cart-drawer__head,.site-cart-drawer__foot){background:var(--commerce-surface);border-color:var(--commerce-line)}.site-cart-drawer :is(.site-cart-item__title,.site-cart-drawer__head span){color:var(--commerce-ink)}.site-cart-drawer :is(.site-cart-total span,.site-cart-empty>p,.site-cart-drawer__head strong,.site-cart-continue){color:var(--commerce-muted)}.site-cart-drawer :is(.site-cart-item__media,.site-cart-item__controls button){background:var(--commerce-soft);border-color:var(--commerce-line)}.order-vnpay-pay:disabled{opacity:.65;cursor:wait}

/* Shared typography and neutral surfaces; payment/status colours remain semantic. */
:is(.wl-login,.customer-account,.cart-page,.checkout-page,.order-success-page,.order-lookup-page,.site-cart-drawer){font-size:var(--web-body-font-size,16px)}
:is(.wl-login,.customer-account,.cart-page,.checkout-page,.order-success-page,.order-lookup-page,.site-cart-drawer) button{font-family:var(--web-button-font-family,var(--web-body-font-family,inherit))}
:is(.order-success-heading,.lookup-heading,.cart-page__title) h1{font-size:var(--web-title-font-size,34px);line-height:1.3;overflow-wrap:anywhere}
:is(.customer-account__section-heading,.account-tab-heading,.wl-login__heading) h2{font-family:var(--web-heading-font-family,inherit);font-size:var(--web-heading-font-size,28px)}
.customer-account :is(.customer-account__card,.customer-account__sidebar,.customer-account__stats article,.customer-account__shortcuts a,.customer-order,.account-form-aside,.account-order-summary,.account-profile-identity,.customer-account__info>div){border-color:var(--commerce-line)}
.account-overview-banner{background:linear-gradient(115deg,var(--commerce-soft),var(--commerce-surface));border-color:var(--commerce-line)}
.account-profile-identity>span,.account-form-aside__icon,.account-tab-heading>span,.site-cart-drawer__icon{background:var(--commerce-soft);color:var(--commerce-accent);border-color:var(--commerce-line)}
.customer-account__nav a.is-active{background:var(--commerce-soft)}
:is(.wl-login,.customer-account) :is(a,button,summary):focus-visible{outline:2px solid var(--commerce-accent);outline-offset:3px}
.order-lookup-form input:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--commerce-accent) 12%,transparent)}
:is(.lookup-details,.order-ticket__details,.order-bank-qr) dd{min-width:0;overflow-wrap:anywhere}
.cart-page-item__body,.site-cart-item__body,.customer-order__items>div>div{min-width:0}
@media(max-width:800px){
    :is(.wl-login,.customer-account,.cart-page,.checkout-page,.order-success-page,.order-lookup-page,.site-cart-drawer){font-size:var(--web-body-mobile-font-size,15px)}
    :is(.order-success-heading,.lookup-heading,.cart-page__title) h1{font-size:var(--web-title-mobile-font-size,26px)}
    :is(.customer-account__section-heading,.account-tab-heading,.wl-login__heading) h2{font-size:var(--web-heading-mobile-font-size,23px)}
    :is(.wl-login,.customer-account,.order-lookup-page) :is(input,select,textarea){font-size:max(16px,var(--web-body-mobile-font-size,15px))}
    .customer-account__nav a{font-size:13px;line-height:1.5;min-height:64px}
    .customer-account__logout button{min-height:44px;font-size:13px}
    .customer-account :is(.account-form-aside p,.account-form-aside li span,.account-form-footer p,.account-meta-strip,.customer-account__shortcuts small,.customer-order__items small,.account-order-summary span){font-size:12px;line-height:1.7}
    .cart-page-item__commands button,.site-cart-item__controls button{min-width:44px;min-height:44px}
    .cart-page-item__commands{flex-wrap:wrap;row-gap:8px}
    .cart-page-item__commands button:last-child{margin-left:8px}
    .order-lookup-form,.lookup-input,.lookup-result-head>div{min-width:0}
    .lookup-result-head{overflow-wrap:anywhere}
    .site-cart-drawer__body{min-height:0}
}
@media(max-width:380px){
    .customer-account__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
    .customer-account__nav a{flex-direction:row;min-height:48px;padding:10px}
    .account-order-summary{grid-template-columns:minmax(0,1fr);gap:12px}
    .account-order-summary>div{padding:0 0 12px;border-right:0;border-bottom:1px solid var(--commerce-line)}
    .account-order-summary>div:last-child{padding-bottom:0}
    .cart-progress span{white-space:normal;line-height:1.5}
    .cart-progress b{flex-shrink:0}
    .cart-page-item__total{flex-wrap:wrap}
}
@media(prefers-reduced-motion:reduce){
    :is(.cart-page,.checkout-page,.order-success-page,.order-lookup-page,.site-cart-drawer) *{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}

/* Secondary copy should remain readable without forcing font rasterization. */
.checkout-page :is(.checkout-form__help,.checkout-contact-card .checkout-express span small),
.wl-register .wl-login__field>label em,
.wl-login .customer-social-login__button small {
    font-size:12px;
    line-height:1.7;
}

/* Consistent empty, loading and retry states. */
:is(.commerce-state,.wishlist-page__loading,.wishlist-page__empty,.compare-page__loading,.compare-page__empty,.compare-page__error,.cart-page__empty){padding:36px 24px;border:1px solid var(--commerce-line);border-radius:16px;background:var(--commerce-surface);color:var(--commerce-ink);font-family:var(--web-body-font-family,inherit);text-align:center;line-height:1.7}
.commerce-state[hidden]{display:none!important}
.commerce-state button,.recent-products :is([data-recent-clear],[data-recent-retry]){min-height:44px;padding:10px 16px;border:1px solid var(--commerce-line);border-radius:9px;background:var(--commerce-surface);color:var(--commerce-accent);font:600 13px/1.5 var(--web-body-font-family,inherit);cursor:pointer}
.commerce-state button:focus-visible,.recent-products :is([data-recent-clear],[data-recent-retry]):focus-visible{outline:2px solid var(--commerce-accent);outline-offset:3px}
.recent-products{padding-top:32px;padding-bottom:32px}.recent-products[hidden]{display:none!important}.recent-products>header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-bottom:22px}.recent-products h2{margin:0;font:600 24px/1.5 var(--web-heading-font-family,inherit);color:var(--web-heading-text,var(--commerce-ink))}.recent-products p{margin:6px 0;color:var(--commerce-muted);font-size:13px}.recent-products .commerce-state{margin-bottom:16px}.recent-products [data-recent-retry][hidden]{display:none!important}
