@charset "utf-8";:root{--ls-primary-50:#E9F2FB;--ls-primary-500:#005BAC;--ls-primary-600:#004A8C;--ls-primary-700:#003A6E;--ls-primary-900:#0E1B2E;--ls-accent-500:#00AEEF;--ls-accent-600:#0090C7;--ls-orange-500:#FF6B00;--ls-orange-600:#E85F00;--ls-primary-100:#CFE1F5;--ls-gray-0:#FFFFFF;--ls-gray-50:#F7F8FA;--ls-gray-100:#EEF1F5;--ls-gray-200:#E6E9EF;--ls-gray-300:#CBD2DC;--ls-gray-400:#9AA4B2;--ls-gray-500:#6B7686;--ls-gray-600:#5B6675;--ls-gray-800:#1A2230;--ls-border:#E6E9EF;--ls-text:#1A2230;--ls-text-muted:#5B6675;--ls-radius-sm:6px;--ls-radius:8px;--ls-radius-lg:12px;--ls-radius-pill:999px;--ls-shadow-sm:0 2px 8px rgba(16,42,77,.06);--ls-shadow-md:0 4px 20px rgba(16,42,77,.08);--ls-shadow-lg:0 12px 32px rgba(16,42,77,.12);--ls-focus-ring:0 0 0 3px rgba(0,91,172,.35);--ls-font:'Inter','Roboto',-apple-system,'Segoe UI',Arial,sans-serif;--ls-header-h:70px;--ls-header-h-scrolled:60px;--ls-topbar-h:38px;--ls-dur:200ms;--ls-dur-slow:320ms;--ls-ease:cubic-bezier(.4,0,.2,1);--ls-footer-bg:#0E1B2E;--ls-footer-bar:#0A1422;--ls-footer-text:#C7D0DC;--ls-footer-muted:#8B97A8}.ls-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--ls-font);font-weight:600;font-size:14px;line-height:1;min-height:44px;box-sizing:border-box;padding:11px 22px;border:1px solid transparent;border-radius:var(--ls-radius);cursor:pointer;text-decoration:none;white-space:nowrap;transition:background-color var(--ls-dur) var(--ls-ease),transform var(--ls-dur) var(--ls-ease),opacity var(--ls-dur) var(--ls-ease),box-shadow var(--ls-dur) var(--ls-ease)}.ls-btn:focus-visible{outline:none;box-shadow:var(--ls-focus-ring)}.ls-btn-cta{background:var(--ls-orange-500);color:#fff}.ls-btn-cta:hover,.ls-btn-cta:focus{background:var(--ls-orange-600);color:#fff;text-decoration:none;transform:translateY(-1px);box-shadow:0 6px 16px rgba(255,107,0,.28)}.ls-btn-cta:active{transform:translateY(0)}.ls-topbar{background:var(--ls-primary-900);color:#c7d0dc;font-family:var(--ls-font);font-size:13px}.ls-topbar a{color:#c7d0dc;text-decoration:none;transition:color var(--ls-dur) var(--ls-ease)}.ls-topbar a:hover{color:#fff}.ls-topbar-inner{display:flex;align-items:center;justify-content:space-between;min-height:var(--ls-topbar-h)}.ls-topbar-left{display:flex;align-items:center;gap:22px}.ls-topbar-left a{display:inline-flex;align-items:center;gap:7px}.ls-topbar-left i{color:var(--ls-accent-500)}.ls-topbar-right{display:flex;align-items:center;gap:14px}.ls-lang{position:relative}.ls-lang-toggle{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:#c7d0dc;font:inherit;cursor:pointer;padding:6px 4px}.ls-lang-toggle img{width:18px;height:auto;border-radius:2px}.ls-lang-toggle:hover{color:#fff}.ls-lang-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:150px;background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow-md);padding:6px 0;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity var(--ls-dur) var(--ls-ease),transform var(--ls-dur) var(--ls-ease),visibility var(--ls-dur);z-index:10001}.ls-lang-menu.ls-open{opacity:1;visibility:visible;transform:translateY(0)}.ls-lang-menu a{display:flex;align-items:center;gap:9px;padding:9px 14px;color:var(--ls-text);font-size:14px}.ls-lang-menu a:hover{background:var(--ls-gray-50);color:var(--ls-primary-600)}.ls-lang-menu img{width:20px;height:auto;border-radius:2px}.ls-modern header,.ls-modern #header{display:contents}.ls-modern .bg_menu{position:sticky;position:-webkit-sticky;top:0;left:auto;right:auto;width:100%;background:#fff;box-shadow:var(--ls-shadow-sm);z-index:9999;transition:box-shadow var(--ls-dur) var(--ls-ease)}.ls-modern .bg_menu.ls-scrolled{box-shadow:var(--ls-shadow-md)}.ls-header{display:flex;align-items:center;gap:28px;min-height:var(--ls-header-h);transition:min-height var(--ls-dur) var(--ls-ease)}.ls-logo{flex:0 0 auto;padding:4px 0}.ls-logo a{display:inline-block}.ls-logo img{width:auto;height:auto;max-height:46px;display:block;transition:max-height var(--ls-dur) var(--ls-ease)}@media (min-width:992px){.ls-modern .bg_menu.ls-scrolled .ls-header{min-height:var(--ls-header-h-scrolled)}.ls-modern .bg_menu.ls-scrolled .ls-logo img{max-height:40px}}.ls-nav{flex:1 1 auto;display:flex;justify-content:center;min-width:0}.ls-actions{flex:0 0 auto;display:flex;align-items:center;gap:12px}.ls-icon-btn{width:44px;height:44px;border-radius:var(--ls-radius-pill);border:1px solid var(--ls-border);background:#fff;color:var(--ls-text);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:15px;transition:border-color var(--ls-dur) var(--ls-ease),color var(--ls-dur) var(--ls-ease),background-color var(--ls-dur) var(--ls-ease)}.ls-icon-btn:hover{border-color:var(--ls-primary-500);color:var(--ls-primary-500);background:var(--ls-primary-50)}.ls-icon-btn:focus-visible{outline:none;box-shadow:var(--ls-focus-ring)}.ls-contact i{font-size:15px}#header .ace-responsive-menu{display:flex;flex-wrap:wrap;justify-content:center}#header .ace-responsive-menu>li{position:relative;float:none}#header .ace-responsive-menu>li>a{font-family:var(--ls-font);text-transform:none;font-size:15px;font-weight:600;color:var(--ls-text);padding:12px 15px;line-height:20px;transition:color var(--ls-dur) var(--ls-ease)}#header .ace-responsive-menu>li>a:hover{color:var(--ls-primary-500);background:transparent}#header .ace-responsive-menu>li.menu-active>a{color:var(--ls-primary-500)!important;background:transparent!important}#header .ace-responsive-menu>li>a::after{content:"";position:absolute;left:15px;right:15px;bottom:8px;height:2px;background:var(--ls-accent-500);border-radius:2px;transform:scaleX(0);transform-origin:left center;transition:transform var(--ls-dur) var(--ls-ease)}#header .ace-responsive-menu>li:hover>a::after,#header .ace-responsive-menu>li.menu-active>a::after{transform:scaleX(1)}#header .ace-responsive-menu>li>a i{color:var(--ls-primary-500)}#header .ace-responsive-menu li ul.sub-menu{background:#fff;border:1px solid var(--ls-border);border-radius:var(--ls-radius);box-shadow:var(--ls-shadow-md);padding:6px 0;margin-top:6px;overflow:hidden}#header .ace-responsive-menu li ul.sub-menu>li{border-bottom:0}#header .ace-responsive-menu li ul.sub-menu li a{font-family:var(--ls-font);font-size:14px;font-weight:500;text-transform:none;color:var(--ls-text);padding:11px 18px;transition:background-color var(--ls-dur) var(--ls-ease),color var(--ls-dur) var(--ls-ease)}#header .ace-responsive-menu li ul.sub-menu li a:hover{background:var(--ls-gray-50);color:var(--ls-primary-600)}#header .ace-responsive-menu li ul.sub-menu li a i{color:var(--ls-gray-400)}.ls-search-bar{max-height:0;overflow:hidden;transition:max-height var(--ls-dur) var(--ls-ease)}.ls-search-bar.ls-open{max-height:96px}.ls-search-bar .frmSearch{padding:10px 0 16px}.ls-search-bar .input-group{width:100%;box-shadow:var(--ls-shadow-sm);border-radius:var(--ls-radius);overflow:hidden}.ls-search-bar .form-control{height:48px;border:1px solid var(--ls-gray-300);border-right:0;border-radius:var(--ls-radius) 0 0 var(--ls-radius);font-family:var(--ls-font);font-size:16px;padding:10px 16px;box-shadow:none}.ls-search-bar .form-control:focus{border-color:var(--ls-primary-500);box-shadow:none}.ls-search-bar .btn_search{height:48px;background:var(--ls-primary-500);color:#fff;border:0;border-radius:0 var(--ls-radius) var(--ls-radius) 0;padding:0 22px;font-size:16px;transition:background-color var(--ls-dur) var(--ls-ease)}.ls-search-bar .btn_search:hover{background:var(--ls-primary-600)}.ls-modern .menu-toggle{display:none;float:none;width:auto;margin:0}.ls-modern .menu-toggle #menu-btn{float:none;margin:0;width:44px;height:44px;padding:0;background:var(--ls-primary-500);border:0;border-radius:var(--ls-radius);display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;cursor:pointer}.ls-modern .menu-toggle .icon-bar{width:20px;height:2px;margin:0;background:#fff!important;box-shadow:none;border-radius:2px}@media (max-width:991px){.ls-topbar{font-size:12px}.ls-topbar-left{gap:14px}.ls-header{gap:12px;min-height:64px;flex-wrap:wrap}.ls-logo img{max-height:46px}.ls-nav{order:5;flex:1 1 100%;justify-content:flex-start}.ls-actions{margin-left:auto}.ls-modern .menu-toggle{display:inline-flex}#header .ace-responsive-menu{display:none}#header .ace-responsive-menu>li{float:none;border-top:1px solid var(--ls-border)}#header .ace-responsive-menu>li>a{padding:14px 16px;font-size:16px}#header .ace-responsive-menu>li>a::after{display:none}#header .ace-responsive-menu li ul.sub-menu{border:0;border-radius:0;box-shadow:none;margin:0;background:var(--ls-gray-50)}#header .ace-responsive-menu li ul.sub-menu li a{padding:13px 28px}.ls-search-bar.ls-open{max-height:110px}}@media (max-width:575px){.ls-topbar-left a span.ls-hide-xs{display:none}.ls-header{min-height:58px}}@media (prefers-reduced-motion:reduce){.ls-btn,.ls-icon-btn,.ls-lang-menu,#header .ace-responsive-menu>li>a::after,.ls-search-bar,.bg_menu{transition:none}.ls-btn-cta:hover{transform:none}}/* ===================================================================== Sprint 2.2 - PREMIUM HERO (enhances Camera.js, no init/query changes) ===================================================================== */
html{scroll-behavior:smooth}.ls-btn-lg{min-height:52px;padding:15px 30px;font-size:16px;border-radius:var(--ls-radius)}.ls-hero-ghost{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7)}.ls-hero-ghost:hover,.ls-hero-ghost:focus{background:rgba(255,255,255,.12);border-color:#fff;color:#fff;text-decoration:none;transform:translateY(-2px)}.ls-modern #slideshow.ls-hero{position:relative;width:100%;height:720px;overflow:hidden;background:#0b1420;margin:0}.ls-modern #slideshow.ls-hero .ls-slider{position:absolute;top:0;left:0;right:0;bottom:0;z-index:1}.ls-modern #slideshow.ls-hero .ls-slides{position:absolute;top:0;left:0;right:0;bottom:0}.ls-modern #slideshow.ls-hero .ls-slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;transform:scale(1.06);transition:opacity 1.2s ease-in-out,transform 1.2s ease-in-out;pointer-events:none;display:block}.ls-modern #slideshow.ls-hero .ls-slide.is-active{opacity:1;transform:scale(1);pointer-events:auto;z-index:2}.ls-modern #slideshow.ls-hero .ls-slide img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:center;display:block}.ls-modern #slideshow.ls-hero .ls-dots{position:absolute;left:0;right:0;bottom:18px;z-index:5;display:flex;justify-content:center;gap:10px;margin:0;padding:0;list-style:none}.ls-modern #slideshow.ls-hero .ls-dots button{width:11px;height:11px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.45);cursor:pointer;transition:background .2s,transform .2s;-webkit-appearance:none;appearance:none}.ls-modern #slideshow.ls-hero .ls-dots button:hover{background:rgba(255,255,255,.75)}.ls-modern #slideshow.ls-hero .ls-dots button.is-active{background:#fff;transform:scale(1.25)}.ls-modern #slideshow.ls-hero .ls-dots button:focus-visible{outline:2px solid #fff;outline-offset:2px}@media (prefers-reduced-motion:reduce){.ls-modern #slideshow.ls-hero .ls-slide{transition:none;transform:none}.ls-modern #slideshow.ls-hero .ls-slide.is-active{transform:none}}.ls-modern #slideshow.ls-hero .ls-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;z-index:2;pointer-events:none;background:linear-gradient(to top,rgba(4,10,20,.55) 0%,rgba(4,10,20,.16) 30%,rgba(0,0,0,0) 55%)}.ls-modern #slideshow.ls-hero .ls-hero-content{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;display:flex;align-items:flex-end;z-index:3;font-family:var(--ls-font);pointer-events:none;padding-bottom:56px}.ls-modern #slideshow.ls-hero .ls-hero-content a{pointer-events:auto}.ls-modern #slideshow.ls-hero .ls-hero-inner{display:block;width:100%;max-width:1240px;margin:0 auto;padding:0 40px;box-sizing:border-box}.ls-hero-badge{display:inline-flex;align-items:center;gap:8px;padding:7px 15px;border-radius:var(--ls-radius-pill);background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.28);color:#fff;font-size:12px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;margin:0 0 16px}.ls-hero-badge i{color:var(--ls-accent-500);font-size:13px}.ls-hero-eyebrow{display:block;font-size:12px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--ls-accent-500);margin:0 0 18px}.ls-modern #slideshow.ls-hero .ls-hero-title{max-width:560px;margin:0 0 20px;color:#fff;font-family:var(--ls-font);font-weight:800;font-size:56px;line-height:1.1;letter-spacing:-.01em;text-transform:none}.ls-modern #slideshow.ls-hero .ls-hero-title a{color:#fff;text-decoration:none}.ls-modern #slideshow.ls-hero .ls-hero-desc{max-width:520px;margin:0 0 32px;color:#fff;opacity:.8;font-size:18px;line-height:1.6;font-weight:400}.ls-modern #slideshow.ls-hero .ls-hero-actions{display:flex;flex-wrap:wrap;gap:14px}.ls-modern #slideshow.ls-hero .ls-hero-badge{animation:lsHeroIn 500ms var(--ls-ease) both;animation-delay:.15s}.ls-modern #slideshow.ls-hero .ls-hero-eyebrow{animation:lsHeroIn 500ms var(--ls-ease) both;animation-delay:.15s}.ls-modern #slideshow.ls-hero .ls-hero-title{animation:lsHeroIn 500ms var(--ls-ease) both;animation-delay:.25s}.ls-modern #slideshow.ls-hero .ls-hero-desc{animation:lsHeroIn 500ms var(--ls-ease) both;animation-delay:.35s}.ls-modern #slideshow.ls-hero .ls-hero-actions{animation:lsHeroIn 500ms var(--ls-ease) both;animation-delay:.45s}@keyframes lsHeroIn{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}.ls-hero-scroll{position:absolute;left:50%;bottom:22px;transform:translateX(-50%);z-index:7;display:block;text-decoration:none;animation:lsHeroFloat 2.4s ease-in-out infinite}.ls-hero-mouse{display:block;width:26px;height:42px;border:2px solid rgba(255,255,255,.75);border-radius:14px;position:relative}.ls-hero-wheel{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:4px;height:8px;border-radius:2px;background:#fff;animation:lsHeroWheel 1.6s ease-in-out infinite}.ls-hero-scroll:hover .ls-hero-mouse{border-color:#fff}@keyframes lsHeroFloat{0%,100%{transform:translateX(-50%) translateY(0)}50%{transform:translateX(-50%) translateY(8px)}}@keyframes lsHeroWheel{0%{opacity:0;top:7px}30%{opacity:1}60%{opacity:1;top:20px}100%{opacity:0;top:20px}}@media (max-width:991px){.ls-modern #slideshow.ls-hero{height:520px}.ls-modern #slideshow.ls-hero .ls-hero-inner{padding-left:32px;padding-right:32px}.ls-modern #slideshow.ls-hero .ls-hero-title{font-size:42px}.ls-modern #slideshow.ls-hero .ls-hero-desc{font-size:17px}}@media (max-width:575px){.ls-modern #slideshow.ls-hero{height:360px}.ls-modern #slideshow.ls-hero .ls-hero-content{align-items:flex-end;padding-bottom:32px}.ls-modern #slideshow.ls-hero .ls-hero-inner{padding-left:20px;padding-right:20px;text-align:center}.ls-modern #slideshow.ls-hero .ls-hero-title{font-size:30px;margin:0 auto 14px}.ls-modern #slideshow.ls-hero .ls-hero-desc{font-size:15px;margin:0 auto 22px}.ls-modern #slideshow.ls-hero .ls-hero-actions{flex-direction:column;align-items:stretch}.ls-modern #slideshow.ls-hero .ls-hero-actions .ls-btn{width:100%}.ls-hero-scroll{display:none}.ls-hero-eyebrow{margin-bottom:12px}}@media (prefers-reduced-motion:reduce){.ls-modern #slideshow.ls-hero .cameraContent.cameracurrent img, .ls-modern #slideshow.ls-hero .ls-hero-badge, .ls-modern #slideshow.ls-hero .ls-hero-eyebrow, .ls-modern #slideshow.ls-hero .ls-hero-title, .ls-modern #slideshow.ls-hero .ls-hero-desc, .ls-modern #slideshow.ls-hero .ls-hero-actions{animation:none}.ls-hero-scroll,.ls-hero-wheel{animation:none}}/* ===================================================================== Sprint 2.3 - HEADER HOTLINE (replaces header CTA "Liên he") Subtle brand-blue, not orange. Reads $this->setting['hotline']. ===================================================================== */
.ls-hotline{display:inline-flex;align-items:center;gap:10px;text-decoration:none;font-family:var(--ls-font);color:var(--ls-primary-600);padding:5px 10px 5px 5px;border-radius:var(--ls-radius-pill);transition:background-color var(--ls-dur) var(--ls-ease),color var(--ls-dur) var(--ls-ease)}.ls-hotline:hover,.ls-hotline:focus{color:var(--ls-primary-700);background:var(--ls-primary-50);text-decoration:none}.ls-hotline-ico{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;flex:0 0 auto;border-radius:var(--ls-radius-pill);background:var(--ls-primary-50);color:var(--ls-primary-600);font-size:16px;transition:background-color var(--ls-dur) var(--ls-ease)}.ls-hotline:hover .ls-hotline-ico{background:var(--ls-primary-100)}.ls-hotline-text{display:flex;flex-direction:column;line-height:1.15;text-align:left}.ls-hotline-label{font-size:11px;font-weight:500;letter-spacing:.04em;text-transform:uppercase;color:var(--ls-text-muted)}.ls-hotline-num{font-size:16px;font-weight:700;color:inherit;white-space:nowrap}@media (max-width:991px){.ls-hotline{padding:4px}.ls-hotline-label{display:none}}@media (max-width:575px){.ls-hotline-num{display:none}.ls-hotline-ico{width:44px;height:44px}}/* ===================================================================== Sprint 2.3 - CONTENT POLISH:base type, section rhythm, section titles ===================================================================== */
.ls-modern body{font-family:var(--ls-font);color:var(--ls-text);background:var(--ls-gray-50)}.ls-modern #section{background:var(--ls-gray-50)}.ls-modern .mod_product .mod_content{padding:60px 0 34px}.ls-modern .top-content-category .mod_content{padding:52px 0 28px}.ls-modern .mod_news{padding:56px 0 64px}.ls-modern .mod_product+.mod_product .mod_content{padding-top:20px}.ls-modern .head-top-title{text-align:center;margin-bottom:34px}.ls-modern .head-top-title h1,.ls-modern .head-top-title h2,.ls-modern .head-top-title h3,
.ls-modern .head-top-title h1 a,.ls-modern .head-top-title h2 a,.ls-modern .head-top-title h3 a{font-family:var(--ls-font);font-size:28px;font-weight:700;letter-spacing:-.01em;line-height:1.22;text-transform:none;color:var(--ls-gray-800);margin:0}.ls-modern .head-top-title h2 a:hover,.ls-modern .head-top-title h3 a:hover{color:var(--ls-primary-600)}.ls-modern .head-top-title h2.h-blue,.ls-modern .head-top-title h2.h-blue a,.ls-modern .head-top-title h2.h-orange,.ls-modern .head-top-title h2.h-orange a{color:var(--ls-gray-800)}.ls-modern .head-top-title>p{font-size:15px;color:var(--ls-text-muted);margin:12px auto 0;max-width:640px;line-height:1.6}.ls-modern .head-top-title .s-line{display:inline-block;height:3px;width:60px;padding:0;margin:16px auto 0;border-radius:3px;background:var(--ls-accent-500)}.ls-modern .head-top-title .s-line-gray{background:var(--ls-accent-500)}/* ===================================================================== Sprint 2.3 - PRODUCT CARDS (Task 3, highest priority) Skins existing .boxproduct / .boxproduct-content markup only. ===================================================================== */
.ls-modern .boxproduct{margin-bottom:24px;display:flex}.ls-modern .boxproduct-content{display:flex;flex-direction:column;width:100%;background:var(--ls-gray-0);border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);padding:0 0 16px;overflow:hidden;transition:box-shadow var(--ls-dur) var(--ls-ease),transform var(--ls-dur) var(--ls-ease),border-color var(--ls-dur) var(--ls-ease)}.ls-modern .boxproduct-content:hover{border-color:var(--ls-primary-200,#9EC3EB);box-shadow:var(--ls-shadow-md);transform:translateY(-4px)}.ls-modern .boxproduct .view{overflow:hidden;padding:0;background:#fff;border-radius:0}.ls-modern .boxproduct .view-first{overflow:hidden}.ls-modern .boxproduct .view-first a{display:block;aspect-ratio:425/350;overflow:hidden;background:#fff}.ls-modern .boxproduct .view-first img{width:100%;height:100%;object-fit:contain;padding:14px;box-sizing:border-box;border:0;transition:transform var(--ls-dur-slow) var(--ls-ease)}.ls-modern .boxproduct .view-first:hover img{transform:scale(1.06)}.ls-modern .boxproduct-content h3{margin:0;padding:16px 16px 0;height:auto}.ls-modern .boxproduct-content h3 a{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-family:var(--ls-font);font-size:15px;font-weight:600;line-height:1.4;letter-spacing:-.005em;color:var(--ls-gray-800);text-transform:none;text-align:left;text-decoration:none}.ls-modern .boxproduct-content:hover h3 a,.ls-modern .boxproduct h3 a:hover{color:var(--ls-primary-600)}.ls-modern .boxproduct p.p-param{height:auto;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;padding:6px 16px 0;margin:0;text-align:left;font-size:13px;line-height:1.5;color:var(--ls-text-muted)}.ls-modern .boxproduct p.p-price{height:auto;overflow:visible;padding:10px 16px 0;margin:0;text-align:left}.ls-modern .boxproduct p.p-price span{color:var(--ls-primary-600);font-weight:700;font-size:16px}.ls-modern .boxproduct-content>p:last-child:not(.p-param):not(.p-price){margin:0;padding:14px 16px 0;text-align:center}.ls-modern .boxproduct .learn-moref{display:inline-flex;align-items:center;justify-content:center;gap:6px;width:100%;height:auto;line-height:1;padding:11px 16px;font-family:var(--ls-font);font-size:14px;font-weight:600;color:var(--ls-primary-600);background:var(--ls-primary-50);border:1px solid transparent;border-radius:var(--ls-radius);text-decoration:none;transition:background-color var(--ls-dur) var(--ls-ease),color var(--ls-dur) var(--ls-ease)}.ls-modern .boxproduct .learn-moref:hover,.ls-modern .boxproduct-content:hover .learn-moref{background:var(--ls-primary-500);color:#fff}/* Sprint 2.3b - FLOAT grid (Sprint 2.3a engine, restored - NO flex container). Columns 5 / 5 / 3 / 2 via width + clear:left per row (never masonry, never 1-col). Equal-height on >=768 is applied by modern.js matchHeight (min-height on .boxproduct-content);mobile stays natural. */
.ls-modern .boxproduct{float:left;clear:none}@media (max-width:767px){.ls-modern .boxproduct.col-xs-6{width:50%}.ls-modern .boxproduct:nth-child(2n+1){clear:left}}@media (min-width:768px){.ls-modern .boxproduct p.p-price{margin-top:auto}}@media (min-width:768px) and (max-width:991px){.ls-modern .boxproduct{width:33.3333%}.ls-modern .boxproduct:nth-child(3n+1){clear:left}}@media (min-width:992px){.ls-modern .boxproduct{width:20%}.ls-modern .boxproduct:nth-child(5n+1){clear:left}}/* ===================================================================== Sprint 2.3 - TOP CATEGORY (feature cards) light polish ===================================================================== */
.ls-modern .top-content-category .top-category-text h3{font-family:var(--ls-font);font-weight:700;color:var(--ls-gray-800);letter-spacing:-.01em}.ls-modern .top-content-category .top-category-text p{color:var(--ls-text-muted)}.ls-modern .top-content-category .view{overflow:hidden;border-radius:var(--ls-radius-lg)}.ls-modern .top-content-category .view-first img{transition:transform var(--ls-dur-slow) var(--ls-ease)}.ls-modern .top-content-category a:hover .view-first img{transform:scale(1.05)}/* ===================================================================== Sprint 2.3 - NEWS MODULE (Task 5) - matches product card language ===================================================================== */
.ls-modern .mod_news .head-top-title{margin-bottom:30px}.ls-modern .mod_news .news-item.big-news{background:var(--ls-gray-0);border:1px solid var(--ls-border);border-radius:var(--ls-radius-lg);overflow:hidden;padding:0;margin-bottom:22px;transition:box-shadow var(--ls-dur) var(--ls-ease),transform var(--ls-dur) var(--ls-ease)}.ls-modern .mod_news .news-item.big-news:hover{box-shadow:var(--ls-shadow-md);transform:translateY(-3px)}.ls-modern .mod_news .news-item.big-news>a{display:block;overflow:hidden;line-height:0}.ls-modern .mod_news .news-item.big-news img{width:100%;height:auto;border:0;border-radius:0;display:block;transition:transform var(--ls-dur-slow) var(--ls-ease)}.ls-modern .mod_news .news-item.big-news:hover img{transform:scale(1.04)}.ls-modern .mod_news .news-item.big-news h2{margin:0;padding:16px 18px 0;max-height:none}.ls-modern .mod_news .news-item.big-news h2 a{font-family:var(--ls-font);font-size:19px;font-weight:700;line-height:1.35;letter-spacing:-.01em;color:var(--ls-gray-800);text-transform:none;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ls-modern .mod_news .news-item.big-news h2 a:hover{color:var(--ls-primary-600)}.ls-modern .mod_news .news-item.big-news>p{padding:0 18px}.ls-modern .mod_news .news-item.big-news>p:last-child{padding-bottom:18px}.ls-modern .mod_news .news-item{margin-bottom:18px;display:block}.ls-modern .mod_news .news-item-img{float:left;width:118px;margin-right:14px;border-radius:var(--ls-radius);overflow:hidden;line-height:0}.ls-modern .mod_news .news-item-img img{width:100%;height:auto;border:0;border-radius:var(--ls-radius);transition:transform var(--ls-dur-slow) var(--ls-ease)}.ls-modern .mod_news .news-item:hover .news-item-img img{transform:scale(1.06)}.ls-modern .mod_news .news-item h3{margin:0 0 6px;max-height:none}.ls-modern .mod_news .news-item h3 a{font-family:var(--ls-font);font-size:15px;font-weight:600;line-height:1.4;color:var(--ls-gray-800);text-transform:none;text-decoration:none;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.ls-modern .mod_news .news-item h3 a:hover{color:var(--ls-primary-600)}.ls-modern .mod_news .news-item p.created{color:var(--ls-text-muted);font-size:12px;margin:0 0 6px}.ls-modern .mod_news .news-item p.created i{color:var(--ls-accent-600);margin-right:4px}.ls-modern .mod_news .news-item p.news-desc{color:var(--ls-text-muted);font-size:13px;line-height:1.55;text-align:left}.ls-modern .mod_news .news-item a:hover{color:var(--ls-primary-600)}/* ===================================================================== Sprint 2.3 - FOOTER (Task 6) - dark corporate, CSS-only (no markup change) ===================================================================== */
.ls-modern #footer{background:var(--ls-footer-bg);color:var(--ls-footer-text);font-family:var(--ls-font);padding:56px 0 40px;text-align:left}.ls-modern #footer a{color:var(--ls-footer-text);text-decoration:none;transition:color var(--ls-dur) var(--ls-ease)}.ls-modern #footer a:hover{color:#fff;text-decoration:none}.ls-modern #footer h1,.ls-modern #footer h2,.ls-modern #footer h3,.ls-modern #footer h4,.ls-modern #footer h5,.ls-modern #footer h6{color:#fff;font-family:var(--ls-font);font-weight:700}.ls-modern .menufooter{margin-bottom:24px}.ls-modern .menufooter p{color:#fff;font-size:13px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin:0 0 16px}.ls-modern .menufooter ul li{margin-bottom:10px}.ls-modern .menufooter ul li a{color:var(--ls-footer-text);font-weight:400;line-height:1.5;transition:color var(--ls-dur) var(--ls-ease),padding-left var(--ls-dur) var(--ls-ease)}.ls-modern .menufooter ul li a:hover{color:#fff;padding-left:3px}.ls-modern .menufooter ul li a i{color:var(--ls-accent-500);margin-right:8px}/* Sprint 2.3a-final Task 4:rebalance 4 footer columns by eye. Company ~34% | Tan Hai Linh ~18% | San pham ~30% (wider, for long product names) | Follow Us ~18% (nudged right). Widths below are relative to their wrapper:col-md-7 holds the 3 menu columns (27% + 46% + 27% of 66%). */
@media (min-width:768px){.ls-modern #footer .col-md-5{width:34%}.ls-modern #footer .col-md-7{width:66%}.ls-modern #footer .menufooter:nth-child(1){width:27%}.ls-modern #footer .menufooter:nth-child(2){width:46%}.ls-modern #footer .menufooter:nth-child(3){width:27%;padding-left:28px}}.ls-modern .social-media{display:flex;flex-direction:column;align-items:flex-start;gap:12px;font-size:14px}.ls-modern .social-media a{display:inline-flex;align-items:center;gap:10px;width:auto;height:auto;margin:0;padding:0;background:transparent;border-radius:0;color:var(--ls-footer-text);font-size:14px;font-weight:400;transition:color var(--ls-dur) var(--ls-ease)}.ls-modern .social-media a i{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;margin:0;border-radius:var(--ls-radius);background:rgba(255,255,255,.08);color:#fff;font-size:16px;transition:background-color var(--ls-dur) var(--ls-ease)}.ls-modern .social-media a:hover{color:#fff}.ls-modern .social-media a.share-facebook:hover i{background:#1877F2}.ls-modern .social-media a.share-twitter:hover i{background:#1DA1F2}.ls-modern .social-media a.share-pinterest:hover i{background:#BD081C}.ls-modern .social-media a.share-google:hover i{background:#DD4B39}.ls-modern .line_footer{background:var(--ls-footer-bar);border-top:0;color:var(--ls-footer-muted);padding:16px 0}.ls-modern .line_footer .powerby{font-size:13px;color:var(--ls-footer-muted)}.ls-modern .line_footer .powerby a,.ls-modern .line_footer .powerby font{color:var(--ls-footer-text)}.ls-modern .line_footer .powerby a:hover{color:#fff}/* ===================================================================== Sprint 2.3 - Reduced motion for new hover transforms (Task 7) ===================================================================== */
@media (prefers-reduced-motion:reduce){.ls-modern .boxproduct-content,.ls-modern .boxproduct .view-first img, .ls-modern .mod_news .news-item.big-news,.ls-modern .mod_news .news-item.big-news img, .ls-modern .mod_news .news-item-img img,.ls-modern .top-content-category .view-first img, .ls-modern .social-media a,.ls-hotline,.ls-hotline-ico{transition:none}.ls-modern .boxproduct-content:hover,.ls-modern .boxproduct .view-first:hover img, .ls-modern .mod_news .news-item.big-news:hover,.ls-modern .mod_news .news-item.big-news:hover img, .ls-modern .mod_news .news-item:hover .news-item-img img,.ls-modern .top-content-category a:hover .view-first img, .ls-modern .social-media a:hover{transform:none}}/* ===================================================================== Sprint 2.3 - Responsive ===================================================================== */
@media (max-width:991px){.ls-modern .mod_product .mod_content{padding:40px 0 20px}.ls-modern .mod_news{padding:40px 0 44px}.ls-modern .head-top-title h1,.ls-modern .head-top-title h2,.ls-modern .head-top-title h3{font-size:23px}.ls-modern #footer{padding:40px 0 30px}}@media (max-width:575px){.ls-modern .boxproduct{margin-bottom:16px}.ls-modern .boxproduct-content h3 a{font-size:14px}.ls-modern .mod_news .news-item-img{width:96px;margin-right:12px}.ls-modern .head-top-title{margin-bottom:24px}}