:root{
  --primary:#0f62fe;--primary-dark:#0a4fd0;--accent:#ff7a00;--ink:#172033;--muted:#667085;
  --line:#e7ebf0;--soft:#f6f8fb;--card:#fff;--success:#16a34a;--danger:#d92d20;
  --shadow:0 10px 30px rgba(16,24,40,.08);--radius:18px
}
*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#fff;color:var(--ink);line-height:1.5}a{text-decoration:none;color:inherit}button,input,select,textarea{font:inherit}.container{width:min(1240px,calc(100% - 32px));margin:auto}.muted{color:var(--muted)}
.utility-bar{background:#0b1730;color:#eaf1ff;font-size:14px}.utility-inner{min-height:36px;display:flex;justify-content:space-between;align-items:center;gap:16px}.utility-bar a{color:#fff}.utility-note{opacity:.78}
.site-header{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}.header{display:flex;align-items:center;gap:28px;min-height:82px}.logo{display:inline-flex;align-items:center;gap:10px;font-size:24px;font-weight:900;letter-spacing:-.5px;color:#0b1730;white-space:nowrap}.logo-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:13px;background:linear-gradient(135deg,var(--primary),#56a0ff);color:#fff;font-size:16px;box-shadow:0 8px 20px rgba(15,98,254,.24)}.search{flex:1;display:flex;min-width:220px}.search input{width:100%;height:46px;border:1px solid #d8dee8;border-right:0;border-radius:12px 0 0 12px;padding:0 15px;outline:none;background:#fbfcfe}.search input:focus{border-color:var(--primary);background:#fff}.search button{border:0;background:var(--primary);color:#fff;padding:0 22px;border-radius:0 12px 12px 0;cursor:pointer;font-weight:700}.search button:hover{background:var(--primary-dark)}.header-actions{display:flex;gap:20px;align-items:center}.header-actions>a{display:flex;align-items:center;gap:8px;color:#344054}.header-actions>a>span{font-size:21px}.header-actions small{font-size:13px;font-weight:700}.cart-pill{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:var(--accent);color:white;font-size:11px;margin-left:4px}.header-spacer{flex:1}.secure-checkout{font-weight:700;color:#475467}
.menu{background:#fff;border-bottom:1px solid var(--line);position:relative;z-index:40}.menu .container{display:flex;align-items:center;gap:30px;min-height:50px}.menu a{font-size:14px;font-weight:700;color:#344054;position:relative}.menu a:hover{color:var(--primary)}.menu a:after{content:"";position:absolute;left:0;right:0;bottom:-15px;height:2px;background:var(--primary);transform:scaleX(0);transition:.2s}.menu a:hover:after{transform:scaleX(1)}
.banner-slider{position:relative;min-height:480px;background:#eaf0f8;overflow:hidden}.banner-loading{height:480px;display:grid;place-items:center;color:var(--muted)}.banner-track{position:relative;height:480px}.banner-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;visibility:hidden;transition:opacity .45s ease,visibility .45s}.banner-slide.active{opacity:1;visibility:visible}.banner-content{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;color:#fff}.banner-content h1{font-size:clamp(38px,5vw,64px);max-width:780px;line-height:1.05;letter-spacing:-2px}.banner-content p{font-size:19px;max-width:660px;margin:18px 0 26px;color:#e6edf8;line-height:1.7}.banner-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.3);background:rgba(10,20,38,.45);color:#fff;font-size:32px;cursor:pointer}.banner-arrow.prev{left:24px}.banner-arrow.next{right:24px}.banner-dots{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);display:flex;gap:8px;z-index:4}.banner-dot{width:9px;height:9px;border-radius:50%;border:0;background:rgba(255,255,255,.55);cursor:pointer}.banner-dot.active{width:28px;border-radius:20px;background:#fff}.fallback-hero{min-height:480px;background:radial-gradient(circle at 80% 20%,#246fff 0,#0f62fe 23%,#081a39 70%);color:#fff}.fallback-hero-inner{min-height:480px;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.fallback-hero h1{font-size:clamp(38px,5vw,62px);max-width:760px;line-height:1.05;letter-spacing:-2px}.fallback-hero p{font-size:18px;max-width:620px;margin:18px 0 28px;color:#d9e6ff}
.section{padding:64px 0}.section-soft{background:var(--soft)}.section-heading-public{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:28px}.section-heading-public h2,.page-heading h1{font-size:34px;letter-spacing:-.7px;line-height:1.15}.section-heading-public>a{color:var(--primary);font-weight:700}.eyebrow{display:inline-block;color:var(--primary);font-weight:800;font-size:12px;letter-spacing:1.4px;margin-bottom:8px}.eyebrow.hot{color:var(--accent)}.page-heading{text-align:center;max-width:760px;margin:0 auto 30px}.page-heading p{color:var(--muted);margin-top:10px}
.category-grid,.product-grid,.benefit-grid{display:grid;gap:20px}.category-grid{grid-template-columns:repeat(4,1fr)}.category-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:26px;transition:.25s;box-shadow:0 3px 12px rgba(16,24,40,.03)}.category-card:hover{transform:translateY(-4px);box-shadow:var(--shadow);border-color:#cbdafa}.category-icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#eef4ff;font-size:25px;margin-bottom:18px}.category-card h3{font-size:19px}.category-card p{font-size:14px;color:var(--muted);margin-top:6px}.product-grid{grid-template-columns:repeat(3,1fr);align-items:stretch}.product-card{background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-width:0;height:100%;transition:.25s;cursor:pointer;box-shadow:0 4px 18px rgba(16,24,40,.04);outline:none}.product-card:hover,.product-card:focus{transform:translateY(-5px);box-shadow:0 18px 38px rgba(16,24,40,.12);border-color:#cbdafa}.product-image{height:270px;padding:18px;background:linear-gradient(180deg,#fff,#fbfcff);display:flex;align-items:center;justify-content:center;overflow:hidden}.product-image img{width:100%;height:100%;object-fit:contain;transition:transform .35s}.product-card:hover .product-image img{transform:scale(1.035)}.placeholder{font-size:72px;color:#b9c0cc}.product-info{padding:18px 18px 20px;display:flex;flex-direction:column;gap:9px;flex:1}.product-meta-row{display:flex;justify-content:space-between;gap:10px;align-items:center;min-height:20px}.product-category{font-size:12px;color:var(--primary);font-weight:800;text-transform:uppercase;letter-spacing:.4px}.sold-count{font-size:12px;color:var(--muted)}.product-name{font-size:18px;line-height:1.42;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;min-height:51px;max-height:51px}.product-desc{color:var(--muted);line-height:1.55;font-size:14px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;min-height:65px;max-height:65px}.product-price-row{min-height:31px;display:flex;align-items:baseline;flex-wrap:wrap;gap:7px}.product-price{font-size:23px;font-weight:900;color:#e3482e}.old-price{font-size:13px;color:#98a2b3;text-decoration:line-through}.product-actions{display:flex;gap:9px;margin-top:auto}.product-actions .btn{flex:1}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:0;border-radius:10px;padding:11px 16px;cursor:pointer;font-weight:800;transition:.2s}.btn-primary{background:var(--primary);color:#fff}.btn-primary:hover{background:var(--primary-dark)}.btn-secondary{background:#f1f4f8;color:#344054}.btn-secondary:hover{background:#e6ebf2}.btn-lg{padding:14px 22px;font-size:16px}.btn-block{width:100%}.benefit-grid{grid-template-columns:repeat(4,1fr)}.benefit-card{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px}.benefit-card>span{font-size:25px;min-width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#eef4ff}.benefit-card h3{font-size:16px}.benefit-card p{font-size:13px;color:var(--muted);margin-top:5px}.trust-section{padding-top:22px}
.filters{display:grid;grid-template-columns:1fr 220px 220px;gap:12px;margin-bottom:26px}.filters.card{padding:16px}.filters input,.filters select,.form-control{width:100%;padding:11px 12px;border:1px solid #d8dee8;border-radius:10px;background:#fff;outline:none}.filters input:focus,.filters select:focus,.form-control:focus{border-color:var(--primary);box-shadow:0 0 0 3px rgba(15,98,254,.08)}.card{background:#fff;padding:24px;border-radius:16px;border:1px solid var(--line);box-shadow:0 6px 20px rgba(16,24,40,.04)}
.cart-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.cart-table-wrap{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:auto}.cart-table{width:100%;border-collapse:collapse;min-width:720px}.cart-table th{background:#f8fafc;color:#475467;font-size:13px}.cart-table th,.cart-table td{padding:16px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle}.cart-product{display:flex;align-items:center;gap:14px;min-width:300px}.cart-product-image{width:82px;height:82px;flex:0 0 82px;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff;display:grid;place-items:center}.cart-product-image img{width:100%;height:100%;object-fit:contain;padding:5px}.cart-image-placeholder{font-size:28px}.cart-product-info{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.cart-product-name{font-weight:750;line-height:1.4}.cart-product-name:hover{color:var(--primary)}.cart-remove-link{border:0;background:none;color:var(--danger);cursor:pointer;font-size:13px}.qty-input{width:82px}.cart-price,.cart-line-total{font-weight:750;white-space:nowrap}.cart-summary{position:sticky;top:110px;background:#fff;border:1px solid var(--line);border-radius:16px;padding:22px;box-shadow:var(--shadow)}.cart-summary h2{font-size:20px;margin-bottom:18px}.summary-row,.summary-total{display:flex;justify-content:space-between;gap:20px;padding:10px 0}.summary-row{color:#475467}.summary-total{border-top:1px solid var(--line);margin-top:8px;padding-top:16px;font-size:20px}.summary-total strong{color:#e3482e}.summary-note{text-align:center;color:var(--muted);font-size:12px;margin-top:12px}.checkout-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:24px;align-items:start}.checkout-form h2,.order-review h2{margin-bottom:20px;font-size:21px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:7px;font-weight:700;font-size:14px}.form-group textarea{min-height:100px;resize:vertical}.order-review{position:sticky;top:110px}.error{color:var(--danger);margin:10px 0}.empty{padding:42px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:16px;color:var(--muted)}
.product-detail-page{display:flex;flex-direction:column;gap:28px}.detail-top{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);gap:38px;background:#fff;padding:28px;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow)}.product-gallery{min-width:0}.gallery-main{width:100%;height:530px;display:flex;align-items:center;justify-content:center;background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.gallery-main img{width:100%;height:100%;object-fit:contain;padding:10px}.gallery-thumbs{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 4px}.gallery-thumb{flex:0 0 82px;width:82px;height:82px;padding:4px;border:2px solid transparent;border-radius:10px;background:#fff;cursor:pointer}.gallery-thumb img{width:100%;height:100%;object-fit:contain}.gallery-thumb:hover,.gallery-thumb.active{border-color:var(--primary)}.detail-summary{padding:8px 0;min-width:0}.badge{display:inline-block;padding:6px 10px;border-radius:999px;background:#eef4ff;color:var(--primary);font-size:12px;font-weight:800}.detail-summary h1{font-size:34px;line-height:1.28;margin:14px 0 12px;letter-spacing:-.5px}.detail-short-description{color:#475467;line-height:1.7;margin-bottom:18px}.detail-price{display:flex;align-items:baseline;gap:8px;margin:18px 0}.detail-price .product-price{font-size:34px}.stock-line{padding:14px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#475467}.buy-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.buy-row label{font-weight:700}.buy-row .btn{min-width:170px}.buy-row .btn:disabled{opacity:.55;cursor:not-allowed}.product-extra{display:flex;flex-direction:column;gap:24px}.product-extra-section{background:#fff;padding:28px;border:1px solid var(--line);border-radius:18px;box-shadow:0 6px 20px rgba(16,24,40,.04)}.product-extra-section h2{font-size:24px;margin-bottom:20px;padding-bottom:14px;border-bottom:1px solid var(--line)}.spec-table{border:1px solid var(--line);border-radius:12px;overflow:hidden}.spec-row-public{display:grid;grid-template-columns:minmax(160px,32%) 1fr;border-bottom:1px solid var(--line)}.spec-row-public:last-child{border-bottom:0}.spec-label,.spec-value{padding:13px 16px;line-height:1.55}.spec-label{background:#f8fafc;font-weight:700;color:#475467}.long-description{white-space:pre-line;line-height:1.85;color:#344054;font-size:16px}.description-images{display:flex;flex-direction:column;align-items:center;gap:14px;margin-top:24px}.description-images img{display:block;width:auto;max-width:100%;height:auto;border-radius:8px}
.site-footer{background:#0b1730;color:#c8d4e6;margin-top:30px;padding:48px 0 0}.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr;gap:38px}.footer-logo{color:#fff;margin-bottom:14px}.footer-grid h3{color:#fff;margin-bottom:14px}.footer-grid p{max-width:430px}.footer-grid a:not(.logo){display:block;margin:9px 0;color:#c8d4e6}.footer-grid a:hover{color:#fff}.footer-hotline{margin-top:14px}.footer-hotline a{display:inline!important;color:#fff!important;font-weight:800}.footer-bottom{margin-top:34px;padding:18px 0;border-top:1px solid rgba(255,255,255,.11);font-size:13px}.footer-simple{padding:0 0 34px}.footer-simple a{color:#fff;font-weight:800}.success{min-height:100vh;display:grid;place-items:center;background:var(--soft);padding:30px}.success-card{width:min(620px,100%);background:#fff;border:1px solid var(--line);border-radius:22px;padding:44px;text-align:center;box-shadow:var(--shadow)}.success-icon{width:72px;height:72px;margin:0 auto 18px;border-radius:50%;display:grid;place-items:center;background:#e9f9ef;color:var(--success);font-size:38px;font-weight:900}.success-card h1{font-size:34px;margin-bottom:12px}.success-card>p{margin:10px 0}.success-code{padding:13px;background:#f6f8fb;border-radius:10px}.success-actions{display:flex;gap:10px;justify-content:center;margin:22px 0}
.site-toast{position:fixed;left:50%;bottom:28px;transform:translate(-50%,20px);background:#101828;color:#fff;padding:12px 18px;border-radius:999px;box-shadow:var(--shadow);z-index:120;opacity:0;pointer-events:none;transition:.2s}.site-toast.show{opacity:1;transform:translate(-50%,0)}
.chat-root{position:fixed;right:22px;bottom:22px;z-index:110}.chat-launcher{height:52px;padding:0 18px;border:0;border-radius:999px;background:linear-gradient(135deg,var(--primary),#3f83ff);color:#fff;display:flex;align-items:center;gap:8px;cursor:pointer;box-shadow:0 14px 34px rgba(15,98,254,.32)}.chat-launcher span{font-size:20px}.chat-panel{position:absolute;right:0;bottom:66px;width:min(370px,calc(100vw - 28px));height:540px;max-height:calc(100vh - 110px);background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 20px 55px rgba(16,24,40,.22);display:none;overflow:hidden}.chat-panel.open{display:flex;flex-direction:column}.chat-panel-header{background:#0b1730;color:#fff;padding:15px 16px;display:flex;justify-content:space-between;align-items:center}.chat-panel-header small{display:block;color:#b9c7dc;margin-top:2px}.chat-panel-header button{border:0;background:none;color:#fff;font-size:28px;cursor:pointer}.chat-content{flex:1;display:flex;flex-direction:column;min-height:0;padding:14px}.chat-welcome{background:#eef4ff;border-radius:12px;padding:12px;margin-bottom:12px;color:#344054}.chat-form-stack{display:flex;flex-direction:column;gap:10px}.chat-form-stack textarea{min-height:92px;resize:none}.chat-error{color:var(--danger);font-size:13px}.chat-loading,.chat-error-box{margin:auto;text-align:center;color:var(--muted)}.chat-messages{flex:1;overflow:auto;display:flex;flex-direction:column;gap:10px;padding:4px 2px 12px}.chat-message{max-width:84%}.chat-message>div{padding:10px 12px;border-radius:13px;white-space:pre-wrap}.chat-message small{display:block;font-size:10px;color:#98a2b3;margin-top:3px}.chat-message.customer{align-self:flex-end;text-align:right}.chat-message.customer>div{background:var(--primary);color:#fff;border-bottom-right-radius:4px}.chat-message.staff{align-self:flex-start}.chat-message.staff>div{background:#f1f4f8;color:#344054;border-bottom-left-radius:4px}.chat-send-form{display:grid;grid-template-columns:1fr auto;gap:8px;padding-top:10px;border-top:1px solid var(--line)}.chat-send-form textarea{height:52px;min-height:52px;resize:none}.chat-closed{text-align:center;background:#f6f8fb;color:var(--muted);padding:10px;border-radius:10px}
@media(max-width:980px){.header{flex-wrap:wrap;gap:14px;padding:14px 0}.search{order:3;flex-basis:100%}.menu .container{overflow-x:auto;white-space:nowrap}.banner-slider,.banner-track,.fallback-hero,.fallback-hero-inner{min-height:420px;height:420px}.product-grid{grid-template-columns:repeat(2,1fr)}.category-grid,.benefit-grid{grid-template-columns:repeat(2,1fr)}.cart-layout,.checkout-grid,.detail-top{grid-template-columns:1fr}.cart-summary,.order-review{position:static}.filters{grid-template-columns:1fr 1fr}.filters input{grid-column:1/-1}.footer-grid{grid-template-columns:1fr 1fr}.gallery-main{height:440px}}
@media(max-width:640px){.container{width:min(100% - 22px,1240px)}.utility-note{display:none}.header-actions{width:100%;justify-content:flex-end}.header-actions>a:first-child{display:none}.logo{font-size:21px}.logo-mark{width:38px;height:38px}.menu .container{gap:20px}.banner-slider,.banner-track,.fallback-hero,.fallback-hero-inner{min-height:360px;height:360px}.banner-content h1,.fallback-hero h1{font-size:34px;letter-spacing:-1px}.banner-content p,.fallback-hero p{font-size:15px}.banner-arrow{display:none}.section{padding:46px 0}.section-heading-public{align-items:flex-start}.section-heading-public h2,.page-heading h1{font-size:28px}.section-heading-public>a{font-size:13px}.product-grid,.category-grid,.benefit-grid,.filters{grid-template-columns:1fr}.product-image{height:250px}.footer-grid{grid-template-columns:1fr}.gallery-main{height:340px}.detail-top,.product-extra-section{padding:16px}.detail-summary h1{font-size:26px}.spec-row-public{grid-template-columns:1fr}.spec-label{padding-bottom:6px}.spec-value{padding-top:6px}.success-card{padding:28px 20px}.success-actions{flex-direction:column}.chat-root{right:12px;bottom:12px}.chat-launcher strong{display:none}.chat-launcher{width:52px;padding:0;justify-content:center}.chat-panel{right:0;bottom:62px}.cart-table{min-width:620px}}
.checkout-items{display:flex;flex-direction:column;gap:12px;margin-bottom:18px}.checkout-item{display:grid;grid-template-columns:52px 1fr auto;gap:10px;align-items:center;padding-bottom:12px;border-bottom:1px solid var(--line)}.checkout-item-image{width:52px;height:52px;border:1px solid var(--line);border-radius:9px;display:grid;place-items:center;overflow:hidden}.checkout-item-image img{width:100%;height:100%;object-fit:contain}.checkout-item small{display:block;color:var(--muted);margin-top:3px}.checkout-item>b{white-space:nowrap;font-size:13px}

/* V5 storefront: sidebar category, hotline nổi bật, Zalo */
.header-hotline{display:flex!important;flex-direction:column;align-items:flex-start!important;gap:1px!important;padding:9px 14px;border:2px solid #ff7a00;border-radius:14px;background:#fff8ef;color:#9a4300!important;white-space:nowrap;box-shadow:0 6px 18px rgba(255,122,0,.12)}
.header-hotline .hotline-label{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;color:#b65a00}.header-hotline .hotline-number{font-size:20px;font-weight:950;line-height:1;color:#e55500}.header-cart{padding:8px 12px;border-radius:12px;background:#f4f7fb}.header-cart:hover{background:#eaf1fb}
.store-shell{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}.category-sidebar{position:sticky;top:146px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 25px rgba(16,24,40,.06)}.category-sidebar-title{padding:16px 18px;background:#0b1730;color:#fff;font-size:16px;font-weight:900;display:flex;align-items:center;gap:8px}.category-sidebar-list{display:flex;flex-direction:column;padding:8px}.category-sidebar-link{display:flex;align-items:center;gap:10px;padding:11px 10px;border-radius:10px;color:#344054;font-weight:700;font-size:14px}.category-sidebar-link:hover,.category-sidebar-link.active{background:#eef4ff;color:var(--primary)}.category-sidebar-link .cat-icon{width:27px;text-align:center;font-size:18px}.category-sidebar-link .cat-count{margin-left:auto;color:#98a2b3;font-size:12px;font-weight:600}.category-sidebar-all{border-top:1px solid var(--line);margin-top:5px;padding-top:11px!important;color:var(--primary)}
.store-main{min-width:0}.store-main .banner-slider{border-radius:18px;min-height:390px}.store-main .banner-track,.store-main .banner-loading{height:390px}.store-main .fallback-hero,.store-main .fallback-hero-inner{min-height:390px}.store-main .banner-content{padding-left:42px;padding-right:42px}.store-main .banner-content h1{font-size:clamp(32px,4vw,52px)}.store-main .banner-arrow.prev{left:14px}.store-main .banner-arrow.next{right:14px}
.home-catalog{padding:24px 0 0}.store-section{padding:48px 0}.store-section.section-soft{margin-left:-18px;margin-right:-18px;padding-left:18px;padding-right:18px;border-radius:18px}
.products-layout{display:grid;grid-template-columns:250px minmax(0,1fr);gap:22px;align-items:start}.products-main{min-width:0}.products-toolbar{display:grid;grid-template-columns:1fr 210px;gap:12px;margin-bottom:20px}.products-toolbar input,.products-toolbar select{width:100%;padding:12px 13px;border:1px solid #d8dee8;border-radius:11px;background:#fff}.products-title{margin-bottom:18px}.products-title h1{font-size:32px}.products-title p{color:var(--muted);margin-top:6px}
.zalo-float{position:fixed;right:22px;bottom:86px;z-index:109;display:flex;align-items:center;gap:9px;padding:11px 15px;border-radius:999px;background:#0068ff;color:#fff;font-weight:900;box-shadow:0 14px 34px rgba(0,104,255,.3);transition:.2s}.zalo-float:hover{transform:translateY(-2px);background:#0057d8}.zalo-badge{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff;color:#0068ff;font-weight:950;font-size:13px}
.banner-admin-target{display:none}.banner-admin-target.active{display:block}
@media(max-width:980px){.store-shell,.products-layout{grid-template-columns:1fr}.category-sidebar{position:static}.category-sidebar-list{display:grid;grid-template-columns:repeat(3,1fr)}.category-sidebar-all{border-top:0;margin-top:0;padding-top:11px!important}.store-main .banner-slider,.store-main .banner-track,.store-main .banner-loading{height:380px;min-height:380px}.header-hotline .hotline-number{font-size:18px}}
@media(max-width:640px){.header-hotline{order:2;margin-left:auto}.header-hotline .hotline-label{display:none}.header-hotline .hotline-number{font-size:17px}.header-cart{order:2}.search{order:3}.category-sidebar-list{grid-template-columns:1fr 1fr}.category-sidebar-title{padding:13px 15px}.store-main .banner-slider,.store-main .banner-track,.store-main .banner-loading{height:330px;min-height:330px}.store-main .banner-content{padding-left:26px;padding-right:26px}.products-toolbar{grid-template-columns:1fr}.zalo-float{right:12px;bottom:76px;padding:10px}.zalo-float .zalo-text{display:none}.store-section{padding:38px 0}}
@media(max-width:640px){.header-actions>a.header-hotline{display:flex}.header-actions>a.header-cart{display:flex}}

/* ===== PNSMART V6 layout overrides ===== */
.container{width:100%;max-width:1680px;padding-left:32px;padding-right:32px;margin:0 auto}
.site-header{background:#fff;position:sticky;top:0;z-index:70;border-bottom:1px solid var(--line);box-shadow:0 3px 14px rgba(16,24,40,.04)}
.header{min-height:86px;display:flex;align-items:center;gap:28px}.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto}.header-hotline{display:flex;flex-direction:column;justify-content:center;min-width:205px;padding:9px 16px;border:2px solid #ef2b2d;border-radius:13px;background:#fff5f5;color:#b42318;box-shadow:0 5px 16px rgba(239,43,45,.12)}.hotline-label{font-size:11px;font-weight:900;letter-spacing:.6px}.hotline-number{font-size:23px;line-height:1.1;letter-spacing:.3px}.header-cart{display:flex;align-items:center;gap:8px;padding:10px 13px;border-radius:12px;background:#f4f7fb;font-weight:800}.menu .container{gap:36px;min-height:58px;overflow-x:auto}.menu a{font-size:17px;white-space:nowrap}.menu a:after{bottom:-17px}
.banner-slider{width:100%;min-height:0;height:clamp(360px,32vw,620px);background:#eaf0f8;overflow:hidden}.banner-loading,.banner-track{height:100%;min-height:0}.banner-slide{background-size:cover;background-position:center}.banner-content{max-width:1680px;padding-left:54px;padding-right:54px}.banner-content h1{font-size:clamp(34px,4.4vw,68px)}.fallback-hero,.fallback-hero-inner{min-height:100%;height:100%}
.store-section{padding:52px 0}.featured-home{padding-top:48px}.catalog-below-featured{background:#f8fafc;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:34px 0 22px}.store-shell{display:grid;grid-template-columns:280px minmax(0,1fr);gap:30px;align-items:start}.category-sidebar{position:sticky;top:164px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(16,24,40,.06)}.category-sidebar-title{padding:16px 18px;background:#0f62fe;color:#fff;font-size:18px;font-weight:900}.category-sidebar-list{display:flex;flex-direction:column}.category-sidebar-link{display:grid;grid-template-columns:30px 1fr auto;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid #eef1f5;font-weight:700;color:#344054}.category-sidebar-link:hover,.category-sidebar-link.active{background:#eef4ff;color:#0f62fe}.category-sidebar-all{border-top:4px solid #f5f7fa}.cat-count{font-size:12px;color:#98a2b3;background:#f2f4f7;border-radius:999px;padding:3px 7px}.store-main>.store-section:first-child{padding-top:0}.section-soft{background:transparent}
.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.product-image{height:250px}.product-name{font-size:17px}.product-actions .btn{padding:10px 8px;font-size:13px}
.product-extra-section{padding:34px}.product-rich-description{padding-left:0;padding-right:0;overflow:hidden}.product-rich-description>h2{margin-left:34px;margin-right:34px}.rich-content-flow{display:flex;flex-direction:column;gap:24px}.content-text-public{padding:0 34px;font-size:17px;line-height:1.9;color:#344054}.content-image-full{width:100%;margin:0}.content-image-full img{display:block;width:100%;height:auto;max-width:none;border-radius:0}.youtube-block{width:min(1180px,calc(100% - 68px));margin:0 auto;aspect-ratio:16/9;background:#000;border-radius:14px;overflow:hidden}.youtube-block iframe{display:block;width:100%;height:100%;border:0}
.variant-picker{margin:20px 0}.variant-title{font-weight:900;margin-bottom:10px}.variant-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.variant-option{display:grid;grid-template-columns:54px 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;text-align:left;padding:9px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer}.variant-option img{grid-row:1/3;width:54px;height:54px;object-fit:contain;border-radius:8px;background:#f7f8fa}.variant-option span{font-weight:800}.variant-option small{color:var(--muted)}.variant-option:hover,.variant-option.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(15,98,254,.1);background:#f7faff}
.cart-variant{display:block;color:var(--muted);font-size:13px;margin:4px 0}.field-hint{display:block;color:var(--muted);font-size:12px;margin-top:5px}.captcha-box{background:#f7faff;border:1px solid #dbe7ff;border-radius:12px;padding:14px}.captcha-row{display:grid;grid-template-columns:140px 1fr;gap:10px;align-items:center}.captcha-row strong{font-size:20px;text-align:center}.captcha-refresh{margin-top:8px;border:0;background:none;color:var(--primary);font-weight:800;cursor:pointer}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}
.order-history-list{display:grid;gap:18px}.history-order{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 5px 18px rgba(16,24,40,.05)}.history-order-head,.history-order-foot{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:16px 20px;background:#f8fafc}.history-order-head small{display:block;color:var(--muted);margin-top:4px}.order-status{font-size:12px;font-weight:900;padding:6px 10px;border-radius:999px;background:#eef2f6}.order-status.pending{background:#fff2d6;color:#9a6700}.order-status.completed{background:#eaf8ef;color:#15803d}.order-status.cancelled{background:#fff0f0;color:#b42318}.history-items{padding:0 20px}.history-item{display:grid;grid-template-columns:66px 1fr auto;gap:13px;align-items:center;padding:14px 0;border-bottom:1px solid var(--line)}.history-item:last-child{border-bottom:0}.history-item-image{width:66px;height:66px;display:grid;place-items:center;background:#f7f8fa;border-radius:10px;overflow:hidden}.history-item-image img{width:100%;height:100%;object-fit:contain}.history-item small{display:block;color:var(--muted);margin-top:3px}.history-order-foot{font-size:14px}.history-order-foot>div{max-width:70%}
.site-footer{margin-top:0}.footer-map{margin-top:36px;padding:34px 0;background:#071229}.footer-map h2{color:#fff;margin-bottom:16px}.footer-map iframe{display:block;width:100%;height:420px;border:0;border-radius:16px}.footer-grid p{margin:8px 0}.footer-grid .open-staff-chat{font-weight:800;color:#fff!important}
.chat-launcher strong{font-size:13px}.chat-context{padding:10px 12px;border-bottom:1px solid var(--line);background:#f8fafc}.chat-context label{display:block;font-size:12px;font-weight:800;margin-bottom:5px}.chat-product-select{font-size:13px}.chat-form-stack input[name="phone"]{letter-spacing:.4px}

@media(max-width:1150px){.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.store-shell{grid-template-columns:240px minmax(0,1fr)}.header-hotline{min-width:180px}.hotline-number{font-size:20px}}
@media(max-width:980px){.container{padding-left:20px;padding-right:20px}.header{flex-wrap:wrap;padding-top:12px;padding-bottom:12px}.search{order:3;flex-basis:100%;max-width:none}.store-shell,.products-layout{grid-template-columns:1fr}.category-sidebar{position:static}.category-sidebar-list{display:grid;grid-template-columns:repeat(3,1fr)}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-top{grid-template-columns:1fr}.gallery-main{height:min(70vw,560px)}.footer-grid{grid-template-columns:1fr 1fr}.variant-options{grid-template-columns:1fr 1fr}}
@media(max-width:680px){.container{padding-left:12px;padding-right:12px}.header{gap:10px}.logo{font-size:20px}.header-hotline{min-width:auto;padding:8px 10px}.hotline-label{display:none}.hotline-number{font-size:17px}.header-cart small{font-size:12px}.menu .container{gap:24px;min-height:54px}.menu a{font-size:16px}.banner-slider{height:300px}.banner-content{padding-left:24px;padding-right:24px}.banner-content h1{font-size:30px}.banner-content p{font-size:14px;margin:10px 0 18px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.product-image{height:190px;padding:10px}.product-info{padding:12px;gap:7px}.product-name{font-size:14px;min-height:40px;max-height:40px}.product-desc{font-size:12px;min-height:55px;max-height:55px}.product-price{font-size:18px}.product-actions{display:grid;grid-template-columns:1fr}.product-actions .btn{font-size:12px;padding:9px 5px}.category-sidebar-list{grid-template-columns:1fr 1fr}.category-sidebar-link{font-size:13px}.content-text-public{padding:0 16px;font-size:15px}.product-rich-description>h2{margin-left:16px;margin-right:16px}.youtube-block{width:calc(100% - 32px)}.variant-options{grid-template-columns:1fr}.history-order-head,.history-order-foot{align-items:flex-start;flex-direction:column}.history-order-foot>div{max-width:100%}.footer-grid{grid-template-columns:1fr}.footer-map iframe{height:300px}.captcha-row{grid-template-columns:1fr}.chat-launcher strong{display:none}}
.banner-slide{cursor:pointer}

/* V7 - Related products beside product description */
.product-detail-bottom{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start}
.product-extra-main{min-width:0}
.related-products-panel{position:sticky;top:138px;background:#fff;border:1px solid var(--line);border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(16,24,40,.05)}
.related-products-heading{padding:18px 18px 14px;border-bottom:1px solid var(--line);display:flex;flex-direction:column;gap:2px}
.related-products-heading span{font-size:19px;font-weight:900;color:#101828}
.related-products-heading small{font-size:12px;color:var(--muted)}
.related-products-list{display:flex;flex-direction:column}
.related-loading{padding:22px 18px;color:var(--muted);font-size:14px}
.related-product-card{display:grid;grid-template-columns:92px minmax(0,1fr);gap:12px;padding:14px;border-bottom:1px solid var(--line);transition:.2s;background:#fff}
.related-product-card:last-child{border-bottom:0}
.related-product-card:hover{background:#f8fbff}
.related-product-image{height:92px;border:1px solid var(--line);border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.related-product-image img{width:100%;height:100%;object-fit:contain;padding:5px}
.related-placeholder{font-size:32px;color:#b8c0cc}
.related-soldout{position:absolute;top:5px;right:5px;background:#d92d20;color:#fff;border-radius:999px;padding:3px 6px;font-size:9px;font-weight:900}
.related-product-info{min-width:0;display:flex;flex-direction:column;justify-content:center}
.related-category{font-size:10px;text-transform:uppercase;letter-spacing:.35px;color:var(--primary);font-weight:800;margin-bottom:4px}
.related-product-info h3{font-size:13px;line-height:1.45;color:#1d2939;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;margin:0 0 7px}
.related-price{font-size:15px;font-weight:900;color:#e3482e}
@media(max-width:1100px){.product-detail-bottom{grid-template-columns:minmax(0,1fr) 260px}.related-product-card{grid-template-columns:78px minmax(0,1fr)}.related-product-image{height:78px}}
@media(max-width:860px){.product-detail-bottom{grid-template-columns:1fr}.related-products-panel{position:static}.related-products-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.related-product-card{border-right:1px solid var(--line)}}
@media(max-width:520px){.related-products-list{grid-template-columns:1fr}.related-product-card{border-right:0}}

/* ===== PNSMART V7 final layout ===== */
.site-header{position:relative;top:auto;z-index:60;box-shadow:none}
.menu{position:sticky;top:0;z-index:90;box-shadow:0 4px 16px rgba(16,24,40,.08)}
.menu .container{position:relative}
.menu-category-dropdown{position:relative;align-self:stretch;display:flex;align-items:center}
.menu-category-trigger{height:100%;border:0;background:none;color:#344054;font:inherit;font-size:17px;font-weight:800;cursor:pointer;padding:0;white-space:nowrap}
.menu-category-trigger:hover{color:var(--primary)}
.menu-category-panel{display:none;position:absolute;left:0;top:calc(100% + 1px);width:290px;max-height:70vh;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:0 0 14px 14px;box-shadow:0 20px 40px rgba(16,24,40,.15);padding:8px;z-index:100}
.menu-category-dropdown:hover .menu-category-panel,.menu-category-dropdown.open .menu-category-panel{display:block}
.menu-category-panel a{display:block!important;padding:11px 12px;border-radius:9px;font-size:14px!important}
.menu-category-panel a:after{display:none}
.menu-category-panel a:hover{background:#eef4ff}

.home-page .container{max-width:1344px}
.home-page .banner-content{max-width:1344px;margin:0 auto}
.featured-layout-home{display:grid;grid-template-columns:260px minmax(0,1fr);gap:26px;align-items:start}
.featured-main{min-width:0}
.home-category-sidebar{position:sticky;top:76px}
.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.products-main .product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

.product-detail-page{width:80%;max-width:1280px;margin:0 auto}
.gallery-main img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;padding:8px}
.content-image-full{display:flex;justify-content:center;align-items:center;padding:0 24px}
.content-image-full img{display:block;width:auto;max-width:100%;height:auto;max-height:none;border-radius:10px}

.soldout-badge{position:absolute;top:12px;right:12px;z-index:4;background:#d92d20;color:#fff;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:900;box-shadow:0 5px 14px rgba(217,45,32,.25)}
.product-image{position:relative}
.product-card.is-sold-out .product-image img{opacity:.68}

.footer-grid-v7{grid-template-columns:1.25fr .75fr .75fr 1.15fr;align-items:start}
.footer-map-compact h3{margin-bottom:10px}
.footer-map-compact iframe{display:block;width:100%;height:210px;border:0;border-radius:12px;background:#0b1830}
.footer-map-empty{min-height:210px;border:1px dashed rgba(255,255,255,.2);border-radius:12px;padding:16px}
.footer-map-empty p{color:#aab6c8}

.contact-page-shell{max-width:1100px}
.contact-rich-content{display:flex;flex-direction:column;gap:22px;margin-top:26px}
.contact-text-block{background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;line-height:1.9;font-size:16px;white-space:normal}
.contact-image-block{display:flex;justify-content:center;margin:0;background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px}
.contact-image-block img{display:block;width:auto;max-width:100%;height:auto;border-radius:10px}
.contact-video-block{width:100%;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000}
.contact-video-block iframe,.contact-map-block iframe{width:100%;height:100%;border:0;display:block}
.contact-map-block{height:420px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#eef2f6}

.chat-product-picker{position:relative;display:grid;gap:7px}
.chat-product-selected{min-height:58px;border:1px solid var(--line);border-radius:10px;padding:7px;display:flex;align-items:center;gap:9px;background:#f8fafc}
.chat-product-selected img{width:46px;height:46px;object-fit:contain;border-radius:8px;background:#fff}
.chat-product-selected span{display:flex;flex-direction:column;min-width:0}
.chat-product-selected strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-product-selected small{font-size:11px;color:#e3482e;font-weight:800}
.chat-product-results{position:absolute;left:0;right:0;top:46px;z-index:20;max-height:240px;overflow:auto;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 14px 30px rgba(16,24,40,.16);padding:5px}
.chat-product-result{width:100%;display:grid;grid-template-columns:48px 1fr;gap:8px;align-items:center;border:0;background:#fff;padding:7px;text-align:left;border-radius:8px;cursor:pointer}
.chat-product-result:hover{background:#eef4ff}
.chat-product-result-image{width:48px;height:48px;display:grid;place-items:center;border:1px solid #eef1f5;border-radius:7px;overflow:hidden}
.chat-product-result-image img{width:100%;height:100%;object-fit:contain}
.chat-product-result span:last-child{display:flex;flex-direction:column;min-width:0}
.chat-product-result strong{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-product-result small{font-size:11px;color:#e3482e;font-weight:800}
.chat-no-result{padding:12px;color:var(--muted);font-size:12px}

@media(max-width:1100px){.featured-layout-home{grid-template-columns:220px minmax(0,1fr)}.product-detail-page{width:92%}.footer-grid-v7{grid-template-columns:1fr 1fr}.product-grid,.products-main .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.featured-layout-home{grid-template-columns:1fr}.home-category-sidebar{position:static}.category-sidebar-list{display:grid;grid-template-columns:repeat(3,1fr)}.product-detail-page{width:100%}.footer-grid-v7{grid-template-columns:1fr 1fr}.menu-category-panel{position:fixed;left:12px;right:12px;top:56px;width:auto}.menu-category-dropdown:hover .menu-category-panel{display:none}.menu-category-dropdown.open .menu-category-panel{display:block}}
@media(max-width:640px){.home-page .container{padding-left:12px;padding-right:12px}.product-grid,.products-main .product-grid{grid-template-columns:1fr}.category-sidebar-list{grid-template-columns:1fr 1fr}.footer-grid-v7{grid-template-columns:1fr}.footer-map-compact iframe{height:240px}.contact-map-block{height:300px}.content-image-full{padding:0 8px}}
.header{flex-wrap:nowrap}.search{flex:1 1 auto;min-width:260px}.header-actions{flex:0 0 auto}@media(max-width:980px){.header{flex-wrap:wrap}.search{min-width:0}}


/* ===== PNSMART V7.2 mobile commerce + Q&A ===== */
.sale-badge{position:absolute;top:12px;left:12px;z-index:5;background:#ff5a36;color:#fff;border-radius:8px;padding:6px 9px;font-size:12px;font-weight:950;box-shadow:0 5px 14px rgba(255,90,54,.22)}
.skeleton-card{pointer-events:none;overflow:hidden}.skeleton{position:relative;overflow:hidden;background:#edf1f5;border-radius:8px}.skeleton:after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.72),transparent);animation:skeleton-shimmer 1.25s infinite}.skeleton-image{height:250px;border-radius:0}.skeleton-line{height:15px;margin:4px 0}.skeleton-line.short{width:42%;height:11px}.skeleton-price{height:24px;width:46%;margin-top:7px}.skeleton-button{height:38px;margin-top:12px}@keyframes skeleton-shimmer{100%{transform:translateX(100%)}}
.search-autocomplete-host{position:relative}.search-autocomplete{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:160;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 46px rgba(16,24,40,.17);overflow:hidden;max-height:480px;overflow-y:auto}.search-suggestion{display:grid;grid-template-columns:58px minmax(0,1fr);gap:11px;align-items:center;padding:10px 12px;border-bottom:1px solid #f0f2f5}.search-suggestion:last-child{border-bottom:0}.search-suggestion:hover{background:#f6f9ff}.search-suggestion-image{width:58px;height:58px;display:grid;place-items:center;border:1px solid #eef1f5;border-radius:10px;overflow:hidden;background:#fff}.search-suggestion-image img{width:100%;height:100%;object-fit:contain}.search-suggestion-info{min-width:0;display:flex;flex-direction:column;gap:4px}.search-suggestion-info strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.search-suggestion-info small{color:#e3482e;font-size:14px;font-weight:900}.search-no-result{padding:15px;color:var(--muted);font-size:14px}
.purchase-commitments{background:#fff;padding:16px 0;border-bottom:1px solid var(--line)}.commitment-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.commitment-card{display:flex;align-items:center;gap:12px;padding:15px 16px;background:#fff;border:1px solid var(--line);border-radius:14px;min-width:0;transition:.2s}.commitment-card:hover{border-color:#cbdafa;box-shadow:0 8px 22px rgba(16,24,40,.07)}.commitment-icon{width:42px;height:42px;flex:0 0 42px;display:grid;place-items:center;background:#eef4ff;border-radius:12px;font-size:22px}.commitment-card>span:last-child{min-width:0;display:flex;flex-direction:column}.commitment-card strong{font-size:14px}.commitment-card small{font-size:12px;color:var(--muted);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.footer-map-details{color:#fff}.footer-map-details summary{list-style:none;cursor:pointer;font-weight:850;margin-bottom:10px;display:flex;align-items:center;justify-content:space-between}.footer-map-details summary::-webkit-details-marker{display:none}.footer-map-details iframe{display:block;width:100%;height:210px;border:0;border-radius:12px;background:#0b1830}
.mobile-contact-hub{display:none}
.product-questions{margin-top:28px;background:#fff;border:1px solid var(--line);border-radius:18px;padding:28px}.questions-heading{margin-bottom:20px}.questions-heading h2{font-size:25px}.questions-heading p{color:var(--muted);margin-top:5px}.question-layout{display:grid;grid-template-columns:360px minmax(0,1fr);gap:28px;align-items:start}.question-form{display:grid;gap:12px;padding:18px;background:#f8fafc;border:1px solid var(--line);border-radius:14px;position:sticky;top:80px}.question-form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.question-form-foot{display:flex;justify-content:space-between;gap:12px;align-items:center}.question-list{display:flex;flex-direction:column;gap:0}.question-item{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;padding:17px 0;border-bottom:1px solid var(--line)}.question-item:first-child{padding-top:0}.question-item:last-child{border-bottom:0}.question-avatar{width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:#eef4ff;color:var(--primary);font-weight:950}.question-meta{display:flex;gap:10px;align-items:center}.question-meta small{color:var(--muted);font-size:12px}.question-body{margin-top:5px;white-space:pre-wrap}.shop-answer{margin-top:11px;padding:12px 14px;background:#f1f7ff;border-left:3px solid var(--primary);border-radius:8px}.shop-answer strong{font-size:13px;color:var(--primary)}.shop-answer p{margin-top:4px;white-space:pre-wrap}.question-empty{padding:18px;color:var(--muted);background:#f8fafc;border-radius:12px}

@media(max-width:980px){.commitment-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.question-layout{grid-template-columns:1fr}.question-form{position:static}.question-form-row{grid-template-columns:1fr 1fr}}
@media(max-width:820px){
  .site-header{position:sticky!important;top:0!important;z-index:150!important;box-shadow:0 4px 16px rgba(16,24,40,.08)!important;transition:.2s}.menu{position:sticky!important;top:var(--mobile-header-height,120px)!important;z-index:145!important;transition:top .2s;box-shadow:0 4px 12px rgba(16,24,40,.06)}
  .site-header .header{transition:.2s}.mobile-header-scrolled .site-header .header{padding-top:5px;padding-bottom:5px;min-height:58px}.mobile-header-scrolled .site-header .logo>span:last-child{display:none}.mobile-header-scrolled .site-header .logo-mark{width:34px;height:34px;border-radius:10px}.mobile-header-scrolled .site-header .search input,.mobile-header-scrolled .site-header .search button{height:38px}.mobile-header-scrolled .site-header .header-hotline{padding:6px 8px}.mobile-header-scrolled .site-header .header-cart{padding:7px 9px}
  .header-hotline{display:flex!important;min-width:auto!important;white-space:nowrap}.header-hotline .hotline-label{display:none!important}.header-hotline .hotline-number{font-size:15px!important}.header-hotline .hotline-number:before{content:"☎ ";font-size:14px}.header-cart small{font-size:0}.header-cart small:before{content:"Giỏ";font-size:12px}
}
@media(max-width:680px){
  .home-page .product-grid,.products-main .product-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-page .product-desc{display:none}.home-page .product-name{min-height:40px;max-height:40px}.home-page .product-info{gap:6px}.home-page .product-image{height:170px}.home-page .product-actions .btn-secondary{display:none}.home-page .product-actions{display:block}.home-page .product-actions .btn{width:100%}
  .commitment-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.commitment-card{padding:11px 9px;gap:8px}.commitment-icon{width:34px;height:34px;flex-basis:34px;font-size:18px}.commitment-card strong{font-size:12px}.commitment-card small{font-size:10px}
  .desktop-contact-float{display:none!important}.mobile-contact-hub{display:block;position:fixed;right:12px;bottom:18px;z-index:210}.mobile-contact-main{border:0;border-radius:999px;background:#0f62fe;color:#fff;padding:12px 17px;font-weight:900;box-shadow:0 12px 30px rgba(15,98,254,.3)}.mobile-contact-menu{position:absolute;right:0;bottom:54px;width:220px;padding:8px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 42px rgba(16,24,40,.2)}.mobile-contact-menu>*{width:100%;display:flex;align-items:center;gap:9px;padding:11px;border:0;background:#fff;border-radius:9px;font-weight:800;text-align:left;color:#344054;cursor:pointer}.mobile-contact-menu>*:hover{background:#eef4ff}.mobile-contact-zalo{color:#0068ff!important}.mobile-contact-call{color:#b42318!important}
  .footer-map-details:not([open]) iframe{display:none}.footer-map-details summary{padding:10px 0;margin:0}.footer-map-details[open] summary{margin-bottom:10px}.footer-map-details iframe{height:220px}
  .question-form-row{grid-template-columns:1fr}.product-questions{padding:18px 14px}.question-form-foot{align-items:stretch;flex-direction:column}.question-form-foot .btn{width:100%}
}
@media(max-width:360px){.home-page .product-grid,.products-main .product-grid,.product-grid{grid-template-columns:1fr!important}.home-page .product-image{height:220px}}

/* ===== PNSMART V7.3 storefront refinements ===== */
.banner-slider,.banner-track,.banner-loading,.fallback-hero,.fallback-hero-inner{height:400px!important;min-height:400px!important}
.sale-badge{font-size:15px!important;padding:8px 11px!important;border-radius:10px!important;letter-spacing:.2px}
.chat-send-actions{display:flex;gap:8px;justify-content:flex-end;align-items:center}.chat-send-actions .btn{flex:1}
.chat-shared-product{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;align-items:center;background:#fff;border:1px solid #dbe4ef;border-radius:10px;padding:8px;margin-bottom:7px;color:#172033;text-decoration:none;max-width:280px}.chat-message.customer .chat-shared-product{margin-left:auto}.chat-shared-product-image{width:54px;height:54px;border-radius:8px;overflow:hidden;display:grid;place-items:center;background:#f7f8fa}.chat-shared-product-image img{width:100%;height:100%;object-fit:contain}.chat-shared-product strong{display:block;font-size:12px;line-height:1.35}.chat-shared-product small{display:block;color:#e3482e;font-weight:900;margin-top:3px}
@media(max-width:680px){.banner-slider,.banner-track,.banner-loading,.fallback-hero,.fallback-hero-inner{height:240px!important;min-height:240px!important}.home-page .product-desc{display:none!important}.sale-badge{font-size:13px!important;padding:7px 9px!important}}
@media(max-width:820px){.banner-slider,.banner-track,.banner-loading,.fallback-hero,.fallback-hero-inner{height:240px!important;min-height:240px!important}}
.cart-old-price{display:block;color:#98a2b3;text-decoration:line-through;font-size:11px}.discount-row strong{color:#dc2626}
.variant-group-picker{display:grid;gap:12px}.variant-group>label{display:block;font-weight:900;margin-bottom:7px}.variant-values{display:flex;gap:8px;flex-wrap:wrap}.variant-value{border:1px solid var(--line);background:#fff;border-radius:9px;padding:9px 13px;cursor:pointer;font-weight:800}.variant-value:hover,.variant-value.active{border-color:var(--primary);color:var(--primary);background:#f4f8ff;box-shadow:0 0 0 2px rgba(15,98,254,.08)}.variant-combo-hint{color:var(--muted);font-weight:700}

/* ===== V7.3.3 HOTFIX: dropdown Danh mục sản phẩm =====
   Fix: .menu .container had overflow-x:auto, which clipped the absolute
   category panel below the navigation bar on desktop. */
@media (min-width:821px){
  .menu{overflow:visible!important;z-index:500!important}
  .menu .container{
    overflow:visible!important;
    position:relative;
  }
  .menu-category-dropdown{
    position:relative;
    z-index:520;
  }
  .menu-category-panel{
    top:100%!important;
    z-index:9999!important;
    margin-top:0!important;
    visibility:hidden;
    opacity:0;
    display:block!important;
    pointer-events:none;
    transform:translateY(6px);
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
  }
  .menu-category-dropdown:hover .menu-category-panel,
  .menu-category-dropdown:focus-within .menu-category-panel,
  .menu-category-dropdown.open .menu-category-panel{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
  }
}

@media (min-width:821px) and (max-width:1100px){
  .menu .container{gap:18px!important}
  .menu a,.menu-category-trigger{font-size:15px!important}
}

/* ===== PNSMART V7.3.4 - Chat composer layout fix ===== */
.chat-send-form{
  display:flex!important;
  flex-direction:column!important;
  align-items:stretch!important;
  gap:10px!important;
  width:100%!important;
  min-width:0!important;
  padding-top:10px!important;
  border-top:1px solid var(--line)!important;
}
.chat-send-form textarea.form-control{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  height:74px!important;
  min-height:74px!important;
  max-height:130px!important;
  resize:vertical!important;
  box-sizing:border-box!important;
  padding:11px 12px!important;
  line-height:1.45!important;
  border:1px solid #cfd8e6!important;
  border-radius:11px!important;
  background:#fff!important;
  overflow-y:auto!important;
}
.chat-send-form textarea.form-control:focus{
  outline:none!important;
  border-color:var(--primary)!important;
  box-shadow:0 0 0 3px rgba(15,98,254,.10)!important;
}
.chat-send-actions{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1.18fr)!important;
  gap:8px!important;
  width:100%!important;
  align-items:stretch!important;
}
.chat-send-actions .btn{
  width:100%!important;
  min-width:0!important;
  min-height:46px!important;
  margin:0!important;
  padding:10px 9px!important;
  white-space:normal!important;
  line-height:1.2!important;
  font-weight:850!important;
}
@media(max-width:420px){
  .chat-send-form textarea.form-control{
    height:68px!important;
    min-height:68px!important;
  }
  .chat-send-actions{
    grid-template-columns:1fr 1fr!important;
  }
  .chat-send-actions .btn{
    font-size:13px!important;
    padding:9px 7px!important;
  }
}

/* V7.3.5 - Hide chat conversation scrollbar while keeping scroll behavior */
.chat-messages{
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.chat-messages::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}

/* ==========================================================
   V7.3.6 - Menu search icon next to Liên hệ
   ========================================================== */
.menu-search-wrap{
  position:relative;
  align-self:stretch;
  display:flex;
  align-items:center;
  flex:0 0 auto;
}
.menu-search-toggle{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:11px;
  background:transparent;
  color:#344054;
  font-size:30px;
  font-family:Arial,sans-serif;
  line-height:1;
  cursor:pointer;
  transition:background .18s,color .18s,transform .18s;
}
.menu-search-toggle:hover,
.menu-search-wrap.open .menu-search-toggle{
  background:#eef4ff;
  color:#0f62fe;
}
.menu-search-toggle:active{transform:scale(.95)}
.menu-search-popover{
  position:absolute;
  right:0;
  top:calc(100% + 8px);
  width:min(430px,calc(100vw - 24px));
  z-index:650;
  padding:10px;
  border:1px solid #e4e7ec;
  border-radius:15px;
  background:#fff;
  box-shadow:0 20px 52px rgba(16,24,40,.20);
}
.menu-search-popover[hidden]{display:none!important}
.menu-search-form{
  display:flex!important;
  width:100%!important;
  max-width:none!important;
  flex:0 0 auto!important;
  position:relative;
  margin:0!important;
}
.menu-search-form>input[name="q"]{
  width:100%;
  min-width:0;
  height:44px;
  padding:0 48px 0 14px;
  border:1px solid #d0d5dd;
  border-radius:11px!important;
  font-size:15px;
  outline:none;
  background:#fff;
}
.menu-search-form>input[name="q"]:focus{
  border-color:#0f62fe;
  box-shadow:0 0 0 3px rgba(15,98,254,.12);
}
.menu-search-form>button[type="submit"]{
  position:absolute;
  right:5px;
  top:5px;
  width:34px;
  height:34px;
  padding:0!important;
  margin:0!important;
  display:grid;
  place-items:center;
  border:0;
  border-radius:9px!important;
  background:#0f62fe!important;
  color:#fff!important;
  font-size:16px;
  cursor:pointer;
}
.menu-search-form .search-autocomplete{
  top:calc(100% + 8px);
  left:-10px;
  right:-10px;
  width:auto;
  max-height:430px;
}
@media(max-width:820px){
  .menu-search-wrap{position:static}
  .menu-search-toggle{width:40px;height:40px;font-size:28px}
  .menu-search-popover{
    position:fixed;
    left:12px;
    right:12px;
    top:calc(var(--mobile-header-height,120px) + 58px);
    width:auto;
    max-width:none;
  }
  .menu-search-form .search-autocomplete{left:0;right:0}
}

/* V7.3.7 - Header autocomplete visibility + stacking fix */
.site-header{
  z-index:900!important;
  overflow:visible!important;
}
.site-header .header,
.site-header .search,
.search-autocomplete-host{
  overflow:visible!important;
}
.menu{z-index:800!important}
.search-autocomplete{
  z-index:1200!important;
  top:calc(100% + 8px)!important;
  min-width:100%;
  background:#fff;
}
.search-autocomplete[hidden]{display:none!important}
.search-loading{color:#667085}
@media(max-width:820px){
  .search-autocomplete{
    max-height:min(420px,60vh);
  }
}

/* V7.3 complete - chat composer like marketplace chat */
.shopee-chat-composer{position:relative;display:block!important;padding:8px 10px 7px!important;background:#fff;border-top:1px solid #e5e7eb}.shopee-chat-composer textarea{width:100%;min-height:62px;max-height:120px;border:0!important;outline:0!important;resize:vertical;padding:8px 4px 4px!important;font:inherit;box-shadow:none!important}.chat-icon-toolbar{display:flex;align-items:center;gap:4px;padding-top:3px}.chat-icon-toolbar>button{width:30px;height:28px;border:0;background:transparent;color:#6f8fdc;border-radius:6px;font-size:17px;cursor:pointer;display:grid;place-items:center}.chat-icon-toolbar>button:hover{background:#f2f6ff;color:#2563eb}.chat-icon-toolbar .chat-send-icon{margin-left:auto;color:#a7b0c0;font-size:19px}.chat-icon-toolbar .chat-send-icon:hover{color:#2563eb}.public-chat-product-modal{position:absolute;left:8px;right:8px;bottom:104px;z-index:30;background:#fff;border:1px solid #dce3ed;border-radius:12px;box-shadow:0 12px 35px rgba(15,23,42,.18);overflow:hidden}.public-chat-product-modal[hidden]{display:none!important}.public-chat-product-head{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid #eef2f6}.public-chat-product-head button{border:0;background:transparent;font-size:22px;cursor:pointer}.public-chat-product-modal>.form-control{margin:9px 10px;width:calc(100% - 20px)}.public-product-list{max-height:240px;overflow-y:auto;padding:0 8px 8px}.public-product-list button{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:center;width:100%;border:0;border-bottom:1px solid #f0f2f5;background:#fff;text-align:left;padding:7px;cursor:pointer}.public-product-list button:hover{background:#f7f9ff}.public-product-list img,.public-product-list button>span:first-child{width:52px;height:52px;object-fit:contain;display:grid;place-items:center;border-radius:7px;background:#f8fafc}.public-product-list strong,.public-product-list small{display:block}.public-product-list small{color:#e5484d;font-weight:800;margin-top:3px}.chat-context-card{display:grid;grid-template-columns:46px minmax(0,1fr);gap:8px;align-items:center;margin:10px 12px 6px;padding:7px 9px;background:#f8fafc;border:1px solid #e5e7eb;border-radius:9px}.chat-context-card img{width:46px;height:46px;object-fit:contain;background:#fff;border-radius:7px}.chat-context-card small,.chat-context-card strong{display:block}.chat-context-card small{font-size:10px;color:#667085}.chat-context-card strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-attachment-image{display:block;max-width:220px;max-height:220px;border-radius:9px;object-fit:contain;background:#fff}.chat-attachment-video{display:block;width:min(240px,100%);max-height:220px;border-radius:9px;background:#000}.chat-messages{scrollbar-width:none}.chat-messages::-webkit-scrollbar{display:none}

/* V7.3 Final - require product variant selection */
.variant-picker.variant-error{border:2px solid #ef4444!important;background:#fff5f5!important;box-shadow:0 0 0 4px rgba(239,68,68,.12);animation:variantWarnPulse .7s ease 2}.variant-picker.variant-error .variant-title,.variant-picker.variant-error .variant-combo-hint{color:#dc2626!important;font-weight:800}@keyframes variantWarnPulse{0%,100%{transform:translateX(0)}25%{transform:translateX(-4px)}75%{transform:translateX(4px)}}

/* ===== V7.3 FINAL COMPLETE: desktop sticky header + chat emoji + reply alerts ===== */
@media(min-width:821px){
  .site-header{position:sticky!important;top:0!important;z-index:1100!important;background:#fff!important;box-shadow:0 2px 8px rgba(16,24,40,.06)!important}
  .menu{position:sticky!important;top:var(--desktop-header-height,82px)!important;z-index:1090!important;background:#fff!important;box-shadow:0 3px 10px rgba(16,24,40,.05)!important}
}
.chat-launcher{position:relative}
.chat-launcher-badge{position:absolute;right:-5px;top:-6px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;background:#ef4444;color:#fff;font-size:11px;line-height:20px;text-align:center;box-shadow:0 0 0 2px #fff}
.chat-launcher.has-unread{animation:chatLauncherPulse 1.1s ease-in-out infinite}
@keyframes chatLauncherPulse{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}
.shopee-chat-composer{position:relative!important}
.chat-emoji-picker{position:absolute;left:8px;right:8px;bottom:102px;background:#fff;border:1px solid #d8e0ea;border-radius:12px;box-shadow:0 14px 34px rgba(15,23,42,.18);padding:9px;z-index:35}
.chat-emoji-picker[hidden]{display:none!important}
.chat-emoji-title{font-size:11px;font-weight:800;color:#667085;margin:0 0 6px 3px}
.chat-emoji-grid{display:grid;grid-template-columns:repeat(8,1fr);gap:2px;max-height:180px;overflow-y:auto}
.chat-emoji-grid button{width:31px;height:31px;border:0;background:transparent;border-radius:7px;font-size:20px;cursor:pointer;display:grid;place-items:center}
.chat-emoji-grid button:hover{background:#eef4ff;transform:scale(1.06)}
@media(max-width:420px){.chat-emoji-grid{grid-template-columns:repeat(7,1fr)}.chat-emoji-grid button{width:30px;height:30px}}


/* ===== V7.3 FINAL mobile home + separate banner configuration ===== */
.mobile-all-products{display:none}
@media(max-width:820px){
  /* Mobile homepage: ngay dưới banner chỉ còn Sản phẩm nổi bật + Tất cả sản phẩm */
  .home-page #purchase-commitments,
  .home-page #best-selling,
  .home-page #new-arrivals,
  .home-page .home-category-sidebar{display:none!important}
  .home-page .featured-layout-home{display:block!important}
  .home-page .featured-home{padding-top:24px!important;padding-bottom:20px!important}
  .home-page .mobile-all-products{display:block!important;padding-top:24px!important}
  .home-page .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:10px!important}
  .home-page .product-image{height:170px!important}
  .home-page .product-desc{display:none!important}
  .home-page .product-name{font-size:13px!important;min-height:38px!important;max-height:38px!important}
  .home-page .product-price{font-size:16px!important}

  /* Danh mục mobile: không bị cắt, nhiều mục thì cuộn bên trong nhưng ẩn scrollbar */
  .menu-category-panel{max-height:calc(100vh - 175px)!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch;scrollbar-width:none}
  .menu-category-panel::-webkit-scrollbar{display:none;width:0}

  /* Footer mobile 2 cột để giảm chiều dài */
  .footer-grid-v7{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 14px!important}
  .site-footer{padding-top:28px!important}
  .footer-grid-v7>div,.footer-grid-v7>details{min-width:0}
  .footer-grid-v7 h3{font-size:14px!important;margin-bottom:8px!important}
  .footer-grid-v7 p,.footer-grid-v7 a:not(.logo){font-size:12px!important;line-height:1.45!important;margin:6px 0!important}
  .footer-logo{font-size:18px!important;margin-bottom:8px!important}
  .footer-map-details iframe{height:150px!important}
  .footer-bottom{margin-top:20px!important;padding:12px 0!important;font-size:11px!important;text-align:center}
}
@media(max-width:360px){
  .home-page .product-grid{gap:8px!important}
  .footer-grid-v7{gap:16px 10px!important}
}

/* ===== V7.3 FINAL COMPLETE v3: compact one-line mobile header ===== */
@media(max-width:820px){
  /* Toàn bộ header mobile nằm trên một hàng: PN | tìm kiếm | gọi | giỏ */
  .site-header .header{
    min-height:62px!important;
    padding-top:8px!important;
    padding-bottom:8px!important;
    display:flex!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    gap:6px!important;
  }

  /* Mobile chỉ giữ biểu tượng PN, bỏ chữ PNSMART để tiết kiệm chiều ngang */
  .site-header .logo{
    flex:0 0 auto!important;
    gap:0!important;
    margin:0!important;
  }
  .site-header .logo>span:last-child{display:none!important}
  .site-header .logo-mark{
    width:36px!important;
    height:36px!important;
    border-radius:10px!important;
    font-size:14px!important;
  }

  /* Ô tìm kiếm nằm cùng hàng với logo và các nút hành động */
  .site-header .search{
    order:initial!important;
    flex:1 1 0!important;
    flex-basis:auto!important;
    min-width:0!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
  }
  .site-header .search input{
    min-width:0!important;
    height:40px!important;
    padding:0 10px!important;
    border-radius:10px 0 0 10px!important;
    font-size:13px!important;
  }
  .site-header .search button{
    flex:0 0 42px!important;
    width:42px!important;
    height:40px!important;
    padding:0!important;
    border-radius:0 10px 10px 0!important;
    font-size:0!important;
    display:grid!important;
    place-items:center!important;
  }
  .site-header .search button::before{
    content:"⌕";
    font-size:25px!important;
    line-height:1!important;
    font-family:Arial,sans-serif;
    font-weight:700;
    transform:translateY(-1px);
  }

  /* Hotline + giỏ hàng chỉ còn icon, nằm ngang với ô tìm kiếm */
  .site-header .header-actions{
    order:initial!important;
    flex:0 0 auto!important;
    width:auto!important;
    margin:0!important;
    gap:5px!important;
    justify-content:flex-end!important;
  }
  .site-header .header-hotline,
  .site-header .header-cart{
    position:relative!important;
    flex:0 0 40px!important;
    width:40px!important;
    min-width:40px!important;
    height:40px!important;
    padding:0!important;
    margin:0!important;
    border-radius:10px!important;
    display:grid!important;
    place-items:center!important;
    box-sizing:border-box!important;
  }
  .site-header .header-hotline{
    border:1.5px solid #ef4444!important;
    background:#fff!important;
    color:#ef4444!important;
    box-shadow:none!important;
  }
  .site-header .header-hotline::before{
    content:"☎";
    font-size:20px!important;
    line-height:1!important;
  }
  .site-header .header-hotline .hotline-label,
  .site-header .header-hotline .hotline-number{
    display:none!important;
  }

  .site-header .header-cart{
    background:#f4f7fb!important;
    border:1px solid #edf0f4!important;
  }
  .site-header .header-cart>span{
    font-size:20px!important;
    line-height:1!important;
  }
  .site-header .header-cart small{
    position:absolute!important;
    right:-3px!important;
    top:-5px!important;
    width:auto!important;
    height:auto!important;
    font-size:0!important;
    line-height:1!important;
  }
  .site-header .header-cart small::before{content:none!important}
  .site-header .header-cart .cart-pill{
    min-width:18px!important;
    height:18px!important;
    padding:0 4px!important;
    margin:0!important;
    font-size:10px!important;
    line-height:18px!important;
    box-shadow:0 0 0 2px #fff!important;
  }

  /* Khi cuộn vẫn giữ đúng một hàng, không đổi cấu trúc gây nhảy giao diện */
  .mobile-header-scrolled .site-header .header{
    min-height:56px!important;
    padding-top:6px!important;
    padding-bottom:6px!important;
  }
  .mobile-header-scrolled .site-header .logo-mark{width:34px!important;height:34px!important}
  .mobile-header-scrolled .site-header .search input,
  .mobile-header-scrolled .site-header .search button,
  .mobile-header-scrolled .site-header .header-hotline,
  .mobile-header-scrolled .site-header .header-cart{height:38px!important}
  .mobile-header-scrolled .site-header .header-hotline,
  .mobile-header-scrolled .site-header .header-cart{width:38px!important;min-width:38px!important;flex-basis:38px!important}
  .mobile-header-scrolled .site-header .search button{width:40px!important;flex-basis:40px!important}
}

@media(max-width:390px){
  .site-header .header{gap:4px!important}
  .site-header .logo-mark{width:34px!important;height:34px!important}
  .site-header .search input{padding-left:8px!important;font-size:12px!important}
  .site-header .search button{width:38px!important;flex-basis:38px!important}
  .site-header .header-hotline,
  .site-header .header-cart{width:36px!important;min-width:36px!important;flex-basis:36px!important}
}

/* ===== V7.3 FINAL COMPLETE v7 - Mobile cart compact, no horizontal crop ===== */
@media(max-width:820px){
  .cart-layout{display:block!important}
  .cart-table-wrap{overflow:visible!important;border:0!important;background:transparent!important;border-radius:0!important}
  .cart-table{display:block!important;width:100%!important;min-width:0!important;background:transparent!important}
  .cart-table thead{display:none!important}
  .cart-table tbody{display:grid!important;gap:12px!important}
  .cart-table tr{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    width:100%!important;min-width:0!important;
    padding:12px!important;
    border:1px solid var(--line)!important;
    border-radius:14px!important;
    background:#fff!important;
    box-shadow:0 2px 8px rgba(15,23,42,.04)!important;
  }
  .cart-table td{
    display:flex!important;flex-direction:column!important;align-items:flex-start!important;
    min-width:0!important;padding:8px 6px!important;border:0!important;
    font-size:12px!important;line-height:1.35!important;
  }
  .cart-table td:first-child{
    grid-column:1/-1!important;padding:0 0 10px!important;margin-bottom:2px!important;
    border-bottom:1px solid #eef2f6!important;
  }
  .cart-table td:nth-child(2)::before,
  .cart-table td:nth-child(3)::before,
  .cart-table td:nth-child(4)::before{
    display:block!important;margin-bottom:5px!important;color:#667085!important;
    font-size:10px!important;font-weight:800!important;letter-spacing:.2px!important;
  }
  .cart-table td:nth-child(2)::before{content:"Đơn giá"}
  .cart-table td:nth-child(3)::before{content:"Số lượng"}
  .cart-table td:nth-child(4)::before{content:"Thành tiền"}
  .cart-product{min-width:0!important;width:100%!important;gap:10px!important;align-items:flex-start!important}
  .cart-product-image{width:72px!important;height:72px!important;flex:0 0 72px!important;border-radius:10px!important}
  .cart-product-info{min-width:0!important;gap:5px!important;padding-top:1px!important}
  .cart-product-name{
    font-size:14px!important;line-height:1.35!important;font-weight:800!important;
    display:-webkit-box!important;-webkit-line-clamp:2!important;-webkit-box-orient:vertical!important;overflow:hidden!important;
  }
  .cart-variant{font-size:11px!important;margin:0!important}
  .cart-remove-link{font-size:12px!important;padding:2px 0!important}
  .cart-price,.cart-line-total{font-size:13px!important;font-weight:900!important;white-space:normal!important}
  .cart-old-price{font-size:10px!important;margin-bottom:1px!important}
  .qty-input{width:62px!important;min-width:0!important;height:34px!important;padding:5px 7px!important;text-align:center!important}
  .cart-summary{margin-top:14px!important;padding:16px!important;border-radius:14px!important}
  .cart-summary h2{font-size:19px!important}
  .summary-row,.summary-total{font-size:14px!important;gap:10px!important}
  .summary-total{font-size:18px!important}
}
@media(max-width:380px){
  .cart-table tr{padding:10px!important}
  .cart-product-image{width:64px!important;height:64px!important;flex-basis:64px!important}
  .cart-product-name{font-size:13px!important}
  .cart-table td{padding-left:4px!important;padding-right:4px!important}
  .cart-price,.cart-line-total{font-size:12px!important}
  .qty-input{width:56px!important}
}

/* ===== PRE-HOST MOBILE SAFETY ===== */
html,body{max-width:100%;overflow-x:hidden}
*,*::before,*::after{box-sizing:border-box}
img,video,iframe,canvas,svg{max-width:100%}
@media(max-width:820px){
  input,select,textarea{font-size:16px!important}
  button,.btn,a.header-hotline,a.header-cart{touch-action:manipulation}
  .container,.site-header,.header,.menu,.section,.site-footer,main,section{max-width:100%!important;min-width:0!important}
}

/* ===== PREHOST v2: mobile public chat reliability ===== */
@media (max-width:680px){
  /* The desktop launcher is intentionally hidden on mobile. The chat panel
     therefore must not depend on the launcher's box for size/position. */
  .chat-root{
    position:fixed!important;
    inset:0!important;
    width:0!important;
    height:0!important;
    z-index:10000!important;
    pointer-events:none;
  }
  .chat-panel{
    position:fixed!important;
    left:8px!important;
    right:8px!important;
    top:auto!important;
    bottom:calc(8px + env(safe-area-inset-bottom))!important;
    width:auto!important;
    height:min(640px,calc(100vh - 16px))!important;
    height:min(640px,calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom)))!important;
    max-height:calc(100vh - 16px)!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    border-radius:16px!important;
    z-index:10001!important;
    pointer-events:auto;
  }
  .chat-panel.open{display:flex!important;flex-direction:column!important}
  .chat-content{min-height:0!important;overflow:hidden!important}
  .chat-messages{min-height:0!important;overflow-y:auto!important;-webkit-overflow-scrolling:touch}
  .chat-send-form,.shopee-chat-composer{flex:0 0 auto!important;background:#fff}
  body.public-chat-open{overflow:hidden!important;touch-action:pan-y}
  body.public-chat-open .mobile-contact-hub{display:none!important}
}

/* ===== PREHOST v3: exact desktop banner ratio 1920x620 + smaller typography ===== */
@media (min-width:821px){
  .home-page .banner-slider,
  .home-page .banner-track,
  .home-page .banner-loading,
  .home-page .fallback-hero,
  .home-page .fallback-hero-inner{
    width:100%!important;
    max-width:1920px!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1920 / 620!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .home-page .banner-slide{
    background-size:cover!important;
    background-position:center center!important;
  }
  .home-page .banner-content{
    width:min(100% - 64px,1344px)!important;
    max-width:1344px!important;
    margin:0 auto!important;
    padding:0!important;
  }
  .home-page .banner-content h1,
  .home-page .fallback-hero h1{
    max-width:720px!important;
    margin:0!important;
    font-size:clamp(30px,2.35vw,44px)!important;
    line-height:1.08!important;
    letter-spacing:-1px!important;
  }
  .home-page .banner-content p,
  .home-page .fallback-hero p{
    max-width:660px!important;
    margin:14px 0 20px!important;
    font-size:clamp(14px,1.05vw,17px)!important;
    line-height:1.55!important;
  }
  .home-page .banner-content .btn,
  .home-page .fallback-hero .btn{
    padding:11px 20px!important;
    font-size:14px!important;
  }
}

/* ===== PREHOST v4: desktop banner CTA at bottom-right ===== */
@media (min-width:821px){
  .home-page .banner-content,
  .home-page .fallback-hero-inner{
    position:relative!important;
  }
  .home-page .banner-content .btn,
  .home-page .fallback-hero .btn{
    position:absolute!important;
    right:0!important;
    bottom:28px!important;
    margin:0!important;
    z-index:5!important;
  }
}


/* ===== PREHOST v5: banner image-only, whole image clickable ===== */
.home-page .banner-content,
.home-page .fallback-hero,
.home-page .fallback-hero-inner{
  display:none!important;
}

.home-page .banner-slide.banner-image-only{
  cursor:pointer!important;
  background-image:none;
  background-size:cover!important;
  background-repeat:no-repeat!important;
  background-position:center center!important;
  outline:none!important;
}

.home-page .banner-slide.banner-image-only:focus-visible{
  box-shadow:inset 0 0 0 3px #2563eb!important;
}

/* Desktop banner: exact 1920 × 620 ratio */
@media (min-width:821px){
  .home-page .banner-slider,
  .home-page .banner-track,
  .home-page .banner-loading{
    width:100%!important;
    max-width:1920px!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1920 / 620!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}

/* Mobile banner: image only, exact 3:2 ratio for 1080 × 720 artwork */
@media (max-width:820px){
  .home-page .banner-slider,
  .home-page .banner-track,
  .home-page .banner-loading{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:3 / 2!important;
  }

  .home-page .banner-slide.banner-image-only{
    background-position:center center!important;
  }

  .home-page .banner-dots{
    bottom:10px!important;
  }
}
