/* Reset & Base */
* { margin: 0; padding: 0; box-sizing: border-box; }
.site-confirm-backdrop { position: fixed; inset: 0; z-index: 10000; display: flex; align-items: center; justify-content: center; padding: 20px; background: rgba(15, 23, 42, .55); }
.site-confirm { width: min(420px, 100%); padding: 24px; border-radius: 12px; background: var(--site-surface, #fff); box-shadow: 0 18px 60px rgba(0,0,0,.25); }
.site-confirm h2 { margin: 0 0 10px; font-size: 20px; color: #172033; }
.site-confirm p { margin: 0 0 22px; color: #475569; white-space: pre-wrap; }
.site-confirm-actions { display: flex; justify-content: flex-end; gap: 10px; }
.site-confirm-actions button { min-width: 88px; padding: 9px 16px; border: 0; border-radius: 6px; cursor: pointer; font-weight: 600; }
.site-confirm-cancel { background: var(--site-border-soft, #e5e7eb); color: #374151; }
.site-confirm-ok { background: var(--site-primary, #e60012); color: var(--site-surface, #fff); }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; font-size: 14px; line-height: 1.6; color: var(--site-text, #333); background: var(--site-surface, #fff); }
html { min-height: 100%; }
body:not(.admin-panel) { min-height: 100vh; min-height: 100dvh; display: flex; flex-direction: column; }
body:not(.admin-panel) > main { flex: 1 0 auto; width: 100%; }
body:not(.admin-panel) > footer.main-footer { flex-shrink: 0; width: 100%; margin-top: auto; }
.site-announcement{position:relative;display:flex;align-items:center;justify-content:center;min-height:40px;padding:8px 52px 8px 16px;background:var(--announcement-background,#d70018);color:var(--announcement-color,var(--site-surface, #fff));font-size:var(--announcement-font-size,16px);line-height:1.35;text-align:center}
.site-announcement[hidden]{display:none}
.site-announcement-text{position:relative;display:block;width:100%;max-width:100%;min-height:22px;overflow:hidden;word-break:break-word}
.site-announcement-item{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:0 4px;opacity:0;transform:translateY(110%);transition:transform .5s ease,opacity .5s ease;pointer-events:none}
.site-announcement-item.is-active{position:relative;opacity:1;transform:translateY(0);pointer-events:auto}
.site-announcement-item.is-exiting{opacity:0;transform:translateY(-110%)}
.site-announcement:not(.site-announcement--rotating) .site-announcement-item{position:relative}
.site-announcement-item a{color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.site-announcement-item a:hover{color:inherit;opacity:.82}
.site-announcement-content{display:block;max-width:100%}
.site-announcement-item.is-marquee{justify-content:flex-start;overflow:hidden;white-space:nowrap;transform:translate3d(0,0,0)}
.site-announcement-item.is-marquee .site-announcement-content{display:inline-block;max-width:none;padding-left:100%;white-space:nowrap;will-change:transform;animation:site-announcement-marquee var(--announcement-marquee-duration,12s) linear var(--announcement-marquee-iterations,3)}
.site-announcement-item.is-marquee .site-announcement-content:hover{animation-play-state:paused}
.site-announcement-item.is-marquee a{white-space:nowrap}
@keyframes site-announcement-marquee{from{transform:translate3d(0,0,0)}to{transform:translate3d(-100%,0,0)}}
.site-announcement:not([data-announcement-marquee="1"]) .site-announcement-item{white-space:normal}
.site-announcement:not([data-announcement-marquee="1"]) .site-announcement-content{white-space:normal}
@media (prefers-reduced-motion: reduce){.site-announcement-item{transition:none}.site-announcement-item:not(.is-active){display:none}}
.site-announcement-close{position:absolute;right:8px;top:50%;transform:translateY(-50%);z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.48);color:var(--site-surface, #fff);font-family:Arial,sans-serif;font-size:26px;line-height:28px;cursor:pointer}
.site-announcement-close:hover{background:rgba(0,0,0,.75);color:var(--site-surface, #fff)}
.home-popup-banner{position:fixed;inset:0;z-index:5000;display:flex;align-items:center;justify-content:center;padding:20px}
.home-popup-banner[hidden]{display:none}
.home-popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.58)}
.home-popup-dialog{position:relative;z-index:1;width:var(--home-popup-width,680px);max-width:92vw;max-height:none;border-radius:0;overflow:visible;overscroll-behavior:contain;background:var(--site-surface, #fff);box-shadow:0 18px 60px rgba(0,0,0,.35);opacity:1;transform:scale(var(--home-popup-scale,1));transform-origin:center center;transition:opacity .45s ease}
.home-popup-dialog.is-changing{opacity:0}
.home-popup-slide{display:block;width:100%;max-width:100%;line-height:0}
.home-popup-dialog img{display:block;width:100%;max-width:none;height:auto;max-height:none;margin:0;object-fit:contain}
.home-popup-promo-html{box-sizing:border-box;width:100%;min-width:0;max-width:100%;padding:24px 24px 8px;text-align:center;color:#252525;font-size:clamp(16px,2.3vw,24px);line-height:1.5;overflow-wrap:anywhere;word-break:break-word}
.home-popup-promo-html h1,.home-popup-promo-html h2,.home-popup-promo-html h3{margin:0 0 14px;font-size:clamp(27px,4vw,42px);line-height:1.2;font-weight:600}
.home-popup-promo-html p{margin:0 0 8px}
.home-popup-promo-html a{color:var(--site-primary, #e60012);text-decoration:underline}
.home-popup-voucher{padding:12px 24px 24px;text-align:center}
.home-popup-voucher-code{margin-bottom:14px;padding:10px 12px;border:2px dashed var(--site-border, #d1d5db);border-radius:0;background:#f4f4f5;color:#111;font-size:clamp(20px,3vw,30px);font-weight:800;letter-spacing:.2em;overflow-wrap:anywhere}
.home-popup-voucher-copy{width:100%;min-height:58px;padding:12px 18px;border:0;border-radius:0;background:var(--site-primary, #f00012);color:var(--site-surface, #fff);font-size:20px;font-weight:600;cursor:pointer}
.home-popup-voucher-copy:hover{background:#d60010}
.home-popup-promo-html[hidden],.home-popup-voucher[hidden]{display:none}
.home-popup-banner-list{display:grid;gap:12px;margin:10px 0}
.home-popup-banner-row{display:flex;gap:14px;align-items:flex-start;padding:12px;border:1px solid var(--site-border-soft, #e5e7eb);border-radius:8px;background:var(--site-surface-muted, #fafafa)}
.home-popup-banner-row img,.home-popup-banner-placeholder{width:min(180px,100%);height:100px;max-width:100%;flex:0 1 180px;object-fit:contain;border:1px solid var(--site-border, #ddd);border-radius:6px;background:var(--site-surface, #fff)}
.home-popup-banner-preview{display:block;cursor:zoom-in;line-height:0}
.logo{display:flex;align-items:center;justify-content:center;max-width:100%}
.logo img{display:block;max-width:100%;max-height:64px;width:auto;height:auto;object-fit:contain}
.settings-image-preview-link{display:inline-flex;align-items:center;justify-content:center;max-width:100%;line-height:0;cursor:zoom-in}
.settings-image-preview-link img{display:block;max-width:100%;max-height:100%;height:auto;object-fit:contain}
.home-popup-banner-placeholder{display:flex;align-items:center;justify-content:center;color:#777;font-size:13px;line-height:1.4;text-decoration:none}
.home-popup-banner-fields{display:grid;gap:8px;flex:1;min-width:0}
.home-popup-banner-remove{color:#b42318;font-size:13px}
.home-popup-banner-add{justify-self:start;font-size:13px;padding:6px 10px}
.home-popup-banner-order-actions{display:flex;gap:6px;align-items:center}
.home-popup-banner-order-actions .btn{min-width:38px;padding:6px 10px;font-size:18px;line-height:1}
@media (max-width:600px){.home-popup-banner-row{flex-direction:column}.home-popup-banner-row img,.home-popup-banner-placeholder{width:100%;height:150px;flex-basis:auto}}
.home-popup-close{position:absolute;top:8px;right:8px;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:rgba(0,0,0,.48);color:var(--site-surface, #fff);font-family:Arial,sans-serif;font-size:26px;line-height:28px;cursor:pointer}
.home-popup-close:hover{background:rgba(0,0,0,.75);color:var(--site-surface, #fff)}
@media (max-width:600px){.home-popup-dialog{max-width:94vw;max-height:none}.home-popup-promo-html{padding:18px 16px 4px;font-size:17px}.home-popup-voucher{box-sizing:border-box;width:100%;max-width:100%;padding:10px 16px 18px}.home-popup-voucher-copy{min-height:54px;font-size:18px}}
body.home-popup-open{overflow:hidden}
input, textarea, select, button { font: inherit; }
input, textarea, select {
    font-size: 16px;
}

@media (max-width: 767px) {
    html { -webkit-text-size-adjust: 100%; }
    input, textarea, select, button { font-size: 16px; }
}
a { text-decoration: none; color: inherit; }
ul { list-style: none; }
img { max-width: 100%; height: auto; display: block; }
.container { max-width: 1500px; margin: 0 auto; padding: 0 15px; }

.store-locator-page { padding: 42px 0 80px; background: var(--site-surface, #fff); }
.store-locator-heading { text-align: center; margin-bottom: 34px; }
.store-locator-eyebrow { display: block; margin-bottom: 8px; color: var(--site-primary, #e9573f); font-size: 12px; font-weight: 700; letter-spacing: .18em; }
.store-locator-heading h1 { color: #171717; font-size: clamp(30px, 4vw, 42px); font-weight: 500; line-height: 1.2; }
.store-locator-heading p { margin-top: 10px; color: #68707b; font-size: 16px; }
.store-locator-layout { display: grid; grid-template-columns: 350px minmax(0, 1fr); min-height: 520px; border: 1px solid #dedede; border-radius: 8px; overflow: hidden; box-shadow: 0 18px 36px rgba(31, 41, 55, .08); }
.store-locator-panel { padding: 40px; background: var(--site-surface, #fff); }
.store-locator-panel h2 { margin-bottom: 28px; color: #171717; font-size: 27px; font-weight: 500; }
.store-locator-panel label { display: block; margin: 0 0 8px; color: #30343a; font-size: 15px; }
.store-locator-panel select { width: 100%; height: 40px; padding: 0 12px; border: 1px solid #cbd2da; border-radius: 7px; background: var(--site-surface, #fff); color: #59616b; outline: none; }
.store-locator-panel select:focus { border-color: var(--site-primary, #e9573f); box-shadow: 0 0 0 3px rgba(var(--site-primary-rgb, 233, 87, 63), .12); }
.store-locator-panel .store-choice-native { position: static; display: block; width: 100%; height: 40px; margin: 0 0 8px; padding: 0 12px; border: 1px solid #cbd2da; border-radius: 7px; background: var(--site-surface, #fff); color: #59616b; outline: none; }
.store-locator-panel .store-choice-native:focus { border-color: var(--site-primary, #e9573f); box-shadow: 0 0 0 3px rgba(var(--site-primary-rgb, 233, 87, 63), .12); }
.store-choice-search { position: relative; margin: 0 0 8px; }
.store-choice-search i { position: absolute; top: 50%; left: 12px; transform: translateY(-50%); color: #98a2b3; font-size: 13px; pointer-events: none; }
.store-locator-panel .store-choice-search input { width: 100%; height: 38px; min-height: 38px; padding: 0 38px 0 36px !important; border: 1px solid #dfe3e7; border-radius: 8px; background: var(--site-surface, #fff); color: #252b31; font-size: 14px; line-height: 1.4; outline: none; }
.store-choice-search input::placeholder { color: #98a2b3; }
.store-choice-search input:focus { border-color: var(--site-primary, #e9573f); box-shadow: 0 0 0 3px rgba(var(--site-primary-rgb, 233, 87, 63), .1); }
.store-route-start { margin-top: 20px; }
.store-route-input { position: relative; }
.store-route-input i { position: absolute; top: 50%; left: 12px; transform: translateY(-50%); color: #98a2b3; font-size: 13px; pointer-events: none; }
.store-locator-panel .store-route-input input { width: 100%; height: 38px; min-height: 38px; padding: 0 12px 0 36px !important; border: 1px solid #dfe3e7; border-radius: 8px; background: var(--site-surface, #fff); color: #252b31; font-size: 14px; line-height: 1.4; outline: none; }
.store-route-input input:focus { border-color: var(--site-primary, #e9573f); box-shadow: 0 0 0 3px rgba(var(--site-primary-rgb, 233, 87, 63), .1); }
.store-choice-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(118px, 1fr)); gap: 9px; max-height: 170px; margin-bottom: 20px; overflow-y: auto; padding: 2px 6px 2px 0; scrollbar-width: thin; scrollbar-color: #cbd2da transparent; }
.store-choice-options::-webkit-scrollbar { width: 7px; }
.store-choice-options::-webkit-scrollbar-track { background: transparent; }
.store-choice-options::-webkit-scrollbar-thumb { border-radius: 999px; background: #cbd2da; }
.store-choice-empty { grid-column: 1 / -1; margin: 2px 0 0; color: #98a2b3; font-size: 13px; }
.store-choice-option.variant-option { width: 100%; min-height: 48px; align-items: center; padding: 9px 12px; font-size: 14px; }
.store-choice-option.variant-option.is-selected { padding: 8px 11px; border-width: 2px; border-color: var(--site-primary, #e9573f); background: var(--site-primary-soft, #fff8f6); color: var(--site-primary-hover, #c63d2c); font-weight: 650; }
.store-choice-option.variant-option:focus-visible { outline: 3px solid rgba(var(--site-primary-rgb, 233, 87, 63), .2); outline-offset: 2px; }
.store-locator-panel:not(.has-custom-store-options) .store-choice-options { display: none; }
.store-locator-panel.has-custom-store-options > .store-choice-native { display: block; }
.store-locator-panel.has-custom-store-options .store-choice-native { display: block; }
.store-locator-address { margin-top: 30px; }
.store-locator-address h3 { display: flex; align-items: center; gap: 9px; margin-bottom: 16px; color: #202124; font-size: 23px; font-weight: 500; }
.store-locator-address h3 i { color: var(--site-primary, #e9573f); font-size: 20px; }
.store-locator-address p { min-height: 0; color: var(--site-text, #333); font-size: 15px; line-height: 1.7; }
.store-directions-link, .store-phone-link { display: inline-flex; align-items: center; gap: 7px; margin-top: 10px; color: var(--site-primary, #e9573f); font-size: 14px; font-weight: 600; }
.store-directions-link.is-disabled { color: #98a2b3; cursor: not-allowed; }
.store-phone-link { margin-top: 8px; color: #4b5563; }
.store-map-wrap { display:flex;flex-direction:column;min-height:520px;background:#e8f1e9; }
.store-map-toolbar{display:flex;align-items:center;justify-content:flex-end;gap:12px;min-height:58px;padding:9px 14px;background:var(--site-surface, #fff);border-bottom:1px solid #e4e7ec;color:#475467;font-size:13px;font-weight:600}
.store-map-view-switch{display:inline-flex;align-items:center;gap:4px;padding:4px;border:1px solid #e4e7ec;border-radius:9px;background:var(--site-surface-muted, #f8fafc)}
.store-map-view-switch button{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:36px;padding:7px 12px;border:0;border-radius:6px;background:transparent;color:#475467;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.store-map-view-switch button:hover{background:#eef2f6;color:#1d2939}
.store-map-view-switch button.is-active,.store-map-view-switch button[aria-pressed="true"]{background:var(--site-primary, #e60012);color:var(--site-surface, #fff);box-shadow:0 2px 6px rgba(var(--site-primary-rgb, 230, 0, 18),.2)}
.store-map-stage{position:relative;flex:1;min-height:0;height:520px;background:#e8e9eb}
.store-map-stage iframe,.store-map-stage #store-leaflet-map{width:100%;height:100%;min-height:520px;border:0;display:block}
.store-map-stage [hidden]{display:none!important}
.store-map-google-directions{position:absolute;z-index:500;top:14px;right:14px;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:9px 14px;border:1px solid var(--site-border, #d0d5dd);border-radius:8px;background:var(--site-surface, #fff);color:#172033;font-size:13px;font-weight:700;text-decoration:none;box-shadow:0 3px 12px rgba(16,24,40,.18)}
.store-map-google-directions:hover{background:var(--site-surface-muted, #f8fafc);color:var(--site-primary, #e60012)}
.store-locator-panel .store-map-marker-options{position:static;z-index:auto;display:grid;gap:8px;width:100%;min-width:0;margin:4px 0 20px;padding:13px 14px;border:1px solid #e4e7ec;border-radius:12px;background:var(--site-surface-muted, #f8fafc);color:#172033}
.store-locator-panel [data-store-map-marker-options][hidden]{display:none!important}
.store-map-marker-options>strong{margin-bottom:1px;color:#748096;font-size:9px;font-weight:800;letter-spacing:.08em}
.store-locator-panel .store-map-marker-toggle{display:flex;align-items:center;gap:9px;min-height:30px;margin:0;color:#1d2939;font-size:13px;font-weight:700;cursor:pointer;user-select:none}
.store-map-marker-toggle input{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.store-map-marker-switch{position:relative;flex:0 0 32px;width:32px;height:18px;border-radius:999px;background:var(--site-border, #cbd5e1);transition:background .16s ease}
.store-map-marker-switch:after{position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--site-surface, #fff);box-shadow:0 1px 3px rgba(16,24,40,.25);content:"";transition:transform .16s ease}
.store-map-marker-toggle input:checked+.store-map-marker-switch{background:var(--site-primary, #e60012)}
.store-map-marker-toggle input:checked+.store-map-marker-switch:after{transform:translateX(14px)}
.store-map-marker-toggle input:focus-visible+.store-map-marker-switch{outline:3px solid rgba(var(--site-primary-rgb, 230, 0, 18),.25);outline-offset:2px}
.store-map-hover-card{position:absolute;top:14px;right:14px;z-index:800;width:min(320px,calc(100% - 28px));max-height:calc(100% - 28px);overflow:auto;border:1px solid rgba(255,255,255,.85);border-radius:18px;background:var(--site-surface, #fff);box-shadow:0 18px 48px rgba(16,24,40,.28);color:#172033;opacity:0;transform:translateY(7px);transition:opacity .18s ease,transform .18s ease;pointer-events:auto}
.store-map-hover-card.is-visible{opacity:1;transform:translateY(0)}
.store-map-hover-card-content{position:relative;overflow:hidden;border-radius:inherit;background:var(--site-surface, #fff)}
.store-map-hover-card-image,.store-map-hover-card-placeholder{display:flex;width:100%;height:158px;margin:0;object-fit:contain;background:#eef2f6}
.store-map-hover-card-image.is-fit-cover,.store-map-marker-preview img.is-fit-cover{object-fit:cover}
.store-map-hover-card-image.is-fit-fill,.store-map-marker-preview img.is-fit-fill{object-fit:fill}
.store-map-hover-card-image.is-fit-contain,.store-map-marker-preview img.is-fit-contain{object-fit:contain}
.store-map-hover-card-placeholder{align-items:center;justify-content:center;flex-direction:column;gap:8px;color:#98a2b3;font-size:13px}
.store-map-hover-card-placeholder i{font-size:32px}
.store-map-hover-card-close-row{display:flex;justify-content:flex-end;margin-top:10px}
.store-map-hover-card-close{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:38px;padding:6px 13px;border:1px solid var(--site-border, #d0d5dd);border-radius:8px;background:var(--site-surface, #fff);color:#344054;font-size:12px;font-weight:700;line-height:1.3;cursor:pointer}
.store-map-hover-card-close:hover{border-color:#98a2b3;background:var(--site-surface-muted, #f8fafc)}
.store-map-hover-card-body{padding:16px 18px 18px}
.store-map-hover-card-kicker{display:inline-flex;align-items:center;min-height:23px;margin-bottom:9px;padding:3px 9px;border-radius:5px;background:var(--site-primary, #e60012);color:var(--site-surface, #fff);font-size:10px;font-weight:800;letter-spacing:.045em;text-transform:uppercase}
.store-map-hover-card-body h3{margin:0 30px 12px 0;color:#172033;font-size:20px;font-weight:750;line-height:1.25}
.store-map-hover-card-body p{display:flex;align-items:flex-start;gap:9px;margin:8px 0;color:#667085;font-size:13px;line-height:1.45}
.store-map-hover-card-body p i{flex:0 0 15px;margin-top:2px;color:var(--site-primary, #e60012);text-align:center}
.store-map-hover-card-actions{display:flex;gap:8px;margin-top:15px}
.store-map-hover-card-actions a{display:inline-flex;flex:1;align-items:center;justify-content:center;min-height:40px;padding:8px 11px;border:1px solid var(--site-border, #d0d5dd);border-radius:9px;background:var(--site-surface, #fff);color:#172033;font-size:13px;font-weight:700;text-decoration:none}
.store-map-hover-card-actions .store-map-hover-call{border-color:var(--site-primary, #e60012);background:var(--site-primary, #e60012);color:var(--site-surface, #fff);box-shadow:0 6px 16px rgba(var(--site-primary-rgb, 230, 0, 18),.2)}
.store-map-hover-card-actions a:hover{filter:brightness(.97)}
.store-map-unavailable{position:absolute;inset:12px 12px auto;z-index:500;padding:10px 13px;border:1px solid #fed7aa;border-radius:8px;background:rgba(255,255,255,.96);color:#9a3412;font-size:13px;box-shadow:0 4px 16px rgba(16,24,40,.12)}
.store-map-attribution-note{position:absolute;top:12px;right:12px;z-index:400;padding:7px 10px;border:1px solid rgba(255,255,255,.9);border-radius:999px;background:rgba(255,255,255,.94);color:#344054;font-size:12px;font-weight:600;box-shadow:0 3px 12px rgba(16,24,40,.12);pointer-events:none}
.store-map-pin.leaflet-div-icon{display:flex;align-items:flex-end;justify-content:center;overflow:visible;border:0;background:transparent;cursor:pointer}
.store-map-marker-icon{display:flex;width:100%;height:100%;flex-direction:column;align-items:center;justify-content:flex-end;gap:3px;overflow:visible}
.store-map-marker-preview{display:flex;width:100%;max-width:216px;flex-direction:column;gap:4px;overflow:hidden;padding:5px;border:2px solid var(--site-surface, #fff);border-radius:12px;background:var(--site-surface, #fff);box-shadow:0 5px 15px rgba(16,24,40,.3);color:#172033}
.store-map-marker-preview img{display:block;width:100%;height:92px;border-radius:6px;object-fit:contain;background:#eef2f6}
.store-map-marker-preview span{display:block;overflow:hidden;color:#172033;font-size:12px;font-weight:800;line-height:18px;text-overflow:ellipsis;white-space:nowrap}
.store-map-pin-point{display:flex;flex:0 0 34px;align-items:center;justify-content:center;width:34px;height:34px;border:3px solid var(--site-surface, #fff);border-radius:50% 50% 50% 4px;background:var(--site-primary, #e60012);color:var(--site-surface, #fff);font-size:14px;box-shadow:0 3px 10px rgba(16,24,40,.32);transform:rotate(-45deg)}
.store-map-pin-point i{transform:rotate(45deg)}
.store-map-pin.is-selected .store-map-pin-point{flex-basis:40px;width:40px;height:40px;background:#172554;box-shadow:0 0 0 4px rgba(23,37,84,.17),0 4px 12px rgba(16,24,40,.35)}
.store-archipelago-label-icon.leaflet-div-icon{display:flex;align-items:center;justify-content:center;border:0;background:transparent}
.store-archipelago-label{display:flex;flex-direction:column;align-items:center;justify-content:center;width:142px;height:46px;padding:4px 8px;border:2px solid var(--site-primary, #e60012);border-radius:3px;background:rgba(255,255,255,.97);color:var(--site-primary-hover, #c41224);text-align:center;line-height:1.1;box-shadow:0 2px 8px rgba(16,24,40,.16)}
.store-archipelago-label span{font-size:9px;font-weight:800;letter-spacing:.06em}
.store-archipelago-label strong{display:block;margin-top:2px;color:var(--site-primary-hover, #c41224);font-size:13px;font-weight:900;letter-spacing:.02em}
.store-map-popup{min-width:220px;color:#344054;font-family:inherit}
.store-map-popup-kicker{display:inline-block;margin-bottom:6px;padding:3px 7px;border-radius:999px;background:var(--site-primary-soft, #fff0f1);color:var(--site-primary-hover, #c41224);font-size:10px;font-weight:700;letter-spacing:.03em;text-transform:uppercase}
.store-map-popup strong{display:block;margin-bottom:6px;color:#101828;font-size:14px;line-height:1.35}
.store-map-popup p{margin:4px 0;color:#667085;font-size:12px;line-height:1.45}
.store-map-popup-actions{display:flex;align-items:center;gap:7px;margin-top:10px}
.store-map-popup-actions a,.store-map-popup-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:30px;padding:6px 9px;border:1px solid var(--site-primary, #e60012);border-radius:6px;background:var(--site-primary, #e60012);color:var(--site-surface, #fff);font:inherit;font-size:11px;font-weight:700;text-decoration:none;cursor:pointer}
.store-map-popup-actions a{border-color:var(--site-border, #d0d5dd);background:var(--site-surface, #fff);color:#344054}
.store-map-popup-empty{padding:8px 0;color:#475467;font-size:13px;line-height:1.5}
@media (max-width: 767px) {
    .store-locator-page { padding: 30px 0 54px; }
    .store-locator-heading { margin-bottom: 24px; }
    .store-locator-heading p { font-size: 14px; }
    .store-locator-layout { display: block; }
    .store-locator-panel { padding: 26px 22px; }
    .store-locator-panel h2 { margin-bottom: 20px; font-size: 24px; }
    .store-map-hover-card{top:10px;right:10px;width:min(300px,calc(100% - 20px));max-height:calc(100% - 20px)}
    .store-map-hover-card-image,.store-map-hover-card-placeholder{height:138px}
    .store-map-hover-card-body{padding:13px 14px 15px}
    .store-map-hover-card-body h3{font-size:18px}
    .store-map-wrap{min-height:410px;height:410px}
    .store-map-toolbar{justify-content:space-between;gap:8px;padding:8px}
    .store-map-view-switch{gap:2px;padding:3px}
    .store-map-view-switch button{min-height:34px;padding:6px 8px;font-size:12px}
    .store-map-stage{height:352px;min-height:352px}
    .store-map-stage iframe,.store-map-stage #store-leaflet-map{min-height:352px}
    .store-locator-panel .store-map-marker-options{margin-top:2px;padding:11px 12px}
    .store-locator-panel .store-map-marker-toggle{font-size:12px}
}

/* Top Bar */
.top-bar { background: var(--site-text, #1a1a1a); color: #ccc; font-size: 13px; padding: 8px 0; position: relative; z-index: 30; overflow: visible; }
.top-bar.top-bar-sticky-aware { z-index: 2000; }
.top-bar .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    overflow: visible;
}
.top-bar-right {
    position: relative;
    z-index: 2001;
    display: flex;
    align-items: center;
    gap: 15px;
    overflow: visible;
}
.top-bar-left {
    display: flex;
    flex: 1 1 auto;
    flex-wrap: wrap;
    align-items: center;
    min-width: 0;
    gap: 4px 20px;
}
.top-bar-left .top-bar-item {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    white-space: nowrap;
}
.top-bar-left .top-bar-item i { flex: 0 0 auto; margin-right: 6px; }
.top-bar-left a { color: var(--site-surface, #fff); }
.top-bar-right a { color: #ccc; }
.top-bar-right a:hover { color: var(--site-primary, #e60012); }
.top-bar-language-switcher { display:inline-flex; align-items:center; }
.top-bar-language-switcher select { width:auto; min-width:90px; padding:3px 24px 3px 7px; border:1px solid #555; border-radius:4px; background:#2a2a2a; color:var(--site-surface, #fff); font:inherit; font-size:12px; }
.account-menu {
    position: relative;
    display: inline-flex;
    align-items: center;
    z-index: 60;
    overflow: visible;
    padding: 0;
}
.account-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: -10px;
    height: 10px;
    pointer-events: auto;
}
.account-menu > button {
    background: none;
    border: 0;
    color: #ccc;
    cursor: pointer;
    font: inherit;
    padding: 0 6px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    position: relative;
    z-index: 2;
    line-height: 1.3;
}
.account-menu > button:hover { color: var(--site-primary, #e60012); }
.account-menu > button i:last-child {
    font-size: 11px;
    opacity: 0.9;
}
.account-dropdown {
    position: absolute;
    right: 0;
    top: calc(100% + 2px);
    left: auto;
    min-width: 210px;
    background: var(--site-surface, #fff);
    border: 1px solid #ececec;
    border-radius: 6px;
    box-shadow: 0 10px 22px rgba(0,0,0,.12);
    padding: 6px 0;
    display: none;
    color: var(--site-text, #222);
    opacity: 1;
    visibility: visible;
    z-index: 2600;
    overflow: hidden;
}
.account-menu:hover > .account-dropdown,
.account-menu:focus-within > .account-dropdown,
.account-menu.open > .account-dropdown {
    display: block;
}
.account-dropdown a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--site-text, #222) !important;
    margin: 0;
    padding: 10px 14px;
    white-space: nowrap;
    font-size: 13px;
    line-height: 1.4;
    position: relative;
    z-index: 1;
    transition: background-color 0.15s ease, color 0.15s ease;
}
.account-dropdown a i {
    width: 14px;
    text-align: center;
    color: #666;
    font-size: 12px;
}
.account-dropdown a:hover {
    background: var(--site-primary-soft, #fff5f5);
    color: var(--site-primary, #e60012) !important;
}
.account-dropdown a:hover i {
    color: var(--site-primary, #e60012);
}

.review-list { margin-bottom: 18px; }
.review-section { background:var(--site-surface, #fff); }
.review-summary { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 20px; margin-bottom:15px; border:1px solid var(--site-border-soft, #eee); border-radius:12px; background:linear-gradient(135deg,var(--site-surface, #fff),var(--site-primary-soft, #fff7f7)); font-size:18px; }
.review-summary > div:first-child { display:flex; flex-direction:column; gap:4px; min-width:0; }
.review-summary .review-total { font-size:13px; color:#666; }
.review-total { display:block; color:#777; font-size:13px; margin-top:3px; }
.review-item { display:flex; gap:13px; padding:18px 0; border-bottom:1px solid var(--site-border-soft, #eee); }
.review-avatar { flex:0 0 42px; width:42px; height:42px; border-radius:50%; display:flex; align-items:center; justify-content:center; overflow:hidden; color:var(--site-surface, #fff); background:linear-gradient(135deg,var(--site-primary, #e60012),var(--site-primary-highlight, #ff6670)); font-weight:700; }
.review-avatar img { width:100%; height:100%; max-width:none; object-fit:cover; border-radius:50%; display:block; }
.review-avatar a { display:block; width:100%; height:100%; }
.review-body, .review-reply-body { flex:1; min-width:0; }
.review-head { display:flex; justify-content:flex-start; align-items:center; gap:8px; flex-wrap:wrap; }
.review-head > div { display:flex; align-items:center; gap:8px; min-width:0; }
.review-stars { color:#f5a623; letter-spacing:1px; }
.review-date { color:#888; font-size:12px; margin:2px 0 7px; }
.review-head time { color:#888; font-size:12px; line-height:1.2; margin:0 0 0 auto; flex:0 0 auto; }
.review-content { margin:8px 0; line-height:1.7; }
.review-search-keyword { display:block; margin:-2px 0 8px; color:#98a2b3; font-size:12px; line-height:1.4; }
.review-actions { display:flex; gap:8px; flex-wrap:wrap; align-items:center; }
.review-list { position:relative; min-height:52px; }
.review-list.is-loading { pointer-events:none; opacity:.55; }
.review-image-previews { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0 12px; }
.review-image-previews a { display:block; width:64px; height:64px; overflow:hidden; border:1px solid var(--site-border, #ddd); border-radius:6px; background:var(--site-surface-muted, #f7f7f7); }
.review-image-previews img { display:block; width:100%; height:100%; object-fit:cover; }
.review-list.is-loading::after {
    content:'';
    position:absolute;
    top:18px;
    left:50%;
    width:24px;
    height:24px;
    margin-left:-12px;
    border:3px solid #e6e9ee;
    border-top-color:var(--site-primary, #e60012);
    border-radius:50%;
    animation:review-list-spinner .7s linear infinite;
}
@keyframes review-list-spinner { to { transform:rotate(360deg); } }
.review-action {
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-height:28px;
    padding:4px 10px;
    border:1px solid #d9e0e8;
    border-radius:6px;
    background:var(--site-surface, #fff);
    color:#475467;
    cursor:pointer;
    font-size:12px;
    font-weight:600;
    line-height:18px;
    transition:background-color .2s ease, border-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.review-action:hover { color:#344054; border-color:#98a2b3; background:var(--site-surface-muted, #f8fafc); box-shadow:0 2px 6px rgba(16,24,40,.08); }
.review-action.edit-review { color:#175cd3; border-color:#b2ccff; background:#f5f8ff; }
.review-action.edit-review:hover { color:#1849a9; border-color:#84adff; background:#edf4ff; }
.review-action.delete-review { color:#b42318; border-color:#f3b5b0; background:#fff6f5; }
.review-action.delete-review:hover { color:#912018; border-color:#e98d87; background:#fff0ee; }
.reply-list { margin:12px 0 4px 12px; padding-left:15px; border-left:2px solid #f1d1d3; }
.review-reply { display:flex; gap:10px; padding:10px 0; }
.review-reply .review-avatar { flex-basis:30px; width:30px; height:30px; font-size:12px; }
.review-reply p { margin:4px 0; font-size:13px; }
.review-pagination { display:flex; justify-content:center; gap:6px; padding:20px 0; }
.review-pagination button { min-width:34px; height:34px; padding:0 10px; border:1px solid var(--site-border, #ddd); background:var(--site-surface, #fff); border-radius:6px; cursor:pointer; }
.review-pagination button.active, .review-pagination button:hover { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.review-pagination button:disabled { opacity:.45; cursor:not-allowed; }
.inline-reply-form { display:flex; align-items:flex-start; gap:10px; margin:10px 0; }
.inline-reply-form textarea { flex:1; min-height:44px; border:1px solid var(--site-border, #ddd); border-radius:8px; padding:10px 12px; resize:vertical; background:var(--site-surface, #fff); font:inherit; }
.inline-reply-form .btn-review-submit { align-self:flex-end; }
.reply-form-wrap { margin-top:10px; }
.reply-form-wrap .inline-reply-form { display:flex; flex-direction:column; align-items:stretch; gap:12px; width:100%; margin:0; padding:16px; border:1px solid #e7e7e7; border-radius:12px; background:linear-gradient(180deg,var(--site-surface, #fff),var(--site-surface-muted, #fafafa)); box-shadow:0 2px 8px rgba(0,0,0,.03); }
.reply-form-wrap .inline-reply-form textarea { width:100%; min-height:120px; border:1px solid var(--site-border, #d8d8d8); border-radius:10px; padding:12px 14px; resize:vertical; background:var(--site-surface, #fff); font:inherit; color:var(--site-text, #333); line-height:1.6; box-shadow:inset 0 1px 2px rgba(0,0,0,.02); }
.reply-form-wrap .inline-reply-form textarea:focus { border-color:var(--site-primary, #e60012); box-shadow:0 0 0 3px rgba(var(--site-primary-rgb, 230, 0, 18),.08); outline:none; }
.reply-form-wrap .inline-reply-form .btn-review-submit { align-self:flex-end; min-width:96px; border-radius:8px; font-weight:600; padding:10px 18px; }
.reply-form-wrap .inline-reply-form .btn-review-submit:hover { filter:brightness(0.97); }
.review-edit-form-wrap { margin-top:12px; padding:16px; border:1px solid #e7e7e7; border-radius:12px; background:linear-gradient(180deg,var(--site-surface, #fff),var(--site-surface-muted, #fafafa)); box-shadow:0 2px 8px rgba(0,0,0,.03); width:100%; }
.review-edit-form { display:flex; flex-direction:column; align-items:stretch; gap:12px; margin:0; width:100%; }
.review-edit-form textarea { width:100%; min-height:120px; border:1px solid var(--site-border, #d8d8d8); border-radius:10px; padding:12px 14px; resize:vertical; background:var(--site-surface, #fff); font:inherit; color:var(--site-text, #333); line-height:1.6; box-shadow:inset 0 1px 2px rgba(0,0,0,.02); }
.review-edit-form textarea:focus { border-color:var(--site-primary, #e60012); box-shadow:0 0 0 3px rgba(var(--site-primary-rgb, 230, 0, 18),.08); outline:none; }
.review-edit-actions { display:flex; justify-content:flex-end; gap:8px; width:100%; }
.cancel-edit { border:1px solid #d9d9d9; background:var(--site-surface, #fff); color:#555; border-radius:8px; padding:9px 16px; cursor:pointer; font-weight:600; transition:all .2s ease; }
.cancel-edit:hover { border-color:var(--site-primary, #e60012); color:var(--site-primary, #e60012); background:var(--site-primary-soft, #fff5f5); }
.review-edit-form .btn-review-submit { min-width:96px; border-radius:8px; font-weight:600; padding:10px 18px; }
.review-edit-form .btn-review-submit:hover { filter:brightness(0.97); }
.product-pagination { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:6px; margin:25px 0 10px; }
.product-result-count { margin: 0 0 14px; color: #555; font-size: 14px; line-height: 1.4; }
.faq-section { display:grid; grid-template-columns:minmax(220px, .7fr) minmax(0, 1.8fr); gap:40px; align-items:start; padding-top:35px; padding-bottom:55px; }
.faq-section .section-title { margin:0; text-align:center; }
.faq-section .section-eyebrow { display:block; margin-bottom:12px; color:var(--site-primary, #e60012); font-size:13px; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.faq-list { border:1px solid #e6dfd3; border-radius:18px; overflow:hidden; background:#fffaf2; }
.faq-item { border-bottom:1px solid #e6dfd3; }
.faq-item:last-child { border-bottom:0; }
.faq-item summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 24px; color:#111f38; font-size:17px; font-weight:700; cursor:pointer; list-style:none; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-toggle { position:relative; flex:0 0 24px; width:24px; height:24px; border-radius:6px; background:#eee5d5; }
.faq-toggle::before, .faq-toggle::after { content:""; position:absolute; left:7px; top:11px; width:10px; height:2px; background:var(--site-primary, #e60012); }
.faq-toggle::after { transform:rotate(90deg); transition:transform .2s ease; }
.faq-item[open] .faq-toggle::after { transform:rotate(0); }
.faq-answer { padding:0 24px 22px; color:#65728a; font-size:15px; line-height:1.7; }
@media (max-width: 700px) { .faq-section { grid-template-columns:1fr; gap:18px; padding-top:25px; padding-bottom:35px; } .faq-item summary { padding:17px; font-size:15px; } .faq-answer { padding:0 17px 17px; } }
.product-pagination button, .public-pagination-jump button { min-width:34px; height:34px; padding:0 10px; border:1px solid var(--site-border, #ddd); border-radius:6px; background:var(--site-surface, #fff); cursor:pointer; }
.product-pagination button.active, .product-pagination button:hover { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.product-pagination button.disabled { opacity:.45; pointer-events:none; }
.product-pagination button:disabled, .blog-pagination button:disabled, .page-list-pagination button:disabled { opacity:.45; cursor:not-allowed; pointer-events:none; }
.public-pagination-jump { display:flex; align-items:center; gap:5px; margin-left:8px; }
.public-pagination-jump input { width:58px; height:34px; padding:0 7px; border:1px solid var(--site-border, #ddd); border-radius:6px; }
.public-pagination-jump button { padding:0 10px; }
.pagination button:hover, .pagination a:hover { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.ajax-product-grid { position: relative; }
.ajax-product-grid.is-loading {
    opacity: .45;
    pointer-events: none;
    transition: opacity .2s;
}
.ajax-product-grid.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    margin: -17px 0 0 -17px;
    border: 3px solid rgba(var(--site-primary-rgb, 230, 0, 18), .2);
    border-top-color: var(--site-primary, #e60012);
    border-radius: 50%;
    animation: ajax-product-spinner .7s linear infinite;
    z-index: 3;
}
.blog-grid { position: relative; }
.blog-grid.is-loading {
    opacity: .45;
    pointer-events: none;
    transition: opacity .2s;
}
.blog-grid.is-loading::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 34px;
    height: 34px;
    margin: -17px 0 0 -17px;
    border: 3px solid rgba(var(--site-primary-rgb, 230, 0, 18), .2);
    border-top-color: var(--site-primary, #e60012);
    border-radius: 50%;
    animation: ajax-blog-spinner .7s linear infinite;
    z-index: 3;
}
.ajax-product-empty {
    width: 100%;
    color: #777;
    font-size: 15px;
}
@keyframes ajax-product-spinner {
    to { transform: rotate(360deg); }
}
@keyframes ajax-blog-spinner {
    to { transform: rotate(360deg); }
}
.btn-review-open, .btn-review-submit { background:var(--site-primary, #e60012); color:var(--site-surface, #fff); border:0; border-radius:5px; padding:11px 18px; cursor:pointer; }
.review-form { margin-top:18px; padding:18px; border:1px solid var(--site-border-soft, #eee); border-radius:8px; background:var(--site-surface-muted, #fafafa); }
.review-form label { display:block; margin:0 0 12px; }
.review-form .review-sender { margin-bottom:12px; }
.review-form .review-gender { display:flex; align-items:center; gap:18px; margin-bottom:12px; }
.review-form .review-gender label { display:inline-flex; align-items:center; gap:5px; margin:0; }
.review-form .review-gender input { margin:0; }
.review-gender-label { color:#666; font-size:12px; font-weight:400; }
.review-form textarea, .review-form input:not([type=radio]):not([type=checkbox]), .review-form select { width:100%; padding:10px; margin-top:5px; border:1px solid var(--site-border, #ddd); border-radius:5px; font:inherit; }
.rating-picker-label { display:flex!important; align-items:center; gap:12px; flex-wrap:wrap; }
.rating-picker { display:inline-flex; flex-direction:row-reverse; gap:3px; }
.rating-radio { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.rating-picker label { color:#f5a623; font-size:25px; line-height:1; cursor:pointer; transition:color .18s ease, transform .18s ease; }
.rating-picker label:hover { transform:translateY(-2px) scale(1.08); }
.rating-radio:not(:checked) + label { color:#d5d5d5; }
.rating-radio:checked + label, .rating-radio:checked ~ label { color:#f5a623; }
.rating-radio:focus-visible + label { outline:2px solid var(--site-primary, #e60012); outline-offset:3px; border-radius:3px; }
.rating-picker label.is-selected { animation:rating-pop .3s ease; }
@keyframes rating-pop { 0%{transform:scale(.8)} 70%{transform:scale(1.18)} 100%{transform:scale(1)} }
.review-form textarea { min-height:110px; resize:vertical; }
.review-summary-actions { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; gap:12px; margin-left:auto; }
.review-sort-label { display:inline-flex; align-items:center; gap:7px; color:#666; font-size:13px; font-weight:600; }
.review-sort-label select { width:auto; min-width:145px; margin:0; padding:8px 10px; border:1px solid var(--site-border, #ddd); border-radius:5px; background:var(--site-surface, #fff); color:var(--site-text, #333); font:inherit; cursor:pointer; }
.review-badge { display:inline-block; font-size:11px; font-weight:600; padding:2px 8px; border-radius:20px; vertical-align:middle; }
.review-badge-admin { background:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.review-badge-mod { background:#0a58ca; color:var(--site-surface, #fff); }
.review-media { display:flex; flex-wrap:wrap; gap:8px; margin:8px 0; }
.review-media img { width:96px; height:96px; object-fit:cover; border-radius:8px; border:1px solid var(--site-border-soft, #eee); }
.review-sender { display:grid; grid-template-columns:1fr 1fr 1fr; gap:10px; }
@media(max-width:600px){.review-sender{grid-template-columns:1fr;}}
@media (max-width: 768px) {
    .category-layout { display: block; }
    .category-toolbar { justify-content: space-between; gap: 10px; }
    .category-filter-toggle { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 13px; border: 1px solid var(--site-border, #ddd); border-radius: 4px; background: var(--site-surface, #fff); cursor: pointer; }
    .category-sidebar { position: fixed; z-index: 2000; inset: 0 auto 0 0; width: min(86vw, 330px); overflow-y: auto; padding: 20px; border: 0; background: var(--site-surface, #fff); box-shadow: 4px 0 18px rgba(0,0,0,.16); transform: translateX(-105%); transition: transform .22s ease; }
    body.category-filter-open::before { content: ""; position: fixed; z-index: 1999; inset: 0; background: rgba(0,0,0,.38); }
    body.category-filter-open .category-sidebar { transform: translateX(0); }
    .category-filter-close { display: block; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: #666; }
    .category-filter-apply { display: block; width: 100%; min-height: 42px; border: 0; background: var(--site-primary, #e60012); color: var(--site-surface, #fff); border-radius: 4px; cursor: pointer; font-weight: 600; }
    .category-products { width: 100%; }
    .review-summary { flex-direction:column; align-items:stretch; }
    .review-summary-actions { width:100%; justify-content:space-between; margin-left:0; }
    .review-sort-label { width:100%; justify-content:space-between; }
    .review-sort-label select { flex:1; min-width:0; }
    .btn-review-open { width:100%; }
}

@media (max-width: 420px) {
    .review-summary { padding:14px 12px; }
    .review-summary-actions { gap:8px; }
    .review-sort-label { flex-direction:column; align-items:flex-start; }
    .review-sort-label select { width:100%; }
    .btn-review-open { min-height:42px; }
    .review-loading { width:100%; text-align:right; }
}
@media(max-width:600px){.product-pagination{gap:5px;}.blog-pagination{gap:5px;}.blog-pagination .public-pagination-jump{flex-basis:100%;justify-content:center;margin-left:0;margin-top:4px;}.product-pagination button{padding:0 9px;min-width:32px;}.pagination.blog-pagination button{padding:0 9px;min-width:32px;}}
.admin-home-link { color: #ffd4d8 !important; font-weight: 600; }

/* Header */
.main-header { background: var(--site-surface, #fff); box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: relative; top: auto; z-index: 20; }
.main-header.main-header-sticky-container { display: contents; }
.main-header.main-header-sticky-container .header-logo-row { background: var(--site-surface, #fff); box-shadow: 0 2px 10px rgba(0,0,0,0.1); position: relative; z-index: 20; }
.header-main-row.header-main-row-sticky { position: relative; z-index: 1500; background: var(--site-surface, #fff); }
.header-main-row.header-main-row-sticky.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    border-bottom: 1px solid var(--site-border-soft, #e5e5e5);
}

/* Row 1: logo centered, standalone */
.header-logo-row { border-bottom: 1px solid var(--site-surface-muted, #f0f0f0); }
.header-logo-row-inner { display: flex; align-items: center; justify-content: center; padding: 14px 15px; }
.logo img { height: 64px; display: block; }

/* Row 2: menu (left) | search (center) | cart (right) */
.header-main-row { padding: 12px 0; }
.header-main-row-inner { display: flex; align-items: center; gap: 18px; position: relative; }

.category-menu-wrap {
    position: static;
    display: inline-block;
}

.category-menu-btn {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    gap: 10px;
    background: var(--site-surface-muted, #f5f5f5);
    color: #111;
    border: 1px solid var(--site-border-soft, #e5e5e5);
    padding: 11px 16px;
    border-radius: 6px;
    font-weight: 700;
    font-size: 14px;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    box-shadow: 0 1px 0 rgba(0,0,0,0.02);
}
.category-menu-btn i:first-child, .category-menu-btn .caret { color: #111; }
.category-menu-btn:hover {
    background: var(--site-surface, #fff);
    border-color: #d7d7d7;
    box-shadow: 0 3px 10px rgba(0,0,0,0.05);
    transform: translateY(-1px);
}
.category-menu-btn:active {
    transform: translateY(0);
    box-shadow: none;
}
.category-menu-btn .caret { font-size: 11px; transition: transform 0.25s; margin-left: 2px; }
.category-menu-btn[aria-expanded="true"] .caret { transform: rotate(180deg); }

.main-nav { flex: 0 0 auto; }
.main-nav ul { display: flex; gap: 24px; }
.main-nav a { font-weight: 600; font-size: 14px; color: var(--site-text, #333); text-transform: uppercase; transition: color 0.3s; position: relative; }
.main-nav a:hover { color: var(--site-primary, #e60012); }

.header-main-row-inner .search-box { flex: 1 1 auto; max-width: 560px; margin: 0 auto; }
.header-main-row-inner .search-box form { position: relative; width: 100%; }
.header-main-row-inner .search-box { position: relative; z-index: 1200; }
.category-filter-search,
.search-category-filter-search {
    width: 100%;
    margin: 0 0 10px;
    padding: 8px 10px;
    border: 1px solid var(--site-border, #ddd);
    border-radius: 6px;
    font-size: 13px;
}
.category-filter-empty { margin: 4px 0 0; color: #888; font-size: 13px; }
.category-filter-status { margin: 4px 0 10px; color: var(--site-primary, #e60012); font-size: 13px; }
.category-filter-results { display: flex; flex-direction: column; gap: 2px; }
.category-filter-categories.is-loading { opacity: .65; }
.category-filter-categories.is-loading .category-filter-results { pointer-events: none; }
.category-filter-results a { display: block; }
.category-filter-ajax-loading {
    display: flex;
    align-items: center;
    gap: 7px;
    min-height: 30px;
    color: var(--site-primary, #e60012);
    font-size: 13px;
}
.category-filter-ajax-loading i { font-size: 12px; }
.search-suggestions {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    right: 0;
    z-index: 1800;
    overflow: hidden;
    border: 1px solid var(--site-border-soft, #e5e7eb);
    border-radius: 12px;
    background: var(--site-surface, #fff);
    box-shadow: 0 12px 30px rgba(15, 23, 42, .14);
}
.search-suggestion-item {
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 9px 12px;
    color: var(--site-text, #333);
    text-decoration: none;
    transition: background .15s ease;
}
.search-suggestion-item + .search-suggestion-item { border-top: 1px solid #f0f2f4; }
.search-suggestion-item:hover { background: var(--site-primary-soft, #fff5f5); }
.search-suggestion-item img {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    object-fit: contain;
    border-radius: 6px;
    background: var(--site-surface-muted, #f8f8f8);
    cursor: zoom-in;
}
.search-suggestion-item span { display: flex; flex-direction: column; min-width: 0; gap: 2px; }
.search-suggestion-item strong {
    overflow: hidden;
    color: var(--site-text, #333);
    font-size: 14px;
    font-weight: 600;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.search-suggestion-item small { display:flex; align-items:center; gap:7px; color:var(--site-primary, #e60012); font-size:13px; font-weight:600; }
.search-suggestion-item small b { font-weight:700; }
.search-suggestion-item small del { color:#8a8a8a; font-size:12px; font-weight:400; }
.search-suggestion-item small em { padding:1px 4px; border-radius:3px; background:var(--site-primary, #e60012); color:var(--site-surface, #fff); font-size:11px; font-style:normal; font-weight:700; }
.search-suggestion-all {
    display:block;
    padding:11px 14px;
    border-top:1px solid #f0f2f4;
    color:var(--site-primary, #e60012);
    font-size:13px;
    font-weight:600;
    text-align:center;
    text-decoration:none;
}
.search-suggestion-all:hover { background:var(--site-primary-soft, #fff5f5); color:#c40010; }
.search-suggestion-status {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    min-height: 54px;
    padding: 12px 14px;
    color: #6b7280;
    font-size: 14px;
    text-align: center;
}
.search-suggestion-status.is-loading { color: var(--site-primary, #e60012); }
.header-main-row-inner .search-box input {
    width: 100%;
    height: 46px;
    border: 2px solid var(--site-primary, #e60012);
    padding: 0 62px 0 18px;
    border-radius: 999px;
    font-size: 16px;
    outline: none;
    background: var(--site-surface, #fff);
    color: var(--site-text, #333);
    box-shadow: none;
}
.header-main-row-inner .search-box input::placeholder { color: #8a8a8a; }
.header-main-row-inner .search-box button {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    background: transparent;
    color: #000;
    border: none;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 15px;
    line-height: 1;
    padding: 0;
    transition: color 0.2s ease, transform 0.2s ease;
    box-shadow: none;
}
.header-main-row-inner .search-box button:hover { color: var(--site-primary, #e60012); transform: translateY(-50%); }
.header-main-row-inner .search-box button i { display: block; }

.header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 20px; }
.cart-icon { position: relative; font-size: 22px; color: var(--site-text, #333); }
.cart-icon:hover { color: var(--site-primary, #e60012); }
.cart-count { position: absolute; top: -8px; right: -10px; background: var(--site-primary, #e60012); color: var(--site-surface, #fff); font-size: 11px; width: 18px; height: 18px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; }
.mobile-menu-btn { display: none; flex: 0 0 auto; background: none; border: none; font-size: 22px; cursor: pointer; color: var(--site-text, #333); transition: color 0.2s ease; }
.mobile-menu-btn:hover { color: var(--site-primary, #e60012); }

/* Row 3: quick category links (like mediamart.vn) */
.header-quicklinks-row { background: var(--quicklinks-bg-color, var(--site-primary, #e60012)); }
.header-quicklinks-row-inner { display: flex; align-items: center; gap: 8px; overflow: hidden; padding: 0 8px; }
.quicklinks-scroll { display: flex; align-items: center; gap: 26px; min-width: 0; flex: 1 1 auto; overflow-x: auto; overflow-anchor: none; padding: 10px 7px; scrollbar-width: none; cursor: grab; user-select: none; touch-action: pan-y; }
.quicklinks-scroll.is-dragging { cursor: grabbing; }
.quicklinks-scroll::-webkit-scrollbar { display: none; }
.quicklinks-scroll a { flex: 0 0 auto; }
.quicklinks-arrow { display: none; flex: 0 0 30px; align-items: center; justify-content: center; width: 30px; height: 30px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: var(--quicklinks-text-color, var(--site-surface, #fff)); cursor: pointer; }
.quicklinks-arrow:hover:not(:disabled) { background: color-mix(in srgb, var(--quicklinks-text-color, var(--site-surface, #fff)) 16%, var(--quicklinks-bg-color, var(--site-primary, #e60012))); }
.quicklinks-arrow:disabled { opacity: 0.35; cursor: default; }
.header-quicklinks-row-inner a,
.header-quicklinks-row-inner a:visited,
.header-quicklinks-row-inner a:focus,
.header-quicklinks-row-inner a:active {
    color: var(--quicklinks-text-color, var(--site-surface, #fff)) !important;
    font-size: 14px;
    font-weight: 500;
    white-space: nowrap;
    opacity: 0.95;
    text-decoration: none !important;
    border-bottom: 2px solid transparent;
    transition: color .18s ease, opacity .18s ease, border-color .18s ease;
}
.header-quicklinks-row-inner a:hover {
    opacity: 1;
    text-decoration: none;
    border-bottom-color: currentColor;
}
.header-quicklinks-row-inner a[style*="--quicklink-item-color"] {
    color: var(--quicklink-item-color) !important;
}
.header-quicklinks-row-inner a.quicklink-flame-effect {
    position: relative;
    font-weight: 700;
    text-shadow: 0 0 2px rgba(255, 106, 0, .55), 0 0 5px rgba(255, 95, 0, .35);
    animation: quicklink-flame-pulse 1.15s ease-in-out infinite alternate;
}
.header-quicklinks-row-inner a.quicklink-flame-effect::before {
    content: '\f0e7';
    display: inline-block;
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    margin-right: 5px;
    color: #ff9d00;
    text-shadow: 0 0 5px #ff3d00, 0 0 9px rgba(255,157,0,.75);
    animation: quicklink-flame-flicker .75s ease-in-out infinite alternate;
}
@keyframes quicklink-flame-pulse {
    from { text-shadow: 0 0 2px rgba(255, 106, 0, .55), 0 0 5px rgba(255, 95, 0, .35); }
    to { text-shadow: 0 0 4px rgba(255, 99, 0, .95), 0 0 12px rgba(255, 180, 0, .95); }
}
@keyframes quicklink-flame-flicker {
    from { transform: rotate(-7deg) scale(.92); opacity: .75; }
    to { transform: rotate(7deg) scale(1.08); opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
    .header-quicklinks-row-inner a.quicklink-flame-effect { animation-duration: 2.5s; }
    .header-quicklinks-row-inner a.quicklink-flame-effect::before { animation-duration: 2.5s; }
}
.header-quicklinks-row-inner a.is-current {
    color: var(--quicklinks-text-color, var(--site-surface, #fff)) !important;
    opacity: 1;
    text-decoration: underline !important;
    text-underline-offset: 3px;
    text-decoration-thickness: 2px;
}
.header-quicklinks-row-inner.has-overflow .quicklinks-arrow {
    display: inline-flex;
}

/* Category mega panel (opens on click of the menu button) */
.category-menu-wrap {
    position: relative;
    z-index: 2100;
}
.category-mega-overlay { position: fixed; inset: 0; background: rgba(20,24,32,0.22); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); z-index: 1490; opacity: 0; visibility: hidden; transition: opacity 0.25s, visibility 0.25s; pointer-events: none; display: block; }
.category-mega-overlay.active { opacity: 1; visibility: visible; pointer-events: auto; }
body.category-menu-open .top-bar { z-index: 1480; }
.category-mega-panel {
    position: absolute;
    top: calc(100% + 8px);
    left: 0;
    width: min(860px, 72vw);
    background: transparent;
    z-index: 2200;
    opacity: 0;
    visibility: hidden;
    transform: translateY(0);
    transition: opacity 0.25s ease, visibility 0.25s ease;
}
.category-menu-wrap .category-mega-panel.active { opacity: 1; visibility: visible; }
.category-mega-panel > .container { padding: 0; }
.category-panel-close {
    display: none;
    align-items: center;
    justify-content: center;
    position: absolute;
    top: 12px;
    right: 12px;
    width: 30px;
    height: 30px;
    border: 1px solid var(--site-primary, #e60012);
    background: var(--site-surface, #fff);
    color: var(--site-primary, #e60012);
    border-radius: 6px;
    font-size: 0;
    line-height: 0;
    letter-spacing: 0;
    cursor: pointer;
    z-index: 2;
    padding: 0;
    overflow: hidden;
    transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
    box-shadow: none;
}
.category-panel-close::before,
.category-panel-close::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 16px;
    height: 2px;
    background: currentColor;
    border-radius: 2px;
}
.category-panel-close::before {
    transform: translate(-50%, -50%) rotate(45deg);
}
.category-panel-close::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}
.category-panel-close:hover {
    background: var(--site-primary-soft, #fff5f5);
    border-color: #d2000e;
    box-shadow: 0 3px 8px rgba(var(--site-primary-rgb, 230, 0, 18), 0.1);
    transform: translateY(-1px);
}
.category-panel-close:active {
    transform: translateY(0);
    box-shadow: none;
}
.category-mega-list {
    background: var(--site-surface, #fff);
    width: 100%;
    max-height: min(72vh, 620px);
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
    box-shadow: 0 16px 36px rgba(0,0,0,0.15);
    border: 1px solid var(--site-surface-muted, #f0f0f0);
    border-radius: 14px;
    border-top: 1px solid var(--site-surface-muted, #f0f0f0);
    display: block;
}
.category-mega-list > li {
    display: block;
    border-bottom: 1px solid #f2f2f2;
    position: relative;
    padding-bottom: 0;
    background: var(--site-surface, #fff);
}
.category-mega-list > li:hover {
    border-bottom-color: rgba(var(--site-primary-rgb, 230, 0, 18), 0.15);
}
.category-mega-list > li > a,
.category-mega-list > li > button.category-menu-link,
.category-mega-list > li > div.category-menu-link {
    display: flex;
    align-items: center;
    gap: 12px;
    width: 100%;
    min-height: 58px;
    padding: 14px 16px;
    font-size: 14px;
    font-weight: 600;
    color: var(--site-text, #333);
    background: var(--site-surface, #fff);
    margin: 0;
    box-sizing: border-box;
    outline: none;
    border-left: 4px solid transparent;
    border-top: 0;
    border-right: 0;
    border-bottom: 0;
    text-align: left;
    cursor: pointer;
}
.category-mega-list > li > a:hover,
.category-mega-list > li:hover > a,
.category-mega-list > li.is-open > a,
.category-mega-list > li > button.category-menu-link:hover,
.category-mega-list > li:hover > button.category-menu-link,
.category-mega-list > li.is-open > button.category-menu-link,
.category-mega-list > li > div.category-menu-link:hover,
.category-mega-list > li:hover > div.category-menu-link,
.category-mega-list > li.is-open > div.category-menu-link {
    background: #fef3f3;
    color: var(--site-primary, #e60012);
    border-left-color: var(--site-primary, #e60012);
}
.category-mega-list > li > a .cat-icon,
.category-mega-list > li > a .cat-arrow,
.category-mega-list > li > button.category-menu-link .cat-icon,
.category-mega-list > li > button.category-menu-link .cat-arrow,
.category-mega-list > li > div.category-menu-link .cat-icon,
.category-mega-list > li > div.category-menu-link .cat-arrow,
.category-mega-list > li:hover > a .cat-icon,
.category-mega-list > li:hover > a .cat-arrow,
.category-mega-list > li.is-open > a .cat-icon,
.category-mega-list > li.is-open > a .cat-arrow {
    color: inherit;
}
.category-mega-list .cat-icon { flex: 0 0 auto; width: 24px; height: 24px; display: flex; align-items: center; justify-content: center; color: var(--site-primary, #e60012); font-size: 16px; }
.category-mega-list .cat-icon img { width: 24px; height: 24px; object-fit: contain; }
.category-mega-list .cat-name { flex: 1 1 auto; }
.category-mega-list .cat-arrow { font-size: 11px; color: #bbb; transition: transform 0.2s ease; }
.category-mega-list > li.is-open > a .cat-arrow,
.category-mega-list > li.is-open > button.category-menu-link .cat-arrow,
.category-mega-list > li.is-open > div.category-menu-link .cat-arrow { transform: rotate(90deg); }
.category-menu-link[data-has-children="true"] { cursor: pointer; }
.category-menu-link-has-expand { padding-right: 58px !important; }
.category-menu-expand { position:absolute;top:0;right:0;z-index:2;display:flex;align-items:center;justify-content:center;width:52px;height:58px;padding:0;border:0;background:transparent;color:#bbb;cursor:pointer; }
.category-menu-expand:hover,.category-mega-list > li.is-open > .category-menu-expand { color:var(--site-primary, #e60012); }
.category-menu-expand .cat-arrow { transition:transform .2s ease; }
.category-mega-list > li.is-open > .category-menu-expand .cat-arrow { transform:rotate(90deg); }
.category-submenu {
    display: none;
    background: var(--site-surface, #fff);
    padding: 0 16px 14px 46px;
    width: 100%;
}
.category-mega-list li.is-open > .category-submenu {
    display: block;
}
.category-submenu .category-section {
    margin-bottom: 18px;
}
.category-submenu .category-section:last-child {
    margin-bottom: 0;
}
.category-submenu .category-section h4 {
    margin: 0 0 10px;
    font-size: 12px;
    line-height: 1.4;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--site-primary, #e60012);
    font-weight: 700;
}
.category-submenu .category-section ul,
.category-submenu .category-submenu-list {
    list-style: none;
    display: block;
    margin: 0;
    padding: 0;
}
.category-menu-wrap .category-mega-panel.active {
    opacity: 1 !important;
    visibility: visible !important;
}
.category-submenu .category-section li,
.category-submenu .category-submenu-list li {
    border-bottom: none;
    display: block;
    min-width: 0;
}
.category-submenu .category-section li a,
.category-submenu .category-submenu-list li a {
    display: block;
    padding: 7px 0;
    font-size: 13px;
    color: #444;
    line-height: 1.5;
}
.category-submenu .category-section li a:hover,
.category-submenu .category-submenu-list li a:hover { color: var(--site-primary, #e60012); }
.category-mega-empty { padding: 16px 18px; color: #888; font-size: 14px; }

/* Slider */
.hero-slider { position: relative; width: 100vw; max-width: 100%; overflow: hidden; z-index: 0; }
.hero-slider .hero-swiper { width: 100%; height: auto; z-index: 0; }
.hero-slider .hero-swiper .swiper-wrapper { height: auto; }
.hero-swiper .slide, .hero-swiper .slide > a { position: relative; display: block; width: 100%; height: var(--hero-slide-height, clamp(180px, 31.25vw, 500px)); }
.hero-swiper .slide img { width: 100%; height: 100%; object-fit: var(--hero-slide-fit, cover); object-position: center; display: block; }
.hero-swiper .swiper-pagination-bullet { background: rgba(255,255,255,0.6); opacity: 1; }
@media (max-width: 767px) {
    /* Use a compact height on mobile for default and viewport slides. */
    .hero-swiper .slide.hero-slide-height-default,
    .hero-swiper .slide.hero-slide-height-default > a,
    .hero-swiper .slide.hero-slide-height-viewport,
    .hero-swiper .slide.hero-slide-height-viewport > a {
        --hero-slide-height: clamp(130px, 35vw, 220px) !important;
        height: var(--hero-slide-height);
        max-height: none;
    }
    .hero-swiper .swiper-button-prev,
    .hero-swiper .swiper-button-next { top:50%; margin-top:0; transform:translateY(-50%); }
    .hero-swiper .swiper-pagination { bottom:20px; }
}
.service-benefits { background: var(--site-surface, #fff); }
.service-benefit-icon-control { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 52px; gap: 10px; align-items: center; }
.service-benefit-icon-control select, .service-benefit-icon-control input { min-width: 0; }
.service-benefit-icon-preview { display: inline-flex; align-items: center; justify-content: center; width: 48px; height: 48px; border: 1px solid #ff861f; border-radius: 50%; color: #ff861f; font-size: 21px; background: var(--site-surface, #fff); }
@media (max-width: 700px) { .service-benefit-icon-control { grid-template-columns: 1fr; } .service-benefit-icon-preview { width: 44px; height: 44px; } }
.service-benefits-inner { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); justify-content: center; gap: 28px; width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: 22px 0; }
.service-benefit { display: flex; align-items: center; gap: 14px; width: 100%; max-width: 100%; min-width: 0; }
.service-benefit > div { min-width: 0; flex: 1 1 auto; text-align: left; }
.service-benefit-icon { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 42px; width: 42px; height: 42px; border: 1.5px solid #ff861f; border-radius: 50%; color: #ff861f; font-size: 20px; }
.service-benefit h2 { margin: 0 0 2px; color: #171717; font-size: 15px; line-height: 1.35; font-weight: 700; overflow-wrap: anywhere; }
.service-benefit p { margin: 0; color: #666; font-size: 13px; line-height: 1.4; overflow-wrap: anywhere; }
@media (max-width: 900px) { .service-benefits-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; } }
@media (max-width: 600px) { .service-benefits-inner { grid-template-columns: minmax(0, 1fr); width: calc(100% - 32px); max-width: 420px; padding: 18px 0; } .service-benefit { display: grid; grid-template-columns: 42px minmax(0, 1fr); align-items: flex-start; width: 100%; margin-inline: auto; } .service-benefit > div { text-align: left; } .service-benefit h2 { font-size: 14px; } }
.hero-swiper .swiper-pagination-bullet-active { background: var(--site-surface, #fff); border: 2px solid var(--site-primary, #e60012); }
.hero-swiper .swiper-button-prev, .hero-swiper .swiper-button-next { color: var(--site-surface, #fff); width: 44px; height: 44px; background: rgba(0,0,0,0.3); border-radius: 50%; transition: background 0.3s; }
.hero-swiper .swiper-button-prev:hover, .hero-swiper .swiper-button-next:hover { background: var(--site-primary, #e60012); }
.hero-swiper .swiper-button-prev::after, .hero-swiper .swiper-button-next::after { font-size: 18px; font-weight: bold; }

/* Product Thumbnail Slider */
.thumbnail-list.thumb-swiper { position: relative; padding: 0; }
.thumbnail-list.thumb-swiper .swiper-wrapper { align-items: center; }
.thumbnail-list.thumb-swiper .swiper-slide { width: 80px; flex-shrink: 0; }
.product-gallery-thumbs-row { display:flex; align-items:center; gap:10px; width:100%; min-width:0; }
.product-gallery-thumbs-row .thumbnail-list { flex:1 1 auto; min-width:0; }
.thumbnail-list .thumb-swiper-prev, .thumbnail-list .thumb-swiper-next { width: 26px; height: 26px; margin-top: -13px; background: var(--site-surface, #fff); border: 1px solid var(--site-border-soft, #eee); border-radius: 50%; box-shadow: 0 2px 6px rgba(0,0,0,0.1); color: var(--site-primary, #e60012); }
.thumbnail-list .thumb-swiper-prev::after, .thumbnail-list .thumb-swiper-next::after { font-size: 12px; font-weight: bold; }
.thumbnail-list .thumb-swiper-prev.swiper-button-disabled, .thumbnail-list .thumb-swiper-next.swiper-button-disabled { opacity: 0.3; }

/* Section Title */
.section-title { text-align: center; margin: 50px 0 30px; }
.cart-section-title {
    display: flex;
    flex-direction: column;
    align-items: center;
}
.cart-section-title h2 { margin: 0; }
.clear-cart-btn {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 12px;
    padding: 9px 14px;
    border: 1px solid #f0b8be;
    border-radius: 7px;
    background: var(--site-primary-soft, #fff5f5);
    color: var(--site-primary-hover, #c0000f);
    font-size: 13px;
    font-weight: 600;
    cursor: pointer;
    transition: background .2s ease, border-color .2s ease, color .2s ease;
}
.clear-cart-btn:hover { background: var(--site-primary, #e60012); border-color: var(--site-primary, #e60012); color: var(--site-surface, #fff); }
.clear-cart-btn:disabled { background: #aaa; border-color: #aaa; color: var(--site-surface, #fff); cursor: wait; pointer-events: none; }
.recent-product-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-top: 10px;
    color: var(--site-primary-hover, #b4000e);
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
}
.recent-product-copy {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 4px;
    line-height: 1.35;
}
.recent-product-heading { font-weight: 500; }
.recent-product-copy [data-recent-product-label] { font-weight: 700; }
.recent-product-link:hover { color: var(--site-primary, #e60012); text-decoration: underline; }
.recent-product-link[hidden] { display: none; }
.section-title h2 { font-size: 28px; text-transform: uppercase; color: var(--site-text, #1a1a1a); position: relative; display: inline-block; padding-bottom: 15px; }
.section-title h2::after { content: ''; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%); width: 60px; height: 3px; background: var(--site-primary, #e60012); }
.featured-category-buttons { display:flex; flex-wrap:wrap; justify-content:center; gap:8px; margin-top:18px; }
.featured-category-button { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:7px 16px; border:1px solid var(--site-primary, #e60012); border-radius:999px; background:var(--site-surface, #fff); color:var(--site-primary, #e60012); font-size:13px; font-weight:600; line-height:1.3; text-decoration:none; transition:color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease; }
.featured-category-button:hover, .featured-category-button:focus-visible { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); transform:translateY(-1px); }
.featured-category-button.is-active { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.container.home-category-cards-section { width:100%; max-width:1500px; margin:34px auto 42px; }
.home-category-cards-heading { margin:0 0 26px; text-align:center; }
.home-category-cards-heading h2 { margin:0; color:#171717; font-size:clamp(25px,3vw,38px); font-weight:800; letter-spacing:.035em; line-height:1.2; text-transform:uppercase; }
.home-category-cards-heading p { margin:8px 0 0; color:#777; font-size:clamp(16px,1.8vw,24px); font-weight:400; }
.home-category-cards-section .home-category-cards-grid { display:grid; grid-template-columns:repeat(6,minmax(0,1fr)) !important; gap:18px; }
.home-category-cards-section .home-category-cards-grid.is-horizontal,
.home-category-cards-section .home-category-cards-grid.is-carousel { display:flex; flex-wrap:nowrap; overflow-x:auto; overflow-y:hidden; padding:2px 2px 14px; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scroll-snap-type:x mandatory; }
.home-category-cards-section .home-category-cards-grid.is-horizontal { scrollbar-width:thin; scrollbar-color:var(--site-border, #cbd5e1) transparent; }
.home-category-cards-section .home-category-cards-grid.is-horizontal::-webkit-scrollbar { height:6px; }
.home-category-cards-section .home-category-cards-grid.is-horizontal::-webkit-scrollbar-thumb { border-radius:6px; background:var(--site-border, #cbd5e1); }
.home-category-cards-section .home-category-cards-grid.is-carousel { scrollbar-width:none; scroll-behavior:smooth; }
.home-category-cards-section .home-category-cards-grid.is-carousel::-webkit-scrollbar { display:none; }
.home-category-card { position:relative; display:block; overflow:hidden; aspect-ratio:4/5; border-radius:0; background:#e8e3dc; box-shadow:0 2px 8px rgba(0,0,0,.08); color:var(--site-surface, #fff); text-decoration:none; isolation:isolate; }
.home-category-cards-section .home-category-cards-grid.is-horizontal .home-category-card,
.home-category-cards-section .home-category-cards-grid.is-carousel .home-category-card { flex:0 0 calc((100% - 90px) / 6); min-width:0; scroll-snap-align:start; }
.home-category-carousel-controls { margin-bottom:18px; }
.home-category-carousel-static .home-category-carousel-controls,
.home-category-carousel-static .home-category-carousel-dots { display:none; }
.home-category-cards-section .home-category-carousel-dots { margin:10px 0 0; }
.home-category-card::after { position:absolute; z-index:1; inset:35% 0 0; background:linear-gradient(180deg,transparent 0%,rgba(0,0,0,.06) 28%,rgba(0,0,0,.68) 100%); content:""; pointer-events:none; }
.home-category-card img,.home-category-card-placeholder { display:block; width:100%; height:100%; object-fit:cover; transition:transform .35s ease; }
.home-category-card-placeholder { display:grid; place-items:center; background:linear-gradient(145deg,#e9e4dc,#a8a095); color:rgba(255,255,255,.8); font-size:42px; }
.home-category-card-name { position:absolute; z-index:2; right:12px; bottom:22px; left:12px; color:var(--site-surface, #fff); font-size:clamp(15px,1.5vw,21px); font-weight:600; line-height:1.25; text-align:center; letter-spacing:.01em; text-shadow:0 1px 3px rgba(0,0,0,.55); -webkit-font-smoothing:antialiased; }
.home-category-card:hover img,.home-category-card:hover .home-category-card-placeholder { transform:scale(1.035); }
@media (max-width:700px) { .container.home-category-cards-section { margin:8px auto 32px; } .home-category-cards-section .home-category-cards-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:12px; } .home-category-cards-section .home-category-cards-grid.is-horizontal .home-category-card,.home-category-cards-section .home-category-cards-grid.is-carousel .home-category-card { flex-basis:calc((100% - 12px) / 2); } .home-category-cards-heading { margin-bottom:18px; } .home-category-card-name { bottom:14px; } }
.blog-section-title { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; margin: 50px 0 24px; }
.blog-section-title h2 { margin:0; }
.blog-section-title .blog-all-link {
    white-space:nowrap;
    transition: background-color .2s ease, color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.blog-section-title .blog-all-link:hover {
    background:var(--site-primary, #e60012);
    color:var(--site-surface, #fff);
    transform:translateY(-2px);
    box-shadow:0 4px 10px rgba(var(--site-primary-rgb, 230, 0, 18),.2);
}
.category-description { margin-bottom: 24px; color: #555; line-height: 1.7; text-align: center; }

/* Product Grid */
.product-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; margin-bottom: 50px; }
.flash-sale-banners { display:flex; gap:10px; margin:8px 0 0; overflow-x:auto; scrollbar-width:none; }
.flash-sale-banners::-webkit-scrollbar { display:none; }
.flash-sale-banners a, .flash-sale-banners img { display:block; width:100%; min-width:0; }
.flash-sale-banners a { flex:1 1 0; min-width:0; max-width:100%; }
.flash-sale-banners img { flex:1 1 0; height:auto; object-fit:contain; border-radius:0; }
.flash-sale-slot-tabs {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 24px;
    padding: 6px;
    overflow-x: auto;
    border: 1px solid #f1d4d4;
    border-radius: 14px;
    background: linear-gradient(135deg, var(--site-primary-soft, #fff8f8), var(--site-surface, #fff));
    box-shadow: 0 4px 14px rgba(167, 23, 23, .06);
    scrollbar-width: thin;
    scrollbar-color: var(--site-primary, #e60012) transparent;
}
.flash-sale-slot-tabs::-webkit-scrollbar { height: 5px; }
.flash-sale-slot-tabs::-webkit-scrollbar-track { background: transparent; }
.flash-sale-slot-tabs::-webkit-scrollbar-thumb { border-radius: 999px; background: var(--site-primary, #e60012); }
.flash-sale-slot-tabs button {
    flex: 0 0 auto;
    min-height: 40px;
    padding: 8px 16px;
    border: 1px solid #f0caca;
    border-radius: 999px;
    color: #8b3a3a;
    background: var(--site-surface, #fff);
    font-size: 13px;
    font-weight: 600;
    line-height: 1.25;
    white-space: nowrap;
    cursor: pointer;
    transition: color .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.flash-sale-slot-tabs button:hover {
    border-color: var(--site-primary, #e60012);
    color: var(--site-primary, #e60012);
    background: var(--site-primary-soft, #fff5f5);
    transform: translateY(-1px);
}
.flash-sale-slot-tabs button.is-active {
    border-color: var(--site-primary, #e60012);
    color: var(--site-surface, #fff);
    background: linear-gradient(135deg, var(--site-primary, #e60012), #ff4b3e);
    box-shadow: 0 5px 12px rgba(var(--site-primary-rgb, 230, 0, 18), .22);
}
.flash-sale-slot-tabs button:focus-visible {
    outline: 3px solid rgba(var(--site-primary-rgb, 230, 0, 18), .2);
    outline-offset: 2px;
}
.flash-featured-showcase { margin: 0 0 42px; padding: 0 18px 18px; overflow: hidden; border-radius: 0; background: #fff1cf; box-shadow: 0 8px 24px rgba(150, 75, 0, .08); }
.flash-featured-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:0 -18px 18px; padding:18px 22px; color:var(--site-surface, #fff); background:linear-gradient(110deg,#f04424,#ff7a18); }
.flash-featured-heading h3 { margin:4px 0 0; font-size:24px; line-height:1.15; color:var(--site-surface, #fff); }
.flash-featured-heading p { margin:6px 0 0; color:rgba(255,255,255,.86); font-size:13px; }
.flash-featured-copy { min-width:0; }
.flash-featured-side { display:flex; align-items:center; gap:22px; flex:0 0 auto; }
.flash-sale-countdown { display:inline-block; margin-top:10px; padding:5px 10px; border-radius:5px; background:rgba(0,0,0,.18); color:var(--site-surface, #fff); font-weight:700; letter-spacing:.3px; }
.flash-featured-countdown { display:flex; align-items:center; gap:6px; margin-top:0; padding:0; background:transparent; color:var(--site-surface, #fff); }
.flash-featured-countdown-label { margin-right:3px; color:#ffd400; font-size:12px; font-weight:700; white-space:nowrap; }
.flash-featured-countdown-unit { display:inline-flex; flex-direction:column; align-items:center; justify-content:center; width:38px; height:40px; border-radius:3px; background:var(--site-primary, #e60012); color:#ffd400; line-height:1; }
.flash-featured-countdown-unit strong { font-size:18px; font-weight:700; font-variant-numeric:tabular-nums; }
.flash-featured-countdown-unit small { margin-top:4px; font-size:8px; font-weight:400; }
.flash-featured-kicker { display:inline-flex; align-items:center; gap:7px; font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.flash-featured-controls { display:flex; gap:8px; flex:0 0 auto; }
.flash-featured-arrow { width:38px; height:38px; border:1px solid rgba(255,255,255,.55); border-radius:50%; color:var(--site-surface, #fff); background:rgba(255,255,255,.14); cursor:pointer; transition:background .2s ease, transform .2s ease; }
.flash-featured-arrow:hover { background:rgba(255,255,255,.28); transform:translateY(-1px); }
.flash-featured-track { display:flex; gap:12px; overflow-x:auto; overflow-anchor:none; direction:ltr; scroll-snap-type:x mandatory; scrollbar-width:none; padding:0 1px 5px; cursor:grab; user-select:none; touch-action:pan-y; }
.flash-featured-track.is-dragging { cursor:grabbing; scroll-snap-type:none; }
.flash-featured-track::-webkit-scrollbar { display:none; }
.flash-featured-card { flex:0 0 calc((100% - 48px) / 5); min-width:180px; scroll-snap-align:start; border-color:#f1dfb4; box-shadow:0 3px 10px rgba(120,75,15,.06); }
.flash-featured-card:hover { box-shadow:0 10px 22px rgba(120,75,15,.14); }
.flash-featured-card .product-image { background:#fffaf0; }
.flash-featured-card .product-badge { background:linear-gradient(135deg,#f04424,#ff7a18); }
.flash-featured-card .product-info { background:var(--site-surface, #fff); }
.flash-featured-more { display:block; width:max-content; margin:17px auto 0; padding:9px 17px; border-radius:7px; color:var(--site-surface, #fff); background:#171717; font-size:13px; font-weight:700; text-decoration:none; transition:transform .2s ease, background .2s ease; }
.flash-featured-more:hover { color:var(--site-surface, #fff); background:#e04420; transform:translateY(-2px); }
.flash-featured-more i { margin-left:5px; }
@media (max-width: 900px) {
    .flash-featured-card { flex-basis: calc((100% - 24px) / 3); }
}
@media (max-width: 600px) {
    .flash-sale-banners { margin-left:-8px; margin-right:-8px; }
    .flash-featured-showcase { margin-left:-8px; margin-right:-8px; padding:0 12px 14px; border-radius:0; }
    .flash-featured-heading { margin-left:-12px; margin-right:-12px; padding:15px 16px; }
    .flash-featured-heading h3 { font-size:19px; }
    .flash-featured-heading p { font-size:12px; }
    .flash-featured-heading { flex-direction:column; align-items:flex-start; gap:12px; }
    .flash-featured-copy, .flash-featured-side, .flash-featured-countdown { width:100%; max-width:100%; }
    .flash-featured-side { align-items:flex-start; gap:10px; flex-direction:column; }
    .flash-featured-countdown { margin-top:4px; gap:3px; justify-content:flex-start; }
    .flash-featured-countdown-label { margin-right:2px; font-size:11px; }
    .flash-featured-countdown-unit { width:34px; min-width:0; flex:1 1 0; max-width:38px; }
    .flash-featured-controls { display:none; }
    .flash-featured-card { flex-basis:calc((100% - 12px) / 2); min-width:150px; }
}
.category-layout { display: grid; grid-template-columns: 220px minmax(0, 1fr); gap: 28px; align-items: start; }
.category-products { min-width: 0; }
.category-toolbar { display: flex; justify-content: flex-end; align-items: center; margin: 0 0 18px; }
.category-toolbar label { display: flex; align-items: center; gap: 8px; font-size: 13px; }
.category-sort-select { height: 38px; padding: 0 30px 0 10px; border: 1px solid var(--site-border, #ddd); background: var(--site-surface, #fff); border-radius: 4px; }
.category-filter-toggle, .category-filter-close, .category-filter-apply { display: none; }
.category-sidebar { border-right: 1px solid var(--site-border-soft, #eee); padding-right: 20px; }
.category-sidebar-head { display: flex; justify-content: space-between; align-items: center; font-size: 17px; margin-bottom: 15px; }
.category-sidebar-actions { display: flex; align-items: center; gap: 10px; }
.category-filter-reset { border: 0; padding: 0; background: transparent; color: var(--site-primary, #e60012); font-size: 12px; cursor: pointer; }
.category-filter-group { border-top: 1px solid var(--site-border-soft, #eee); padding: 16px 0; }
.category-filter-group h3 { font-size: 13px; text-transform: uppercase; margin-bottom: 10px; }
.category-price-custom { display:flex; flex-direction:column; gap:8px; margin-bottom:10px; }
.category-price-custom input { width:100%; min-width:0; padding:8px 7px; border:1px solid var(--site-border, #ddd); border-radius:5px; font-size:13px; }
.category-price-custom span { display:none; }
.search-category-filter-results label {
    display: block;
    padding: 0;
    margin: 8px 0;
    color: var(--site-text, #333);
    font-size: 13px;
    font-weight: 400;
    cursor: pointer;
}
.search-category-filter-results label input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.search-category-filter-results label:has(input:checked) {
    color: var(--site-primary, #e60012);
    font-weight: 600;
}
.category-filter-group label, .category-filter-group a { display: block; color: #444; font-size: 13px; margin: 8px 0; text-decoration: none; }
.category-filter-group a.is-current { color: var(--site-primary, #e60012); font-weight: 700; }
.category-filter-group input { accent-color: var(--site-primary, #e60012); margin-right: 5px; }
.product-card { display:flex; flex-direction:column; background: var(--site-surface, #fff); border: 1px solid var(--site-border-soft, #eee); border-radius: 10px; overflow: hidden; transition: all 0.3s; position: relative; }
.wishlist-heart { position:absolute; top:10px; right:10px; z-index:3; width:36px; height:36px; border:1px solid var(--site-border-soft, #eee); border-radius:50%; background:rgba(255,255,255,.95); color:#9ca3af; cursor:pointer; transition:color .2s ease, background .2s ease, border-color .2s ease, transform .2s ease; }
.wishlist-heart:hover, .wishlist-heart.is-active { color:#e85d75; border-color:#f4c1cb; background:#fff5f6; }
.wishlist-heart:hover { transform:scale(1.06); }
.wishlist-heart.is-loading { cursor:wait; opacity:.7; transform:none; }
.wishlist-heart.is-active i:before { content:"\f004"; }
.wishlist-product-title { display:flex; align-items:flex-start; gap:8px; }
.wishlist-product-title .product-name { flex:1; min-width:0; }
.wishlist-product-title .wishlist-heart { position:static; flex:0 0 32px; width:32px; height:32px; margin-top:-2px; }
.product-title-row { display:flex; align-items:flex-start; justify-content:space-between; gap:12px; }
.product-title-row h1 { flex:1; }
.product-detail-wishlist { position:static; flex:0 0 auto; margin-top:2px; }
.product-card:hover { box-shadow: 0 4px 12px rgba(0,0,0,0.045); }
.product-card-variants{display:flex;align-items:center;gap:7px;margin-top:10px;flex-wrap:wrap}.product-card-variant-option{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;padding:2px;border:1px solid var(--site-border, #d1d5db);border-radius:50%;background:var(--site-surface, #fff);cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease}.product-card-variant-option:hover,.product-card-variant-option.is-selected{border-color:#111;box-shadow:0 0 0 2px var(--site-surface, #fff),0 0 0 3px var(--site-border, #cbd5e1)}.product-card-variant-option img,.product-card-variant-option>span{display:block;width:24px;height:24px;border-radius:50%;object-fit:cover}.product-card-variant-option>span{background:var(--card-variant-color,var(--site-border, #d1d5db))}
.site-card-lift-enabled .product-card:hover { transform: translateY(-4px); }
.product-image { position: relative; overflow: hidden; aspect-ratio: 1; background: #f9f9f9; }
.product-card-image-mode-portrait .product-image { aspect-ratio: 4 / 5; }
.product-card-image-mode-square .product-image { aspect-ratio: 1; }
.product-image a { position: relative; display: block; width: 100%; height: 100%; }
.product-image img { width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
.product-image-primary, .product-image-secondary { position: absolute; inset: 0; width: 100%; height: 100%; backface-visibility: hidden; }
.product-image-primary { transition: opacity .38s ease, visibility 0s linear 0s, transform .55s ease; }
.product-image-secondary { opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity .38s ease, visibility 0s linear .38s, transform .55s ease; }
.product-image:has(.product-image-secondary):hover .product-image-primary,
.product-image:has(.product-image-secondary):focus-within .product-image-primary { opacity: 0; visibility: hidden; transform: scale(1.025); transition: opacity .38s ease, visibility 0s linear .38s, transform .55s ease; }
.product-image:has(.product-image-secondary):hover .product-image-secondary,
.product-image:has(.product-image-secondary):focus-within .product-image-secondary { opacity: 1; visibility: visible; transform: scale(1); transition: opacity .38s ease, visibility 0s linear 0s, transform .55s ease; }
@media (prefers-reduced-motion: reduce) {
    .product-image-secondary,
    .product-image:has(.product-image-secondary):hover .product-image-primary,
    .product-image:has(.product-image-secondary):focus-within .product-image-primary,
    .product-image:has(.product-image-secondary):hover .product-image-secondary,
    .product-image:has(.product-image-secondary):focus-within .product-image-secondary {
        transition-duration: .01ms;
    }
}
.product-badge { position: absolute; top: 12px; right: 12px; left: auto; z-index: 2; display: inline-flex; align-items: center; justify-content: center; min-width: 46px; height: 24px; padding: 0 9px; background: linear-gradient(135deg, var(--site-primary, #e60012) 0%, var(--site-primary-highlight, #ff3a45) 100%); color: var(--site-surface, #fff); font-size: 11px; font-weight: 800; letter-spacing: .04em; border-radius: 6px; box-shadow: 0 5px 12px rgba(var(--site-primary-rgb, 230, 0, 18),0.18); border: 1px solid rgba(255,255,255,0.25); line-height: 1; }
.product-badge::after, .product-badge::before { content: none; }
.product-info { flex:1 1 auto; padding: 12px 12px 10px; }
.product-name { font-size: 14px; font-weight: 600; color: var(--site-text, #333); margin-bottom: 8px; line-height: 1.4; height: 39px; overflow: hidden; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.product-price { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.price, .price-large { font-size: 15px; font-weight: 700; color: var(--site-primary, #e60012); line-height:1.3; }
.old-price { font-size: 12px; color: #999; text-decoration: line-through; }
.saving-price { display: block; margin: 6px 0 8px; color: #287a3e; font-size: 13px; font-weight: 600; line-height: 1.4; }
.vat-note, .product-note, .product-detail-note { display:block; font-size: 14px; color: #666; margin-top: 6px; margin-bottom: 6px; }
.product-accessories { margin:18px 0; }
.product-accessories h3 { font-size:16px; margin:0 0 10px; }
.product-accessory-row { display:flex; align-items:stretch; gap:6px; margin-bottom:7px; }
.product-accessory-option { display:flex; flex-wrap:wrap; align-items:center; gap:7px 10px; flex:1 1 auto; min-width:0; min-height:42px; padding:8px 10px; border:1px solid var(--site-border, #d8d8d8); border-radius:6px; margin:0; cursor:pointer; }
.product-accessory-option .accessory-image { width:34px; height:34px; flex:0 0 34px; border-radius:5px; object-fit:cover; border:1px solid var(--site-border-soft, #e5e7eb); background:var(--site-surface-muted, #f8fafc); }
.product-accessory-option .accessory-image-link { display:block; flex:0 0 34px; width:34px; height:34px; line-height:0; }
.product-accessory-option .accessory-name { min-width:0; flex:1 1 auto; }
.product-accessory-option.is-unavailable { opacity:.55; cursor:not-allowed; background:var(--site-surface-muted, #f7f7f7); }
.product-accessory-option:has(input:checked) { border-color:#b88a45; background:#faf7f0; }
.product-accessory-option input { position:absolute; opacity:0; }
.accessory-check { position:relative; width:22px; height:22px; border:2px solid var(--site-border, #d8d8d8); border-radius:6px; flex:none; background:var(--site-surface, #fff); transition:background-color .18s ease, border-color .18s ease, transform .18s ease; }
.accessory-check::after { content:''; position:absolute; left:6px; top:2px; width:6px; height:11px; border:solid var(--site-surface, #fff); border-width:0 2px 2px 0; transform:rotate(45deg) scale(0); opacity:0; transition:transform .18s ease, opacity .18s ease; }
.product-accessory-option input:checked + .accessory-check { background:#1d1d1b; border-color:#1d1d1b; transform:scale(1.04); }
.product-accessory-option input:checked + .accessory-check::after { transform:rotate(45deg) scale(1); opacity:1; }
.accessory-variant-modal-quantity { margin:14px 0 8px; }
.accessory-name { font-weight:600; flex:1; }
.product-accessory-option .accessory-note { display:inline !important; margin-left:4px; color:#64748b; font-size:12px; line-height:inherit; }
.product-accessory-option .accessory-gift-discount-note { display:block; flex:0 1 calc(100% - 36px); min-width:0; margin:0 0 0 29px; color:#dc2626; font-size:13px; font-weight:600; line-height:1.4; }
.product-accessory-option .accessory-selected-quantity { flex:none; padding:3px 6px; border-radius:4px; background:#f1f5f9; color:#475569; font-size:12px; font-weight:500; white-space:nowrap; }
.product-accessory-option .accessory-selected-quantity[hidden] { display:none; }
.product-accessory-edit { flex:none; align-self:center; padding:7px 10px; border:1px solid var(--site-border, #d8d8d8); border-radius:5px; background:var(--site-surface, #fff); color:#334155; font-size:13px; cursor:pointer; transition:color .18s ease, background-color .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease; }
.product-accessory-edit:hover { color:#b45309; background:#fff7ed; border-color:#f59e0b; box-shadow:0 2px 7px rgba(180,83,9,.16); transform:translateY(-1px); }
.product-accessory-edit:focus-visible { outline:2px solid #f59e0b; outline-offset:2px; }
.product-accessory-edit[hidden] { display:none; }
.accessory-price { font-weight:600; white-space:nowrap; }
@media (min-width: 768px) {
    .product-accessory-option { display:grid; grid-template-columns:22px 34px minmax(0, 1fr) auto auto; grid-template-rows:auto auto; gap:7px 10px; }
    .product-accessory-option > .accessory-check { grid-column:1; grid-row:1; }
    .product-accessory-option > .accessory-image-link { grid-column:2; grid-row:1; }
    .product-accessory-option > .accessory-name { grid-column:3; grid-row:1; }
    .product-accessory-option > .accessory-selected-quantity { grid-column:4; grid-row:1; justify-self:end; }
    .product-accessory-option > .accessory-price { grid-column:5; grid-row:1; justify-self:end; }
    .product-accessory-option > .accessory-gift-discount-note { grid-column:2 / -1; grid-row:2; align-self:start; margin:0; }
}
.admin-accessory-row { display:grid; grid-template-columns:1fr auto auto auto; gap:8px; align-items:center; margin-bottom:8px; }
.admin-accessory-row input, .admin-accessory-row select { min-width:0; }
.admin-accessory-row > input:not([type="hidden"]), .admin-accessory-row > label, .admin-accessory-row > [data-accessory-product-picker] { display:none; }
.admin-accessory-row > [data-accessory-summary] { display:flex; align-items:center; gap:12px; min-width:0; padding:10px 12px; border:1px solid var(--site-border, #ddd); border-radius:6px; background:var(--site-surface, #fff); cursor:pointer; }
.admin-accessory-row > [data-accessory-summary] strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.admin-accessory-row > [data-accessory-summary] strong small { color:#64748b; font-size:12px; font-weight:400; }
.admin-accessory-row > [data-accessory-summary] span { white-space:nowrap; font-weight:600; }
.admin-accessory-row > [data-accessory-summary] small { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#64748b; }
.admin-accessory-row > [data-accessory-summary] em { margin-left:auto; color:#64748b; font-size:12px; font-style:normal; white-space:nowrap; }
.admin-accessory-row > [data-accessory-summary] .accessory-admin-image-link { display:block; flex:0 0 34px; width:34px; height:34px; line-height:0; }
.admin-accessory-row > [data-accessory-summary] .accessory-admin-image { width:34px; height:34px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:5px; object-fit:cover; background:var(--site-surface-muted, #f8fafc); }
.admin-accessory-row > .accessory-move-up, .admin-accessory-row > .accessory-move-down { min-width:38px; padding:8px 10px; }
.admin-accessory-row > .accessory-remove { width:auto !important; min-width:0; justify-self:start; display:inline-block; padding:5px 10px; font-size:12px; }
.accessory-editor-modal { position:fixed; inset:0; z-index:5100; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.45); }
.accessory-editor-modal[hidden] { display:none; }
.accessory-editor-dialog { width:min(520px,100%); max-height:90vh; overflow-y:auto; background:var(--site-surface, #fff); border-radius:8px; box-shadow:0 18px 50px rgba(0,0,0,.25); }
.accessory-editor-header, .accessory-editor-actions { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:14px 16px; border-bottom:1px solid var(--site-border-soft, #e5e5e5); }
.accessory-editor-header button { display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; min-width:32px; min-height:32px; padding:0; border:1px solid var(--site-border, #cbd5e1); border-radius:6px; background:var(--site-surface-muted, #f8fafc); color:#334155; font-size:0; font-weight:400; line-height:1; cursor:pointer; }
.accessory-editor-header button::before { content:'×'; display:block; font-size:20px; line-height:1; transform:translateY(-1px); }
.accessory-editor-header button:hover, .accessory-editor-header button:focus-visible { border-color:var(--site-primary, #e60012); background:var(--site-primary-soft, #fff1f2); color:var(--site-primary, #e60012); outline:none; }
.accessory-editor-header button:active { transform:translateY(1px); }
.accessory-editor-product-preview { display:flex; align-items:center; justify-content:center; width:100%; min-height:104px; padding:14px 16px 0; cursor:zoom-in; }
.accessory-editor-product-preview a { display:block; line-height:0; cursor:zoom-in; }
.accessory-editor-product-preview img { width:76px; height:76px; object-fit:contain; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:7px; background:var(--site-surface-muted, #f8fafc); }
.accessory-editor-fields { display:grid; gap:12px; padding:16px; }
.accessory-editor-fields label { display:grid; gap:6px; font-weight:600; }
.accessory-editor-fields label[hidden] { display:none !important; }
.accessory-editor-fields input:not([type="checkbox"]), .accessory-editor-fields label > button { width:100%; min-height:40px; padding:8px 10px; border:1px solid var(--site-border, #ddd); border-radius:6px; background:var(--site-surface, #fff); font:inherit; font-weight:400; }
.accessory-editor-fields .accessory-editor-free { display:flex; align-items:center; grid-template-columns:auto 1fr; }
.accessory-editor-fields [data-accessory-editor-image-upload][hidden] { display:none !important; }
.accessory-editor-fields [data-accessory-editor-unlink][hidden] { display:none !important; }
.accessory-editor-image-actions { display:flex; gap:8px; }
.accessory-editor-fields .accessory-editor-image-actions > button { flex:1; }
.accessory-editor-fields [data-accessory-editor-clear-image][hidden] { display:none !important; }
.accessory-editor-fields [data-accessory-editor-manual-preview][hidden] { display:none !important; }
.accessory-editor-manual-preview { display:flex; align-items:center; justify-content:center; width:100%; min-height:104px; }
.accessory-editor-manual-preview img { width:104px; height:104px; object-fit:contain; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:7px; background:var(--site-surface-muted, #f8fafc); }
.accessory-editor-manual-preview img, .accessory-editor-product-preview a { cursor:zoom-in; }
.accessory-editor-actions { justify-content:flex-end; border-top:1px solid var(--site-border-soft, #e5e5e5); border-bottom:0; }
.accessory-product-picker { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.accessory-product-modal { position:fixed; inset:0; z-index:5200; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(0,0,0,.45); }
.accessory-product-modal[hidden] { display:none; }
.accessory-product-dialog { width:min(620px,100%); max-height:min(720px,90vh); display:flex; flex-direction:column; background:var(--site-surface, #fff); border-radius:8px; box-shadow:0 18px 50px rgba(0,0,0,.25); overflow:hidden; }
.accessory-product-header, .accessory-product-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--site-border-soft, #e5e5e5); }
.accessory-product-footer { gap:5px; border-top:1px solid var(--site-border-soft, #e5e5e5); border-bottom:0; justify-content:center; flex-wrap:wrap; }
.accessory-product-footer button { min-width:34px; height:34px; padding:0 10px; border:1px solid var(--site-border, #ddd); border-radius:4px; background:var(--site-surface, #fff); color:var(--site-text, #333); font-size:13px; line-height:1.4; cursor:pointer; }
.accessory-product-footer button:hover { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.accessory-product-footer button:disabled { opacity:.45; cursor:not-allowed; pointer-events:none; }
.accessory-product-dialog .accessory-product-footer input { width:60px; height:34px; padding:6px !important; text-align:center; border:1px solid var(--site-border, #ddd); border-radius:4px !important; }
.accessory-product-page-list { display:flex; flex-wrap:wrap; gap:5px; }
.accessory-product-page-list button { min-width:34px; height:34px; padding:0 10px; border:1px solid var(--site-border, #ddd); border-radius:4px; background:var(--site-surface, #fff); color:var(--site-text, #333); font-size:13px; cursor:pointer; }
.accessory-product-page-list button:hover, .accessory-product-page-list button.is-current { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.accessory-product-page-jump { display:flex; align-items:center; gap:5px; margin-left:8px; }
.accessory-product-header button { display:inline-flex; align-items:center; justify-content:center; flex:0 0 32px; width:32px; min-width:32px; height:32px; min-height:32px; padding:0 0 2px !important; border:1px solid var(--site-border, #cbd5e1); border-radius:6px; background:var(--site-surface-muted, #f8fafc); color:#334155; font-size:20px; line-height:1 !important; text-align:center; cursor:pointer; }
.accessory-product-header button:hover { border-color:var(--site-primary, #e60012); background:var(--site-primary-soft, #fff1f2); color:var(--site-primary, #e60012); }
.accessory-product-dialog > input { margin:14px 16px 8px; padding:10px 12px; border:1px solid #ccc; border-radius:6px; }
.accessory-product-results { overflow:auto; padding:0 16px 12px; min-height:180px; }
.accessory-product-result { width:100%; display:flex; justify-content:space-between; gap:16px; text-align:left; padding:11px 10px; border:0; border-bottom:1px solid var(--site-border-soft, #eee); background:var(--site-surface, #fff); cursor:pointer; }
.accessory-product-result:hover { background:#f5f7fa; }
.accessory-product-result img { flex:0 0 52px; width:52px; height:52px; object-fit:contain; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:6px; background:var(--site-surface, #fff); }
.accessory-product-placeholder { flex:0 0 52px; width:52px; height:52px; display:flex; align-items:center; justify-content:center; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:6px; background:var(--site-surface-muted, #f8fafc); color:#98a2b3; }
.accessory-product-result strong { flex:1 1 auto; align-self:center; min-width:0; }
.accessory-product-result span { white-space:nowrap; color:#555; }
.accessory-product-loading { padding:30px 0; text-align:center; color:#777; }
@media (max-width:700px) {
    .admin-accessory-list,
    .admin-accessory-row { width:100%; min-width:0; }
    .admin-accessory-row {
        grid-template-columns:minmax(0, 1fr) auto auto auto;
        gap:6px;
    }
    .admin-accessory-row > [data-accessory-summary] {
        grid-column:1 / -1;
        display:grid;
        grid-template-columns:34px minmax(0, 1fr) auto;
        grid-template-areas:"image name price" ". status status";
        gap:4px 8px;
        width:100%;
        max-width:100%;
        padding:8px;
        overflow:hidden;
    }
    .admin-accessory-row > [data-accessory-summary] .accessory-admin-image-link { grid-area:image; }
    .admin-accessory-row > [data-accessory-summary] strong {
        grid-area:name;
        min-width:0;
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .admin-accessory-row > [data-accessory-summary] strong small {
        display:block;
        white-space:normal;
        overflow-wrap:anywhere;
    }
    .admin-accessory-row > [data-accessory-summary] span {
        grid-area:price;
        justify-self:end;
        font-size:12px;
    }
    .admin-accessory-row > [data-accessory-summary] em {
        grid-area:status;
        min-width:0;
        margin-left:0;
        white-space:normal;
        overflow-wrap:anywhere;
        font-size:11px;
    }
    .admin-accessory-row > .accessory-move-up { grid-column:2; grid-row:2; }
    .admin-accessory-row > .accessory-move-down { grid-column:3; grid-row:2; }
    .admin-accessory-row > .accessory-remove {
        grid-column:4;
        grid-row:2;
        justify-self:end;
        padding:5px 7px;
        white-space:nowrap;
    }
}
.promotion-note { display:block; color:var(--site-primary, #d40012); font-size:11px; margin-top:5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.stock-note { display:block; color:#287a3e; font-size:11px; margin-top:12px; margin-bottom:8px; font-weight:600; }
.stock-note.out-of-stock { color:var(--site-primary, #e60012); }
.sold-note { display:flex; align-items:center; gap:5px; color:#f04438; font-size:11px; margin-top:4px; font-weight:700; letter-spacing:.1px; }
.sold-note i { color:#ff3d00; font-size:15px; filter:drop-shadow(0 0 2px rgba(255,105,0,.45)); animation:sold-fire-pulse 1.1s ease-in-out infinite alternate; }
.sold-note span { color:#e04422; background:linear-gradient(90deg,#e04422,#ff8a00,#e04422); -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; }
.store-only-note { display:block; margin:0 0 4px; color:#b11b2a; font-size:14px; font-weight:700; line-height:1.35; }
.store-only-note i { margin-right:4px; color:var(--site-primary, #e60012); }
@keyframes sold-fire-pulse { from { transform:scale(1) rotate(-4deg); } to { transform:scale(1.18) rotate(4deg); } }
.flash-sale-banner{position:relative;padding:14px 6px 10px}.flash-sale-header{margin-bottom:10px}.flash-sale-timer{display:flex;align-items:center;justify-content:flex-start;gap:9px;color:var(--site-text, #333);font-size:13px}.flash-sale-timer-label{font-weight:500}.flash-sale-countdown{display:inline-flex;align-items:center;gap:5px;padding:0;background:transparent;color:var(--site-surface, #fff)}.flash-sale-timer-label{display:inline-flex;align-items:center;height:40px;margin:0;transform:translateY(5px);color:var(--site-primary, #e60012);font-size:15px;font-weight:700;line-height:1;text-transform:uppercase;white-space:nowrap}.countdown-unit{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;width:38px;height:40px;padding:0;border-radius:3px;background:var(--site-primary, #e60012);color:var(--site-surface, #fff);font-weight:700;font-variant-numeric:tabular-nums;line-height:1}.countdown-unit strong{font-size:18px;font-weight:700;line-height:1}.countdown-unit small{display:block;margin-top:4px;font-size:8px;font-weight:400;line-height:1}.flash-sale-progress-info{display:flex;justify-content:space-between;gap:12px;margin-top:12px;padding:0 2px;color:var(--site-text, #333);font-size:13px}.flash-sale-progress{height:5px;margin:7px 2px 0;overflow:hidden;border-radius:999px;background:var(--site-border-soft, #e5e7eb)}.flash-sale-progress span{display:block;height:100%;border-radius:inherit;background:var(--site-primary, #e60012);transition:width .25s ease}
.product-actions { margin-top:auto; padding: 0 12px 12px; }
.btn-add-cart { display: block; width: 100%; padding: 9px 8px; background: var(--site-primary, #e60012); color: var(--site-surface, #fff); text-align: center; border: none; border-radius: 6px; font-weight: 600; cursor: pointer; transition: background 0.3s; font-size: 14px; }
.product-card .product-actions .btn-add-cart,
.product-card .product-actions .btn-product-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-width: 0;
    min-height: 38px;
    padding: 7px 5px;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
}
.product-card .product-actions .btn-add-cart i,
.product-card .product-actions .btn-product-contact i {
    flex: 0 0 auto;
    margin-right: 3px;
}
.btn-add-cart:hover { background: var(--site-primary-hover, #c0000f); }
.btn-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 180px;
    padding: 14px 28px;
    background: linear-gradient(135deg, var(--site-primary, #e60012) 0%, var(--site-primary-highlight, #ff2b3b) 100%);
    color: var(--site-surface, #fff);
    border: none;
    border-radius: 8px;
    font-size: 15px;
    font-weight: 700;
    letter-spacing: .02em;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(var(--site-primary-rgb, 230, 0, 18),0.2);
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
}
.btn-submit:hover {
    background: linear-gradient(135deg, var(--site-primary-hover, #c0000f) 0%, var(--site-primary, #e60012) 100%);
    box-shadow: 0 12px 22px rgba(var(--site-primary-rgb, 230, 0, 18),0.24);
    transform: translateY(-1px);
}
.btn-add-cart:disabled, .btn-submit:disabled, .btn-checkout.disabled, .btn-checkout-product:disabled { background:#aaa; color:var(--site-surface, #fff); cursor:not-allowed; pointer-events:none; box-shadow:none; transform:none; }
.btn-add-cart i { margin-right: 5px; }

/* Commitments */
.commitments { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin: 40px 0; }
.commit-item { text-align: center; padding: 20px; border-radius: 8px; background: var(--site-surface-muted, #f8f8f8); }
.commit-item img { height: 80px; margin: 0 auto 15px; }
.commit-item h3 { font-size: 16px; color: var(--site-text, #1a1a1a); margin-bottom: 5px; }
.commit-item p { font-size: 13px; color: #666; }

/* Celebrities */
.celebrities { background: var(--site-surface-muted, #f8f8f8); padding: 50px 0; margin: 40px 0; }
.celeb-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 15px; }
.celeb-item { text-align: center; }
.celeb-item img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 50%; margin-bottom: 10px; border: 3px solid var(--site-surface, #fff); box-shadow: 0 3px 10px rgba(0,0,0,0.1); }
.celeb-item p { font-size: 13px; font-weight: 600; color: var(--site-text, #333); }

/* Blog Section */
.blog-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 25px; margin-bottom: 50px; }
.blog-grid-horizontal { display:flex; flex-wrap:nowrap; gap:18px; overflow-x:auto; overflow-y:hidden; padding:2px 2px 14px; margin-right:-2px; margin-bottom:36px; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:var(--site-border, #cbd5e1) transparent; scroll-snap-type:x proximity; }
.blog-grid-horizontal::-webkit-scrollbar { height:6px; }
.blog-grid-horizontal::-webkit-scrollbar-thumb { border-radius:6px; background:var(--site-border, #cbd5e1); }
.blog-grid-horizontal .blog-card { flex:0 0 clamp(240px, 31%, 360px); min-width:0; height:auto; scroll-snap-align:start; }
.blog-grid-carousel { display:flex; flex-wrap:nowrap; gap:20px; overflow-x:auto; overflow-y:hidden; padding:2px 2px 14px; margin-bottom:36px; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:none; scroll-snap-type:x mandatory; scroll-behavior:smooth; }
.blog-grid-carousel::-webkit-scrollbar { display:none; }
.blog-grid-carousel .blog-card { flex:0 0 calc((100% - 20px) / 2); min-width:0; height:auto; scroll-snap-align:start; }
.blog-carousel-controls { display:flex; justify-content:center; gap:8px; }
.blog-carousel-static .blog-carousel-controls,
.blog-carousel-static .blog-carousel-dots { display:none; }
.blog-carousel-controls button { display:inline-flex; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid #e4e4e4; border-radius:50%; background:var(--site-surface, #fff); color:var(--site-text, #222); cursor:pointer; transition:background .2s ease,border-color .2s ease,color .2s ease; }
.blog-carousel-controls button:hover:not(:disabled) { border-color:var(--site-primary, #e60012); background:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.blog-carousel-controls button:disabled { opacity:.4; cursor:default; }
.blog-carousel-dots { display:flex; align-items:center; justify-content:center; gap:8px; margin:-20px 0 38px; }
.blog-carousel-dot { width:8px; height:8px; flex:0 0 8px; padding:0; border:0; border-radius:50%; background:#c9c9c9; cursor:pointer; transition:width .2s ease,background-color .2s ease,transform .2s ease; }
.blog-carousel-dot.is-active { width:20px; flex-basis:20px; border-radius:999px; background:var(--site-primary, #e60012); }
.blog-pagination { flex-wrap: wrap; align-items: center; width: 100%; }
.pagination.blog-pagination button { min-width:34px; height:34px; padding:0 10px; border:1px solid var(--site-border, #ddd); border-radius:6px; background:var(--site-surface, #fff); cursor:pointer; }
.pagination.blog-pagination button.active, .pagination.blog-pagination button:hover { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.pagination.blog-pagination button.disabled { opacity:.45; pointer-events:none; }
.pagination.page-list-pagination { display:flex; flex-wrap:wrap; align-items:center; gap:6px; width:100%; margin:0 0 30px; }
.pagination.page-list-pagination button { min-width:34px; height:34px; padding:0 10px; border:1px solid var(--site-border, #ddd); border-radius:6px; background:var(--site-surface, #fff); cursor:pointer; }
.pagination.page-list-pagination button.active, .pagination.page-list-pagination button:hover { background:var(--site-primary, #e60012); border-color:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.pagination.page-list-pagination button.disabled { opacity:.45; pointer-events:none; }
.blog-detail-page { display:grid; grid-template-columns:minmax(0, 1fr); gap:28px; margin-bottom:60px; }
.blog-detail-page > .site-comment-section { grid-column:1 / -1; }
.blog-detail-layout { display:grid; grid-template-columns:minmax(0, 1fr) 300px; align-items:start; gap:36px; }
.page-detail-layout { grid-template-columns:minmax(0, 900px); justify-content:center; }
.page-detail-layout > .blog-article { min-width:0; }
.page-detail-layout > .site-comment-section { grid-column:1; width:100%; min-width:0; }
.blog-article { background:var(--site-surface, #fff); border:1px solid #edf0f3; border-radius:12px; padding:clamp(22px,4vw,48px); box-shadow:0 10px 30px rgba(31,41,55,.06); }
.blog-article h1 { margin-bottom:14px; font-size:clamp(25px,3vw,40px); line-height:1.18; color:#18212b; }
.blog-meta { color:#7a8490; font-size:13px; line-height:1.8; margin-bottom:28px; }
.blog-meta a { color:var(--site-primary, #d40012); font-weight:600; }
.content-category-tags{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0 12px}
.content-category-tag{display:inline-flex;align-items:center;padding:3px 9px;border:1px solid var(--site-border-soft, #e5e7eb);border-radius:999px;background:var(--site-surface-muted, #f8fafc);color:#475467;font-size:11px;font-weight:600;line-height:1.5;text-decoration:none}
.content-category-tag:hover{border-color:var(--site-primary, #e60012);background:var(--site-primary-soft, #fff1f2);color:var(--site-primary-hover, #c90010)}
.blog-content-full { color:#374151; font-size:16px; line-height:1.9; overflow-wrap:anywhere; }
.blog-content-full h2 { margin:34px 0 12px; color:#18212b; line-height:1.3; }
.blog-content-full p { margin:0 0 16px; }
.blog-content-full img { display:block; max-width:100%; height:auto; margin:20px auto; border-radius:8px; }
.blog-content-full table { width:100%; margin:22px 0; border-collapse:collapse; overflow:hidden; border:1px solid #dbe2e8; }
.blog-content-full th,.blog-content-full td { padding:11px 13px; border:1px solid #dbe2e8; text-align:left; }
.blog-content-full th { background:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.blog-sidebar { position:sticky; top:20px; align-self:start; padding:22px; border:1px solid #edf0f3; border-radius:12px; background:#f8fafb; }
.blog-sidebar h3 { margin-bottom:15px; color:#18212b; }
.blog-sidebar li { margin-bottom:12px; padding-bottom:12px; border-bottom:1px solid #e2e8ee; }
.blog-sidebar li a { color:#263442; font-weight:600; font-size:14px; line-height:1.45; }
.blog-sidebar li div { margin-top:5px; color:#8a96a3; font-size:12px; }
.blog-card { display:flex; flex-direction:column; height:100%; background: var(--site-surface, #fff); border-radius: 8px; overflow: hidden; box-shadow: 0 2px 10px rgba(0,0,0,0.05); transition: all 0.3s; }
.blog-category-buttons .btn { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.page-category-buttons .btn { transition: background-color .2s ease, color .2s ease, border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.blog-category-thumb { display:inline-block; width:24px; height:24px; margin-right:7px; border-radius:50%; object-fit:cover; vertical-align:middle; }
.blog-category-buttons .btn:hover, .blog-category-buttons .btn.is-active, .page-category-buttons .btn:hover, .page-category-buttons .btn.is-active { background: var(--site-primary, #e60012); border-color: var(--site-primary, #e60012); color: var(--site-surface, #fff); transform: translateY(-2px); box-shadow: 0 4px 10px rgba(var(--site-primary-rgb, 230, 0, 18),.2); }
.blog-card:hover { box-shadow: 0 4px 14px rgba(0,0,0,0.055); }
.site-card-lift-enabled .blog-card:hover { transform: translateY(-4px); }
.blog-image img { width: 100%; height: 200px; object-fit: cover; }
.blog-content { display:flex; flex:1 1 auto; flex-direction:column; padding: 20px; }
.blog-date { font-size: 13px; color: #999; margin-bottom: 10px; }
.blog-title { font-size: 16px; font-weight: 600; color: var(--site-text, #333); margin-bottom: 10px; line-height: 1.4; }
.blog-excerpt { font-size: 14px; color: #666; line-height: 1.6; margin-bottom: 15px; }
.read-more { margin-top:auto; color: var(--site-primary, #e60012); font-weight: 600; font-size: 14px; }
.read-more:hover { text-decoration: underline; }

/* Breadcrumb */
.breadcrumb { background: var(--site-surface-muted, #f5f5f5); padding: 15px 0; margin-bottom: 30px; }
.breadcrumb .container { display: flex; align-items: center; gap: 10px; font-size: 14px; }
.breadcrumb a { color: #666; }
.breadcrumb a:hover { color: var(--site-primary, #e60012); }
.breadcrumb span { color: #999; }

/* Product Detail */
.product-detail { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 42px; margin: 0 auto 50px; max-width: 1180px; align-items: start; justify-items: stretch; }
.product-gallery { position: relative; display: flex; flex-direction: column; width: 100%; max-width: 640px; min-width: 0; justify-self: center; }
.fixed-product-actions { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1000; display: flex; gap: 10px; padding: 10px 15px; background: rgba(255,255,255,.96); border-top: 1px solid var(--site-border-soft, #eee); box-shadow: 0 -5px 18px rgba(0,0,0,.1); }
.floating-contact-actions { position: fixed; right: 18px; bottom: 18px; z-index: 1100; display: flex; flex-direction: column; gap: 8px; }
.floating-contact-button { width: 46px; height: 46px; min-width: 46px; min-height: 46px; flex: 0 0 46px; box-sizing: border-box; padding: 0; display: inline-flex; align-items: center; justify-content: center; border-radius: 50%; color: var(--site-surface, #fff); text-decoration: none; font-size: 21px; line-height: 1; box-shadow: 0 3px 10px rgba(0,0,0,.2); transition: transform .18s ease, box-shadow .18s ease; }
.floating-contact-button:hover { color: var(--site-surface, #fff); transform: scale(1.08); box-shadow: 0 5px 14px rgba(0,0,0,.28); }
.floating-contact-button.has-effect-ripple:not(.floating-scroll-top) { position: relative; isolation: isolate; overflow: visible; }
.floating-contact-button.has-effect-ripple:not(.floating-scroll-top)::before,
.floating-contact-button.has-effect-ripple:not(.floating-scroll-top)::after { content: ""; position: absolute; inset: -5px; z-index: 0; box-sizing: border-box; border: 2px solid rgba(var(--site-primary-rgb, 230, 0, 18),.28); border-radius: 50%; pointer-events: none; opacity: 0; animation: floating-contact-ripple 2.4s ease-out infinite; }
.floating-contact-button.has-effect-ripple:not(.floating-scroll-top)::after { animation-delay: 1.2s; }
.floating-contact-button.has-effect-ripple:not(.floating-scroll-top) > * { position: relative; z-index: 1; }
@keyframes floating-contact-ripple { 0% { transform: scale(.88); opacity: .75; } 100% { transform: scale(1.5); opacity: 0; } }
.floating-contact-button.has-effect-shake:not(.floating-scroll-top) { animation: floating-contact-shake 2.8s ease-in-out infinite; }
@keyframes floating-contact-shake { 0%, 82%, 100% { translate: 0 0; } 84%, 90%, 96% { translate: -1.5px 0; } 87%, 93%, 99% { translate: 1.5px 0; } }
.floating-contact-button.has-effect-icon-shake:not(.floating-scroll-top) > i,
.floating-contact-button.has-effect-icon-shake:not(.floating-scroll-top) > span { transform-origin: center; animation: floating-contact-icon-shake .48s ease-in-out infinite alternate; }
@keyframes floating-contact-icon-shake { from { transform: rotate(-8deg); } to { transform: rotate(8deg); } }
@media (prefers-reduced-motion: reduce) { .floating-contact-button.has-effect-ripple:not(.floating-scroll-top)::before, .floating-contact-button.has-effect-ripple:not(.floating-scroll-top)::after, .floating-contact-button.has-effect-shake:not(.floating-scroll-top), .floating-contact-button.has-effect-icon-shake:not(.floating-scroll-top) > i, .floating-contact-button.has-effect-icon-shake:not(.floating-scroll-top) > span { animation: none; } }
.floating-contact-phone { background: #e52b35; }
.floating-contact-zalo { background: #1478e8; font-size: 12px; font-weight: 700; }
.floating-contact-zalo > span { display: block; line-height: 1; }
.floating-contact-telegram { background: #24a1de; }
.floating-contact-messenger { background: #1685e5; }
.floating-contact-facebook { background: #1877f2; }
.floating-contact-tiktok { background: #111; }
.floating-contact-location { background: var(--site-primary, #e9573f); }
.floating-contact-chat { background: #16a085; }
.floating-contact-toggle { border: 0; background: var(--site-primary, #e60012); cursor: pointer; }
.floating-contact-items { display: contents; }
.floating-contact-actions.is-grouped:not(.is-expanded) .floating-contact-items { display: none; }
/* Keep the image lightbox above sticky headers and floating action buttons. */
.fancybox__container { z-index: 6000 !important; }
.fancybox__footer .fancybox__caption { text-align: center; }
.site-skeleton-screen { position: fixed; inset: 0; z-index: 2147483000; overflow: hidden; background: #f5f6f8; opacity: 1; visibility: visible; transition: opacity .3s ease, visibility .3s ease; }
.site-skeleton-screen.is-hidden { opacity: 0; visibility: hidden; pointer-events: none; }
.site-skeleton-inner { width: 100%; margin: 0 auto; padding-top: 0; }
.site-skeleton-line, .site-skeleton-block { display: block; position: relative; overflow: hidden; background: #e2e5e9; }
.site-skeleton-line::after, .site-skeleton-block::after { content: ''; position: absolute; inset: 0; transform: translateX(-100%); background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent); animation: site-skeleton-shimmer 1.25s ease-in-out infinite; }
.site-skeleton-line { height: 14px; border-radius: 6px; }
.site-skeleton-header { background: var(--site-surface, #fff); }
.site-skeleton-line-top { width: 100%; height: 32px; border-radius: 0; background: #edf0f3; }
.site-skeleton-header-main { display: grid; grid-template-columns: 190px minmax(180px, 1fr) 180px; gap: 26px; align-items: center; width: min(1500px, calc(100% - 32px)); height: 106px; margin: 0 auto; }
.site-skeleton-line-logo { width: 150px; height: 38px; }
.site-skeleton-line-search { width: 100%; height: 42px; border-radius: 22px; }
.site-skeleton-line-action { width: 150px; height: 28px; justify-self: end; }
.site-skeleton-quicklinks { display: flex; align-items: center; gap: 26px; height: 44px; padding: 0 18px; background: #e5e8ec; overflow: hidden; }
.site-skeleton-quicklinks .site-skeleton-line { flex: 0 0 110px; height: 13px; }
.site-skeleton-block { border-radius: 0; }
.site-skeleton-block-hero { height: clamp(180px, 31.25vw, 500px); margin-bottom: 0; }
.site-skeleton-services { display: grid; grid-template-columns: repeat(4, 1fr); gap: 28px; width: min(1500px, calc(100% - 48px)); margin: 0 auto; padding: 22px 0; }
.site-skeleton-service { height: 44px; border-radius: 8px; }
.site-skeleton-section-heading { width: min(330px, 55%); height: 28px; margin: 28px max(24px, calc((100% - 1500px) / 2)) 18px; border-radius: 6px; }
.site-skeleton-products { display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; width: min(1500px, calc(100% - 32px)); margin: 0 auto; }
.site-skeleton-product { height: 330px; border-radius: 10px; }
.site-skeleton-section-heading-small { width: min(260px, 45%); margin-top: 48px; }
.site-skeleton-blogs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; width: min(1500px, calc(100% - 32px)); margin: 0 auto; }
.site-skeleton-blog { height: 280px; border-radius: 10px; }
.site-skeleton-breadcrumb { height: 52px; margin: 24px auto; width: min(1180px, calc(100% - 32px)); border-radius: 6px; }
.site-skeleton-product-detail { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 42px; width: min(1180px, calc(100% - 32px)); margin: 0 auto; }
.site-skeleton-product-gallery .site-skeleton-block { height: 520px; }
.site-skeleton-product-gallery > div { display: flex; gap: 10px; margin-top: 12px; }
.site-skeleton-product-gallery i { width: 72px; height: 72px; border-radius: 8px; background: #e2e5e9; }
.site-skeleton-product-summary { padding-top: 18px; }
.site-skeleton-product-summary .site-skeleton-line { width: 100%; margin-bottom: 22px; }
.site-skeleton-line.site-skeleton-title { height: 30px; width: 78%; }
.site-skeleton-line.site-skeleton-price { height: 26px; width: 34%; }
.site-skeleton-button { display: block; width: 100%; height: 48px; margin-top: 30px; border-radius: 7px; background: #e2e5e9; }
.site-skeleton-blog-detail { width: min(900px, calc(100% - 32px)); margin: 0 auto; }
.site-skeleton-blog-detail > .site-skeleton-block { height: 360px; margin: 18px 0 24px; }
.site-skeleton-blog-detail > div { display: grid; gap: 14px; }
.site-skeleton-blog-detail i, .site-skeleton-listing aside i { display: block; height: 14px; border-radius: 5px; background: #e2e5e9; }
.site-skeleton-listing { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 28px; width: min(1500px, calc(100% - 32px)); margin: 0 auto; }
.site-skeleton-listing aside { padding: 20px; border-radius: 10px; background: #f0f2f4; }
.site-skeleton-listing aside .site-skeleton-title { width: 70%; margin-bottom: 24px; }
.site-skeleton-listing aside i { margin-bottom: 16px; }
.site-skeleton-listing > div > .site-skeleton-title { margin-bottom: 18px; }
@keyframes site-skeleton-shimmer { to { transform: translateX(100%); } }
@media (max-width: 700px) {
    .site-skeleton-header-main { grid-template-columns: 90px minmax(0, 1fr) 42px; gap: 10px; width: calc(100% - 24px); height: 92px; }
    .site-skeleton-line-logo { width: 82px; height: 28px; }
    .site-skeleton-line-action { width: 38px; height: 28px; }
    .site-skeleton-quicklinks { gap: 22px; padding: 0 12px; }
    .site-skeleton-quicklinks .site-skeleton-line { flex-basis: 92px; }
    .site-skeleton-block-hero { height: clamp(130px, 35vw, 220px); }
    .site-skeleton-services { grid-template-columns: 1fr; gap: 10px; width: calc(100% - 32px); padding: 16px 0; }
    .site-skeleton-service { height: 38px; }
    .site-skeleton-section-heading { margin: 22px 16px 14px; }
    .site-skeleton-products { grid-template-columns: repeat(2, 1fr); gap: 10px; width: calc(100% - 24px); }
    .site-skeleton-product { height: 220px; }
    .site-skeleton-blogs { grid-template-columns: 1fr; gap: 12px; width: calc(100% - 24px); }
    .site-skeleton-blog { height: 190px; }
    .site-skeleton-breadcrumb { width: calc(100% - 24px); margin: 14px auto; height: 42px; }
    .site-skeleton-product-detail, .site-skeleton-listing { grid-template-columns: 1fr; gap: 18px; width: calc(100% - 24px); }
    .site-skeleton-product-gallery .site-skeleton-block { height: 300px; }
    .site-skeleton-product-summary { padding-top: 0; }
    .site-skeleton-blog-detail { width: calc(100% - 24px); }
    .site-skeleton-blog-detail > .site-skeleton-block { height: 220px; }
    .site-skeleton-listing aside { display: none; }
    .site-skeleton-listing .site-skeleton-products { width: 100%; }
}
.site-settings-form > .form-group {
    margin-bottom: 18px;
    padding: 18px;
    border: 1px solid #dfe3e8;
    border-radius: 10px;
    background: var(--site-surface, #fff);
}
.site-settings-form > .form-group > label:first-child {
    color: #20252b;
}
.site-settings-form > .form-group > .form-help {
    margin-top: 10px;
}
.floating-contact-setting-grid { margin-top: 10px; }
.floating-contact-setting {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 6px;
    padding: 12px;
    border: 1px solid #e1e5ea;
    border-radius: 8px;
    background: #fafbfc;
}
.floating-contact-setting > label {
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    min-height: 30px;
    margin: 0;
    line-height: 1.4;
    font-size: 12px;
    font-weight: 400;
}
.floating-contact-setting > label input[type="checkbox"] {
    flex-shrink: 0;
    margin: 0;
}
.floating-contact-setting > .floating-contact-external {
    display: flex;
    align-items: center;
    min-height: 24px;
    margin: 0 0 2px;
    color: #64748b;
    font-size: 12px;
    font-weight: 400;
}
@media (max-width: 700px) {
    .site-settings-form > .form-group {
        padding: 14px;
    }
    .floating-contact-setting-grid {
        grid-template-columns: 1fr !important;
    }
}
.floating-scroll-top { border: 0; background: #111; cursor: pointer; opacity: 0; visibility: hidden; transform: translateY(8px); }
.floating-scroll-top.is-visible { opacity: 1; visibility: visible; transform: translateY(0); }
.floating-scroll-top:hover { background: #000; }
body:has(.fixed-product-actions) .floating-contact-actions { bottom: 68px; }
.fixed-product-actions .btn-buy-now { flex: 1; width: auto; max-width: none; min-height: 48px; padding: 10px 14px; font-size: 14px; }
.fixed-product-actions .btn-product-contact { flex: 1; width: auto; max-width: none; min-height: 48px; height: auto; padding: 10px 14px; }
body:has(.fixed-product-actions) { padding-bottom: 78px; }
@media (min-width: 701px) {
    .fixed-product-actions {
        left: 50%;
        right: auto;
        width: min(1220px, calc(100% - 30px));
        transform: translateX(-50%);
        border: 1px solid var(--site-border-soft, #eee);
        border-bottom: 0;
        border-radius: 8px 8px 0 0;
    }
}
.product-summary { width: 100%; max-width: none; justify-self: stretch; padding-top: 6px; }
@media (min-width: 993px) {
    .product-detail { position: relative; }
    .product-detail > .product-summary { grid-column: 2; }
    .product-detail > .product-promotion { z-index: 1; }
}
.main-image {
    position: relative;
    border: 1px solid var(--site-border-soft, #eee);
    border-radius: 10px;
    overflow: hidden;
    margin-bottom: 15px;
    width: 100%;
    max-width: 100%;
    background: var(--site-surface, #fff);
    scroll-margin-top: 110px;
    touch-action: pan-y;
    user-select: none;
    cursor: grab;
}
.product-image-magnifier { position:absolute; z-index:5; display:none; width:148px; height:148px; border:2px solid rgba(255,255,255,.95); border-radius:50%; box-shadow:0 4px 18px rgba(0,0,0,.35); background-color:var(--site-surface, #fff); background-repeat:no-repeat; pointer-events:none; }
.product-image-magnifier.is-visible { display:block; }
.main-image:active { cursor: grabbing; }
.main-image::before,
.main-image::after { content: none; }
.main-image-nav {
    position: absolute;
    top: 50%;
    z-index: 4;
    width: 44px;
    height: 44px;
    margin: -22px 0 0;
    border: 0;
    border-radius: 50%;
    background: rgba(0,0,0,0.3);
    color: var(--site-surface, #fff);
    font-size: 0;
    cursor: pointer;
    opacity: 1;
    transition: background .3s;
}
.main-image.has-product-image-magnifier .main-image-nav { display: none; }
.main-image-prev { left: 10px; }
.main-image-next { right: 10px; }
.main-image-nav::after {
    display: block;
    font-family: swiper-icons;
    font-size: 18px;
    font-weight: bold;
    line-height: 18px;
}
.main-image-prev::after { content: "prev"; }
.main-image-next::after { content: "next"; }
.main-image-nav:hover { background: var(--site-primary, #e60012); }
.main-image a { display: block; width: 100%; }
.main-image a,
.main-image img { -webkit-user-drag: none; }
.main-image img {
    display: block;
    width: 100%;
    height: auto;
    max-height: 560px;
    max-width: 100%;
    object-fit: contain;
    background: var(--site-surface, #fff);
    margin: 0 auto;
}
.thumbnail-list { display: block; width: 100%; max-width: 100%; overflow: hidden; }
.thumb-swiper { overflow: hidden !important; width: 100%; max-width: 100%; scrollbar-width: none; -ms-overflow-style: none; }
.thumb-swiper::-webkit-scrollbar { display: none; }
.thumb-swiper .swiper-wrapper { display: flex; align-items: center; width: max-content !important; max-width: none; min-width: 100%; }
.thumb-swiper .swiper-slide { width: 80px !important; min-width: 80px; flex-shrink: 0; }
.thumbnail-list .thumbnail-button { padding: 0; border: 0; background: transparent; line-height: 0; cursor: pointer; display: block; width: 80px; min-width: 80px; flex: 0 0 auto; }
.thumbnail-list img { width: 80px; height: 80px; object-fit: cover; border: 2px solid var(--site-border-soft, #eee); border-radius: 5px; cursor: pointer; transition: all 0.3s; }
.thumbnail-list img:hover, .thumbnail-list img.active { border-color: var(--site-primary, #e60012); }
.video-thumb-btn { flex:0 0 80px; width:80px; height:80px; border-radius: 5px; border: 2px solid var(--site-border-soft, #eee); background: #111; color: var(--site-surface, #fff); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; cursor: pointer; margin-top: 0; transition: all 0.3s; }
.video-thumb-btn:hover { border-color: var(--site-primary, #e60012); }
.video-thumb-btn i { font-size: 18px; }
.video-thumb-btn span { font-size: 11px; font-weight: 700; letter-spacing: 0.5px; }
.video-popup { display: none; position: fixed; inset: 0; background: rgba(15,23,42,.78); backdrop-filter: blur(5px); z-index: 9999; align-items: center; justify-content: center; padding: 20px; }
.video-popup.active { display: flex; }
.video-popup-inner { background: var(--site-surface, #fff); border: 1px solid rgba(255,255,255,.35); border-radius: 16px; max-width: 760px; width: 100%; max-height: 88vh; overflow-y: auto; padding: 22px; position: relative; box-shadow: 0 24px 70px rgba(0,0,0,.35); }
.video-popup-inner h3 { margin: 0 48px 18px 0; color: #111827; font-size: 18px; font-weight: 700; }
#productVideoPopup .video-popup-inner > .video-popup-close { position: absolute; top: 14px; right: 14px; display: grid; flex: 0 0 auto; place-items: center; width: 32px; height: 32px; padding: 0; border: 1px solid var(--site-border, #cbd5e1); border-radius: 6px; background: var(--site-surface-muted, #f8fafc); color: #334155; font-size: 0; line-height: 1; cursor: pointer; transition: border-color .2s ease, background-color .2s ease, color .2s ease; }
#productVideoPopup .video-popup-inner > .video-popup-close::before { content: '×'; display: block; font-size: 22px; font-weight: 400; line-height: 1; transform: translateY(-1px); }
#productVideoPopup .video-popup-inner > .video-popup-close:hover,
#productVideoPopup .video-popup-inner > .video-popup-close:focus-visible { border-color: var(--site-primary, #e60012); background: var(--site-primary-soft, #fff1f2); color: var(--site-primary, #e60012); outline: none; }
.video-embed-wrap { position: relative; padding-bottom: 56.25%; height: 0; margin-bottom: 18px; border-radius: 12px; overflow: hidden; background: #0f172a; box-shadow: 0 8px 22px rgba(15,23,42,.14); }
.video-embed-wrap:last-child { margin-bottom: 0; }
.video-embed-wrap iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 0; }
@media (max-width: 600px) {
    .video-popup { padding: 12px; }
    .video-popup-inner { max-height: 86vh; padding: 16px; border-radius: 13px; }
    .video-popup-inner h3 { font-size: 16px; margin-bottom: 14px; }
    #productVideoPopup .video-popup-inner > .video-popup-close { top: 10px; right: 10px; width: 32px; height: 32px; padding: 0; font-size: 0; }
    .video-embed-wrap { border-radius: 9px; margin-bottom: 12px; }
}
.product-summary h1 { font-size: 24px; margin-bottom: 10px; color: var(--site-text, #1a1a1a); }
.product-meta { display:flex; flex-wrap:wrap; align-items:baseline; gap:5px 14px; margin-bottom:16px; color:#666; font-size:15px; line-height:1.6; }
.product-sku { white-space:nowrap; }
.product-sku strong { color:#0366d6; font-weight:600; }
.product-categories { display:inline-flex; flex-wrap:wrap; align-items:baseline; gap:0 5px; min-width:0; }
.product-meta-label { color:#666; }
.product-categories a { color:#0366d6; text-decoration:none; }
.product-categories a:hover { color:#024ea2; text-decoration:none; }
.product-category-separator { color:#999; }
.product-summary .price-large { display:flex; align-items:center; gap:10px; flex-wrap:wrap; font-size:20px; color:var(--site-primary, #e60012); font-weight:700; margin-bottom:18px; }
.product-summary .price-large .price-current { font-size:20px; color:var(--site-primary, #e60012); font-weight:700; }
.product-price-unit { font-size:.85em; font-weight:600; white-space:nowrap; }
.product-summary .price-large > .product-price-unit { margin-left:-7px; color:var(--site-primary, #e60012); font-size:14px; }
.product-summary .price-large .old-price { font-size:16px; color:#999; text-decoration:line-through; margin-left:0; }
.product-detail-discount { display:inline-flex; align-items:center; justify-content:center; min-width:52px; height:26px; padding:0 10px; background:linear-gradient(135deg,var(--site-primary, #e60012) 0%, var(--site-primary-highlight, #ff3a45) 100%); color:var(--site-surface, #fff); border-radius:999px; font-size:12px; font-weight:800; letter-spacing:0.04em; box-shadow:0 4px 12px rgba(var(--site-primary-rgb, 230, 0, 18),.18); }
.product-detail-discount[hidden], .product-savings[hidden], .product-summary .old-price[hidden] { display:none !important; }
.product-savings { margin:8px 0 12px; color:#287a3e; font-size:14px; line-height:1.4; }
.product-savings strong { color:#287a3e; font-weight:600; }
.product-summary > .price-large { margin-bottom:10px !important; }
.product-summary > .sold-note { margin:0 0 10px; }
.product-summary > .product-savings { margin:8px 0 12px; }
@property --variant-attention-angle {
    syntax: "<angle>";
    inherits: false;
    initial-value: 0deg;
}
.product-variant-selector {
    position: relative;
    margin: 22px 0 24px;
    padding: 18px;
    border: 1px solid #e8eaed;
    border-radius: 12px;
    background: var(--site-surface, #fff);
    box-shadow: 0 8px 24px rgba(22, 31, 45, .05);
}
.variant-auto-pick {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 16px;
    padding-bottom: 14px;
    border-bottom: 1px solid #eef0f2;
}
.variant-auto-pick-title { color: var(--site-text, #333); font-size: 13px; font-weight: 700; }
.variant-auto-pick-button {
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--site-border-soft, #d9dde3);
    border-radius: 7px;
    background: var(--site-surface, #fff);
    color: var(--site-text, #333);
    font-size: 12px;
    line-height: 1.25;
    cursor: pointer;
    transition: border-color .18s ease, color .18s ease, background .18s ease;
}
.variant-auto-pick-button:hover, .variant-auto-pick-button:focus-visible, .variant-auto-pick-button.is-auto-selected { border-color: var(--site-primary, #e60012); background: var(--site-primary-soft, #fff7f7); color: #c4000f; outline: none; }
.variant-auto-pick-button:disabled { cursor: wait; opacity: .55; }
.variant-auto-navigation { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:9px; margin:-6px 0 16px; padding-bottom:14px; border-bottom:1px solid #eef0f2; }
.variant-auto-navigation[hidden] { display:none!important; }
.variant-auto-navigation button { min-height:32px; padding:5px 10px; border:1px solid var(--site-border-soft, #d9dde3); border-radius:7px; background:var(--site-surface, #fff); color:var(--site-text, #333); font-size:12px; cursor:pointer; }
.variant-auto-navigation button:hover:not(:disabled), .variant-auto-navigation button:focus-visible:not(:disabled) { border-color:var(--site-primary, #e60012); background:var(--site-primary-soft, #fff7f7); color:#c4000f; outline:none; }
.variant-auto-navigation button:disabled { cursor:not-allowed; opacity:.45; }
.variant-auto-navigation .variant-auto-jump-input { width:68px; height:32px; padding:4px 7px; border:1px solid var(--site-border-soft, #d9dde3); border-radius:7px; color:var(--site-text, #333); font-size:12px; text-align:center; }
.variant-auto-navigation .variant-auto-jump-input:focus { border-color:var(--site-primary, #e60012); outline:2px solid rgba(var(--site-primary-rgb, 230, 0, 18),.12); }
.variant-auto-navigation .variant-auto-jump-input[aria-invalid="true"] { border-color:var(--site-primary, #e60012); }
.variant-auto-navigation .variant-auto-jump-count { min-width:32px; color:#667085; font-size:12px; text-align:center; }
.product-variant-selector.is-missing-selection::after {
    content: "";
    position: absolute;
    z-index: 5;
    inset: -3px;
    padding: 3px;
    border-radius: inherit;
    background: conic-gradient(from var(--variant-attention-angle), transparent 0deg 285deg, rgba(var(--site-primary-rgb, 230, 0, 18), .18) 310deg, var(--site-primary, #e60012) 342deg, transparent 360deg);
    -webkit-mask: linear-gradient(var(--site-surface, #fff) 0 0) content-box, linear-gradient(var(--site-surface, #fff) 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    pointer-events: none;
    animation: variant-attention-orbit .9s linear infinite;
}
@keyframes variant-attention-orbit {
    to { --variant-attention-angle: 1turn; }
}
@media (prefers-reduced-motion: reduce) {
    .product-variant-selector.is-missing-selection::after { animation: none; background: var(--site-primary, #e60012); }
}
.product-variant-selector.is-loading {
    opacity: .72;
}
.variant-group + .variant-group {
    margin-top: 20px;
    padding-top: 18px;
    border-top: 1px solid #eef0f2;
}
.variant-group-heading {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 10px;
}
.size-guide-link {
    display: block;
    width: fit-content;
    margin: 0 0 10px;
}
.variant-group-label {
    color: #1d2329;
    font-size: 14px;
    font-weight: 750;
}
.variant-group-selected {
    color: #68717b;
    font-size: 12px;
    font-weight: 600;
    text-align: right;
}
.variant-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(118px, 1fr));
    gap: 9px;
}
.variant-option {
    position: relative;
    display: flex;
    min-height: 58px;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    gap: 3px;
    padding: 10px 12px;
    border: 1px solid #dfe3e7;
    border-radius: 8px;
    background: var(--site-surface, #fff);
    color: #252b31;
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, box-shadow .18s ease, color .18s ease;
}
.variant-option:hover {
    border-color: var(--site-primary, #e60012);
    box-shadow: none;
}
.variant-option.is-selected {
    border: 1px solid var(--site-primary, #e60012);
    padding: 8px 14px;
    background: var(--site-surface, #fff);
    color: var(--site-text, #333);
    box-shadow: none;
}
.variant-option.is-selected::after {
    content: none;
}
.cart-edit-variant{display:inline-block;margin:7px 10px 0 0;padding:0;border:0;background:none;color:var(--site-primary-hover, #b42332);font-size:12px;cursor:pointer;text-align:left;transition:color .16s ease,text-shadow .16s ease,transform .16s ease}
.cart-accessory-edit-list{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:4px}
.cart-edit-accessory{display:inline-flex;align-items:center;gap:4px;margin:0;padding:2px 0;border:0;background:none;color:var(--site-primary-hover, #b42332);font-size:12px;cursor:pointer;text-align:left;transition:color .16s ease,text-shadow .16s ease,transform .16s ease}
.cart-product-note{display:inline-block;margin:7px 10px 0 0;padding:0;border:0;background:none;color:var(--site-primary-hover, #b42332);font-size:12px;cursor:pointer;text-align:left;transition:color .16s ease,text-shadow .16s ease,transform .16s ease}
.cart-edit-variant:hover,
.cart-edit-variant:focus-visible,
.cart-edit-accessory:hover,
.cart-edit-accessory:focus-visible,
.cart-product-note:hover,
.cart-product-note:focus-visible,
.cart-table .cart-promotion:hover,
.cart-table .cart-promotion:focus-visible{
    color:#f5223b;
    text-shadow:0 0 8px rgba(245,34,59,.28);
    text-decoration:none;
    transform:translateY(-1px);
}
.cart-variant-modal{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(0,0,0,.62)}
.cart-variant-modal[hidden]{display:none}
.cart-variant-modal-open{overflow:hidden}
.cart-variant-modal-dialog{position:relative;width:min(560px,100%);max-height:90vh;overflow:auto;padding:24px;border-radius:12px;background:var(--site-surface, #fff);box-shadow:0 16px 50px rgba(0,0,0,.25)}
#accessory-variant-modal-title{box-sizing:border-box;max-width:calc(100% - 44px);margin:0 0 14px;padding-right:4px;overflow-wrap:anywhere;word-break:normal;line-height:1.4}
.cart-variant-modal-close{
    position:absolute;
    top:12px;
    right:12px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:32px;
    min-width:32px;
    height:32px;
    min-height:32px;
    padding:0 0 2px;
    border:1px solid var(--site-border, #cbd5e1);
    border-radius:6px;
    background:var(--site-surface-muted, #f8fafc);
    color:#334155;
    cursor:pointer;
    font-size:20px;
    line-height:1;
    text-align:center;
}
.cart-variant-modal-close:hover,
.cart-variant-modal-close:focus-visible{
    border-color:var(--site-primary, #e60012);
    background:var(--site-primary-soft, #fff1f2);
    color:var(--site-primary, #e60012);
}
.cart-variant-modal-product{margin:8px 0 18px;color:#667085}
.cart-accessory-select-list{display:grid;gap:8px;max-height:min(55vh,480px);overflow:auto;margin-top:12px}
.cart-accessory-select-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto auto auto;align-items:center;gap:6px 10px;min-height:48px;padding:9px 12px;border:1px solid #e1e5eb;border-radius:8px;background:var(--site-surface, #fff);color:#252b31}
.cart-accessory-select-option.has-image{grid-template-columns:auto 42px minmax(0,1fr) auto}
.cart-accessory-select-option input{width:18px;height:18px;margin:0;accent-color:var(--site-primary, #e60012)}
.cart-accessory-select-option:has(input:checked) .cart-accessory-select-name{color:var(--site-primary-hover, #b4000e);font-weight:600}
.cart-accessory-select-image-link{display:block;width:42px;height:42px;overflow:hidden;border:1px solid #e1e5eb;border-radius:6px;background:var(--site-surface-muted, #f8fafc);line-height:0}
.cart-accessory-select-image-link img{width:100%;height:100%;object-fit:cover}
.cart-accessory-select-name{min-width:0;overflow-wrap:anywhere;cursor:pointer}
.cart-accessory-select-option > small:not(.cart-accessory-discount-note):not(.cart-accessory-selected-quantity){grid-column:3;grid-row:1;color:#667085;white-space:nowrap;text-align:right}
.cart-accessory-select-option.has-image > small:not(.cart-accessory-discount-note):not(.cart-accessory-selected-quantity){grid-column:4;grid-row:1}
.cart-accessory-select-option > .cart-accessory-discount-note{grid-column:2 / -2;grid-row:2;margin:0;color:#dc2626;font-size:12px;line-height:1.35;white-space:normal}
.cart-accessory-select-option.has-image > .cart-accessory-discount-note{grid-column:2 / 4}
.cart-accessory-discount-note[hidden]{display:none}
.cart-accessory-select-option > .cart-accessory-selected-quantity{grid-column:2 / -2;grid-row:3;margin:0;color:#475569;font-size:12px;line-height:1.35;white-space:normal}
.cart-accessory-select-option.has-image > .cart-accessory-selected-quantity{grid-column:2 / 4}
.cart-accessory-editor-card{padding:14px 0;border-bottom:1px solid #e9edf2}
.cart-accessory-editor-card:first-child{padding-top:0}
.cart-accessory-editor-card:last-child{border-bottom:0}
.cart-accessory-editor-card h4{margin:0 42px 10px 0;color:#252b31;font-size:15px;font-weight:700}
.cart-accessory-edit-actions{justify-content:space-between}
.cart-accessory-total-preview{margin:12px 0;padding:11px 12px;border:1px solid #fee2e2;border-radius:7px;background:var(--site-primary-soft, #fff7f7);color:#475569;font-size:14px;font-weight:600;text-align:right}
.cart-accessory-total-preview[hidden]{display:none}
.cart-accessory-total-preview::first-letter{color:inherit}
.cart-accessory-edit-quantity{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;color:#252b31;font-size:14px;font-weight:600}
.cart-accessory-edit-quantity input{width:110px;min-height:40px;padding:8px 10px;border:1px solid var(--site-border-soft, #d9dde3);border-radius:7px;color:#252b31;font:inherit;font-weight:400}
.cart-accessory-edit-quantity input:focus{outline:0;border-color:var(--site-primary, #e60012);box-shadow:0 0 0 2px rgba(var(--site-primary-rgb, 230, 0, 18),.12)}
.cart-variant-modal-group{margin-top:16px}
.cart-variant-modal-group + .cart-variant-modal-group{padding-top:16px;border-top:1px solid #eef0f2}
.cart-variant-modal-group-heading{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.cart-variant-modal-group-heading strong{color:#1d2329;font-size:14px}
.cart-variant-modal-group-heading small{color:#68717b;font-size:12px;font-weight:500}
.cart-variant-modal-selected{color:#68717b;font-size:12px;font-weight:600;text-align:right}
.cart-variant-modal-options{display:flex;flex-wrap:wrap;gap:9px}
.cart-variant-modal-option{position:relative;display:inline-flex;min-width:78px;min-height:42px;padding:9px 13px;align-items:center;justify-content:center;border:1px solid var(--site-border-soft, #d9dde3);border-radius:8px;background:var(--site-surface, #fff);color:#252b31;cursor:pointer;overflow:hidden}
.cart-variant-modal-option:hover,
.cart-variant-modal-option:focus-visible {
    border-color: var(--site-primary, #e60012);
    box-shadow: 0 0 0 1px var(--site-primary, #e60012);
}
.cart-variant-modal-option-color{width:40px;min-width:40px;height:40px;padding:4px;border-radius:50%}
.cart-variant-modal-option-color{overflow:visible}
.cart-variant-modal-option-image{width:40px;min-width:40px;height:40px;padding:4px;border-radius:50%;overflow:visible}
.cart-variant-modal-swatch{width:30px;height:30px;border:1px solid rgba(0,0,0,.12);border-radius:50%;object-fit:cover}
.cart-variant-modal-option-color:hover,
.cart-variant-modal-option-image:hover,
.cart-variant-modal-option-color:focus-visible,
.cart-variant-modal-option-image:focus-visible {
    border-color: var(--site-primary, #e60012);
    box-shadow: 0 0 0 1px var(--site-primary, #e60012);
}
.cart-variant-modal-option.is-selected{border-color:var(--site-primary, #e60012);color:var(--site-primary-hover, #b4000e);box-shadow:0 0 0 1px var(--site-primary, #e60012)}
.cart-variant-modal-option.is-unavailable{opacity:.42}
.cart-variant-modal-option[aria-disabled="true"]{cursor:pointer;background:#f6f7f8}
.cart-variant-modal-stock{display:flex;align-items:flex-start;gap:7px;margin-top:18px;color:#159447;font-size:13px;font-weight:600}
.cart-variant-modal-stock:empty{display:none}
.cart-variant-modal-stock::before{content:"";width:7px;height:7px;flex:0 0 7px;margin-top:7px;border-radius:50%;background:#159447}
.cart-variant-modal-stock.is-out-of-stock{color:var(--site-primary, #e60012)}
.cart-variant-modal-stock.is-out-of-stock::before{background:var(--site-primary, #e60012)}
.cart-variant-modal-stock.is-loading{color:#68717b}
.cart-variant-modal-stock.is-loading::before{width:12px;height:12px;flex-basis:12px;margin-top:3px;border:2px solid var(--site-border-soft, #d9dde3);border-top-color:var(--site-primary, #e60012);background:transparent;animation:variant-stock-spin .7s linear infinite}
.cart-variant-modal-guidance{margin-top:8px;padding:0 0 4px;color:#b26a00;font-size:13px;line-height:1.55;white-space:pre-line}
.cart-variant-modal-guidance.is-ok,.cart-variant-modal-guidance.is-error{color:#b26a00}
.cart-variant-modal-actions{display:flex;justify-content:flex-end;margin-top:22px}
.cart-variant-save.is-loading{display:inline-flex;align-items:center;justify-content:center;gap:8px;cursor:wait;opacity:.82}
.cart-variant-save.is-loading::before{content:"";width:13px;height:13px;flex:0 0 13px;border:2px solid rgba(255,255,255,.45);border-top-color:var(--site-surface, #fff);border-radius:50%;animation:variant-stock-spin .7s linear infinite}
.cart-variant-modal.is-saving .cart-variant-modal-close{pointer-events:none;opacity:.45}
.variant-option[aria-disabled="true"] {
    cursor: pointer;
    opacity: .42;
    background: #f6f7f8;
}
.variant-option-value {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
}
.variant-option-note {
    max-width: 100%;
    overflow: hidden;
    color: #737c86;
    font-size: 11px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.variant-option.is-selected .variant-option-note {
    color: #b24a51;
}
.variant-stock-note {
    display: flex;
    align-items: center;
    gap: 7px;
    margin-top: 16px;
    padding-top: 13px;
    border-top: 1px solid #eef0f2;
    color: #22a06b;
    font-size: 13px;
    font-weight: 650;
}
.variant-stock-note::before {
    content: "";
    width: 7px;
    height: 7px;
    flex: 0 0 7px;
    border-radius: 50%;
    background: #22a06b;
}
.variant-stock-note.is-out-of-stock {
    color: #c62828;
}
.variant-stock-note.is-out-of-stock::before {
    background: #d93025;
}
.variant-stock-note.is-invalid-selection {
    color: #d93025;
}
.variant-stock-note.is-invalid-selection::before {
    background: #d93025;
}
.variant-stock-note.is-loading {
    color: #68717b;
}
.variant-stock-note.is-loading::before {
    width: 12px;
    height: 12px;
    flex-basis: 12px;
    border: 2px solid var(--site-border-soft, #d9dde3);
    border-top-color: var(--site-primary, #e60012);
    background: transparent;
    animation: variant-stock-spin .7s linear infinite;
}
@keyframes variant-stock-spin {
    to { transform: rotate(360deg); }
}
.variant-stock-note:empty {
    display: none;
}
.variant-guidance-note {
    margin-top: 8px;
    color: #8a5a00;
    font-size: 13px;
    line-height: 1.5;
    white-space: pre-line;
}
.variant-guidance-note[hidden] {
    display: none;
}
.variant-option[hidden] {
    display: none !important;
}
.flash-sale-banner {
    display:flex;
    flex-direction:column;
    gap:0;
    margin:-4px 0 18px;
    border-radius:8px;
    overflow:hidden;
    background:#f5a63b;
    border:1px solid #ef9d2f;
    box-shadow:0 8px 16px rgba(245, 166, 59, 0.12);
}
.flash-sale-header {
    display:flex;
    width:100%;
}
.flash-sale-badge {
    display:flex;
    align-items:center;
    justify-content:flex-start;
    width:100%;
    min-height:34px;
    padding:0 12px;
    background:linear-gradient(135deg, #ff4a3d 0%, var(--site-primary, #e60012) 100%);
    color:var(--site-surface, #fff);
    font-size:12px;
    font-weight:800;
    letter-spacing:0.04em;
    text-transform:uppercase;
    border-right:none;
}
.flash-sale-body {
    display:flex;
    justify-content:center;
    align-items:center;
    width:100%;
    padding:12px 10px 8px;
    background:#f5a63b;
}
.flash-sale-remaining {
    display:block;
    width:100%;
    text-align:center;
    color:var(--site-surface, #fff);
    font-size:18px;
    font-weight:800;
    line-height:1.3;
    letter-spacing:0.01em;
}
.flash-sale-timer {
    display:flex;
    align-items:center;
    justify-content:center;
    width:100%;
    min-height:32px;
    padding:0 10px 12px;
    background:#f5a63b;
    color:#2b2b2b;
    font-size:13px;
    font-weight:700;
    text-align:center;
}
.flash-sale-timer .countdown-value {
    display:block;
    width:100%;
    text-align:center;
    white-space:normal;
    line-height:1.4;
    color:#2b2b2b;
}
@media (max-width: 768px) {
    .product-variant-selector {
        margin: 18px 0 20px;
        padding: 15px;
    }
    .variant-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .flash-sale-banner { margin: 0 0 14px; }
    .flash-sale-badge { min-height: 30px; }
    .flash-sale-remaining { font-size: 16px; }
    .flash-sale-timer { font-size: 12px; }
}
@media (max-width: 420px) {
    .product-variant-selector {
        padding: 13px;
    }
    .variant-group-heading {
        display: block;
    }
    .variant-group-selected {
        display: block;
        margin-top: 4px;
        text-align: left;
    }
    .variant-options {
        grid-template-columns: 1fr 1fr;
        gap: 7px;
    }
    .variant-option {
        min-height: 54px;
        padding: 9px;
    }
    .flash-sale-banner {
        border-radius:8px;
    }
    .flash-sale-badge {
        min-height: 28px;
        padding: 0 10px;
        font-size: 10px;
    }
    .flash-sale-body { padding: 10px 10px 6px; }
    .flash-sale-remaining {
        font-size:15px;
    }
    .flash-sale-timer {
        min-height: 28px;
        padding: 0 10px 10px;
    }
    .flash-sale-timer .countdown-value {
        font-size: 11px;
    }
}
.product-max-order-note { margin: 0 0 18px; color: #8a3d00; font-size: 13px; font-weight: 600; }
.product-summary .description { color: #666; margin-bottom: 25px; line-height: 1.8; }
.product-promotion { display:inline-block; background:var(--site-surface, #fff); color:var(--site-primary, #d40012); border:1px dashed var(--site-primary, #e60012); padding:8px 12px 10px; border-radius:5px; margin-bottom:22px; }
.promotion-panel{display:block;position:relative;padding-top:18px;text-align:left}.promotion-panel-title{position:absolute;top:-12px;left:12px;z-index:1;display:flex;align-items:center;gap:8px;padding:0 10px;background:var(--site-surface, #fff);white-space:nowrap;font-weight:700;font-size:14px;line-height:1.4}.promotion-panel ul{margin:0;padding-left:22px;color:#111}.promotion-panel li{margin:8px 0}.promotion-check{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;margin-right:5px;background:#16a34a;color:var(--site-surface, #fff);font-size:11px;line-height:1;border-radius:2px}.promotion-copy{border:0;background:none;color:var(--site-primary, #d40012);cursor:pointer;padding:0;font-size:12px}
.promotion-condition{border:0;background:none;color:#555;text-decoration:underline;cursor:pointer;padding:0 0 0 10px;font-size:12px}.voucher-detail-overlay{position:fixed;inset:0;z-index:4000;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px}.voucher-detail-modal{width:min(480px,100%);background:var(--site-surface, #fff);color:var(--site-text, #222);box-shadow:0 12px 40px rgba(0,0,0,.25);border-radius:4px;overflow:hidden}.voucher-detail-modal h3{margin:0;padding:18px;text-align:center;color:#d9233f;font-size:21px}.voucher-detail-code{display:flex;justify-content:space-between;gap:20px;padding:14px 16px;background:#f3f3f3}.voucher-detail-note{display:flex;flex-direction:column;gap:14px;padding:14px 16px;min-height:100px}.voucher-detail-section p{margin:0 0 5px;color:#666}.voucher-detail-section > div{line-height:1.6}.voucher-detail-actions{display:flex;gap:14px;padding:16px;border-top:1px solid var(--site-border-soft, #eee)}.voucher-detail-actions button{flex:1;padding:11px;border:1px solid #e52d48;background:var(--site-surface, #fff);color:#e52d48;border-radius:4px;cursor:pointer;font-size:16px}.voucher-detail-actions .is-primary{background:#e52d48;color:var(--site-surface, #fff)}.voucher-detail-actions .promotion-copy{font-size:16px}
.product-voucher-list{margin-top:22px;margin-bottom:24px}.product-voucher-list h3{margin:0 0 10px;font-size:16px;font-weight:700;color:var(--site-text, #333)}.product-voucher-list h3 i{margin-right:6px;color:var(--site-primary, #d4000a)}.product-voucher-chips{display:flex;align-items:center;gap:0;flex-wrap:wrap}.coupon_item.lite{flex:0 0 auto;border-radius:0;filter:none;min-height:0;overflow:hidden;padding:0!important;margin-left:5px;margin-right:5px}.coupon_content.product-voucher-chip,.coupon_content.product-voucher-chip.promotion-condition{position:relative;z-index:0;display:inline-flex;align-items:center;justify-content:center;height:auto;min-height:0;margin:0;padding:3px 12px;overflow:visible;border:1px solid var(--site-primary, #dc2b2b);border-radius:5px;background:transparent;color:var(--site-primary, #dc2b2b);text-decoration:none;font-family:inherit;font-size:12px;font-weight:400;line-height:1.5;white-space:nowrap;cursor:pointer;transition:background .18s ease,color .18s ease}.coupon_content.product-voucher-chip:before,.coupon_content.product-voucher-chip:after{content:"";position:absolute;border-radius:999px;width:10px;height:10px;background:var(--site-surface, #fff);border:1px solid var(--site-primary, #dc2b2b);top:50%;transform:translateY(-50%)}.coupon_content.product-voucher-chip:before{left:-5px}.coupon_content.product-voucher-chip:after{right:-5px}.coupon_content.product-voucher-chip:hover,.coupon_content.product-voucher-chip.promotion-condition:hover{z-index:3;background:transparent;color:var(--site-primary, #dc2b2b);text-decoration:none;transform:translateY(-1px);box-shadow:none}
.product-share-btn { display:flex; align-items:center; justify-content:center; width:100%; max-width:420px; min-height:44px; padding:12px 18px; border:1px solid var(--site-border, #f3b1b7); border-radius:8px; background:var(--site-surface, #fff); color:var(--site-primary, #e60012); font-size:15px; font-weight:700; cursor:pointer; transition: all 0.2s ease; box-shadow:0 4px 12px rgba(var(--site-primary-rgb, 230, 0, 18),0.06); }
.product-edit-btn { display:flex; align-items:center; justify-content:center; width:100%; max-width:none; min-height:44px; padding:12px 18px; border:1px solid #b8c7d9; border-radius:8px; background:#f5f8fb; color:#344054; font-size:15px; font-weight:700; text-decoration:none; cursor:pointer; transition:all .2s ease; }
.product-edit-btn:hover { background:#eaf1f8; border-color:#7f9fbd; color:#1d3557; text-decoration:none; box-shadow:0 6px 14px rgba(52,64,84,.1); }
.product-edit-btn i { margin-right:8px; }
.product-share-btn:hover { background:var(--site-primary-soft, #fff5f5); border-color:var(--site-primary, #e60012); box-shadow:0 8px 18px rgba(var(--site-primary-rgb, 230, 0, 18),0.10); }
.product-share-btn i { margin-right:8px; font-size:14px; }
.product-share-popup { position: fixed; inset: 0; display: none; align-items: center; justify-content: center; z-index: 9999; }
.product-share-popup.active { display: flex; }
.product-share-backdrop { position: absolute; inset: 0; background: rgba(0, 0, 0, 0.45); }
.product-share-panel { position: relative; z-index: 1; width: min(420px, calc(100vw - 32px)); background: var(--site-surface, #fff); border: 1px solid var(--site-border-soft, #eee); border-radius: 14px; box-shadow: 0 16px 42px rgba(0, 0, 0, 0.14); padding: 18px 18px 14px; }
.product-share-header { display:flex; align-items:center; justify-content:space-between; margin-bottom: 14px; }
.product-share-header h3 { margin: 0; font-size: 22px; color: var(--site-text, #1a1a1a); }
.product-share-close { width: 34px; height: 34px; border: 1px solid var(--site-border-soft, #eee); background: var(--site-surface-muted, #fafafa); border-radius: 50%; font-size: 24px; line-height: 1; color: #666; cursor: pointer; }
.product-share-close:hover { background: var(--site-primary-soft, #fff5f5); color: var(--site-primary, #e60012); border-color: var(--site-border, #f3b1b7); }
.product-share-actions { display: grid; grid-template-columns: 1fr; gap: 10px; }
.product-share-qr-wrap { display:flex; flex-direction:column; align-items:center; gap:12px; margin-top:16px; padding-top:14px; border-top:1px solid var(--site-surface-muted, #f0f0f0); }
.product-share-qr-box { display:flex; align-items:center; justify-content:center; width:170px; height:170px; padding:12px; border:1px solid #f2d5d8; border-radius:14px; background:linear-gradient(180deg,var(--site-surface, #fff),var(--site-primary-soft, #fff8f8)); box-shadow: inset 0 1px 2px rgba(0,0,0,0.02); }
.product-share-qr-box img { display:block; width:100%; max-width:150px; height:auto; }
.product-share-download-btn { margin-top:4px; }
.product-share-option { display:flex; align-items:center; gap: 12px; width: 100%; padding: 14px 16px; border: 1px solid var(--site-border-soft, #eee); border-radius: 10px; background: var(--site-surface, #fff); color: var(--site-text, #333); font-weight: 600; font-size: 15px; cursor: pointer; transition: all 0.2s ease; }
.product-share-option:hover { background: var(--site-primary-soft, #fff5f5); border-color: var(--site-border, #f3b1b7); color: var(--site-primary, #e60012); }
.share-option-icon { display:inline-flex; align-items:center; justify-content:center; width: 36px; height: 36px; border-radius: 10px; background: var(--site-surface-muted, #f7f7f7); color: var(--site-primary, #e60012); }
.share-copy-btn .share-option-icon { background: var(--site-primary-soft, #fff0f1); }
.share-facebook-btn .share-option-icon { background: #eaf2ff; color: #1877f2; }
.product-share-download-btn .share-option-icon { background: #eef6ff; color: #0d6efd; }
.share-zalo-btn .share-option-icon { background: #e9fff7; color: #016bff; }
.quantity-box { display: flex; align-items: center; gap: 15px; margin-bottom: 10px; }
.quantity-box label { font-weight: 600; }
.qty-input {
    display: inline-flex;
    align-items: stretch;
    justify-content: center;
    width: 124px;
    height: 42px;
    border: 1px solid var(--site-border, #ddd);
    border-radius: 6px;
    overflow: hidden;
    background: var(--site-surface, #fff);
    box-sizing: border-box;
}
.product-total-price { margin: 0 0 18px; color: var(--site-text, #333); font-size: 14px; font-weight: 600; }
.product-total-price strong { color: var(--site-primary, #e60012); font-size: 16px; }
.qty-input button {
    width: 38px;
    min-width: 38px;
    height: 100%;
    border: none;
    background: var(--site-surface-muted, #f5f5f5);
    cursor: pointer;
    font-size: 16px;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.qty-input button:hover { background:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.qty-input input {
    flex: 1 1 auto;
    width: 48px;
    height: 100%;
    border: none;
    text-align: center;
    font-size: 16px;
    outline: none;
    margin:0;
    padding:0;
    appearance:textfield;
    background: transparent;
}
.qty-input input::-webkit-outer-spin-button, .qty-input input::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
.product-action-stack {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: min(420px, 100%);
}
.product-action-stack > .product-share-btn,
.product-action-stack > .btn-buy-now,
.product-action-stack > .btn-product-contact,
.product-action-stack > .btn-view-cart {
    align-self: stretch;
    width: 100%;
    max-width: none;
    box-sizing: border-box;
}

.btn-buy-now {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 420px;
    min-height: 48px;
    padding: 13px 20px;
    background: linear-gradient(135deg, var(--site-primary, #e60012) 0%, var(--site-primary-highlight, #ff2b3b) 100%);
    color: var(--site-surface, #fff);
    font-size: 14px;
    font-weight: 700;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease;
    box-shadow: 0 8px 18px rgba(var(--site-primary-rgb, 230, 0, 18),0.2);
}
.btn-product-contact {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 420px;
    min-height: 48px;
    padding: 13px 20px;
    background: #198754;
    color: var(--site-surface, #fff);
    font-size: 14px;
    font-weight: 700;
    border-radius: 8px;
    text-decoration: none;
    transition: background .2s ease, transform .2s ease, box-shadow .2s ease;
    box-shadow: 0 8px 18px rgba(25, 135, 84, .18);
}
.btn-product-contact:hover {
    background: #146c43;
    color: var(--site-surface, #fff);
    text-decoration: none;
    transform: translateY(-1px);
    box-shadow: 0 12px 22px rgba(25, 135, 84, .24);
}
.btn-product-contact i { margin-right: 8px; }
.product-card .btn-product-contact {
    min-height: 0;
    padding: 8px 6px;
    background: #198754;
    font-size: 14px;
    font-weight: 600;
    border-radius: 6px;
    box-shadow: none;
}
.product-card .btn-product-contact:hover {
    background: #146c43;
    box-shadow: none;
}

.btn-buy-now:hover {
    background: linear-gradient(135deg, var(--site-primary-hover, #c0000f) 0%, var(--site-primary, #e60012) 100%);
    box-shadow: 0 12px 22px rgba(var(--site-primary-rgb, 230, 0, 18),0.24);
    transform: translateY(-1px);
}
.btn-buy-now i { margin-right: 8px; }

.btn-view-cart {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    max-width: 420px;
    min-height: 48px;
    padding: 13px 20px;
    background: var(--site-surface, #fff);
    border: 1px solid var(--site-border, #f3b1b7);
    border-radius: 8px;
    color: var(--site-primary, #e60012);
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, border-color 0.2s ease;
    box-shadow: 0 4px 12px rgba(var(--site-primary-rgb, 230, 0, 18),0.08);
}.btn-view-cart:hover {
    background: var(--site-primary-soft, #fff5f5);
    border-color: var(--site-primary, #e60012);
    box-shadow: 0 8px 18px rgba(var(--site-primary-rgb, 230, 0, 18),0.12);
    transform: translateY(-1px);
    color: var(--site-primary, #e60012);
}
.btn-view-cart i { margin-right: 8px; }

/* Tabs */
.tabs { margin-bottom: 50px; }
.tab-nav {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 2px solid var(--site-border-soft, #eee);
    margin-bottom: 25px;
    padding: 0;
}
.tab-nav button {
    padding: 12px 18px;
    background: var(--site-surface-muted, #f7f7f7);
    border: 1px solid transparent;
    border-bottom-color: transparent;
    font-size: 14px;
    font-weight: 600;
    color: #666;
    cursor: pointer;
    border-radius: 8px 8px 0 0;
    margin-bottom: -2px;
    transition: all 0.3s;
    white-space: nowrap;
}
.tab-nav button.active {
    color: var(--site-primary, #e60012);
    background: var(--site-surface, #fff);
    border-color: var(--site-border-soft, #eee) var(--site-border-soft, #eee) transparent;
    border-bottom-color: var(--site-surface, #fff);
}
.tab-content { display: none; }
.tab-content.active { display: block; }
.product-tab-content-body { min-width: 0; overflow: visible; }
.product-tab-content-body .product-editor-video-embed { display:block; width:min(100%, 860px); aspect-ratio:16/9; margin:18px auto; border-radius:10px; background:#0f172a; }
.product-tab-content-body .product-editor-iframe-embed { width:min(100%, 860px); aspect-ratio:16/9; margin:18px auto; overflow:hidden; border-radius:10px; background:#0f172a; }
.product-tab-content-body .product-editor-iframe-embed iframe { display:block; width:100%; height:100%; border:0; }
.product-tab-content-body table {
    width: max-content;
    min-width: 100%;
    margin: 22px 0;
    border: 1px solid #dbe2e8;
    border-collapse: collapse;
    table-layout: auto;
    display: block;
    max-width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
}
.product-tab-content-body table > thead,
.product-tab-content-body table > tbody,
.product-tab-content-body table > tfoot {
    display: table;
    width: max-content;
    min-width: 100%;
}
.product-tab-content-body th,
.product-tab-content-body td {
    min-width: 80px;
    padding: 11px 13px;
    border: 1px solid #dbe2e8;
    text-align: left;
    vertical-align: top;
    overflow-wrap: anywhere;
}
.product-tab-content-body tr:first-child td,
.product-tab-content-body tr:first-child th {
    background: #f5f6f8;
    color: var(--site-text, #1a1a1a);
    font-weight: 600;
}
.tab-content h2, .tab-content h3 { margin: 20px 0 15px; color: var(--site-text, #1a1a1a); }
.tab-content p { margin-bottom: 15px; line-height: 1.8; color: #555; }
.tab-content ul, .tab-content ol { margin: 15px 0 15px 25px; }
.tab-content li { margin-bottom: 8px; line-height: 1.6; }
.tab-content a, .blog-content-full a { color: var(--site-primary, #e60012); text-decoration: underline; }
.tab-content a:hover, .blog-content-full a:hover { color: var(--site-primary-hover, #c0000f); }
.tab-content .ql-align-center, .blog-content-full .ql-align-center { text-align: center; }
.tab-content .ql-align-right, .blog-content-full .ql-align-right { text-align: right; }
.tab-content .ql-align-justify, .blog-content-full .ql-align-justify { text-align: justify; }
.tab-content [style*="text-align: center"], .blog-content-full [style*="text-align: center"] { text-align: center; }
.tab-content [style*="text-align: right"], .blog-content-full [style*="text-align: right"] { text-align: right; }
.tab-content [style*="text-align: justify"], .blog-content-full [style*="text-align: justify"] { text-align: justify; }
.tab-content [style*="color"], .blog-content-full [style*="color"] { color: inherit; }
.tab-content [style*="background-color"], .blog-content-full [style*="background-color"] { padding: 2px 4px; }

/* TOC */
.toc { background: var(--site-surface-muted, #f8f8f8); padding: 20px; border-radius: 8px; margin-bottom: 30px; border-left: 4px solid var(--site-primary, #e60012); }
.toc h3 { font-size: 18px; margin-bottom: 15px; color: var(--site-text, #1a1a1a); }
.toc ul { list-style: none; margin: 0; }
.toc li { margin-bottom: 8px; }
.toc a { color: var(--site-text, #333); font-size: 14px; }
.toc a:hover { color: var(--site-primary, #e60012); }

/* Cart */
.cart-page { margin-bottom: 50px; }
.cart-table { width: 100%; border-collapse: collapse; margin-bottom: 30px; }
.cart-list-region{position:relative;min-height:80px}
.cart-promo-quantity{display:block;margin-top:4px;color:#15803d;font-size:12px;font-weight:600}
.cart-list-region.is-loading::before{content:"";position:absolute;inset:0;z-index:5;background:rgba(255,255,255,.7);cursor:wait}
.cart-list-region.is-loading::after{content:"";position:absolute;top:50%;left:50%;z-index:6;width:34px;height:34px;margin:-17px 0 0 -17px;border:3px solid #e4e4e4;border-top-color:var(--site-primary, #e60012);border-radius:50%;animation:cart-update-spin .7s linear infinite;pointer-events:none}
.cart-table th { background: var(--site-surface-muted, #f5f5f5); padding: 15px; text-align: left; font-weight: 600; border-bottom: 2px solid var(--site-border, #ddd); }
.cart-table td { padding: 15px; border-bottom: 1px solid var(--site-border-soft, #eee); vertical-align: middle; }
.cart-table .product-thumb { width: 80px; height: 80px; object-fit: cover; border-radius: 5px; display:block; }
.cart-table .product-name-cell { font-weight: 600; }
.cart-table .cart-product-link { display:block; line-height:0; flex-shrink:0; }
.cart-table .product-name-cell:hover,
.cart-table .product-name-cell:focus-visible {
    color:var(--site-primary, #e60012);
    text-decoration:none;
}
.cart-table .cart-old-price { display:inline-block; margin-left:6px; color:#999; font-size:12px; text-decoration:line-through; vertical-align:middle; }
.cart-table .cart-promotion { display:block; color:var(--site-primary-hover, #b42332); font-size:12px; margin-top:4px; white-space:normal; border:0; padding:2px 0; background:none; text-align:left; cursor:pointer; text-decoration:none; transition:color .16s ease,text-shadow .16s ease,transform .16s ease; }
.cart-promotion-detail-modal { max-height:min(80vh, 680px); overflow-y:auto; }
.cart-promotion-detail-list { list-style:none; margin:0; padding:0 18px 8px; }
.cart-promotion-detail-list li { display:flex; gap:7px; align-items:flex-start; padding:10px 0; border-top:1px solid var(--site-border-soft, #eee); line-height:1.5; }
.cart-promotion-detail-list .promotion-check { display:inline-flex; flex:0 0 16px; width:16px; height:16px; margin-top:2px; align-items:center; justify-content:center; border-radius:2px; background:#16a34a; color:var(--site-surface, #fff); font-size:11px; line-height:1; }
.cart-promotion-detail-list li > span:last-child { flex:1; }
.cart-price-breakdown-modal { max-height:min(82vh, 720px); display:flex; flex-direction:column; }
.cart-price-breakdown-modal h3 { flex:0 0 auto; }
.cart-price-breakdown-description { margin:0; padding:0 18px 12px; color:#667085; font-size:13px; line-height:1.5; }
.cart-price-breakdown-list { list-style:none; overflow-y:auto; margin:0; padding:0 18px; }
.cart-price-breakdown-item { padding:12px 0; border-top:1px solid var(--site-border-soft, #eee); }
.cart-price-breakdown-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; line-height:1.45; }
.cart-price-breakdown-heading strong:first-child { min-width:0; overflow-wrap:anywhere; }
.cart-price-breakdown-heading strong:last-child { flex:0 0 auto; color:#d9233f; white-space:nowrap; }
.cart-price-breakdown-item small { display:block; margin-top:4px; color:#667085; font-size:12px; line-height:1.45; }
.cart-price-breakdown-nested-list { margin-top:6px; padding:0 0 0 14px; }
.cart-price-breakdown-empty { padding:16px 0; color:#667085; text-align:center; }
.cart-price-breakdown-total { display:flex; justify-content:space-between; gap:12px; padding:14px 18px; border-top:1px solid var(--site-border, #ddd); }
.cart-price-breakdown-total strong:last-child { color:#d9233f; white-space:nowrap; }
.cart-price-breakdown-trigger:focus-visible { outline:2px solid #2563eb; outline-offset:2px; border-radius:3px; }
.cart-accessory-editor-empty { margin:0; padding:18px 4px; color:#64748b; text-align:center; }
.discount-row { color:var(--site-text, #333); cursor:pointer; transition:color .18s ease, background-color .18s ease; }
.discount-row:hover, .discount-row:focus-visible,
.discount-row:hover > span, .discount-row:focus-visible > span,
.discount-row:hover > strong, .discount-row:focus-visible > strong { color:var(--site-primary, #e60012) !important; }
.review-item.discount-row, .review-item.vat-row { color:var(--site-text, #333); cursor:pointer; transition:color .18s ease, background-color .18s ease; }
.review-item.discount-row:hover, .review-item.discount-row:focus-visible,
.review-item.vat-row:hover, .review-item.vat-row:focus-visible { color:var(--site-primary, #e60012); }
.order-review .review-item.discount-row strong,
.order-review .review-item.vat-row strong { color:inherit; transition:color .18s ease; }
.voucher-box { border:1px dashed var(--site-border, #ddd); border-radius:6px; padding:12px; margin-bottom:18px; background:var(--site-surface, #fff); }
.voucher-box label { display:block; font-weight:600; margin-bottom:7px; }
.voucher-input-row { flex-wrap:wrap; }
.voucher-input-row #voucher-code { display:block; width:100%; max-width:100%; flex:0 0 100%; grid-column:1 / -1; }
.voucher-input-row #apply-voucher,
.voucher-input-row #open-voucher-picker { flex:1 1 calc(50% - 4px); }
.voucher-input-row #apply-voucher,
.voucher-input-row #open-voucher-picker { min-height:36px; }
.btn-voucher-picker { border:1px solid var(--site-primary, #f0523a); border-radius:4px; padding:0 11px; background:var(--site-surface, #fff); color:var(--site-primary, #e44a32); cursor:pointer; white-space:nowrap; }
.btn-voucher-picker:hover, .btn-voucher-picker:focus-visible { background:#fff2ee; }
.cart-voucher-picker[hidden] { display:none !important; }
.cart-voucher-picker-open { overflow:hidden; }
.cart-voucher-picker { position:fixed; inset:0; z-index:10020; display:flex; align-items:center; justify-content:center; padding:18px; background:rgba(15,23,42,.58); }
.cart-voucher-picker-dialog { position:relative; width:min(780px,100%); max-height:min(86vh,800px); overflow:auto; padding:24px; border-radius:14px; background:var(--site-surface, #fff); box-shadow:0 20px 70px rgba(0,0,0,.28); }
.cart-voucher-picker-dialog h2 { margin:0 42px 5px 0; color:#202a3a; font-size:21px; }
.cart-voucher-picker-subtitle { margin:0 0 18px; color:#707887; font-size:13px; }
.cart-voucher-picker-tabs { display:flex; gap:8px; margin:0 0 16px; overflow-x:auto; padding:0 0 4px; scrollbar-width:thin; }
.cart-voucher-picker-tabs button { flex:0 0 auto; min-height:36px; padding:7px 12px; border:1px solid #d6dbe3; border-radius:7px; background:var(--site-surface, #fff); color:#46505e; font:inherit; font-size:13px; cursor:pointer; white-space:nowrap; }
.cart-voucher-picker-tabs button:hover { border-color:var(--site-primary, #f0523a); color:#d9432e; }
.cart-voucher-picker-tabs button.is-active { border-color:#e94b35; background:#fff2ee; color:#d9432e; font-weight:700; }
.cart-voucher-picker-list { display:grid; gap:12px; }
.cart-voucher-card { display:grid; grid-template-columns:150px minmax(0,1fr) 112px; min-height:150px; overflow:hidden; border:1px solid #dedede; border-radius:12px; background:var(--site-surface, #fff); }
.cart-voucher-ticket { display:flex; flex-direction:column; align-items:center; justify-content:center; padding:16px 10px; background:#f04b32; color:var(--site-surface, #fff); text-align:center; }
.cart-voucher-ticket strong { font-size:30px; line-height:1.1; }
.cart-voucher-ticket span { margin-top:7px; font-size:12px; font-weight:600; text-transform:uppercase; }
.cart-voucher-copy { min-width:0; padding:17px 18px; }
.cart-voucher-copy h3 { margin:0 0 6px; color:#242a33; font-size:20px; }
.cart-voucher-copy p { margin:3px 0; color:#59616e; font-size:13px; }
.cart-voucher-code { display:inline-block; margin-top:7px; padding:4px 8px; border:1px solid #d98b7c; color:#b94c38; font-size:12px; font-weight:700; letter-spacing:.04em; }
.cart-voucher-expiry { margin-top:8px; color:#727985; font-size:12px; }
.cart-voucher-progress { height:7px; margin-top:7px; overflow:hidden; border-radius:10px; background:#ececec; }
.cart-voucher-progress span { display:block; height:100%; border-radius:inherit; background:#f04b32; transition:width .2s ease; }
.cart-voucher-action { display:flex; align-items:center; justify-content:center; padding:12px; }
.cart-voucher-action button { width:100%; min-height:42px; border:0; border-radius:7px; background:#ef5138; color:white; font-weight:600; cursor:pointer; }
.cart-voucher-action button:disabled { background:#c9cdd2; color:var(--site-surface, #fff); cursor:not-allowed; }
.cart-voucher-action button.is-remove { background:var(--site-surface, #fff); color:var(--site-primary, #e44a32); border:1px solid var(--site-primary, #e44a32); }
.cart-voucher-action button.is-remove:hover { background:#fff2ee; }
.cart-voucher-action button.is-loading { display:inline-flex; align-items:center; justify-content:center; gap:7px; cursor:wait; opacity:.8; }
.cart-voucher-action button.is-loading::before { content:""; width:13px; height:13px; flex:0 0 13px; border:2px solid rgba(var(--site-primary-rgb, 228, 74, 50),.25); border-top-color:var(--site-primary, #e44a32); border-radius:50%; animation:voucher-button-spin .7s linear infinite; }
.cart-voucher-picker-empty, .cart-voucher-picker-loading { padding:30px 12px; color:#707887; text-align:center; }
.cart-voucher-spinner { display:inline-block; width:16px; height:16px; margin-right:5px; vertical-align:-3px; border:2px solid var(--site-border, #ddd); border-top-color:var(--site-primary, #e44a32); border-radius:50%; animation:voucher-button-spin .7s linear infinite; }
@media (max-width:600px) { .cart-voucher-picker-dialog { padding:20px 14px; } .cart-voucher-card { grid-template-columns:88px minmax(0,1fr); } .cart-voucher-ticket { padding:10px 5px; } .cart-voucher-ticket strong { font-size:22px; } .cart-voucher-copy { padding:13px 11px; } .cart-voucher-copy h3 { font-size:16px; } .cart-voucher-action { grid-column:1 / -1; padding:0 12px 12px; } .cart-voucher-action button { min-height:38px; } }
.voucher-input-row { display:flex; gap:8px; }
.voucher-input-row input { min-width:0; flex:1; padding:9px 10px; border:1px solid var(--site-border, #ddd); border-radius:4px; outline:none; }
.voucher-input-row input:focus { border-color:var(--site-primary, #e60012); }
.btn-voucher { border:0; border-radius:4px; padding:0 13px; background:var(--site-primary, #e60012); color:var(--site-surface, #fff); cursor:pointer; white-space:nowrap; }
.btn-voucher:hover, .btn-voucher:focus-visible { background:var(--site-primary-hover, #c90010); }
.btn-voucher-remove { background:var(--site-primary, #e60012); }
.btn-voucher:disabled { background:var(--site-primary, #e60012); opacity:.65; cursor:wait; }
.btn-voucher.is-loading { display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:wait; }
.btn-voucher.is-loading::before { content:""; width:14px; height:14px; flex:0 0 14px; border:2px solid rgba(255,255,255,.45); border-top-color:var(--site-surface, #fff); border-radius:50%; animation:voucher-button-spin .7s linear infinite; }
@keyframes voucher-button-spin { to { transform:rotate(360deg); } }
.applied-voucher-list { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.applied-voucher-item { display:inline-flex; align-items:center; gap:8px; padding:6px 10px; border-radius:999px; background:#fff3f4; border:1px solid #f7b7bd; color:#b11b2a; font-size:12px; font-weight:600; }
.applied-voucher-item button { position:relative; display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; padding:0; border:0; border-radius:50%; background:var(--site-primary, #e60012); color:var(--site-surface, #fff); font-size:0; line-height:1; cursor:pointer; transition:background-color .18s ease, box-shadow .18s ease; }
.applied-voucher-item button::before { content:'×'; position:absolute; top:50%; left:50%; display:block; font-family:Arial, sans-serif; font-size:16px; font-weight:400; line-height:1; transform:translate(-50%, -52%); }
.applied-voucher-item button:hover, .applied-voucher-item button:focus-visible { background:var(--site-primary-hover, #c90010); box-shadow:0 2px 5px rgba(184,0,14,.24); outline:none; }
.applied-voucher-item button:active { background:#a8000d; }
.applied-voucher-item button.is-loading { cursor:wait; opacity:.75; }
.applied-voucher-item button.is-loading::before { content:""; position:static; top:auto; left:auto; display:block; flex:0 0 12px; width:12px; height:12px; font-size:0; transform:none; border:2px solid rgba(255,255,255,.45); border-top-color:var(--site-surface, #fff); border-radius:50%; animation:voucher-button-spin .7s linear infinite; }
.voucher-message { min-height:18px; margin-top:7px; font-size:12px; }
.voucher-message.success { color:#198754; }
.voucher-message.error { color:var(--site-primary, #d40012); }
.vat-row { cursor:pointer; color:var(--site-primary, #e60012); }
.vat-row > span, .vat-row > strong { color:inherit; }
.vat-row:hover, .vat-row:focus-visible,
.vat-row:hover > span, .vat-row:focus-visible > span,
.vat-row:hover > strong, .vat-row:focus-visible > strong { color:var(--site-primary, #e60012); }
.cart-vat-breakdown-body { max-height:55vh; overflow:auto; padding:8px 16px 4px; }
.cart-vat-group { padding:12px 0; border-bottom:1px solid var(--site-border-soft, #eee); }
.cart-vat-group:last-child { border-bottom:0; }
.cart-vat-group h4 { display:flex; justify-content:space-between; gap:12px; margin:0 0 8px; color:var(--site-text, #333); font-size:15px; }
.cart-vat-group h4 span { color:var(--site-primary, #e60012); white-space:nowrap; }
.cart-vat-product { display:flex; justify-content:space-between; gap:12px; padding:7px 0; color:#555; font-size:13px; }
.cart-vat-product > span { min-width:0; }
.cart-vat-product small { display:block; margin-top:2px; color:#777; font-size:12px; }
.cart-vat-product > strong { color:var(--site-primary, #e60012); white-space:nowrap; }
.cart-vat-shipping { display:flex; justify-content:space-between; gap:12px; margin-top:8px; padding:10px 0 4px; border-top:1px solid var(--site-border-soft, #eee); color:#555; }
.cart-vat-shipping strong { color:var(--site-primary, #e60012); white-space:nowrap; }
.account-page { padding-top:25px; margin-bottom:60px; }
.account-layout { display:grid; grid-template-columns:240px minmax(0,1fr); gap:30px; align-items:start; }
.account-sidebar, .account-card { background:var(--site-surface, #fff); border:1px solid var(--site-border-soft, #eee); border-radius:8px; }
.account-sidebar { padding:18px 0; }
.account-sidebar h3 { padding:0 20px 15px; border-bottom:1px solid var(--site-border-soft, #eee); margin-bottom:8px; font-size:17px; }
.account-sidebar a { display:block; padding:11px 20px; color:#555; }
.account-sidebar a i { width:22px; color:#999; }
.account-sidebar a:hover, .account-sidebar a.active { color:var(--site-primary, #e60012); background:var(--site-primary-soft, #fff5f5); }
.account-layout.is-loading { position:relative; min-height:180px; }
.account-layout.is-loading::before { content:""; position:absolute; inset:0; z-index:5; background:rgba(255,255,255,.72); border-radius:8px; pointer-events:none; }
.account-layout.is-loading::after { content:""; position:absolute; z-index:6; top:50%; left:50%; width:30px; height:30px; margin:-15px; border:3px solid var(--site-border-soft, #e5e7eb); border-top-color:var(--site-primary, #e60012); border-radius:50%; animation:account-tab-spinner .7s linear infinite; }
@keyframes account-tab-spinner { to { transform:rotate(360deg); } }
.account-card { padding:28px; }
.account-card h1 { font-size:24px; margin-bottom:22px; }
.account-card .form-group { margin-bottom:17px; }
.account-card input:disabled { background:var(--site-surface-muted, #f5f5f5); color:#777; }
.account-divider { display:flex; flex-direction:column; gap:3px; border-top:1px solid var(--site-border-soft, #eee); padding-top:20px; margin:25px 0 18px; }
.account-divider small { color:#777; }
.account-empty { text-align:center; padding:45px 20px; color:#777; }
.account-empty i { font-size:42px; color:var(--site-border, #ddd); display:block; margin-bottom:14px; }
.account-empty p { margin-bottom:18px; }
.account-empty .btn-buy-now { display:inline-flex; width:auto; max-width:none; min-height:auto; padding:12px 26px; font-size:15px; }
.history-order { border:1px solid var(--site-border-soft, #e5e5e5); border-radius:7px; margin-bottom:16px; overflow:hidden; }
.history-order-head { display:flex; justify-content:space-between; gap:15px; padding:14px 16px; background:var(--site-surface-muted, #fafafa); border-bottom:1px solid var(--site-border-soft, #eee); }
.history-order-head small { color:#888; display:block; margin-top:3px; }
.order-expected-delivery { margin:6px 0 0; color:#475467; font-size:13px; }
.order-action-row { display:flex; justify-content:flex-end; align-items:center; gap:8px; flex-wrap:wrap; padding:0 16px 16px; }
.order-action-row .cancel-order-form { margin:0; }
.history-order .order-action-row { justify-content:flex-end; }
.history-order .order-action-row .btn {
    padding:8px 16px;
    font-size:13px;
    line-height:20.8px;
}
.order-cancel-note { color:#666; font-size:13px; margin-right:auto; }
.order-status { padding:4px 9px; border-radius:20px; font-size:12px; height:max-content; white-space:nowrap; }
.order-status-timeline {
    display:flex;
    align-items:flex-start;
    gap:0;
    padding:18px 16px 16px;
    border-bottom:1px solid var(--site-border-soft, #eee);
    background:var(--site-surface, #fff);
}
.order-status-step {
    position:relative;
    display:flex;
    flex:1 1 0;
    flex-direction:column;
    align-items:center;
    gap:7px;
    min-width:0;
    color:#98a2b3;
    font-size:11px;
    line-height:1.3;
    text-align:center;
}
.order-status-step::before {
    content:'';
    position:absolute;
    top:6px;
    right:50%;
    width:100%;
    height:2px;
    background:var(--site-border-soft, #e5e7eb);
}
.order-status-step:first-child::before { display:none; }
.order-status-step-dot {
    position:relative;
    z-index:1;
    width:14px;
    height:14px;
    border:3px solid var(--site-border-soft, #e5e7eb);
    border-radius:50%;
    background:var(--site-surface, #fff);
}
.order-status-step.is-complete,
.order-status-step.is-current { color:#344054; font-weight:600; }
.order-status-step.is-complete::before,
.order-status-step.is-current::before { background:#111827; }
.order-status-step.is-complete .order-status-step-dot,
.order-status-step.is-current .order-status-step-dot {
    border-color:#111827;
    background:#111827;
}
.order-status-step.is-current .order-status-step-dot { box-shadow:0 0 0 4px rgba(17,24,39,.1); }
.order-status-timeline.is-terminal .order-status-step { flex:0 0 50%; }
.order-status-timeline.is-terminal .order-status-step::before { display:none; }
.status-pending { background:#fff3cd; color:#856404; }
.status-awaiting-pickup { background:#dbeafe; color:#1d4ed8; }
.status-returned { background:#fce7f3; color:#9d174d; }
.status-shipping { background:#cfe2ff; color:#084298; }
.status-processing { background:#cfe2ff; color:#084298; }
.status-completed { background:#d1e7dd; color:#0f5132; }
.status-cancelled { background:#f8d7da; color:#842029; }
.order-status-filter-btn {
    border:1px solid var(--site-border, #d0d5dd);
    background:var(--site-surface, #fff);
    color:#344054;
    border-radius:999px;
    padding:8px 13px;
    cursor:pointer;
    transition:all .2s ease;
}
.order-status-filter-btn:hover,
.order-status-filter-btn.active {
    background:#111827;
    border-color:#111827;
    color:var(--site-surface, #fff);
}
.order-status-filter-btn:disabled { opacity:.6; cursor:wait; }
.btn.order-status-update-locked,
.btn.order-status-update-locked:hover,
.card table td .btn.order-status-update-locked {
    background:#98a2b3 !important;
    border-color:#98a2b3 !important;
    color:var(--site-surface, #fff) !important;
    cursor:wait !important;
    opacity:1 !important;
    box-shadow:none !important;
    transform:none !important;
}
.ajax-toggle-status.user-status-toggle-locked,
.ajax-toggle-status.user-status-toggle-locked:hover {
    background:#98a2b3 !important;
    border-color:#98a2b3 !important;
    color:var(--site-surface, #fff) !important;
    cursor:wait !important;
    opacity:1 !important;
    pointer-events:none !important;
    box-shadow:none !important;
    transform:none !important;
}
.admin-ajax-action-locked,
.admin-ajax-action-locked:hover,
.btn.contact-note-save-loading,
.btn.contact-note-save-loading:hover {
    background:#98a2b3 !important;
    border-color:#98a2b3 !important;
    color:var(--site-surface, #fff) !important;
    cursor:wait !important;
    opacity:1 !important;
    pointer-events:none !important;
    box-shadow:none !important;
    transform:none !important;
}
.btn.faq-reorder-locked,
.btn.faq-reorder-locked:hover {
    background:#98a2b3 !important;
    border-color:#98a2b3 !important;
    color:var(--site-surface, #fff) !important;
    cursor:wait !important;
    opacity:1 !important;
    pointer-events:none !important;
    box-shadow:none !important;
    transform:none !important;
}
.store-location-action-locked,
.store-location-action-locked:hover {
    background:#98a2b3 !important;
    border-color:#98a2b3 !important;
    color:var(--site-surface, #fff) !important;
    cursor:wait !important;
    opacity:1 !important;
    pointer-events:none !important;
    box-shadow:none !important;
    transform:none !important;
}
.btn.vat-industry-action-locked,
.btn.vat-industry-action-locked:hover {
    background:#98a2b3 !important;
    border-color:#98a2b3 !important;
    color:var(--site-surface, #fff) !important;
    cursor:wait !important;
    opacity:1 !important;
    pointer-events:none !important;
    box-shadow:none !important;
    transform:none !important;
}
.order-history-status-filters { position:relative; }
.tracking-search-form { margin-bottom:18px; }
.tracking-status-filters {
    display:flex;
    flex-wrap:wrap;
    justify-content:flex-start;
    column-gap:10px !important;
    row-gap:10px !important;
    margin:0 auto 22px;
}
.order-history-status-filters.is-loading { pointer-events:none; }
.order-history-status-filters.is-loading::after {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:18px;
    height:18px;
    margin:-11px 0 0 -11px;
    border:3px solid rgba(17,24,39,.16);
    border-top-color:#111827;
    border-radius:50%;
    background:var(--site-surface, #fff);
    animation:order-history-filter-spinner .7s linear infinite;
    z-index:2;
}
.order-history-status-filters.is-loading .order-status-filter-btn { opacity:.45; }
@keyframes order-history-filter-spinner { to { transform:rotate(360deg); } }
#order-history-content { position:relative; min-height:60px; }
#order-history-content.is-loading::before {
    content:'';
    position:absolute;
    top:50%;
    left:50%;
    width:22px;
    height:22px;
    z-index:5;
    border:3px solid var(--site-border-soft, #e5e7eb);
    border-top-color:var(--site-primary, #e60012);
    border-radius:50%;
    animation:order-history-spinner .7s linear infinite;
    transform:translate(-50%, -50%);
}
#order-history-content.is-loading::after {
    content:'Đang tải danh sách đơn hàng...';
    position:absolute;
    top:calc(50% + 25px);
    left:0;
    right:0;
    z-index:5;
    color:#475467;
    font-size:14px;
    text-align:center;
}
#order-history-content.is-loading .order-history-list { opacity:.45; pointer-events:none; }
@keyframes order-history-spinner { to { transform:translate(-50%, -50%) rotate(360deg); } }
.product-not-found {
    position:relative;
    display:grid;
    min-height:100vh;
    place-items:center;
    overflow:hidden;
    padding:32px 20px;
    background:radial-gradient(circle at 50% 35%, var(--site-primary-soft, #fff7f7) 0, var(--site-surface, #fff) 46%, var(--site-surface-muted, #f8fafc) 100%);
}
.product-not-found-card {
    position:relative;
    z-index:2;
    width:min(100%, 520px);
    padding:52px 32px 44px;
    border:1px solid rgba(var(--site-primary-rgb, 230, 0, 18),.12);
    border-radius:28px;
    background:rgba(255,255,255,.9);
    box-shadow:0 24px 70px rgba(113,24,35,.14);
    text-align:center;
}
.product-not-found-icon {
    display:grid;
    width:82px;
    height:82px;
    margin:0 auto 14px;
    place-items:center;
    border-radius:50%;
    color:var(--site-primary, #e60012);
    background:linear-gradient(145deg,var(--site-surface, #fff),#ffe2e5);
    box-shadow:0 0 0 9px rgba(var(--site-primary-rgb, 230, 0, 18),.06), 0 0 32px rgba(var(--site-primary-rgb, 230, 0, 18),.25);
    font-size:34px;
    animation:product-not-found-glow 2.2s ease-in-out infinite;
}
.product-not-found-code {
    display:block;
    color:var(--site-primary, #e60012);
    font-size:clamp(58px,12vw,92px);
    font-weight:900;
    letter-spacing:.08em;
    line-height:1;
    text-shadow:0 8px 24px rgba(var(--site-primary-rgb, 230, 0, 18),.16);
}
.product-not-found-card h1 { margin:20px 0 8px; color:#1f2937; font-size:clamp(22px,5vw,32px); }
.product-not-found-card p { max-width:380px; margin:0 auto 24px; color:#667085; line-height:1.7; }
.product-not-found-link {
    display:inline-flex;
    align-items:center;
    gap:8px;
    padding:12px 20px;
    border-radius:999px;
    color:var(--site-surface, #fff);
    background:var(--site-primary, #e60012);
    box-shadow:0 10px 22px rgba(var(--site-primary-rgb, 230, 0, 18),.22);
    font-weight:700;
    text-decoration:none;
    transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.product-not-found-link:hover { color:var(--site-surface, #fff); background:var(--site-primary-hover, #c90010); box-shadow:0 14px 28px rgba(var(--site-primary-rgb, 230, 0, 18),.3); transform:translateY(-2px); }
.product-not-found-orbit { position:absolute; border:1px solid rgba(var(--site-primary-rgb, 230, 0, 18),.12); border-radius:50%; pointer-events:none; }
.product-not-found-orbit-one { width:420px; height:420px; animation:product-not-found-orbit 16s linear infinite; }
.product-not-found-orbit-two { width:680px; height:680px; border-color:rgba(var(--site-primary-rgb, 230, 0, 18),.07); animation:product-not-found-orbit 24s linear infinite reverse; }
@keyframes product-not-found-glow { 50% { transform:translateY(-5px) scale(1.04); box-shadow:0 0 0 12px rgba(var(--site-primary-rgb, 230, 0, 18),.04), 0 0 42px rgba(var(--site-primary-rgb, 230, 0, 18),.34); } }
@keyframes product-not-found-orbit { to { transform:rotate(360deg); } }
.history-items { padding:12px 16px; }
.history-item { display:flex; justify-content:space-between; gap:15px; padding:5px 0; }
.history-product-meta { display:flex; align-items:flex-start; gap:10px; min-width:0; }
.history-product-thumb-link { display:flex; width:40px; height:40px; border-radius:8px; overflow:hidden; border:1px solid var(--site-border-soft, #e5e7eb); background:var(--site-surface, #fff); flex-shrink:0; }
.history-product-thumb { display:block; width:100%; height:100%; object-fit:cover; }

/* Emphasize product links in order lists and tables */
.history-item a,
.order-history-list a,
.order-history-list .history-item a,
.history-order .history-item a,
.card table a,
/* checkout and order-review */
.review-item a,
.order-review a,
.review-item a:hover,
.order-review a:hover,
.card table a {
    color: #0366d6; /* blue for emphasis */
    text-decoration: underline;
}
.history-item a:hover,
.order-history-list a:hover,
.card table a:hover {
    color: #024ea2;
}
.review-item a:hover,
.order-review a:hover {
    color: #024ea2;
}

.history-total { border-top:1px solid var(--site-border-soft, #eee); padding:12px 16px; color:#555; }
.history-price-row { display:flex; justify-content:flex-end; gap:24px; margin:5px 0; }
.history-price-row span { min-width:180px; text-align:right; }
.history-price-row strong { min-width:120px; text-align:right; color:var(--site-text, #333); }
.history-price-discount strong { color:#d33; }
.history-grand-total { border-top:1px solid var(--site-border-soft, #eee); margin-top:9px; padding-top:9px; font-size:16px; }
.history-grand-total strong { color:var(--site-primary, #e60012); }
.cart-table .remove-btn { color: var(--site-primary, #e60012); cursor: pointer; font-size: 18px; background: none; border: none; }
.cart-table .remove-btn:hover,
.cart-table .remove-btn:focus-visible {
    color:var(--site-primary-highlight, #ff3344);
    text-decoration:none;
}
.cart-table .qty-input { width: 122px; }
.cart-table .stock-warning { display:block; color:var(--site-primary, #e60012); font-size:12px; margin-top:6px; white-space:normal; }
.cart-table .out-of-stock-row { background:var(--site-primary-soft, #fff8f8); }
.cart-table tr.is-updating {
    position: relative;
    opacity: .62;
    transition: opacity .15s ease;
}
.cart-table tr.is-updating::after,
.cart-summary.is-updating::after {
    content: "";
    position: absolute;
    width: 20px;
    height: 20px;
    border: 2px solid #e4e4e4;
    border-top-color: var(--site-primary, #e60012);
    border-radius: 50%;
    animation: cart-update-spin .7s linear infinite;
    pointer-events: none;
}
.cart-table tr.is-updating::after {
    top: 50%;
    right: 18px;
    margin-top: -10px;
}
.cart-summary {
    position: relative;
}
.cart-summary.is-updating {
    opacity: .72;
}
.cart-summary.is-updating::after {
    top: 18px;
    right: 18px;
}
@keyframes cart-update-spin {
    to { transform: rotate(360deg); }
}
.cart-summary { background: var(--site-surface-muted, #f8f8f8); padding: 25px; border-radius: 8px; max-width: 400px; margin-left: auto; }
.cart-summary h3 { margin-bottom: 20px; font-size: 18px; }
.summary-row { display: flex; justify-content: space-between; margin-bottom: 15px; font-size: 15px; }
.cart-summary .summary-row.discount-row {
    color:var(--site-text, #333);
    cursor:pointer;
    transition:color .18s ease, background-color .18s ease;
}
.cart-summary .summary-row.discount-row:hover,
.cart-summary .summary-row.discount-row:focus-visible,
.cart-summary .summary-row.discount-row:hover > span,
.cart-summary .summary-row.discount-row:focus-visible > span {
    color:var(--site-primary, #e60012) !important;
}
.cart-summary .summary-row.vat-row,
.cart-summary .summary-row.vat-row > span {
    color:var(--site-primary, #e60012);
}
.cart-summary .summary-row:not(.vat-row) {
    cursor:pointer;
    transition:color .18s ease, background-color .18s ease;
}
.cart-summary .summary-row:not(.vat-row):hover > span,
.cart-summary .summary-row:not(.vat-row):focus-visible > span {
    color:var(--site-primary, #e60012) !important;
}
.cart-summary .summary-row.total > span:last-child {
    color:var(--site-primary, #e60012);
}
.summary-row.total { font-size: 18px; font-weight: bold; border-top: 2px solid var(--site-border, #ddd); padding-top: 15px; }
.btn-checkout { display: block; width: 100%; padding: 15px; background: var(--site-primary, #e60012); color: var(--site-surface, #fff); text-align: center; font-weight: bold; border: none; border-radius: 5px; cursor: pointer; font-size: 16px; margin-top: 20px; }
.btn-checkout:hover { background: var(--site-primary-hover, #c0000f); }
.empty-cart { text-align: center; padding: 80px 20px; }
.empty-cart i { font-size: 60px; color: var(--site-border, #ddd); margin-bottom: 20px; }
.empty-cart h2 { color: #666; margin-bottom: 15px; }

/* Checkout */
.checkout-page { display: grid; width: min(calc(100% - 24px), 1200px); max-width: 1200px; grid-template-columns: minmax(0, 1.7fr) minmax(0, 1fr); align-items: start; gap: 32px; margin: 0 auto 50px; box-sizing: border-box; }
.checkout-page > * { min-width: 0; }
@media (min-width: 993px) {
    .checkout-page:not(.checkout-page-complete) > .order-review { position: sticky; top: 20px; align-self: start; }
}
.checkout-page-complete { width: min(calc(100% - 24px), 960px); max-width: 960px; grid-template-columns: minmax(0, 1fr); justify-content: center; gap: 20px; }
.checkout-page-complete > .alert-success,
.checkout-page-complete > .checkout-success,
.checkout-page-complete > .checkout-complete-message,
.checkout-page-complete > .order-review { grid-column: 1; width: 100%; max-width: 960px; justify-self: center; box-sizing: border-box; }
.checkout-success { grid-column:1/-1; width:100%; max-width:960px; justify-self:center; box-sizing:border-box; text-align:center; padding:38px 20px; }
.checkout-success h2 { margin-bottom:12px; }
.checkout-success p { margin-bottom:22px; }
.checkout-success-actions { display:flex; justify-content:center; gap:12px; flex-wrap:wrap; }
.apibank-checkout-modal-overlay { position:fixed; inset:0; z-index:30000; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(15,23,42,.62); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); }
.apibank-payment-modal { position:relative; width:min(620px,100%); max-height:min(90vh,820px); overflow:auto; padding:24px; border:1px solid #dbe4f0; border-radius:16px; background:#f8fbff; color:#172033; box-shadow:0 24px 70px rgba(0,0,0,.3); }
.apibank-payment-modal h3 { margin:0 34px 16px 0; color:#172033; font-size:20px; text-align:left; }
.apibank-payment-close { position:absolute; top:10px; right:10px; }
.modal-close-button { display:inline-flex; align-items:center; justify-content:center; width:32px; min-width:32px; height:32px; min-height:32px; padding:0 0 2px; border:1px solid var(--site-border, #cbd5e1); border-radius:6px; background:var(--site-surface-muted, #f8fafc); color:#334155; cursor:pointer; font-size:20px; line-height:1; text-align:center; }
.modal-close-button:hover,.modal-close-button:focus-visible { border-color:var(--site-primary, #e60012); background:var(--site-primary-soft, #fff1f2); color:var(--site-primary, #e60012); outline:none; }
.apibank-payment-qr { display:block; width:min(280px,100%); height:auto; margin:0 auto 16px; border:1px solid #dbe1e8; border-radius:10px; background:var(--site-surface, #fff); }
.apibank-qr-download { display:flex; align-items:center; justify-content:center; gap:7px; width:max-content; max-width:100%; min-height:38px; margin:0 auto 16px; padding:8px 12px; border:1px solid var(--site-border, #d0d5dd); border-radius:8px; background:var(--site-surface, #fff); color:#344054; font:inherit; font-weight:700; line-height:1.3; cursor:pointer; transition:border-color .18s ease,background-color .18s ease,color .18s ease; }
.apibank-qr-download:hover,.apibank-qr-download:focus-visible { border-color:#f1a3aa; background:#fff4f5; color:var(--site-primary, #e60012); outline:none; }
.apibank-qr-download[hidden] { display:none!important; }
#admin-apibank-qr-wrap { display:flex; flex-direction:column; align-items:center; }
#admin-apibank-qr-wrap > small { align-self:center; text-align:center; }
#admin-apibank-qr { margin:0 auto 8px!important; }
#admin-apibank-qr-download { align-self:center; margin:0 auto 16px!important; }
.admin-apibank-qr-loading { align-items:center; justify-content:center; gap:9px; min-height:54px; color:#475467; font-weight:600; }
.apibank-secret-input:disabled { background:#f2f4f7!important; color:#344054!important; cursor:not-allowed; opacity:1; }
.apibank-secret-input:not(:disabled) { background:var(--site-surface, #fff)!important; cursor:text; }
.apibank-payment-details { display:grid; gap:0; margin:0 0 18px; }
.apibank-payment-details p { display:grid; grid-template-columns:minmax(104px,30%) minmax(0,1fr); align-items:center; gap:8px; margin:0; padding:8px 0; border-bottom:1px solid #e1e7ef; line-height:1.5; overflow-wrap:anywhere; }
.apibank-payment-details p:last-child { border-bottom:0; }
.apibank-payment-details strong { min-width:0; font-weight:700; }
.apibank-payment-details code { padding:2px 5px; border-radius:4px; background:#eaf0f7; color:#172033; overflow-wrap:anywhere; }
.apibank-payment-copy-value { display:grid; grid-template-columns:minmax(0,1fr) 30px; align-items:center; justify-content:space-between; gap:8px; width:100%; min-width:0; max-width:100%; vertical-align:middle; }
.checkout-lookup-code { display:inline-flex; align-items:center; gap:6px; max-width:100%; min-width:0; vertical-align:middle; }
.checkout-lookup-code strong { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.checkout-page-complete > .alert-success,
.checkout-page-complete > .checkout-success { min-width:0; overflow-wrap:anywhere; }
.apibank-payment-copy-text { min-width:0; overflow-wrap:anywhere; word-break:break-word; }
.apibank-transfer-content-row .apibank-payment-copy-text { font-size:1.35rem; font-weight:800; letter-spacing:.16em; line-height:1.5; }
.apibank-copy-button { display:inline-grid; place-items:center; flex:0 0 auto; width:30px; height:30px; padding:0; border:1px solid var(--site-border, #d0d5dd); border-radius:7px; background:var(--site-surface, #fff); color:#475467; font-size:13px; cursor:pointer; transition:color .18s ease,border-color .18s ease,background-color .18s ease; }
.apibank-copy-button:hover,.apibank-copy-button:focus-visible { border-color:#f1a3aa; background:#fff4f5; color:var(--site-primary, #e60012); outline:none; }
.apibank-payment-expiry { color:#667085; }
.apibank-payment-details .apibank-payment-expiry { grid-template-columns:minmax(104px,30%) minmax(0,1fr); }
.apibank-payment-expiry-date { grid-column:2; color:#667085; font-size:11px; line-height:1.35; }
.apibank-countdown { display:inline-flex; align-items:center; gap:4px; min-width:0; }
.apibank-countdown-unit { display:inline-flex; flex:0 0 34px; flex-direction:column; align-items:center; justify-content:center; width:34px; height:34px; border-radius:4px; background:var(--site-primary, #e60012); color:var(--site-surface, #fff); font-variant-numeric:tabular-nums; line-height:1; }
.apibank-countdown-unit strong { font-size:14px; font-weight:700; }
.apibank-countdown-unit small { margin-top:3px; color:var(--site-surface, #fff); font-size:8px; line-height:1; }
.apibank-payment-actions { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.apibank-payment-actions-single { grid-template-columns:1fr; }
.apibank-payment-modal .btn-buy-now.apibank-payment-pay-button,
.apibank-payment-modal .btn-buy-now.apibank-payment-pay-button:visited,
.apibank-payment-modal .btn-buy-now.apibank-payment-pay-button:hover,
.apibank-payment-modal .btn-buy-now.apibank-payment-pay-button:focus { display:flex; grid-column:1/-1; align-items:center; justify-content:center; width:100%; max-width:none; min-height:48px; margin:0; color:var(--site-surface, #fff)!important; text-decoration:none!important; }
.apibank-payment-track-button { display:flex; align-items:center; justify-content:center; min-height:48px; padding:12px 16px; border:1px solid var(--site-border, #d0d5dd); border-radius:8px; background:var(--site-surface, #fff); color:#344054!important; font-weight:700; text-align:center; text-decoration:none!important; }
.apibank-payment-track-button:hover { border-color:#98a2b3; background:#f2f4f7; color:#101828!important; }
.apibank-order-payment { margin:0 16px 16px; padding:20px 18px 18px; border:1px solid #dbe4f0; border-radius:16px; background:#f8fbff; color:#172033; box-shadow:0 8px 24px rgba(16,24,40,.06); }
.checkout-success-payment { width:min(620px,100%); max-width:620px; margin:16px auto; padding:24px 24px 10px; box-sizing:border-box; text-align:left; }
.checkout-success-payment .apibank-payment-qr { margin:0 auto 16px; }
.checkout-success-payment .apibank-payment-details p { grid-template-columns:minmax(104px,30%) minmax(0,1fr); text-align:left; }
.checkout-success-payment .apibank-payment-details .apibank-fixed-qr-instructions { display:block; grid-column:1/-1; width:100%; max-width:none; box-sizing:border-box; padding:12px 0; line-height:1.6; }
.apibank-order-payment .apibank-payment-details .apibank-fixed-qr-instructions { display:block; grid-column:1/-1; width:100%; max-width:none; box-sizing:border-box; padding:12px 0; line-height:1.6; }
.apibank-payment-modal .apibank-payment-details .apibank-fixed-qr-instructions { display:block; grid-column:1/-1; width:100%; max-width:none; box-sizing:border-box; padding:12px 0; line-height:1.6; }
.checkout-success-payment .apibank-payment-details .apibank-payment-expiry { grid-template-columns:minmax(104px,30%) minmax(0,1fr); }
.checkout-success-payment .apibank-payment-actions-single { grid-template-columns:minmax(0,1fr); }
.checkout-success-payment .apibank-payment-pay-button { grid-column:1/-1; }
.checkout-payment-confirm-form { display:grid; gap:10px; margin-top:18px; padding:16px; border:1px solid #dbe4f0; border-radius:12px; background:var(--site-surface, #fff); }
.checkout-payment-confirm-form label { display:grid; gap:8px; color:#172033; }
.checkout-payment-confirm-form input[type="file"] { width:100%; min-width:0; padding:10px; border:1px dashed var(--site-border, #cbd5e1); border-radius:8px; background:var(--site-surface-muted, #f8fafc); }
.checkout-payment-confirm-form small,.checkout-payment-confirmed small { color:#667085; }
.checkout-payment-confirm-form .btn-buy-now { width:100%; margin-inline:auto; }
.checkout-payment-confirmed { display:grid; gap:9px; margin-top:18px; padding:14px; border:1px solid #a6f4c5; border-radius:10px; background:#ecfdf3; color:#067647; }
.checkout-payment-confirmed img { width:min(420px,100%); max-height:480px; object-fit:contain; border:1px solid var(--site-border, #d0d5dd); border-radius:8px; background:var(--site-surface, #fff); }
.checkout-payment-proof-preview { display:inline-flex; width:fit-content; max-width:100%; }
.checkout-payment-confirmed a[data-fancybox] { display:inline-flex; width:fit-content; max-width:100%; }
.checkout-payment-proof-upload-preview { margin-top:4px; }
.checkout-payment-proof-upload-preview img { display:block; width:min(360px,100%); max-height:300px; object-fit:contain; border:1px solid var(--site-border, #d0d5dd); border-radius:8px; background:var(--site-surface, #fff); }
.checkout-payment-confirm-form button.is-loading { display:inline-flex; align-items:center; justify-content:center; gap:8px; cursor:wait; opacity:.8; }
.apibank-order-payment h4 { margin:0 0 14px; color:#172033; font-size:17px; font-weight:700; }
.apibank-order-payment .apibank-payment-qr { width:min(280px,100%); margin:0 auto 14px; }
.apibank-order-payment .apibank-payment-details { margin-bottom:14px; }
.apibank-order-payment .apibank-payment-details p { font-size:14px; }
.apibank-order-payment .apibank-payment-details code { font:inherit; font-weight:600; }
.apibank-payment-details .apibank-payment-copy-value { flex:1 1 auto; }
#admin-fixed-qr-reconciliation-form button[aria-busy="true"] { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:106px; }
.apibank-order-payment .apibank-payment-actions { align-items:stretch; }
.apibank-order-payment .apibank-payment-actions-single { grid-template-columns:1fr; }
.apibank-order-payment .apibank-payment-pay-button,
.apibank-order-payment .apibank-payment-pay-button:visited,
.apibank-order-payment .apibank-payment-pay-button:hover,
.apibank-order-payment .apibank-payment-pay-button:focus { display:flex; align-items:center; justify-content:center; width:100%; max-width:none; min-height:48px; margin:0; padding:12px 16px; border:0; border-radius:8px; background:linear-gradient(105deg,var(--site-primary, #e60012),#ff293b); box-shadow:0 8px 18px rgba(var(--site-primary-rgb, 230, 0, 18),.2); color:var(--site-surface, #fff)!important; font-weight:700; line-height:1.35; text-align:center; text-decoration:none!important; }
.apibank-order-payment .apibank-payment-pay-button:hover { background:linear-gradient(105deg,var(--site-primary-hover, #c90010),var(--site-primary-hover, #ed1427)); box-shadow:0 10px 22px rgba(var(--site-primary-rgb, 230, 0, 18),.26); }
.apibank-order-payment .apibank-payment-track-button { width:100%; }
.checkout-success-payment { display:flex; flex-direction:column; gap:12px; padding:20px; }
.checkout-success-payment > * { margin-block:0; }
.checkout-success-payment > h4 { margin:0; }
.checkout-success-payment > .apibank-payment-qr-preview { display:block; align-self:center; width:fit-content; max-width:100%; }
.checkout-success-payment .apibank-payment-qr { width:min(280px,100%); margin:0 auto; }
.checkout-success-payment > .apibank-qr-download { margin:0 auto; }
.checkout-success-payment > .apibank-payment-details { margin:0; }
.apibank-payment-unavailable { margin:0 0 14px; padding:12px 14px; border:1px solid #f4d49a; border-radius:8px; background:#fff8e8; color:#805b16; line-height:1.5; }
.apibank-payment-expired-message { display:block; }
.apibank-payment-modal-open { overflow:hidden; }
.checkout-complete-message { grid-column:1/-1; max-width:620px; margin:24px auto; padding:24px; border:1px solid #dbe4f0; border-radius:12px; background:#f8fbff; text-align:center; }
.checkout-complete-message h2 { margin:0 0 8px; }
.checkout-complete-message p { margin:0 0 18px; color:#475467; }
.checkout-complete-message .apibank-payment-track-button { width:min(360px,100%); margin:0 auto; }
.checkout-page-complete .product-note-open,
.checkout-page-complete .product-note-input { display:none!important; }
@media (max-width:560px) {
    .apibank-checkout-modal-overlay { align-items:flex-end; padding:10px; }
    .apibank-payment-modal { width:100%; max-height:92vh; padding:20px 16px 16px; border-radius:16px 16px 12px 12px; }
    .apibank-payment-modal h3 { font-size:18px; }
    .apibank-payment-qr { width:min(240px,78vw); }
    .apibank-payment-actions { grid-template-columns:1fr; }
    .apibank-order-payment { margin:0 10px 12px; padding:16px 14px 14px; border-radius:12px; }
    .checkout-success-payment.apibank-order-payment { width:100%; max-width:620px; margin:16px auto; justify-self:center; }
    .checkout-success-payment.apibank-order-payment { gap:12px; padding:16px; }
    .apibank-order-payment .apibank-payment-details p { grid-template-columns:minmax(104px,38%) minmax(0,1fr); gap:6px; font-size:13px; }
    .checkout-success-payment.apibank-order-payment .apibank-payment-details p { grid-template-columns:minmax(0,1fr); gap:4px; }
    .checkout-success-payment.apibank-order-payment .apibank-payment-details p > * { min-width:0; max-width:100%; }
    .checkout-success-payment.apibank-order-payment .apibank-payment-details .apibank-payment-copy-value { grid-template-columns:minmax(0,1fr) 30px; }
    .checkout-success-payment.apibank-order-payment .apibank-payment-details .apibank-payment-expiry { grid-template-columns:minmax(0,1fr); }
    .checkout-success-payment.apibank-order-payment .apibank-payment-expiry-date { grid-column:1; }
    .checkout-success-payment.apibank-order-payment .apibank-transfer-content-row .apibank-payment-copy-text { overflow-wrap:anywhere; word-break:break-word; letter-spacing:.1em; }
    .apibank-order-payment .apibank-payment-details strong { display:block; margin:0; }
    .apibank-order-payment .apibank-payment-details .apibank-payment-expiry { grid-template-columns:minmax(104px,38%) minmax(0,1fr); }
    .apibank-countdown { gap:3px; }
    .apibank-countdown-unit { flex-basis:30px; width:30px; height:32px; }
}
.saved-orders { margin-top:30px; padding-top:24px; border-top:1px solid var(--site-border-soft, #eee); }
.saved-orders h2 { font-size:18px; margin-bottom:14px; }
.saved-order-link { display:inline-flex; align-items:center; gap:8px; margin:0 8px 8px 0; padding:10px 14px; color:var(--site-primary, #e60012); border:1px solid #f0c5c9; border-radius:6px; background:var(--site-surface, #fff); }
.history-order { border:1px solid var(--site-border-soft, #e5e5e5); border-radius:7px; margin-bottom:16px; overflow:hidden; }
.history-order-head { display:flex; justify-content:space-between; gap:15px; padding:14px 16px; background:var(--site-surface-muted, #fafafa); border-bottom:1px solid var(--site-border-soft, #eee); }
.history-order-head > div { flex:1; min-width:0; }
.history-order-head small { color:#888; display:block; margin-top:3px; }
.history-order-head .token-inline { display:flex; align-items:center; gap:8px; margin-top:6px; font-size:13px; color:var(--site-text, #333); flex-wrap:wrap; }
.history-order-head .token-inline code { background:var(--site-surface-muted, #f5f5f5); padding:3px 6px; border-radius:4px; }
.history-customer { padding:12px 16px; border-top:1px solid var(--site-border-soft, #eee); background:#fbfbfb; }
.history-customer h4 { margin:0 0 10px; font-size:15px; color:var(--site-text, #333); }
.history-customer p { margin:0 0 6px; color:#444; }
.history-customer p:last-child { margin-bottom:0; }
.history-items { padding:12px 16px; }
.history-item { display:flex; justify-content:space-between; gap:15px; padding:5px 0; }
.history-total { border-top:1px solid var(--site-border-soft, #eee); padding:12px 16px; text-align:right; color:#555; }
.checkout-form h2 { margin-bottom: 25px; font-size: 20px; }
.checkout-delivery-estimate { position:relative; display:flex; align-items:center; justify-content:center; margin:-4px 0 18px; padding:12px 54px; border:1px solid #d6e4ff; border-radius:9px; background:#f5f8ff; color:#243b63; text-align:center; overflow:hidden; }
.checkout-delivery-estimate[hidden] { display:none; }
.checkout-delivery-estimate-convoy { position:absolute; inset:2px 0 auto; height:15px; overflow:hidden; pointer-events:none; }
.checkout-delivery-estimate-train { position:absolute; top:0; left:-96px; display:flex; align-items:center; gap:12px; color:#2457a7; font-size:13px; line-height:15px; opacity:.72; white-space:nowrap; animation:checkout-delivery-convoy 8s linear infinite; }
.checkout-delivery-estimate-train:nth-child(2) { animation-delay:-4s; }
.checkout-delivery-estimate-train i:nth-child(2) { opacity:.76; }
.checkout-delivery-estimate-train i:nth-child(3) { opacity:.52; }
.checkout-delivery-estimate > div { position:relative; z-index:1; width:100%; }
.checkout-delivery-estimate strong, .checkout-delivery-estimate small { display:block; }
.checkout-delivery-estimate strong { margin:1px 0 4px; font-size:14px; }
.checkout-delivery-estimate small { color:#596b88; font-size:12px; line-height:1.5; }
@keyframes checkout-delivery-convoy { from { left:-96px; } to { left:calc(100% + 96px); } }
@media (prefers-reduced-motion: reduce) {
    .checkout-delivery-estimate-train { animation:none; left:14px; }
    .checkout-delivery-estimate-train:nth-child(2) { display:none; }
}
.form-group { margin-bottom: 20px; }
.form-group label { display: block; margin-bottom: 8px; font-weight: 600; font-size: 14px; }
.required-field-mark { color: var(--site-primary, #e60012); margin-left: 3px; font-weight: 700; }
.form-required-note { margin: -4px 0 16px; color: #777; font-size: 12px; }
.form-group input, .form-group textarea, .form-group select { width: 100%; padding: 12px 15px; border: 1px solid var(--site-border, #ddd); border-radius: 5px; font-size: 16px; outline: none; transition: border 0.3s; }
.form-group input:focus, .form-group textarea:focus { border-color: var(--site-primary, #e60012); }
.form-group textarea { min-height: 100px; resize: vertical; }
.checkout-payment-options { display:grid; gap:10px; }
.checkout-payment-option { display:grid; grid-template-columns:44px minmax(0,1fr) 22px; align-items:center; gap:12px; width:100%; min-height:72px; padding:12px 14px; border:1px solid #d9dee8; border-radius:10px; background:var(--site-surface, #fff); color:#344054; text-align:left; cursor:pointer; transition:border-color .18s ease,background-color .18s ease,box-shadow .18s ease,transform .18s ease; }
.checkout-delivery-options .checkout-payment-option { min-height:88px; align-items:center; }
.checkout-delivery-options .checkout-payment-icon,.checkout-delivery-options .checkout-payment-copy,.checkout-delivery-options .checkout-payment-indicator { align-self:center; }
.checkout-payment-options .checkout-payment-indicator { width:24px; height:24px; font-size:12px; }
.checkout-payment-options .checkout-payment-indicator i { line-height:1; }
.checkout-payment-option:hover { border-color:#f28b98; background:var(--site-primary-soft, #fff8f8); box-shadow:0 5px 14px rgba(210,20,44,.08); transform:translateY(-1px); }
.checkout-payment-option:focus-visible { outline:3px solid rgba(var(--site-primary-rgb, 230, 0, 18),.2); outline-offset:2px; }
.checkout-payment-option.is-selected { border-color:var(--site-primary, #e60012); background:linear-gradient(105deg,var(--site-primary-soft, #fff7f7),var(--site-surface, #fff) 78%); box-shadow:0 0 0 1px rgba(var(--site-primary-rgb, 230, 0, 18),.08),0 5px 16px rgba(210,20,44,.08); }
.checkout-payment-icon { display:flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:10px; background:#f2f4f7; color:#667085; font-size:17px; transition:background-color .18s ease,color .18s ease; }
.checkout-payment-option.is-selected .checkout-payment-icon,.checkout-payment-option:hover .checkout-payment-icon { background:#ffe4e7; color:var(--site-primary, #e60012); }
.checkout-payment-copy { display:grid; gap:4px; min-width:0; }
.checkout-payment-copy strong { color:#252b31; font-size:14px; }
.checkout-payment-copy small { color:#667085; font-size:12px; line-height:1.45; }
.checkout-payment-indicator { display:grid; place-items:center; box-sizing:border-box; width:20px; height:20px; padding:0; border:1.5px solid #cbd2dc; border-radius:50%; color:transparent; font-size:10px; line-height:1; transition:background-color .18s ease,border-color .18s ease,color .18s ease; }
.checkout-payment-indicator i { display:block; margin:0; line-height:1; }
.checkout-payment-option.is-selected .checkout-payment-indicator { border-color:var(--site-primary, #e60012); background:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.order-review { background: var(--site-surface-muted, #f8f8f8); padding: 25px; border-radius: 8px; }
.order-review h2 { margin-bottom: 20px; font-size: 20px; }
.review-item { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--site-border-soft, #eee); font-size: 14px; }
.review-item strong { color: var(--site-text, #333); }
.review-item > span { min-width:0; }
.review-product-meta { display:flex; align-items:flex-start; gap:12px; min-width:0; }
.review-product-thumb-link { display:flex; width:44px; height:44px; border-radius:8px; overflow:hidden; border:1px solid var(--site-border-soft, #e5e7eb); background:var(--site-surface, #fff); flex-shrink:0; }
.review-product-thumb { display:block; width:100%; height:100%; object-fit:cover; }
.review-product-copy { min-width:0; display:block; }
.review-promotion, .review-old-price { display:block; color:var(--site-primary, #d40012); font-size:12px; font-weight:400; margin-top:3px; }
.review-old-price { display:inline-block; margin-left:6px; color:#999; text-decoration:line-through; }
.checkout-review-product { align-items:flex-start; gap:16px; }
.review-product-actions { display:flex; flex-direction:column; align-items:flex-end; gap:10px; min-width:190px; }
@media (min-width:768px) {
    .checkout-review-product { flex-wrap:wrap; gap:8px 12px; }
    .checkout-review-product .review-product-meta { flex:1 1 100%; width:100%; }
    .checkout-review-product .review-product-copy { flex:1 1 0; overflow-wrap:anywhere; }
    .checkout-review-product .review-product-actions { flex:1 1 100%; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; min-width:0; width:100%; }
    .checkout-review-product .review-product-actions > strong { flex:0 1 auto; min-width:0; overflow-wrap:anywhere; }
    .checkout-review-product .product-note-open { flex:0 1 auto; max-width:100%; text-align:left; overflow-wrap:anywhere; }
    .checkout-review-product .product-note-summary { flex:1 1 100%; width:100%; max-width:none; text-align:left; }
}
.product-note-field { width:min(100%, 260px); text-align:left; }
.order-review .review-item.discount-row,
.order-review .review-item.vat-row {
    cursor:pointer;
    transition:color .18s ease, background-color .18s ease;
}
.order-review .review-item.discount-row:hover,
.order-review .review-item.discount-row:focus-visible,
.order-review .review-item.vat-row:hover,
.order-review .review-item.vat-row:focus-visible {
    color:var(--site-primary, #e60012);
}
.order-review .review-item.discount-row:hover strong,
.order-review .review-item.discount-row:focus-visible strong,
.order-review .review-item.vat-row:hover strong,
.order-review .review-item.vat-row:focus-visible strong {
    color:var(--site-primary, #e60012) !important;
}
.product-note-field span { display:block; margin-bottom:4px; color:#555; font-size:12px; font-weight:600; }
.product-note-field textarea { width:100%; min-height:58px; padding:8px 10px; border:1px solid #d9d9d9; border-radius:6px; resize:vertical; font-size:13px; }
.product-note-field textarea:focus { border-color:var(--site-primary, #e60012); outline:none; box-shadow:0 0 0 2px rgba(var(--site-primary-rgb, 230, 0, 18),.08); }
.product-note-open { border:0; background:none; color:var(--site-primary-hover, #b42332); cursor:pointer; padding:0; font-size:12px; text-align:right; text-decoration:none; transition:color .16s ease,text-shadow .16s ease,transform .16s ease; }
.product-note-open:hover,
.product-note-open:focus-visible { color:#f5223b; text-shadow:0 0 8px rgba(245,34,59,.28); text-decoration:none; transform:translateY(-1px); }
.product-note-open [data-product-note-label] { cursor:pointer; }
.product-note-product-field { width:100%; text-align:left; }
.product-note-product-field label { display:block; margin-bottom:6px; color:var(--site-text, #333); font-size:14px; font-weight:600; }
.product-note-product-field textarea { display:block; width:100%; min-height:94px; padding:10px 12px; border:1px solid var(--site-primary, #e60012); border-radius:6px; resize:vertical; font:inherit; font-size:14px; line-height:1.5; outline:none; }
.product-note-product-field textarea:focus { box-shadow:0 0 0 2px rgba(var(--site-primary-rgb, 230, 0, 18),.1); }
.product-note-summary { max-width:260px; color:#666; font-size:12px; text-align:right; white-space:pre-wrap; overflow-wrap:anywhere; }
.product-note-summary[hidden] { display:none; }
.review-accessories, .cart-accessories { display:block; color:#666; font-size:12px; margin-top:5px; line-height:1.45; }
.product-note-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.product-note-modal-body { padding:16px; }
.product-note-modal-body textarea { display:block; width:100%; min-height:120px; padding:10px 12px; border:1px solid var(--site-border, #ddd); border-radius:6px; resize:vertical; font:inherit; font-size:14px; outline:none; }
.product-note-modal-body textarea:focus { border-color:var(--site-primary, #e60012); box-shadow:0 0 0 2px rgba(var(--site-primary-rgb, 230, 0, 18),.08); }
@media (max-width:767px) {
    .checkout-review-product { flex-direction:column; }
    .review-product-actions, .product-note-field { width:100%; align-items:stretch; }
}

/* Auth Pages */
.auth-page { max-width: none; margin: 0; padding: 40px 0 60px; background: transparent; box-shadow: none; border-radius: 0; }
.profile-avatar-editor { display:flex; align-items:center; gap:16px; padding:16px; margin-bottom:22px; border:1px solid var(--site-border-soft, #eee); border-radius:8px; background:var(--site-surface-muted, #fafafa); }
.profile-avatar-preview { width:88px; height:88px; flex:0 0 88px; display:flex; align-items:center; justify-content:center; overflow:hidden; border-radius:50%; background:var(--site-primary, #e60012); color:var(--site-surface, #fff); font-size:34px; }
.profile-avatar-preview a { display:block; width:100%; height:100%; }
.profile-avatar-preview img { width:100%; height:100%; object-fit:cover; }
.avatar-upload-label { color:var(--site-primary, #e60012); font-weight:600; cursor:pointer; }
.avatar-upload-label { min-width:0; max-width:100%; overflow:hidden; }
.avatar-upload-label input { display:block; width:100%; min-width:0; max-width:100%; margin-top:7px; color:#555; font-weight:400; font-size:13px; box-sizing:border-box; }
.avatar-crop-modal { position:fixed; inset:0; z-index:9999; display:none; align-items:center; justify-content:center; padding:18px; background:rgba(0,0,0,.65); }
.avatar-crop-modal.is-open { display:flex; }
.avatar-crop-dialog { width:min(560px,100%); padding:18px; border-radius:8px; background:var(--site-surface, #fff); }
.avatar-crop-area { height:min(60vh,420px); background:var(--site-text, #222); }
.avatar-crop-area img { display:block; max-width:100%; max-height:100%; }
.avatar-crop-actions { display:flex; justify-content:flex-end; gap:8px; margin-top:14px; }

/* Admin-like button utilities so frontend crop buttons match admin styling */
.btn{padding:8px 16px;border-radius:5px;border:none;cursor:pointer;font-size:13px;text-decoration:none;display:inline-block;}
.btn-primary, button.btn-primary{background:var(--site-primary, #e60012);color:var(--site-surface, #fff);padding:8px 16px;border-radius:5px;border:none;cursor:pointer;font-size:13px;}
.btn-primary:hover{background:var(--site-primary-hover, #c0000f);}
.btn-light, button.btn-light{background:#eef1f4;color:var(--site-text, #333);padding:8px 16px;border-radius:5px;border:none;cursor:pointer;font-size:13px;}
.tracking-form-actions {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    max-width: 520px;
    margin-inline: auto;
}
.tracking-form-actions .btn-buy-now {
    flex: 0 1 420px;
    width: auto;
    max-width: 420px;
}
.clear-filter-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    flex: 0 0 auto;
    margin-left: 0;
    min-height: 38px;
    padding: 8px 15px;
    border: 1px solid #d9dee5;
    border-radius: 6px;
    background: var(--site-surface, #fff);
    color: #5b6573;
    font-size: 13px;
    font-weight: 600;
    line-height: 20px;
    vertical-align: middle;
    transition: color .2s ease, border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}
.clear-filter-link i { font-size: 12px; }
.clear-filter-link:hover {
    border-color: var(--site-primary, #e60012);
    background: #fff5f6;
    color: var(--site-primary-hover, #c90010);
    box-shadow: 0 3px 10px rgba(var(--site-primary-rgb, 230, 0, 18), .1);
}
.btn-success{background:#28a745;color:var(--site-surface, #fff);}
.btn-danger{background:#dc3545;color:var(--site-surface, #fff);}
.btn-sm{padding:5px 10px;font-size:12px;}

.auth-page h1 { text-align: center; margin-bottom: 30px; font-size: 24px; color: var(--site-text, #1a1a1a); }
.auth-page .form-group { margin-bottom: 20px; }
.auth-page .btn-submit { width: 100%; padding: 14px; background: linear-gradient(135deg, var(--site-primary, #e60012) 0%, var(--site-primary-highlight, #ff2b3b) 100%); color: var(--site-surface, #fff); border: none; border-radius: 8px; font-size: 16px; font-weight: 700; cursor: pointer; box-shadow: 0 8px 18px rgba(var(--site-primary-rgb, 230, 0, 18),0.2); }
.auth-page .btn-submit:hover { background: linear-gradient(135deg, var(--site-primary-hover, #c0000f) 0%, var(--site-primary, #e60012) 100%); }
.account-card .btn-submit, .checkout-form .btn-submit { width: 100%; margin-top: 10px; }
.checkout-form .btn-submit { display:block; }
.auth-links { text-align: center; margin-top: 20px; font-size: 14px; }
.auth-links a { color: var(--site-primary, #e60012); }

/* Contact */
.contact-page { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; margin-bottom: 50px; }
.contact-page form .btn-buy-now { margin-inline: auto; }
.contact-info-box h2 { margin-bottom: 20px; }
.contact-info-box p { margin-bottom: 15px; line-height: 1.8; }
.contact-info-box i { color: var(--site-primary, #e60012); width: 25px; }

/* Pagination */
.pagination { display: flex; justify-content: center; gap: 5px; margin: 30px 0; }
.pagination a, .pagination span { padding: 8px 15px; border: 1px solid var(--site-border, #ddd); border-radius: 5px; font-size: 14px; }
.pagination button { padding: 8px 15px; border: 1px solid var(--site-border, #ddd); border-radius: 5px; background:var(--site-surface, #fff); font-size: 14px; cursor:pointer; }
.pagination a:hover { background: var(--site-primary, #e60012); color: var(--site-surface, #fff); border-color: var(--site-primary, #e60012); }
.pagination button:hover { background: var(--site-primary, #e60012); color: var(--site-surface, #fff); border-color: var(--site-primary, #e60012); }
.pagination button.active { background: var(--site-primary, #e60012); color: var(--site-surface, #fff); border-color: var(--site-primary, #e60012); }
.pagination .current { background: var(--site-primary, #e60012); color: var(--site-surface, #fff); border-color: var(--site-primary, #e60012); }

/* Alert */
.alert { padding: 15px 20px; border-radius: 5px; margin-bottom: 20px; font-size: 14px; }
.form-message { display: none !important; margin-bottom: 20px; font-size: 14px; }
.checkout-submit-message.form-message {
    display: block !important;
    padding: 12px 14px;
    border-radius: 6px;
}
.checkout-submit-message[hidden] { display: none !important; }
.form-message.error, .alert-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
.form-message.success, .alert-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.alert-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.alert-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }
/* Footer */
.main-footer { background: var(--site-text, #1a1a1a); color: #ccc; padding: 60px 0 20px; }
body.footer-template-priority-enabled > footer.main-footer {
    --site-primary: #e60012;
    --site-primary-hover: #c90010;
    --site-primary-highlight: #e60012;
    --site-primary-rgb: 230, 0, 18;
    --site-primary-soft: #fee2e2;
    --site-page-background: #ffffff;
    --site-surface: #ffffff;
    --site-surface-muted: #f8fafc;
    --site-text: #1a1a1a;
    --site-border: #d1d5db;
    --site-border-soft: #e5e7eb;
}
.main-footer.footer-template-2 { position:relative; isolation:isolate; background:radial-gradient(circle at 12% 8%, rgba(225,29,54,.15), transparent 28%),radial-gradient(circle at 88% 4%, rgba(56,189,248,.065), transparent 24%),var(--graphite-950,#080b12); }
.main-footer.footer-template-2::before { content:""; position:absolute; inset:0; z-index:-1; pointer-events:none; background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px); background-size:58px 58px; -webkit-mask-image:linear-gradient(180deg,#000,transparent 74%); mask-image:linear-gradient(180deg,#000,transparent 74%); }
.main-footer.footer-template-3 { position:relative; isolation:isolate; overflow:hidden; padding:48px 0 18px; background:#2c2c2c; color:#f1f1f1; }
.main-footer.footer-template-3::before { content:""; position:absolute; top:-280px; left:50%; width:1200px; height:1200px; margin-left:-600px; z-index:-1; pointer-events:none; background:transparent url("../images/footer-trongdong.png") no-repeat center center; background-size:100% auto; opacity:.3; filter:grayscale(1) brightness(1.7); animation:footer-drum-rotate 60s linear infinite; }
.main-footer.footer-template-3 .container { position:relative; z-index:1; }
.main-footer.footer-template-3 .footer-grid { grid-template-columns:minmax(0,1.25fr) repeat(3,minmax(0,1fr)); gap:34px; margin-bottom:36px; }
.main-footer.footer-template-3 .footer-col h3 { margin-bottom:18px; color:var(--site-surface, #fff); font-size:16px; letter-spacing:.025em; }
.main-footer.footer-template-3 .footer-col p,
.main-footer.footer-template-3 .footer-col ul li,
.main-footer.footer-template-3 .footer-col ul li a { color:rgba(255,255,255,.82); font-size:14px; line-height:1.65; }
.main-footer.footer-template-3 .footer-col ul li { margin-bottom:9px; }
.main-footer.footer-template-3 .footer-col ul li a:hover { color:#e4c66f; }
.main-footer.footer-template-3 .contact-info li { gap:11px; }
.main-footer.footer-template-3 .contact-info li > i { width:18px; margin-top:4px; color:var(--site-surface, #fff); text-align:center; }
.main-footer.footer-template-3 .social-links { gap:10px; margin-top:18px; }
.main-footer.footer-template-3 .social-links a { width:38px; height:38px; border:1px solid rgba(255,255,255,.18); border-radius:7px; background:rgba(255,255,255,.94); color:var(--site-text, #333); }
.main-footer.footer-template-3 .social-links a:hover { border-color:#e4c66f; background:#e4c66f; color:var(--site-text, #222); }
.main-footer.footer-template-3 .footer-bottom { display:flex; justify-content:space-between; align-items:center; gap:20px; margin:0; padding:16px 0 0; border-top:1px solid rgba(255,255,255,.2); color:rgba(255,255,255,.78); text-align:left; }
.main-footer.footer-template-3 .footer-bottom p { margin:0; }
@keyframes footer-drum-rotate { from { transform:rotate(0); } to { transform:rotate(360deg); } }
@media (prefers-reduced-motion:reduce) { .main-footer.footer-template-3::before { animation:none; } }
@media (max-width:992px) { .main-footer.footer-template-3 .footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; } }
@media (max-width:600px) { .main-footer.footer-template-3 .footer-grid { grid-template-columns:minmax(0,1fr); gap:22px; } .main-footer.footer-template-3 { padding-top:36px; } .main-footer.footer-template-3 .footer-bottom { align-items:flex-start; } }
.footer-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 40px; margin-bottom: 40px; }
.footer-col h3 { color: var(--site-surface, #fff); font-size: 16px; margin-bottom: 20px; text-transform: uppercase; }
.footer-col p { line-height: 1.8; font-size: 14px; margin-bottom: 15px; }
.footer-col ul li { margin-bottom: 10px; }
.footer-col ul li a { color: #ccc; font-size: 14px; }
.footer-col ul li a:hover { color: var(--site-primary, #e60012); }
.social-links { display: flex; gap: 15px; margin-top: 15px; }
.social-links a { width: 40px; height: 40px; background: var(--site-text, #333); border-radius: 50%; display: flex; align-items: center; justify-content: center; color: var(--site-surface, #fff); transition: all 0.3s; }
.social-links a:hover { background: var(--site-primary, #e60012); }
.contact-info li { display: flex; align-items: flex-start; gap: 10px; margin-bottom: 12px; font-size: 14px; }
.footer-bottom { border-top: 1px solid var(--site-text, #333); padding-top: 20px; text-align: center; font-size: 13px; color: #999; }

/* Responsive */
@media (min-width: 1280px) {
    .product-detail { max-width: 1220px; gap: 48px; }
    .product-gallery { max-width: 640px; }
    .product-summary { max-width: none; }
    .product-summary h1 { font-size: 28px; }
    .product-summary .price-large { font-size: 22px; }
    .product-summary .price-large .price-current { font-size: 22px; }
    .product-share-btn, .btn-buy-now, .btn-product-contact, .btn-view-cart { max-width: 100%; }
}

@media (max-width: 1440px) {
    .product-detail { max-width: 1220px; gap: 40px; }
    .product-gallery { max-width: 604px; }
    .product-summary { max-width: none; }
    .product-summary h1 { font-size: 25px; margin-bottom: 15px; }
    .product-summary .price-large { font-size: 22px; gap: 10px; margin-bottom: 16px; }
    .product-summary .price-large .price-current { font-size: 22px; }
    .product-summary .description { font-size: 15px; line-height: 1.7; }
    .product-action-stack { width: min(420px, 100%); }
    .product-share-btn, .btn-buy-now, .btn-product-contact, .btn-view-cart { max-width: 420px; }
}
@media (max-width: 992px) {
    .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
    .category-layout { grid-template-columns: 190px minmax(0, 1fr); gap: 18px; }
    .celeb-grid { grid-template-columns: repeat(4, 1fr); }
    .footer-grid { grid-template-columns: repeat(2, 1fr); }
    .product-detail { grid-template-columns: 1fr; max-width: 100%; }
    .product-summary { max-width: 100%; }
    .product-action-stack { width: 100%; align-items: center; }
    .product-share-btn, .btn-buy-now, .btn-product-contact, .btn-view-cart { margin-inline: auto; }
    .checkout-page { width: min(calc(100% - 24px), 760px); grid-template-columns: minmax(0, 1fr); gap: 24px; }
    .checkout-page-complete { width: min(calc(100% - 24px), 760px); }
    .blog-detail-page, .blog-detail-layout { grid-template-columns:1fr; }
    .blog-sidebar { position:static; }
    .contact-page { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    body { overflow-x: hidden; }
    .container, .header-main-row-inner, .header-logo-row-inner { min-width: 0; }
    .container { padding-left: 12px; padding-right: 12px; }
    .tabs { padding-left: 10px; padding-right: 10px; }
    .top-bar { padding: 6px 0; }
    .top-bar:not(.top-bar-mobile-outside-visible):not(.top-bar-in-category-menu) { display: none !important; }
    .top-bar-mobile-outside-visible:not(.top-bar-in-category-menu) { display: block !important; }
    .account-menu:not(.open):hover > .account-dropdown,
    .account-menu:not(.open):focus-within > .account-dropdown { display: none !important; }
    .account-menu.open > .account-dropdown { display: block !important; }
    .top-bar .container { display: flex; flex-direction: column; gap: 4px; text-align: center; }
    .top-bar-left, .top-bar-right { display: flex; flex-wrap: wrap; justify-content: center; gap: 4px 8px; }
    .top-bar-left .top-bar-item, .top-bar-right a, .top-bar-right span { margin: 0; }
    .header-actions { gap: 12px; }
    .header-main-row-inner { gap: 8px; }
    .header-main-row-inner .search-box { max-width: none; }
    .category-mega-panel { width: min(100vw - 20px, 860px); }
    .product-detail { padding: 0; }
    .product-summary { width: 100%; }

    .main-header { position: relative; }
    .header-logo-row-inner { padding: 10px 15px; }
    .header-main-row { padding: 8px 0; }
    .header-main-row-inner {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        width: 100%;
    }
    .category-menu-btn {
        order: 1;
        flex: 0 0 auto;
        padding: 10px 12px;
        min-width: 0;
        font-size: 13px;
        background: var(--site-surface, #fff);
        border: 1px solid var(--site-primary, #e60012);
        color: var(--site-primary, #e60012);
        border-radius: 8px;
        box-shadow: none;
    }
    .category-menu-btn i:first-child, .category-menu-btn .caret { color: var(--site-primary, #e60012); }
    .category-menu-btn:hover {
        background: var(--site-primary-soft, #fff5f5);
        border-color: #d2000e;
        box-shadow: 0 3px 8px rgba(var(--site-primary-rgb, 230, 0, 18), 0.08);
        transform: none;
    }
    .category-menu-btn:active {
        transform: none;
    }
    .category-menu-btn span { display: none; }
    .header-actions {
        order: 2;
        margin-left: auto;
        display: flex;
        align-items: center;
        justify-content: flex-end;
        flex: 0 0 auto;
    }
    .mobile-menu-btn {
        order: 3;
        display: block;
        margin-left: 8px;
        flex: 0 0 auto;
    }
    .header-main-row-inner .search-box {
        order: 4;
        width: 100%;
        max-width: none;
        margin: 0;
        flex: 1 1 100%;
    }
    .main-nav {
        display: none;
        order: 5;
        width: 100%;
        background: var(--site-surface-muted, #f7f7f7);
        border: 1px solid #efefef;
        border-radius: 12px;
        padding: 8px;
        box-shadow: 0 8px 18px rgba(0,0,0,0.04);
    }
    .main-nav.active { display: block; }
    .main-nav ul {
        display: flex;
        flex-direction: column;
        gap: 8px;
        padding: 0;
        background: transparent;
        border-top: none;
    }
    .main-nav li {
        width: 100%;
    }
    .main-nav a {
        display: block;
        padding: 11px 14px;
        border-radius: 10px;
        font-size: 14px;
        font-weight: 600;
        color: #2a2a2a;
        background: var(--site-surface, #fff);
        border: 1px solid var(--site-surface-muted, #f0f0f0);
        transition: all 0.2s ease;
    }
    .main-nav a:hover {
        background: var(--site-primary-soft, #fff5f5);
        color: var(--site-primary, #e60012);
        border-color: #f3c3c8;
        box-shadow: 0 2px 8px rgba(var(--site-primary-rgb, 230, 0, 18), 0.06);
    }
    .category-mega-overlay { display: block; background: transparent; -webkit-backdrop-filter:none; backdrop-filter:none; }
    .category-mega-overlay.active { opacity: 1; visibility: visible; }
    body.category-menu-open .top-bar:not(.top-bar-in-category-menu),
    body.category-menu-open .header-quicklinks-row {
        display: none;
    }
    body.category-menu-open .top-bar-in-category-menu { display:block !important; flex:0 0 auto; }
    body.category-menu-open .top-bar-in-category-menu #accountMenu { display:block !important; }
    .category-menu-wrap {
        position: static;
        z-index: 2100;
    }
    .category-mega-panel {
        position: fixed;
        inset: 0;
        width: 100vw;
        height: 100vh;
        max-width: none;
        background: var(--site-surface, #fff);
        z-index: 2200;
        display: flex;
        justify-content: flex-start;
        align-items: stretch;
        padding: 0;
    }
    .category-panel-close {
        display: flex;
        align-items: center;
        justify-content: center;
        position: absolute;
        top: 0;
        right: 0;
        width: 36px;
        height: 36px;
        margin: 0;
        border-radius: 50%;
        background: var(--site-surface, #fff);
        border: 1px solid var(--site-primary, #e60012);
        color: var(--site-primary, #e60012);
        z-index: 2201;
        font-size: 0;
        line-height: 0;
        padding: 0;
        overflow: hidden;
        box-shadow: 0 6px 14px rgba(var(--site-primary-rgb, 230, 0, 18), 0.08);
    }
    .category-mega-panel > .container {
        width: 100%;
        max-width: none;
        height: 100vh;
        padding: 0;
        background: var(--site-surface, #fff);
        box-shadow: none;
    }
    .category-mega-list {
        max-height: 100%;
        height: 100%;
        overflow-y: auto;
        border-radius: 0;
        box-shadow: none;
        border: 0;
        width: 100%;
    }
    .category-mega-list > .category-mobile-topbar-item {
        padding:0;
        border-bottom:1px solid var(--site-text, #333);
        background:var(--site-text, #1a1a1a);
    }
    .category-mobile-topbar-item .top-bar-in-category-menu { display:block !important; padding:8px 0; }
    .category-mobile-topbar-item .top-bar .container { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; width:100%; max-width:none; padding:0 48px 0 12px; gap:7px 12px; }
    .category-mobile-topbar-item .top-bar-left,
    .category-mobile-topbar-item .top-bar-right { flex:1 1 150px; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:flex-start; width:auto; min-width:0; gap:5px 12px; }
    .category-mobile-topbar-item .top-bar-left { flex-basis:150px; }
    .category-mobile-topbar-item .top-bar-right { display:contents; }
    .category-mobile-topbar-item .account-menu { position:relative; display:flex !important; flex:0 0 100%; flex-direction:column; align-items:center; justify-content:center; width:100%; z-index:2601; }
    .category-mobile-topbar-item .account-menu:not(.open) > .account-dropdown { display:none !important; }
    .category-mobile-topbar-item .account-menu.open > .account-dropdown { display:block !important; }
    .category-mobile-topbar-item .account-dropdown { position:absolute; top:calc(100% + 4px); right:auto; left:50%; transform:translateX(-50%); width:min(280px,calc(100vw - 24px)); min-width:0; margin:0; border-color:#444; background:#242424; box-shadow:0 8px 20px rgba(0,0,0,.28); }
    .category-mobile-topbar-item .account-dropdown a { color:var(--site-surface, #fff) !important; }
    .category-mobile-topbar-item .account-dropdown a:hover,
    .category-mobile-topbar-item .account-dropdown a:focus-visible { background:#30343b; color:var(--site-surface, #fff) !important; }
    .category-mobile-topbar-item .account-dropdown a:hover i,
    .category-mobile-topbar-item .account-dropdown a:focus-visible i { color:var(--site-border, #cbd5e1); }
    .category-mega-list > li {
        grid-template-columns: 1fr;
    }
    .category-mega-list > li > a,
    .category-mega-list > li > button.category-menu-link,
    .category-mega-list > li > div.category-menu-link {
        border-right: none;
        border-bottom: 1px solid var(--site-surface-muted, #f0f0f0);
        border-left: 4px solid transparent;
        padding-left: 16px;
    }
    .category-menu-expand { height:58px; }
    .category-submenu {
        padding: 0 16px 14px 30px;
    }

    .cart-table, .cart-table tbody, .cart-table tr, .cart-table td {
        display: block;
        width: 100%;
    }
    .cart-table thead { display: none; }
    .cart-table tbody { display: flex; flex-direction: column; gap: 12px; }
    .cart-table tr {
        display: block;
        padding: 12px 12px 10px;
        border: 1px solid var(--site-border-soft, #eee);
        border-radius: 8px;
        background: var(--site-surface, #fff);
    }
    .cart-table td {
        padding: 8px 0;
        border: 0;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 10px;
    }
    .cart-table td:first-child {
        padding-top: 0;
        align-items: flex-start;
    }
    .cart-table td:nth-child(2),
    .cart-table td:nth-child(3),
    .cart-table td:nth-child(4),
    .cart-table td:nth-child(5) {
        justify-content: flex-end;
    }
    .cart-table td:nth-child(3) {
        justify-content: flex-start;
    }
    .cart-table td:nth-child(3) .qty-input {
        margin-left: auto;
    }
    .cart-table td:last-child {
        padding-bottom: 0;
    }
    .cart-table td > div:first-child {
        display: flex;
        align-items: flex-start;
        gap: 12px;
        width: 100%;
    }
    .cart-table .cart-product-link {
        width: 72px;
        height: 72px;
        flex: 0 0 72px;
    }
    .cart-table .product-thumb {
        width: 72px;
        height: 72px;
    }
    .cart-table .product-name-cell {
        flex: 1;
        min-width: 0;
    }
    .cart-summary {
        max-width: none;
        margin-left: 0;
    }
    .tab-nav { gap: 6px; }
    .tab-nav button {
        flex: 1 1 auto;
        text-align: center;
        font-size: 13px;
        padding: 10px 12px;
    }

    .product-detail { grid-template-columns: 1fr; gap: 22px; max-width: 100%; padding: 0 12px; }
    .product-gallery { max-width: 100%; }
    .product-summary { max-width: 100%; }
    .product-summary h1 { font-size: 26px; margin-bottom: 12px; }
    .product-summary .price-large { font-size: 24px; margin-bottom: 14px; }
    .product-summary .price-large .price-current { font-size: 24px; }
    .main-image { margin-bottom: 12px; }
    .main-image img { max-height: 430px; }
    .thumbnail-list { margin-bottom: 8px; }
    .thumb-swiper .swiper-slide { width: 68px !important; min-width: 68px; }
    .thumbnail-list .thumbnail-button { width: 68px; min-width: 68px; }
    .thumbnail-list img { width: 68px; height: 68px; }
    .video-thumb-btn { width: 68px; height: 68px; }
    .product-summary .description { margin-bottom: 18px; font-size: 15px; line-height: 1.7; }
    .quantity-box { margin-bottom: 16px; }
    .product-max-order-note { margin-bottom: 16px; font-size: 12px; }
    .product-action-stack { width: 100%; gap: 10px; align-items: center; }
    .product-share-btn, .btn-buy-now, .btn-product-contact, .btn-view-cart { width: 100%; max-width: 420px; min-height: 48px; font-size: 14px; margin-inline: auto; }
    .fixed-product-actions {
        gap: 6px;
        padding: 6px 10px;
    }
    .fixed-product-actions .btn-buy-now {
        min-height: 40px;
        padding: 7px 6px;
        font-size: 12px;
    }
    .fixed-product-actions .btn-product-contact {
        min-height: 40px;
        padding: 7px 6px;
        font-size: 12px;
    }
    .fixed-product-actions .btn-buy-now i { margin-right: 5px; }
    body:has(.fixed-product-actions) { padding-bottom: 58px; }
    .flash-sale-banner { gap: 8px; margin: 0 0 14px; }
    .flash-sale-badge, .flash-sale-timer { min-height: 30px; }

    .product-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
    .product-card { border-radius: 8px; }
    .product-info { padding: 10px; }
    .product-name { font-size: 13px; height: 36px; }
    .price, .price-large { font-size: 14px; }
    .old-price { font-size: 11px; }
    .btn-add-cart { padding: 8px 6px; font-size: 14px; }
    .product-badge { top: 8px; right: 8px; left: auto; min-width: 42px; height: 22px; font-size: 10px; }
    .blog-grid { grid-template-columns: 1fr; }
    .blog-grid-horizontal { display:flex; }
    .blog-grid-horizontal .blog-card { flex-basis:min(82vw, 330px); }
    .blog-grid-carousel { gap:12px; }
    .blog-grid-carousel .blog-card { flex-basis:100%; }
    .commitments { grid-template-columns: repeat(2, 1fr); }
    .celeb-grid { grid-template-columns: repeat(3, 1fr); }
    .footer-grid { grid-template-columns: 1fr; }
    .hero-swiper .slide img { height: clamp(130px, 35vw, 220px); }
    .account-layout,
    .account-layout > * { min-width: 0; max-width: 100%; }
    .account-layout { grid-template-columns: minmax(0, 1fr); }
    .account-card { padding:20px; }
    .profile-avatar-editor { align-items:flex-start; flex-wrap:wrap; min-width:0; }
    .profile-avatar-editor .avatar-upload-label { flex:1 1 100%; width:100%; }
    .profile-avatar-editor .avatar-upload-label input[type="file"] { width:100%; max-width:100%; overflow:hidden; }
    .order-status-timeline {
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-auto-rows:48px;
        column-gap:0;
        row-gap:18px;
        width:100%;
        min-width:0;
        overflow:visible;
        padding:16px 12px;
    }
    .order-status-timeline .order-status-step {
        display:grid;
        grid-template-rows:14px 1fr;
        justify-items:center;
        align-content:start;
        gap:6px;
        flex:none;
        width:auto;
        min-width:0;
        font-size:10px;
        line-height:1.25;
    }
    .order-status-timeline .order-status-step:nth-child(1) { grid-row:1; grid-column:1; }
    .order-status-timeline .order-status-step:nth-child(2) { grid-row:1; grid-column:2; }
    .order-status-timeline .order-status-step:nth-child(3) { grid-row:2; grid-column:2; }
    .order-status-timeline .order-status-step:nth-child(4) { grid-row:2; grid-column:1; }
    .order-status-timeline.is-terminal .order-status-step:nth-child(5) { grid-row:3; grid-column:1; }
    .order-status-timeline .order-status-step::before {
        display:block;
        top:6px;
        right:50%;
        left:auto;
        width:100%;
        height:2px;
    }
    .order-status-timeline .order-status-step:first-child::before { display:none; }
    .order-status-timeline .order-status-step:nth-child(3)::before,
    .order-status-timeline.is-terminal .order-status-step:nth-child(5)::before {
        top:-59px;
        right:calc(50% - 1px);
        left:auto;
        width:2px;
        height:66px;
    }
    .order-status-timeline .order-status-step:nth-child(4)::before {
        right:auto;
        left:50%;
    }
    .history-order-head { align-items:flex-start; }
    .history-order-head > div { min-width:0; }
    .history-order-head .token-inline { flex-wrap:wrap; }
    .history-order-head .token-inline > strong { flex:0 0 100%; }
    .history-order-head .token-inline code { min-width:0; max-width:100%; overflow-wrap:anywhere; }
    .history-item { min-width:0; }
    .history-item > strong { flex:0 0 auto; }
    .order-action-row { justify-content:stretch; }
    .order-action-row .cancel-order-form,
    .order-action-row .copy-link-order { flex:1 1 0; min-width:0; }
    .order-action-row .btn { width:100%; white-space:normal; }
    .history-order .order-action-row .cancel-order-form,
    .history-order .order-action-row .copy-link-order { flex:0 0 auto; min-width:auto; }
    .history-order .order-action-row .btn { width:auto; white-space:nowrap; }
    .cart-page {
        width: 100%;
        min-width: 0;
        overflow: hidden;
    }
    .cart-table {
        display: block;
        width: 100%;
        max-width: 100%;
        overflow: visible;
        white-space: normal;
        table-layout: fixed;
    }
    .cart-table tbody,
    .cart-table tr,
    .cart-table td {
        max-width: 100%;
        min-width: 0;
    }
    .cart-table tr {
        overflow: hidden;
    }
    .cart-table td:first-child > div:first-child {
        flex-wrap: wrap;
        align-items: flex-start;
    }
    .cart-table td:first-child > div:first-child > div:first-child {
        display: flex;
        flex: 1 1 calc(100% - 84px);
        min-width: 0;
    }
    .cart-table td:first-child .stock-note,
    .cart-table td:first-child .stock-warning {
        flex: 0 0 100%;
        width: 100%;
        margin-left: 0;
        overflow-wrap: anywhere;
    }
    .cart-table td:nth-child(2),
    .cart-table td:nth-child(4) {
        align-items: flex-start;
    }
    .cart-table td:nth-child(2) {
        align-items: center;
        flex-wrap: wrap;
    }
    .cart-table td:nth-child(2)::before {
        content: "Đơn giá";
        color: #666;
        font-size: 13px;
        font-weight: 400;
        margin-right: 0;
    }
    .cart-table td:nth-child(4)::before {
        content: "Tổng cộng";
        color: #666;
        font-size: 13px;
        font-weight: 400;
    }
    .cart-table td:nth-child(2) > *,
    .cart-table td:nth-child(4) > * {
        text-align: right;
    }
    .cart-table td:nth-child(2) .cart-promotion {
        flex: 0 0 100%;
        margin-top: 2px;
    }
    .cart-table td:nth-child(3) {
        align-items: center;
    }
    .cart-table .qty-input {
        width: min(122px, 100%);
        flex: 0 0 auto;
    }
    .cart-table .remove-btn {
        min-width: 34px;
        min-height: 34px;
    }
    .cart-summary {
        width: 100%;
        max-width: none;
        padding: 18px 14px;
        overflow: hidden;
    }
    .cart-summary h3 {
        margin-bottom: 16px;
    }
    .voucher-box {
        padding: 12px;
    }
    .voucher-input-row {
        display: grid;
        grid-template-columns: minmax(0, 1fr) auto;
    }
    .voucher-input-row #apply-voucher,
    .voucher-input-row #open-voucher-picker { grid-column:1 / -1; }
    .voucher-input-row input {
        width: 100%;
    }
    .voucher-input-row .btn-voucher-remove {
        grid-column: 1 / -1;
        min-height: 38px;
    }
    .summary-row {
        gap: 12px;
        align-items: flex-start;
    }
    .summary-row > span:first-child {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .summary-row > span:last-child {
        flex: 0 0 auto;
        text-align: right;
    }
}
@media (max-width: 420px) {
    .product-detail,
    .product-gallery,
    .product-summary,
    .product-gallery-thumbs-row,
    .main-image,
    .thumbnail-list,
    .product-variant-selector,
    .product-accessories,
    .product-promotion,
    .product-description {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }
    .product-detail {
        display: block;
        overflow: hidden;
        padding-left: 0;
        padding-right: 0;
    }
    .product-gallery {
        overflow: hidden;
    }
    .main-image {
        margin-left: 0;
        margin-right: 0;
    }
    .product-gallery-thumbs-row {
        overflow: hidden;
    }
    .thumbnail-list {
        flex: 1 1 0;
        overflow: hidden !important;
    }
    .product-title-row h1,
    .product-summary,
    .product-meta,
    .product-detail-note,
    .product-promotion,
    .product-description {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
    .product-variant-selector {
        padding: 13px;
        overflow: hidden;
    }
    .variant-group-heading {
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .variant-group-selected {
        text-align: left;
        max-width: 100%;
    }
    .variant-options {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
    .variant-option {
        min-width: 0;
        padding-left: 8px;
        padding-right: 8px;
        overflow-wrap: anywhere;
    }
    .product-accessory-option {
        min-width: 0;
        overflow-wrap: anywhere;
    }
    .product-accessory-option { gap:7px; padding-left:7px; padding-right:7px; }
    .product-voucher-list,
    .product-voucher-chips,
    .flash-sale-banner,
    .flash-sale-timer,
    .flash-sale-countdown {
        min-width: 0;
        max-width: 100%;
        overflow: hidden;
    }
    .product-voucher-chips {
        gap: 6px;
    }
    .coupon_item.lite {
        max-width: 100%;
        margin-left: 0;
        margin-right: 0;
    }
    .coupon_content.product-voucher-chip,
    .coupon_content.product-voucher-chip.promotion-condition {
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }
    .flash-sale-timer {
        flex-direction: column;
        align-items: stretch;
        justify-content: center;
        gap: 6px;
        padding-top: 8px;
    }
    .flash-sale-timer-label {
        height: auto;
        transform: none;
        justify-content: center;
        width: 100%;
    }
    .flash-sale-countdown {
        width: 100%;
        justify-content: center;
        gap: 4px;
    }
    .countdown-unit {
        width: min(38px, calc((100% - 12px) / 4));
        height: 36px;
    }
    .countdown-unit strong {
        font-size: 16px;
    }
    .fixed-product-actions {
        width: 100%;
        max-width: 100vw;
        min-width: 0;
        overflow: hidden;
    }
    .top-bar { padding: 5px 0; font-size: 11px; }
    .header-logo-row-inner { padding: 8px 10px; }
    .logo img { height: 44px; }
    .header-main-row-inner { gap: 6px; }
    .category-menu-btn { padding: 8px 10px; }
    .header-actions { margin-left: auto; gap: 10px; }
    .header-main-row-inner .search-box input { padding: 9px 42px 9px 14px; }
    .header-main-row-inner .search-box button {
        width: 30px;
        height: 30px;
        font-size: 13px;
        right: 4px;
    }
    .product-summary .product-meta { gap: 4px 8px; }
    .product-summary .price-large { flex-wrap: wrap; }
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    .product-detail { padding: 0 10px; }
    .product-summary { max-width: 100%; }
    .product-summary h1 { font-size: 20px; margin-bottom: 10px; }
    .product-summary .price-large { font-size: 18px; gap: 8px; margin-bottom: 10px; }
    .product-summary .price-large .price-current { font-size: 18px; }
    .product-summary .price-large .old-price { font-size: 14px; }
    .product-detail-discount { min-width: 42px; height: 24px; font-size: 11px; }
    .product-summary .description { font-size: 14px; line-height: 1.6; margin-bottom: 16px; }
    .quantity-box { display: flex; flex-wrap: wrap; gap: 12px; margin-bottom: 16px; }
    .quantity-box label { flex: 0 0 100%; }
    .qty-input { width: 118px; height: 38px; }
    .qty-input button { width: 34px; min-width: 34px; height: 100%; font-size: 15px; }
    .qty-input input { width: 50px; height: 100%; font-size: 15px; }
    .product-summary { padding-top: 0; }
    .product-max-order-note { font-size: 12px; margin-bottom: 14px; }
    .product-card { padding-top: 5px; }
    .product-name { font-size: 13px; }
    .product-price { gap: 6px; }
    .product-actions .btn-add-cart,
    .product-actions .btn-product-contact {
        min-width: 0;
        min-height: 38px;
        padding: 7px clamp(3px, 1.8vw, 8px);
        font-size: clamp(9px, 3.2vw, 12px);
        line-height: 1.2;
        white-space: nowrap;
    }
    .product-actions .btn-add-cart i,
    .product-actions .btn-product-contact i {
        margin-right: 3px;
    }
    .commitments { grid-template-columns: 1fr; }
    .celeb-grid { grid-template-columns: repeat(2, 1fr); }
    .main-image img { max-height: 280px; }
    .thumb-swiper .swiper-slide { width: 62px !important; min-width: 62px; }
    .thumbnail-list .thumbnail-button { width: 62px; min-width: 62px; }
    .thumbnail-list img { width: 62px; height: 62px; }
    .video-thumb-btn { width: 62px; height: 62px; }
    .breadcrumb { padding: 10px 0; }
    .breadcrumb .container { gap: 6px; font-size: 12px; flex-wrap: wrap; }
    .voucher-input-row { flex-direction:column; }
    .btn-voucher { min-height:38px; }
    .product-share-btn, .btn-buy-now, .btn-product-contact, .btn-view-cart { min-height: 44px; font-size: 14px; }
    .fixed-product-actions {
        gap: 5px;
        padding: 5px 8px;
    }
    .fixed-product-actions .btn-buy-now {
        min-height: 36px;
        padding: 6px 4px;
        font-size: 11px;
    }
    .fixed-product-actions .btn-product-contact {
        min-height: 36px;
        padding: 6px 4px;
        font-size: 11px;
    }
    .fixed-product-actions .btn-buy-now i { margin-right: 4px; }
    body:has(.fixed-product-actions) { padding-bottom: 50px; }
    .floating-contact-actions { right: 12px; bottom: 12px; gap: 6px; }
    .floating-contact-button { width: 42px; height: 42px; min-width: 42px; min-height: 42px; flex-basis: 42px; font-size: 18px; }
    .floating-contact-zalo { font-size: 11px; }
    body:has(.fixed-product-actions) .floating-contact-actions { bottom: 44px; }
    .flash-sale-banner { margin-bottom: 12px; }
    .flash-sale-badge, .flash-sale-timer { min-height: 26px; padding-left: 10px; padding-right: 10px; font-size: 10px; }
}
@media (max-width: 600px) {
    .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 420px) {
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 359px) {
    .product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}
@media (min-width: 421px) and (max-width: 850px) {
    .product-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
}
@media (max-width: 768px) {
    body.category-filter-open { overflow: hidden; }
    .category-layout { display: block; }
    .category-toolbar { justify-content: space-between; gap: 10px; }
    .category-filter-toggle { display: inline-flex; align-items: center; gap: 7px; height: 38px; padding: 0 13px; border: 1px solid var(--site-border, #ddd); border-radius: 4px; background: var(--site-surface, #fff); cursor: pointer; }
    .category-sidebar { position: fixed; z-index: 2001; inset: 0 auto 0 0; width: min(86vw, 330px); overflow-y: auto; padding: 20px; border: 0; background: var(--site-surface, #fff); box-shadow: 4px 0 18px rgba(0,0,0,.16); transform: translateX(-105%); transition: transform .22s ease; }
    .category-filter-overlay { position: fixed; inset: 0; z-index: 2000; background: rgba(0,0,0,.38); opacity: 0; visibility: hidden; pointer-events: none; transition: opacity .22s ease, visibility .22s ease; }
    .category-filter-overlay.is-active { opacity: 1; visibility: visible; pointer-events: auto; }
    body.category-filter-open::before { content: ""; position: fixed; z-index: 1999; inset: 0; background: rgba(0,0,0,.38); }
    body.category-filter-open .category-sidebar { transform: translateX(0); }
    .category-filter-close { display: block; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: #666; }
    .category-filter-apply { display: block; width: 100%; min-height: 42px; border: 0; background: var(--site-primary, #e60012); color: var(--site-surface, #fff); border-radius: 4px; cursor: pointer; font-weight: 600; }
}

@media (max-width: 420px) {
   .category-toolbar {
       width: 100%;
       min-width: 0;
       display: grid;
       grid-template-columns: auto minmax(0, 1fr);
       align-items: center;
       gap: 8px;
   }
   .category-filter-toggle {
       min-width: 0;
       padding-left: 11px;
       padding-right: 11px;
       white-space: nowrap;
   }
   .category-toolbar > label {
       min-width: 0;
       display: grid;
       grid-template-columns: auto minmax(0, 1fr);
       align-items: center;
       gap: 6px;
   }
   .category-sort-select {
       width: 100%;
       min-width: 0;
       padding-left: 9px;
       padding-right: 24px;
       text-overflow: ellipsis;
   }
}

@media (max-width: 420px) {
   .product-card .product-actions .btn-add-cart,
   .product-card .product-actions .btn-product-contact {
       display: flex !important;
       align-items: center;
       justify-content: center;
       width: 100%;
       min-width: 0;
       height: 38px !important;
       min-height: 38px !important;
       padding: 5px 3px !important;
       font-size: clamp(9px, 3.2vw, 12px) !important;
       line-height: 1 !important;
       white-space: nowrap !important;
       overflow: hidden;
   }
   .product-card .product-actions .btn-add-cart i,
   .product-card .product-actions .btn-product-contact i {
       flex: 0 0 auto;
       margin-right: 3px;
   }
}
/* Mega panel: only the visible list captures clicks so clicks on the empty
   left/right areas fall through to the overlay and close the menu. */
.category-mega-panel { pointer-events: none; }
.category-mega-panel.active { pointer-events: auto; }
.category-mega-panel > .container { pointer-events: none; }
.category-mega-panel .category-mega-list { pointer-events: auto; }

/* Password toggle inside input + smooth input/textarea transitions */
.pwd-wrap { position: relative; display: flex; align-items: center; }
.pwd-wrap input[type="password"], .pwd-wrap input[type="text"], .pwd-wrap input[type="email"], .pwd-wrap input[type="tel"] { width: 100%; padding-right: 44px; transition: border-color .18s ease, box-shadow .18s ease; }
.pwd-toggle { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); border: 0 !important; background: transparent !important; width: 36px !important; height: 32px !important; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; color: #666 !important; border-radius: 6px !important; transition: background .12s ease, color .12s ease, transform .12s ease; }
.pwd-toggle:hover { background: rgba(0,0,0,0.03) !important; transform: translateY(-50%) scale(1.02); }
.pwd-toggle[aria-pressed="true"] { color: var(--site-primary, #e60012) !important; }
.pwd-toggle:focus { outline: 2px solid rgba(var(--site-primary-rgb, 230, 0, 18),.12); outline-offset: 2px; }

/* Global smooth input/textarea effects */
input:not([type="checkbox"]):not([type="radio"]), textarea, select {
  transition: border-color .18s ease, box-shadow .18s ease;
  border-radius: 8px;
  padding: 10px 12px;
  border: 1px solid var(--site-border, #ddd);
  background: var(--site-surface, #fff);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.02);
  font: inherit;
  font-size: 16px;
}
input:focus:not([type="checkbox"]):not([type="radio"]), textarea:focus, select:focus {
  border-color: var(--site-primary, #e60012);
  box-shadow: 0 10px 30px rgba(var(--site-primary-rgb, 230, 0, 18),0.06);
  outline: none;
}

/* improve textarea appearance */
textarea { min-height: 96px; resize: vertical; }
/* Product variant types */
.variant-group-row { border:1px solid var(--site-border-soft, #e5e7eb); padding:14px; margin:10px 0; border-radius:12px; background:var(--site-surface, #fff); }
.variant-template-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:10px 0 12px; }
.variant-template-actions select { flex:1 1 240px; min-width:220px; }
.variant-editor-actions { display:flex; gap:8px; align-items:center; flex-wrap:wrap; margin:10px 0 12px; }
.variant-template-card-list { margin:10px 0 12px; }
.variant-template-card { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 14px; margin-bottom:8px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:8px; background:var(--site-surface-muted, #fafafa); }
.variant-template-card-copy { display:flex; flex:1 1 auto; flex-direction:column; min-width:0; }
.variant-template-card-copy strong { display:block; min-width:0; overflow:visible; text-overflow:clip; white-space:normal; overflow-wrap:anywhere; }
.variant-template-card-copy small { color:#6b7280; white-space:normal; overflow-wrap:anywhere; }
.variant-template-card-actions { display:flex; gap:6px; flex:0 0 auto; flex-wrap:wrap; }
.variant-template-modal { display:none; position:fixed; inset:0; z-index:2400; align-items:center; justify-content:center; padding:15px; }
.variant-template-modal.is-open { display:flex; }
.variant-template-modal-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.55); }
.variant-template-dialog { position:relative; width:min(680px, 100%); max-height:calc(100vh - 30px); margin:0; overflow:auto; background:var(--site-surface, #fff); border-radius:10px; box-shadow:0 18px 50px rgba(0,0,0,.28); }
#variant-template-group-modal { z-index:2600; pointer-events:none; }
#variant-template-group-modal .variant-template-modal-backdrop { z-index:0; pointer-events:auto; }
#variant-template-group-modal .variant-template-dialog { z-index:1; pointer-events:auto; }
.variant-template-dialog-header, .variant-template-dialog-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--site-border-soft, #e5e7eb); }
.variant-template-dialog-footer { justify-content:flex-end; border-top:1px solid var(--site-border-soft, #e5e7eb); border-bottom:0; }
.variant-template-dialog-body { padding:18px; }
.variant-template-dialog-body textarea { width:100%; font-family:Consolas,monospace; font-size:13px; }
.variant-template-close { border:0; background:transparent; font-size:26px; line-height:1; cursor:pointer; color:#6b7280; }
.variant-template-group-list { display:flex; flex-direction:column; gap:10px; margin:12px 0; }
.variant-template-group-card { display:flex; align-items:center; gap:8px; padding:10px; border:1px solid #dfe3e8; border-radius:9px; background:var(--site-surface, #fff); }
.variant-template-group-open { flex:1; display:flex; align-items:center; justify-content:space-between; gap:10px; border:0; background:var(--site-surface, #fff); text-align:left; cursor:pointer; padding:4px; }
.variant-template-group-open span { display:flex; flex-direction:column; }
.variant-template-group-open small { color:#6b7280; margin-top:3px; }
.variant-template-group-moves, .variant-template-value-actions { display:flex; gap:5px; }
.variant-template-value-list { margin:14px 0; }
.variant-template-value-row { display:grid; grid-template-columns:1fr 1fr auto 1fr auto; gap:7px; align-items:center; padding:8px 0; border-bottom:1px solid #edf0f2; }
.variant-template-group-dialog .variant-values-dialog-body { overflow-y:auto; }
.variant-template-group-dialog .variant-value-row { display:flex; padding:0; border-bottom:0; }
.variant-template-group-dialog .variant-value-row > input,
.variant-template-group-dialog .variant-value-row > label { flex:1 1 150px; min-width:0; }
.variant-template-value-row input { min-width:0; }
.variant-template-color { display:flex; align-items:center; gap:5px; border:1px solid var(--site-border, #ddd); border-radius:5px; padding:6px 8px; color:#666; font-size:12px; }
.variant-template-color-input { width:30px !important; height:28px; padding:0 !important; }
.variant-template-group-remove { width:100%; margin-bottom:10px; }
.variant-template-name-input { width:100%; display:block; }
.variant-template-preview-overlay { position:fixed; inset:0; z-index:9998; display:flex; align-items:center; justify-content:center; padding:20px; background:rgba(15,23,42,.55); }
.variant-template-preview-dialog { width:min(720px,100%); max-height:calc(100vh - 40px); display:flex; flex-direction:column; overflow:hidden; background:var(--site-surface, #fff); border-radius:10px; box-shadow:0 18px 50px rgba(0,0,0,.28); }
.variant-template-preview-header, .variant-template-preview-footer { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 18px; border-bottom:1px solid var(--site-border-soft, #e5e7eb); }
.variant-template-preview-footer { justify-content:flex-end; border-top:1px solid var(--site-border-soft, #e5e7eb); border-bottom:0; }
.variant-template-preview-close { border:0; background:transparent; color:#6b7280; font-size:26px; line-height:1; cursor:pointer; }
.variant-template-preview-body { overflow:auto; padding:18px; }
.variant-template-preview-group { padding:14px; margin-bottom:10px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:8px; background:var(--site-surface-muted, #fafafa); }
.variant-template-preview-group h4 { margin:0; font-size:16px; }
.variant-template-preview-group > small { display:block; margin-top:3px; color:#6b7280; }
.variant-template-preview-values { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; }
.variant-template-preview-value { display:inline-flex; align-items:center; gap:7px; padding:8px 10px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:6px; background:var(--site-surface, #fff); }
.variant-template-preview-value span { color:#6b7280; font-size:12px; }
.variant-template-preview-color { width:16px; height:16px; border:1px solid var(--site-border, #d1d5db); border-radius:50%; }
@media (max-width:700px) {
  .variant-template-value-row { grid-template-columns:1fr 1fr; }
  .variant-template-color, .variant-template-value-row .variant-template-stock { grid-column:span 1; }
  .variant-template-value-actions { grid-column:1 / -1; }
}
.variant-group-toolbar { display:flex; gap:8px; align-items:center; }
.variant-group-toolbar .variant-group-name { flex:1 1 35%; }
.variant-group-toolbar .variant-group-type { flex:0 1 180px; }
.variant-size-guide { margin:12px 0; padding:12px; border:1px solid var(--site-border-soft, #f0d6d8); border-radius:10px; background:var(--site-primary-soft, #fff8f8); }
.variant-size-guide > label { display:block; font-weight:600; margin-bottom:6px; }
.variant-guide-content { width:100%; resize:vertical; min-height:72px; }
.variant-guide-image { margin-top:8px; display:block; }
.variant-guide-clear { font-size:12px !important; font-weight:400 !important; margin-top:8px; }
.variant-guide-current { display:block; width:fit-content; max-width:100%; color:#6b7280; font-size:12px; margin-bottom:6px; word-break:break-all; }
.variant-guide-current > a,
.variant-value-image-preview-link { display:inline-block; width:fit-content; max-width:100%; line-height:0; vertical-align:top; }
.variant-guide-current > a img { display:block; max-width:180px; max-height:120px; object-fit:contain; cursor:zoom-in; }
.variant-value-row { display:flex; gap:8px; margin-top:8px; align-items:center; flex-wrap:wrap; }
.variant-value-row .variant-value { flex:1 1 160px; }
.variant-value-row .variant-note { flex:1 1 150px; }
.variant-value-row .variant-value-stock { flex:1 1 150px; }
.variant-color-field { display:inline-flex; align-items:center; gap:5px; padding:7px 9px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:7px; color:#4b5563; font-size:12px; white-space:nowrap; }
.variant-color-field input.variant-value-color {
    width: 34px !important;
    height: 34px !important;
    flex: 0 0 34px;
    padding: 0 !important;
    border: 2px solid var(--site-surface, #fff) !important;
    border-radius: 50% !important;
    background: transparent;
    box-shadow: 0 0 0 1px var(--site-border, #cbd5e1), 0 2px 5px rgba(15, 23, 42, .12);
    cursor: pointer;
    overflow: hidden;
}
.variant-color-field input.variant-value-color::-webkit-color-swatch-wrapper {
    padding: 0;
}
.variant-color-field input.variant-value-color::-webkit-color-swatch {
    border: 0;
    border-radius: 50%;
}
.variant-color-field input.variant-value-color::-moz-color-swatch {
    border: 0;
    border-radius: 50%;
}
.variant-image-field { display:inline-flex; align-items:center; gap:6px; padding:7px 9px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:7px; color:#4b5563; font-size:12px; white-space:nowrap; }
.variant-image-field input[type="file"] { max-width:180px; font-size:12px; }
.variant-image-upload-row { grid-column: 1 / -1; width:100%; display:flex; flex-wrap:wrap; align-items:center; gap:10px; min-width:0; }
.variant-value-image-preview { width:48px; height:48px; object-fit:cover; border:1px solid var(--site-border, #d1d5db); border-radius:6px; }
.variant-group-heading { display:flex; align-items:baseline; justify-content:space-between; gap:10px; margin-bottom:10px; }
.variant-group-label { font-weight:700; color:var(--site-text, #222); }
.variant-group-label small { font-size:12px; font-weight:500; color:#777; }
.variant-group-selected { color:#666; font-size:13px; }
.variant-options { display:flex; flex-wrap:wrap; gap:10px; }
.variant-option { min-width:78px; min-height:42px; padding:8px 14px; border:1px solid var(--site-border-soft, #d9dde3); border-radius:8px; background:var(--site-surface, #fff); color:var(--site-text, #333); cursor:pointer; transition:.18s ease; align-items:center; text-align:center; }
.variant-option:hover { border-color:var(--site-primary, #e60012); color:var(--site-primary-hover, #b4000e); box-shadow:none; }
.variant-option.is-selected { border-color:var(--site-primary, #e60012); color:var(--site-text, #333); box-shadow:none; }
.variant-option[aria-disabled="true"] { opacity:.4; cursor:pointer; box-shadow:none; }
.variant-option-size { border-radius:8px; min-width:78px; }
.variant-option-color { display:inline-flex; align-items:center; gap:8px; border-radius:999px; }
.variant-option-color {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 4px;
    justify-content: center;
    border-radius: 50%;
    overflow: visible;
}
.variant-color-swatch {
    width: 30px;
    height: 30px;
    display: inline-block;
    border-radius: 50%;
    background: var(--swatch-color);
    border: 1px solid rgba(0,0,0,.22);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.52);
}
.variant-color-tooltip {
    position: absolute;
    top: calc(100% + 7px);
    left: 50%;
    z-index: 20;
    max-width: 160px;
    padding: 5px 8px;
    border: 1px solid var(--site-border, #d1d5db);
    border-radius: 5px;
    background: #1f2937;
    color: var(--site-surface, #fff);
    font-size: 12px;
    font-weight: 500;
    line-height: 1.25;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transform: translate(-50%, -3px);
    transition: opacity .15s ease, visibility .15s ease, transform .15s ease;
}
.variant-option-color:hover .variant-color-tooltip,
.variant-option-color:focus-visible .variant-color-tooltip,
.cart-variant-modal-option-color:hover .variant-color-tooltip,
.cart-variant-modal-option-color:focus-visible .variant-color-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}
.variant-image-swatch { width:30px; height:30px; display:inline-block; object-fit:cover; border-radius:6px; border:1px solid var(--site-border, #d1d5db); vertical-align:middle; }
.variant-option-color.is-selected {
    padding: 4px;
    border-width: 1px;
}
.variant-option-color.is-selected .variant-color-swatch {
    width: 30px;
    height: 30px;
}
.variant-option-image {
    width: 40px;
    min-width: 40px;
    height: 40px;
    padding: 4px;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
}
.variant-image-swatch-wrap {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    outline: none;
}
.variant-image-swatch {
    width: 30px;
    height: 30px;
    display: block;
    object-fit: cover;
    border-radius: 50%;
    border: 1px solid rgba(0,0,0,.22);
    box-shadow: inset 0 0 0 2px rgba(255,255,255,.52);
}
.variant-image-preview-popover {
    position: fixed;
    z-index: 10000;
    width: min(140px, calc(100vw - 20px));
    min-height: 140px;
    padding: 5px;
    border: 1px solid var(--site-border, #d1d5db);
    border-radius: 10px;
    background: var(--site-surface, #fff);
    box-shadow: 0 8px 24px rgba(15,23,42,.2);
    display: flex;
    flex-direction: column;
    gap: 5px;
    align-items: stretch;
    opacity: 0;
    pointer-events: none;
    transform: translateY(5px) scale(.92);
    transition: opacity .16s ease, transform .16s ease;
}
.variant-image-preview-popover.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.variant-image-preview-popover::after {
    content: "";
    position: absolute;
    left: var(--preview-arrow-left, 50%);
    width: 10px;
    height: 10px;
    border-right: 1px solid var(--site-border, #d1d5db);
    border-bottom: 1px solid var(--site-border, #d1d5db);
    background: var(--site-surface, #fff);
    transform: translateX(-50%) rotate(45deg);
}
.variant-image-preview-popover.is-above::after {
    bottom: -6px;
}
.variant-image-preview-popover.is-below::after {
    top: -6px;
    transform: translateX(-50%) rotate(225deg);
}
.variant-image-preview-popover img {
    width: 100%;
    height: 130px;
    display: block;
    object-fit: contain;
    background: var(--site-surface-muted, #f8fafc);
    border-radius: 6px;
}
.variant-image-preview-value {
    display: block;
    overflow: hidden;
    color: #1f2937;
    font-size: 12px;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.variant-option-note { display:block; font-size:11px; color:#777; margin-top:2px; }
.variant-selection-details {
    margin-top: 8px;
    color: #6b7280;
    font-size: 12px;
    line-height: 1.5;
}
.variant-selection-details[hidden] {
    display: none;
}
.variant-selection-note::before {
    content: "Ghi chú: ";
    color: #374151;
    font-weight: 700;
}
.size-guide-link { border:0; padding:0; margin:0 0 10px; color:#c40010; background:transparent; font-size:13px; font-weight:600; cursor:pointer; }
.size-guide-link:hover { text-decoration:underline; }
.size-guide-fancybox-content { display:none; width:min(620px, 92vw); padding:22px; border-radius:12px; background:var(--site-surface, #fff); }
.size-guide-fancybox-content h3 { margin:0 0 14px; font-size:20px; color:var(--site-text, #222); }
.size-guide-fancybox-content .size-guide-content { color:var(--site-text, #333); }
.size-guide-fancybox-content .size-guide-image { display:block; width:100%; margin-top:15px; border-radius:8px; }
.size-guide-popup { display:none; position:fixed; inset:0; z-index:3000; align-items:center; justify-content:center; padding:20px; }
.size-guide-popup.is-open { display:flex; }
.size-guide-backdrop { position:absolute; inset:0; background:rgba(15,23,42,.58); }
.size-guide-panel { position:relative; z-index:1; width:min(620px,100%); max-height:min(86vh,760px); overflow:auto; padding:22px; border-radius:16px; background:var(--site-surface, #fff); box-shadow:0 20px 60px rgba(0,0,0,.25); }
.size-guide-header { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.size-guide-header h3 { margin:0; font-size:20px; }
.size-guide-close { width:32px; height:32px; border:0; border-radius:50%; background:#f3f4f6; font-size:22px; cursor:pointer; }
.size-guide-content { line-height:1.7; color:#374151; }
.size-guide-image-link { display:block; margin-top:15px; }
.size-guide-image { width:100%; margin:0; border-radius:8px; }
body.size-guide-open { overflow:hidden; }
@media (max-width:600px) {
    .variant-template-card { align-items:stretch; flex-direction:column; gap:8px; }
    .variant-template-card-copy { width:100%; }
    .variant-template-card-actions { width:100%; }
    .variant-group-toolbar { flex-wrap:wrap; }
    .variant-group-toolbar .variant-group-name, .variant-group-toolbar .variant-group-type { flex:1 1 100%; }
    .variant-value-row > * { flex:1 1 100% !important; }
    .variant-color-field { justify-content:space-between; }
    .size-guide-panel { padding:18px; }
}
.coupon_content.product-voucher-chip,.coupon_content.product-voucher-chip.promotion-condition{padding:4px 14px;font-size:13px;font-weight:700;line-height:1.4;transition:background .18s ease,color .18s ease,box-shadow .18s ease}
.coupon_content.product-voucher-chip:hover,.coupon_content.product-voucher-chip.promotion-condition:hover{transform:none;box-shadow:none}

/* Order summary interaction states */
.order-review .review-item.discount-row:hover > strong,
.order-review .review-item.discount-row:focus-visible > strong {
    color:var(--site-primary, #e60012) !important;
}
.order-review .review-item.vat-row,
.order-review .review-item.vat-row > strong {
    color:var(--site-primary, #e60012) !important;
}
.order-review .review-item.checkout-summary-row {
    cursor:pointer;
    transition:color .18s ease, background-color .18s ease;
}
.order-review .review-item.checkout-summary-row:hover > strong,
.order-review .review-item.checkout-summary-row:focus-visible > strong {
    color:var(--site-primary, #e60012) !important;
}
.order-review .review-item.checkout-summary-row:last-child > strong:last-child {
    color:var(--site-primary, #e60012) !important;
}

/* Fashion product gallery: portrait hero image with vertical thumbnails. */
@media (min-width: 993px) {
    .product-detail.product-detail--fashion {
        grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr);
        gap: 16px;
        max-width: 1320px;
    }
    .product-gallery.product-gallery--fashion {
        flex-direction: row;
        align-items: stretch;
        gap: 12px;
        max-width: none;
    }
    .product-gallery--fashion > .main-image {
        order: 2;
        flex: 1 1 0;
        width: auto;
        min-width: 0;
        aspect-ratio: .77;
        margin: 0;
        max-height: none;
    }
    .product-gallery--fashion > .main-image > .main-image-link,
    .product-gallery--fashion > .main-image > .main-image-link > img {
        height: 100%;
    }
    .product-gallery--fashion > .main-image > .main-image-link > img {
        max-height: none;
    }
    .product-gallery--fashion > .product-gallery-thumbs-row {
        order: 1;
        align-self: stretch;
        flex: 0 0 78px;
        flex-direction: column;
        align-items: center;
        gap: 8px;
        width: 78px;
        max-width: 78px;
        margin: 0;
    }
    .product-gallery--fashion .thumbnail-list {
        flex: 1 1 0;
        width: 100%;
        height: 100%;
        min-height: 0;
        margin: 0;
    }
    .product-gallery--fashion .thumb-swiper {
        width: 100%;
        height: 100%;
    }
    .product-gallery--fashion .thumb-swiper .swiper-wrapper {
        flex-direction: column;
        align-items: stretch;
        width: 100% !important;
        max-width: 100%;
        min-width: 0;
    }
    .product-gallery--fashion .thumb-swiper .swiper-slide {
        flex: 0 0 96px;
        width: 100% !important;
        min-width: 0;
        height: 96px;
    }
    .product-gallery--fashion .thumbnail-list .thumbnail-button {
        width: 64px;
        min-width: 64px;
        margin: 0 auto;
    }
    .product-gallery--fashion .thumbnail-list img {
        width: 64px;
        height: 96px;
        border-radius: 3px;
    }
    .product-gallery--fashion .video-thumb-btn {
        flex: 0 0 96px;
        width: 64px;
        height: 96px;
        margin: 0 auto;
        border-radius: 3px;
    }
    .product-gallery--fashion .thumb-swiper-prev,
    .product-gallery--fashion .thumb-swiper-next {
        display: none;
    }
}

/* Keep hero slider controls over the actual banner artwork on mobile. These
   overrides follow Swiper's stylesheet, which is loaded after the main CSS. */
@media (max-width: 767px) {
    .hero-slider .hero-swiper .swiper-button-prev,
    .hero-slider .hero-swiper .swiper-button-next {
        top: 50% !important;
    }
    .hero-slider .hero-swiper .swiper-pagination.swiper-pagination-bullets {
        bottom: 12px !important;
    }
}

.header-centered-logo,
.header-search-toggle,
.header-template-nav { display:none; }
@media (max-width:768px) {
    /* The selected compact header is a mobile-only template. */
    .main-header.header-template-centered .header-logo-row { display:none; }
    .main-header.header-template-centered .header-main-row { position:relative; z-index:1500; padding:0; border-bottom:2px solid #dedede; background:var(--site-surface, #fff); box-shadow:0 3px 8px rgba(0,0,0,.08); }
    .main-header.header-template-centered .header-main-row.header-main-row-sticky.is-fixed { position:fixed; }
    .header-template-centered .header-main-row { padding:0; }
    .header-template-centered .header-main-row-inner { display:grid; grid-template-columns:minmax(36px,auto) minmax(0,1fr) auto; width:100%; min-height:52px; gap:clamp(4px,2vw,8px); padding:0 clamp(8px,2.8vw,12px); }
    .header-template-centered .category-menu-wrap { grid-column:1; justify-self:start; }
    .header-template-centered .category-menu-btn { width:clamp(36px,10vw,40px); min-width:clamp(36px,10vw,40px); height:clamp(36px,10vw,40px); min-height:clamp(36px,10vw,40px); justify-content:center; padding:0; border:1px solid var(--site-primary, #e60012); border-radius:8px; background:var(--site-surface, #fff); box-shadow:none; color:var(--site-primary, #e60012); font-size:13px; }
    .header-template-centered .category-menu-btn i:first-child,
    .header-template-centered .category-menu-btn .caret { color:var(--site-primary, #e60012); }
    .header-template-centered .category-menu-btn:hover,
    .header-template-centered .category-menu-btn:active { transform:none; box-shadow:none; background:var(--site-primary-soft, #fff5f5); border-color:#d2000e; }
    .category-mega-panel .category-panel-close:hover,
    .category-mega-panel .category-panel-close:active { transform:none; box-shadow:none; }
    .header-template-centered .category-menu-btn span,
    .header-template-centered .category-menu-btn .caret { display:none; }
    .header-template-centered .header-centered-logo { grid-column:2; grid-row:1; display:flex; justify-content:center; min-width:0; width:100%; }
    .header-template-centered .header-centered-logo img { display:block; width:auto; max-width:min(50vw,calc(100vw - 128px)); height:auto; max-height:clamp(36px,12vw,50px); object-fit:contain; }
    .header-template-centered .header-actions { grid-column:3; justify-self:end; gap:clamp(4px,1.8vw,10px); min-width:0; }
    .header-template-centered .cart-icon .cart-count { top:2px; right:-1px; width:clamp(15px,4.5vw,18px); height:clamp(15px,4.5vw,18px); font-size:clamp(9px,3vw,11px); }
    .header-template-centered .header-search-toggle { display:inline-flex; align-items:center; justify-content:center; flex:0 0 clamp(28px,8vw,34px); width:clamp(28px,8vw,34px); height:clamp(32px,9vw,38px); padding:0; border:0; background:transparent; color:var(--site-text, #222); font-size:clamp(17px,5vw,19px); cursor:pointer; }
    .header-template-centered .cart-icon { display:inline-flex; align-items:center; justify-content:center; flex:0 0 clamp(28px,8vw,34px); width:clamp(28px,8vw,34px); height:clamp(32px,9vw,38px); font-size:clamp(18px,5.2vw,20px); }
    .header-template-centered .header-main-row-inner .search-box { display:none; position:absolute; z-index:1805; top:100%; right:0; left:0; width:auto; max-width:none; margin:0; padding:8px 0; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:0 0 10px 10px; background:var(--site-surface, #fff); box-shadow:0 10px 24px rgba(15,23,42,.14); }
    .header-template-centered .header-main-row-inner .search-box.is-open { display:block; }
    .header-template-centered .header-main-row-inner .search-box form { width:100%; max-width:none; margin:0; }
    .header-template-centered .header-main-row-inner .search-box input { height:42px; border:1px solid #d8dee8; border-radius:999px; font-size:14px; }
    .header-template-centered .header-main-row-inner .search-box button { width:42px; height:42px; }
    .header-template-nav { display:block; width:100%; padding:7px 8px; border:0; border-bottom:1px solid #ededed; border-radius:0; background:var(--site-surface, #fff); box-shadow:none; }
    .header-template-nav ul { display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:center; gap:0 8px; width:100%; margin:0; padding:0 4px; overflow:visible; list-style:none; }
    .header-template-nav li { flex:0 0 auto; width:auto; margin:0; }
    .header-template-nav a { display:block; padding:7px 5px; border-radius:0; color:#292929; font-size:11px; font-weight:600; text-decoration:none; white-space:nowrap; }
}

@media (max-width: 992px) {
    .product-detail.product-detail--fashion {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }
    .product-gallery.product-gallery--fashion {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        max-width: 100%;
    }
    .product-gallery--fashion > .main-image {
        order: 1;
        width: 100%;
        aspect-ratio: .77;
        margin: 0 0 12px;
        max-height: none;
    }
    .product-gallery--fashion > .main-image > .main-image-link,
    .product-gallery--fashion > .main-image > .main-image-link > img {
        height: 100%;
    }
    .product-gallery--fashion > .main-image > .main-image-link > img {
        max-height: none;
    }
    .product-gallery--fashion > .product-gallery-thumbs-row {
        order: 2;
        flex: 0 0 96px;
        flex-direction: row;
        align-items: center;
        gap: 8px;
        width: 100%;
        max-width: 100%;
        height: 96px;
        margin: 0;
    }
    .product-gallery--fashion .thumbnail-list {
        flex: 1 1 auto;
        width: 100%;
        height: 96px;
        min-height: 0;
        margin: 0;
    }
    .product-gallery--fashion .thumb-swiper {
        width: 100%;
        height: 96px;
    }
    .product-gallery--fashion .thumb-swiper .swiper-wrapper {
        flex-direction: row;
        align-items: center;
        width: max-content !important;
        max-width: none;
        min-width: 100%;
    }
    .product-gallery--fashion .thumb-swiper .swiper-slide {
        flex: 0 0 64px;
        width: 64px !important;
        min-width: 64px;
        height: 96px;
    }
    .product-gallery--fashion .thumbnail-list .thumbnail-button {
        width: 64px;
        min-width: 64px;
    }
    .product-gallery--fashion .thumbnail-list img {
        width: 64px;
        height: 96px;
        border-radius: 3px;
    }
    .product-gallery--fashion .video-thumb-btn {
        flex: 0 0 64px;
        width: 64px;
        height: 96px;
        margin: 0;
        border-radius: 3px;
    }
    .product-gallery--fashion .thumb-swiper-prev,
    .product-gallery--fashion .thumb-swiper-next {
        display: none;
    }
}

/* Header template 3: one compact row with the brand at left and navigation/actions at right. */
.main-header.header-template-logo-left .header-logo-row { display:none; }
.header-template-logo-left .header-main-row { padding:12px 0; }
.header-template-logo-left .header-main-row-inner { display:flex; flex-wrap:nowrap; align-items:center; gap:clamp(8px,1.35vw,18px); }
.header-template-logo-left .header-inline-logo { display:flex; flex:0 1 190px; min-width:110px; align-items:center; }
.header-template-logo-left .header-inline-logo a { display:block; max-width:100%; }
.header-template-logo-left .header-inline-logo img { width:auto; max-width:100%; height:auto; max-height:54px; object-fit:contain; }
.header-template-logo-left .category-menu-wrap { flex:0 0 auto; }
.header-template-logo-left .main-nav { flex:1 1 auto; min-width:0; }
.header-template-logo-left .main-nav ul { flex-wrap:nowrap; justify-content:center; gap:clamp(8px,1.15vw,18px); }
.header-template-logo-left .main-nav li { flex:0 1 auto; min-width:0; }
.header-template-logo-left .main-nav a { font-size:clamp(11px,.92vw,14px); white-space:nowrap; }
.header-template-logo-left .header-search-toggle { display:inline-flex; flex:0 0 38px; align-items:center; justify-content:center; width:38px; height:38px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:50%; background:var(--site-surface, #fff); color:#475569; cursor:pointer; }
.header-template-logo-left .header-search-toggle:hover { border-color:var(--site-border, #cbd5e1); color:var(--site-primary, #e60012); }
.header-template-logo-left .header-main-row-inner > .search-box { display:none; position:absolute; z-index:1805; top:calc(100% + 1px); right:48px; width:min(380px,calc(100vw - 32px)); max-width:none; margin:0; padding:10px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:0 0 10px 10px; background:var(--site-surface, #fff); box-shadow:0 10px 24px rgba(15,23,42,.14); }
.header-template-logo-left .header-main-row-inner > .search-box.is-open { display:block; }
.header-template-logo-left .header-main-row-inner > .search-box input { height:42px; border:1px solid #d8dee8; border-radius:999px; font-size:14px; }
.header-template-logo-left .header-actions { gap:12px; }
.header-template-logo-left .header-inline-account-actions { display:flex; align-items:center; gap:clamp(8px,1vw,16px); white-space:nowrap; }
.header-template-logo-left .header-inline-account,
.header-template-logo-left .header-inline-register { display:inline-flex; align-items:center; justify-content:center; gap:7px; min-height:40px; padding:0 14px; border:1px solid #e1e5eb; border-radius:999px; color:#263445; font-size:14px; font-weight:600; text-decoration:none; }
.header-template-logo-left .header-inline-account:hover { border-color:var(--site-border, #cbd5e1); background:var(--site-surface-muted, #f8fafc); }
.header-template-logo-left .header-inline-register { border-color:var(--site-primary, #e60012); background:var(--site-primary, #e60012); color:var(--site-surface, #fff); }
.header-template-logo-left .header-inline-register:hover { border-color:var(--site-primary-hover, #c90010); background:var(--site-primary-hover, #c90010); color:var(--site-surface, #fff); }
.header-template-logo-left .mobile-menu-btn { display:none; }
@media (max-width:992px) {
    .header-template-logo-left .header-main-row { padding:8px 0; }
    .header-template-logo-left .header-main-row-inner { min-height:56px; gap:clamp(8px,1.6vw,16px); }
    .header-template-logo-left .header-inline-logo { flex:0 1 170px; }
    .header-template-logo-left .header-inline-logo img { max-height:46px; }
    .header-template-logo-left .category-menu-btn { width:40px; min-width:40px; height:40px; justify-content:center; padding:0; border:1px solid var(--site-primary, #e60012); border-radius:8px; background:var(--site-surface, #fff); color:var(--site-primary, #e60012); }
    .header-template-logo-left .category-menu-btn span,
    .header-template-logo-left .category-menu-btn .caret { display:none; }
    .header-template-logo-left .main-nav { display:none; position:absolute; z-index:1800; top:100%; right:12px; left:12px; width:auto; margin:0; }
    .header-template-logo-left .main-nav.active { display:block; }
    .header-template-logo-left .mobile-menu-btn { display:block; flex:0 0 36px; width:36px; height:36px; margin:0; }
    .header-template-logo-left .header-actions { margin-left:auto; gap:8px; }
    .header-template-logo-left .header-inline-account-actions { gap:6px; }
    .header-template-logo-left .header-inline-account,
    .header-template-logo-left .header-inline-register { min-height:36px; padding:0 10px; font-size:12px; }
    .header-template-logo-left .header-main-row-inner > .search-box { right:48px; }
}
@media (max-width:768px) {
    .header-template-logo-left .header-main-row-inner { flex-wrap:wrap; justify-content:space-between; gap:6px; padding-top:6px; padding-bottom:6px; }
    .header-template-logo-left .header-inline-logo { order:1; flex:0 1 130px; min-width:0; }
    .header-template-logo-left .header-inline-logo img { max-height:42px; }
    .header-template-logo-left .category-menu-wrap { order:2; }
    .header-template-logo-left .header-actions { order:3; flex:0 0 auto; margin-left:auto; }
    .header-template-logo-left .header-inline-account-actions { display:none; }
    .header-template-logo-left .header-search-toggle { flex-basis:34px; width:34px; height:34px; border:0; }
    .header-template-logo-left .cart-icon { display:inline-flex; align-items:center; justify-content:center; width:32px; height:34px; font-size:19px; }
    .header-template-logo-left .mobile-menu-btn { order:4; display:block; flex:0 0 30px; width:30px; height:34px; padding:0; font-size:20px; }
    .header-template-logo-left .header-main-row-inner > .search-box { top:100%; right:0; left:0; width:auto; padding:8px 0; }
    .header-template-logo-left .main-nav { order:5; top:100%; right:8px; left:8px; width:auto; padding:8px; border:1px solid var(--site-border-soft, #e5e7eb); border-radius:10px; background:var(--site-surface, #fff); box-shadow:0 10px 24px rgba(15,23,42,.14); }
    .header-template-logo-left .main-nav ul { flex-direction:column; align-items:stretch; gap:4px; }
    .header-template-logo-left .main-nav li { width:100%; }
    .header-template-logo-left .main-nav a { display:block; padding:10px 12px; font-size:14px; white-space:normal; }
}

/* Prevent mobile browsers from zooming the page when a form control receives focus. */
@media (max-width:767px), (pointer:coarse) {
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]),
    select,
    textarea {
        font-size:16px !important;
    }
}

.page-navigation-loader {
    position: fixed;
    inset: 0;
    z-index: 2147483000;
    display: grid;
    place-items: center;
    padding: 24px;
    background: rgba(15, 23, 42, .48);
    backdrop-filter: blur(3px);
    opacity: 0;
    visibility: hidden;
    transition: opacity .16s ease, visibility .16s ease;
}
.page-navigation-loader.is-visible { opacity: 1; visibility: visible; }
.page-navigation-loader-card {
    display: flex;
    min-width: 220px;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    padding: 26px 34px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 16px;
    background: var(--site-surface, #fff);
    box-shadow: 0 18px 55px rgba(15, 23, 42, .24);
    color: #172033;
    text-align: center;
}
.page-navigation-loader-spinner {
    width: 42px;
    height: 42px;
    border: 4px solid #fee2e2;
    border-top-color: var(--site-primary, #e60012);
    border-radius: 50%;
    animation: page-navigation-loader-spin .72s linear infinite;
}
.page-navigation-loader-brand { color: var(--site-primary, #e60012); font-size: 13px; font-weight: 800; letter-spacing: .08em; }
.page-navigation-loader-message { font-size: 14px; font-weight: 600; }
@keyframes page-navigation-loader-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) {
    .page-navigation-loader-spinner { animation-duration: 2.5s; }
    .page-navigation-loader { transition: none; }
}

/* SIXDO-inspired palette. Add future website palettes as scoped body classes. */
body.site-color-scheme-sixdo {
    --site-primary: #211f1c;
    --site-primary-hover: #080807;
    --site-primary-highlight: #211f1c;
    --site-primary-rgb: 33, 31, 28;
    --site-primary-soft: #eee9d6;
    --site-page-background: #f4f1e2;
    --site-surface: #f9f7ee;
    --site-surface-muted: #efeada;
    --site-border: #ddd6bd;
    --site-border-soft: #e9e3d1;
    --site-text: #211f1c;
    background: var(--site-page-background) !important;
    color: var(--site-text);
}

body.site-color-scheme-sixdo .top-bar {
    background: var(--site-page-background);
    color: var(--site-text);
    border-bottom: 1px solid var(--site-border-soft);
}
body.site-color-scheme-sixdo .top-bar a,
body.site-color-scheme-sixdo .top-bar-right a { color: var(--site-text); }
body.site-color-scheme-sixdo .top-bar .account-menu > button,
body.site-color-scheme-sixdo .top-bar .account-menu > button span,
body.site-color-scheme-sixdo .top-bar .account-menu > button i {
    color: var(--site-text) !important;
}
body.site-color-scheme-sixdo .top-bar .account-menu > button:hover,
body.site-color-scheme-sixdo .top-bar .account-menu > button:focus-visible,
body.site-color-scheme-sixdo .top-bar .account-menu.open > button {
    color: var(--site-primary-hover) !important;
}
body.site-color-scheme-sixdo .top-bar .account-dropdown {
    background: var(--site-surface);
    border-color: var(--site-border);
    color: var(--site-text);
}
body.site-color-scheme-sixdo .top-bar .account-dropdown a,
body.site-color-scheme-sixdo .top-bar .account-dropdown a i {
    color: var(--site-text) !important;
}
body.site-color-scheme-sixdo .top-bar .account-dropdown a:hover,
body.site-color-scheme-sixdo .top-bar .account-dropdown a:hover i {
    background: var(--site-primary-soft);
    color: var(--site-primary-hover) !important;
}
body.site-color-scheme-sixdo .top-bar-language-switcher select {
    border-color: var(--site-border);
    background: var(--site-page-background);
    color: var(--site-text);
}
body.site-color-scheme-sixdo .main-header,
body.site-color-scheme-sixdo .main-header.main-header-sticky-container .header-logo-row,
body.site-color-scheme-sixdo .header-main-row.header-main-row-sticky {
    background: var(--site-page-background) !important;
    box-shadow: none;
    border-bottom: 1px solid var(--site-border-soft);
    color: var(--site-text);
}
body.site-color-scheme-sixdo .main-header a,
body.site-color-scheme-sixdo .main-header button,
body.site-color-scheme-sixdo .main-nav a { color: var(--site-text); }
body.site-color-scheme-sixdo .header-main-row .search-box input,
body.site-color-scheme-sixdo .header-main-row .search-box button {
    background: var(--site-surface);
    color: var(--site-text);
    border-color: var(--site-border);
}
body.site-color-scheme-sixdo .header-quicklinks-row {
    background: var(--site-page-background) !important;
    color: var(--site-text) !important;
    border-top: 1px solid var(--site-border-soft);
    border-bottom: 1px solid var(--site-border-soft);
}
body.site-color-scheme-sixdo .header-quicklinks-row-inner a,
body.site-color-scheme-sixdo .header-quicklinks-row .quicklinks-arrow {
    color: var(--site-text) !important;
}
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer,
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer.footer-template-2,
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer.footer-template-3 {
    background: var(--site-page-background) !important;
    color: var(--site-text) !important;
    border-top: 1px solid var(--site-border);
}
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer::before { opacity: 0; }
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer .footer-col h3,
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer .footer-col p,
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer .footer-col ul li,
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer .footer-col ul li a,
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer .footer-bottom { color: var(--site-text) !important; }
body.site-color-scheme-sixdo:not(.footer-template-priority-enabled) .main-footer .footer-bottom { border-color: var(--site-border); }
body.site-color-scheme-sixdo .product-card,
body.site-color-scheme-sixdo .product-info,
body.site-color-scheme-sixdo .review-form,
body.site-color-scheme-sixdo .review-summary,
body.site-color-scheme-sixdo .review-section,
body.site-color-scheme-sixdo .cart-page,
body.site-color-scheme-sixdo .checkout-page,
body.site-color-scheme-sixdo .store-locator-page {
    color: var(--site-text);
}
body.site-color-scheme-sixdo .product-card,
body.site-color-scheme-sixdo .review-form,
body.site-color-scheme-sixdo .review-summary,
body.site-color-scheme-sixdo .cart-summary,
body.site-color-scheme-sixdo .checkout-summary,
body.site-color-scheme-sixdo .store-locator-panel {
    background-color: var(--site-surface);
    border-color: var(--site-border-soft);
}
body.site-color-scheme-sixdo input:not([type="checkbox"]):not([type="radio"]),
body.site-color-scheme-sixdo select,
body.site-color-scheme-sixdo textarea {
    background-color: var(--site-surface);
    border-color: var(--site-border);
    color: var(--site-text);
}
body.site-color-scheme-sixdo input:focus,
body.site-color-scheme-sixdo select:focus,
body.site-color-scheme-sixdo textarea:focus { border-color: var(--site-primary); }
body.site-color-scheme-sixdo .breadcrumb { background: var(--site-page-background); }
body.site-color-scheme-sixdo .breadcrumb a { color: var(--site-text); }
body.site-color-scheme-sixdo .breadcrumb span { color: #777265; }

/* HAGOO-inspired palette: clean white surfaces, charcoal text and controls. */
body.site-color-scheme-hagoo {
    --site-primary: #080808;
    --site-primary-hover: #333333;
    --site-primary-highlight: #1b1b1b;
    --site-primary-rgb: 8, 8, 8;
    --site-primary-soft: #f3f3f3;
    --site-page-background: #ffffff;
    --site-surface: #ffffff;
    --site-surface-muted: #f7f7f7;
    --site-border: #d4d4d4;
    --site-border-soft: #e8e8e8;
    --site-text: #111111;
    background: var(--site-page-background) !important;
    color: var(--site-text);
}
body.site-color-scheme-hagoo .top-bar {
    background: #ffffff !important;
    color: var(--site-text);
    border-bottom: 1px solid var(--site-border-soft);
}
body.site-color-scheme-hagoo .top-bar a,
body.site-color-scheme-hagoo .top-bar-right a,
body.site-color-scheme-hagoo .top-bar .account-menu > button,
body.site-color-scheme-hagoo .top-bar .account-menu > button span,
body.site-color-scheme-hagoo .top-bar .account-menu > button i {
    color: var(--site-text) !important;
}
body.site-color-scheme-hagoo .top-bar .account-menu > button:hover,
body.site-color-scheme-hagoo .top-bar .account-menu > button:focus-visible,
body.site-color-scheme-hagoo .top-bar .account-menu.open > button { color: var(--site-primary-hover) !important; }
body.site-color-scheme-hagoo .top-bar .account-dropdown {
    background: var(--site-surface);
    border-color: var(--site-border);
    color: var(--site-text);
}
body.site-color-scheme-hagoo .top-bar .account-dropdown a,
body.site-color-scheme-hagoo .top-bar .account-dropdown a i { color: var(--site-text) !important; }
body.site-color-scheme-hagoo .top-bar .account-dropdown a:hover,
body.site-color-scheme-hagoo .top-bar .account-dropdown a:hover i {
    background: var(--site-primary-soft);
    color: var(--site-primary-hover) !important;
}
body.site-color-scheme-hagoo .main-header,
body.site-color-scheme-hagoo .main-header.main-header-sticky-container .header-logo-row,
body.site-color-scheme-hagoo .header-main-row.header-main-row-sticky {
    background: #ffffff !important;
    box-shadow: none;
    border-bottom: 1px solid var(--site-border-soft);
    color: var(--site-text);
}
body.site-color-scheme-hagoo .main-header a,
body.site-color-scheme-hagoo .main-header button,
body.site-color-scheme-hagoo .main-nav a { color: var(--site-text); }
body.site-color-scheme-hagoo .header-main-row .search-box input,
body.site-color-scheme-hagoo .header-main-row .search-box button {
    background: #ffffff;
    color: var(--site-text);
    border-color: var(--site-border);
}
body.site-color-scheme-hagoo .header-quicklinks-row {
    background: #ffffff !important;
    color: var(--site-text) !important;
    border-top: 1px solid var(--site-border-soft);
    border-bottom: 1px solid var(--site-border-soft);
}
body.site-color-scheme-hagoo .header-quicklinks-row-inner a,
body.site-color-scheme-hagoo .header-quicklinks-row .quicklinks-arrow { color: var(--site-text) !important; }
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer,
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer.footer-template-2,
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer.footer-template-3 {
    background: #ffffff !important;
    color: var(--site-text) !important;
    border-top: 1px solid var(--site-border);
}
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer::before { opacity: 0; }
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer .footer-col h3,
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer .footer-col p,
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer .footer-col ul li,
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer .footer-col ul li a,
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer .footer-bottom { color: var(--site-text) !important; }
body.site-color-scheme-hagoo:not(.footer-template-priority-enabled) .main-footer .footer-bottom { border-color: var(--site-border); }
body.site-color-scheme-hagoo .product-card,
body.site-color-scheme-hagoo .product-info,
body.site-color-scheme-hagoo .review-form,
body.site-color-scheme-hagoo .review-summary,
body.site-color-scheme-hagoo .review-section,
body.site-color-scheme-hagoo .cart-page,
body.site-color-scheme-hagoo .checkout-page,
body.site-color-scheme-hagoo .store-locator-page { color: var(--site-text); }
body.site-color-scheme-hagoo .product-card,
body.site-color-scheme-hagoo .review-form,
body.site-color-scheme-hagoo .review-summary,
body.site-color-scheme-hagoo .cart-summary,
body.site-color-scheme-hagoo .checkout-summary,
body.site-color-scheme-hagoo .store-locator-panel {
    background-color: var(--site-surface);
    border-color: var(--site-border-soft);
}
body.site-color-scheme-hagoo .product-card .product-image { background: #ffffff; }
body.site-color-scheme-hagoo input:not([type="checkbox"]):not([type="radio"]),
body.site-color-scheme-hagoo select,
body.site-color-scheme-hagoo textarea {
    background-color: var(--site-surface);
    border-color: var(--site-border);
    color: var(--site-text);
}
body.site-color-scheme-hagoo input:focus,
body.site-color-scheme-hagoo select:focus,
body.site-color-scheme-hagoo textarea:focus { border-color: var(--site-primary); }
body.site-color-scheme-hagoo .breadcrumb { background: #f7f7f7; }
body.site-color-scheme-hagoo .breadcrumb a,
body.site-color-scheme-hagoo .breadcrumb span { color: var(--site-text); }
