
/* WordPress / WooCommerce / CF7 overrides */
.current-menu-item>a,.current-page-ancestor>a,.current-menu-ancestor>a{color:var(--red)}
.tab,.tab *{cursor:pointer}
.woocommerce-ordering select{height:42px;border:1px solid var(--line);border-radius:6px;padding:0 12px;background:#fff}
.woocommerce-notices-wrapper{display:none}
/* CF7 form styling */
.wpcf7 .wpcf7-form{display:grid;gap:14px}
.wpcf7 input[type=text],.wpcf7 input[type=email],.wpcf7 input[type=tel],.wpcf7 textarea{width:100%;height:44px;border:1px solid var(--line);border-radius:6px;padding:0 13px;font-family:inherit;font-size:14px}
.wpcf7 textarea{height:130px;padding:13px;resize:vertical}
.wpcf7 input[type=submit]{height:44px;padding:0 22px;background:var(--red);color:#fff;border:none;border-radius:6px;font-weight:900;text-transform:uppercase;font-size:14px;cursor:pointer;width:100%}
.wpcf7 input[type=submit]:hover{background:var(--red2)}
.wpcf7-not-valid-tip{color:var(--red);font-size:12px}
.wpcf7 .wpcf7-response-output{border:1px solid var(--line);padding:10px 14px;border-radius:6px;font-size:13px}
/* Pagination */
.page-numbers{display:inline-flex;gap:6px;align-items:center}
.page-numbers li a,.page-numbers li span{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:6px;font-weight:700;font-size:14px}
.page-numbers li .current,.page-numbers li a:hover{background:var(--red);color:#fff;border-color:var(--red)}
/* Sidebar filter labels */
.sidebar-card .field label{color:var(--text)}
.sidebar-card .field input,.sidebar-card .field select{font-size:13px}
/* Tab cursor */
.tab{cursor:pointer;user-select:none}

:root{--red:#d60000;--red2:#b40000;--black:#070b10;--dark:#101820;--text:#1b2330;--muted:#687385;--line:#e8edf3;--bg:#f6f8fb;--white:#fff;--radius:14px;--shadow:0 10px 32px rgba(16,24,40,.08)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:#fff;line-height:1.55}a{text-decoration:none;color:inherit}img{display:block;max-width:100%;height:auto}.container{width:min(1420px,calc(100% - 48px));margin:auto}.topbar{background:var(--black);color:#fff;font-size:13px}.topbar .container{height:36px;display:flex;align-items:center;justify-content:space-between}.header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line)}.header-inner{height:78px;display:flex;align-items:center;justify-content:space-between;gap:24px}.logo{display:flex;align-items:center;gap:12px;font-weight:900}.logo-mark{font-size:38px;line-height:1;color:var(--red);font-style:italic;font-weight:950}.logo-text strong{display:block;font-size:17px}.logo-text small{display:block;font-size:12px;color:#111;font-weight:800}.nav{display:flex;gap:26px;font-size:14px;text-transform:uppercase;font-weight:900}.nav a.active,.nav a:hover{color:var(--red)}.header-actions{display:flex;align-items:center;gap:18px}.hotline{display:flex;gap:10px;align-items:center;color:var(--red);font-weight:950}.hotline small{display:block;color:#111;font-weight:700}.btn{display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 22px;border-radius:6px;border:1px solid transparent;font-weight:950;text-transform:uppercase;font-size:14px;cursor:pointer}.btn-red{background:var(--red);color:#fff}.btn-red:hover{background:var(--red2)}.btn-outline{border-color:#ffd0d0;color:var(--red);background:#fff}.btn-dark{background:#071019;color:#fff}.btn-light{background:#fff;color:var(--red)}.btn-block{width:100%}.hero{min-height:620px;color:#fff;position:relative;background:linear-gradient(90deg,rgba(0,0,0,.85),rgba(0,0,0,.4)),url('../images/banners/hero.svg') center/cover no-repeat}.hero-inner{min-height:620px;display:grid;grid-template-columns:1fr .9fr;align-items:center}.hero h1{font-size:64px;line-height:1.06;margin:0 0 20px;font-weight:950;letter-spacing:-1.6px}.hero h1 span{color:var(--red)}.hero p{font-size:17px;max-width:600px;color:#eef3f7}.checklist{display:grid;gap:9px;margin:22px 0 28px;padding:0}.checklist li{list-style:none;font-weight:750}.checklist li:before{content:"✓";display:inline-grid;place-items:center;width:20px;height:20px;background:var(--red);border-radius:50%;margin-right:9px;font-size:12px}.stats-strip{background:#0a1017;color:#fff}.stats-grid{height:110px;display:grid;grid-template-columns:repeat(5,1fr);align-items:center}.stat{display:flex;justify-content:center;align-items:center;gap:14px;border-right:1px solid rgba(255,255,255,.15)}.stat:last-child{border:0}.stat i{font-style:normal;color:var(--red);font-size:32px}.stat strong{display:block;color:var(--red);font-size:26px}.stat span{font-size:13px;font-weight:800}.section{padding:58px 0}.section-sm{padding:38px 0}.section-title{text-align:center;margin-bottom:30px}.section-title h2{margin:0;font-size:30px;text-transform:uppercase;letter-spacing:-.4px}.section-title p{margin:6px 0 0;color:var(--muted)}.section-title:after{content:"";display:block;width:54px;height:3px;background:var(--red);margin:10px auto 0}.view-all{float:right;color:var(--red);font-weight:900;font-size:13px}.category-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:15px}.cat-card{border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center;padding:14px 10px;box-shadow:0 6px 18px rgba(0,0,0,.03);transition:.18s}.cat-card:hover{transform:translateY(-4px);border-color:#ffc7c7}.cat-card img{height:78px;margin:auto;object-fit:contain}.cat-card h3{font-size:13px;margin:8px 0 0}.search-box{background:#071019;color:#fff;border-radius:12px;padding:22px;display:grid;grid-template-columns:repeat(5,1fr) 130px;gap:14px;align-items:end}.field label{display:block;font-size:12px;font-weight:900;margin-bottom:6px;color:#d7dee8}.field input,.field select,.field textarea{width:100%;height:44px;border:1px solid var(--line);border-radius:6px;padding:0 13px;background:#fff;color:#222}.field textarea{height:130px;padding:13px;resize:vertical}.products-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:18px}.product-card{position:relative;border:1px solid var(--line);border-radius:12px;background:#fff;padding:16px;box-shadow:0 6px 20px rgba(0,0,0,.035)}.badge{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:11px;font-weight:950;border-radius:4px;padding:3px 8px;z-index:1}.product-img{height:150px;display:flex;align-items:center;justify-content:center}.product-img img{max-height:140px;object-fit:contain}.product-card h3{font-size:15px;margin:8px 0 6px}.product-spec{color:var(--muted);font-size:13px;min-height:62px}.price{color:var(--red);font-weight:950}.card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}.btn-small{height:32px;border:1px solid #ffd0d0;border-radius:5px;color:var(--red);background:#fff;font-weight:900;font-size:12px}.btn-small.fill{background:var(--red);color:#fff}.tabs{display:grid;grid-template-columns:repeat(6,1fr);border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:18px}.tab{height:45px;background:#fff;border-right:1px solid var(--line);display:grid;place-items:center;font-weight:900;font-size:13px}.tab.active{background:var(--red);color:#fff}.brand-row{display:grid;grid-template-columns:1.25fr repeat(5,1fr);gap:16px}.brand-feature{background:linear-gradient(135deg,#fff,#f5f6f8);border:1px solid var(--line);border-radius:12px;padding:18px;display:flex;gap:16px;align-items:center}.solutions-grid,.projects-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:16px}.image-card{border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff}.image-card img{height:120px;width:100%;object-fit:cover}.image-card h3{font-size:14px;margin:12px 14px 2px}.image-card p{font-size:12px;color:var(--muted);margin:0 14px 14px}.info-split{display:grid;grid-template-columns:1fr 1fr 1fr;gap:24px}.info-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:28px}.icon-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.icon-item{display:flex;gap:12px;align-items:flex-start}.icon-item i{color:var(--red);font-style:normal;font-size:26px}.process{display:grid;grid-template-columns:repeat(6,1fr);gap:12px}.step{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px;text-align:center}.step b{display:inline-grid;place-items:center;width:28px;height:28px;background:var(--red);color:#fff;border-radius:50%;margin-bottom:10px}.news-grid{display:grid;grid-template-columns:1.35fr 1fr 1fr;gap:18px}.news-card{border:1px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}.news-card img{height:150px;width:100%;object-fit:cover}.news-card.large img{height:250px}.news-content{padding:16px}.logo-strip{display:grid;grid-template-columns:repeat(10,1fr);gap:10px;align-items:center}.logo-box{border:1px solid var(--line);border-radius:10px;background:#fff;height:66px;display:grid;place-items:center;padding:8px}.cta{background:linear-gradient(90deg,var(--red),#b40000);color:#fff}.cta-inner{height:150px;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:34px}.cta h2{margin:0;font-size:28px}.cta .phone{font-size:30px;font-weight:950}.footer{background:#071019;color:#dfe7ef;padding:52px 0 18px}.footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,1fr) 1.3fr;gap:34px}.footer h3{color:#fff;font-size:15px;text-transform:uppercase;margin-top:0}.footer ul{list-style:none;padding:0;margin:0;display:grid;gap:8px}.footer li,.footer p{font-size:14px;color:#b9c4cf}.map-box{height:150px;border-radius:12px;background:url('../images/ui/map.svg') center/cover no-repeat}.copyright{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:18px;display:flex;justify-content:space-between;color:#aab5c0;font-size:13px}.page-hero{height:310px;color:#fff;background:linear-gradient(90deg,rgba(0,0,0,.82),rgba(0,0,0,.2)),url('../images/banners/page-banner.svg') center/cover no-repeat;display:flex;align-items:center}.page-hero h1{font-size:46px;margin:0 0 8px}.breadcrumb{font-size:14px;color:#e2e8f0}.layout{display:grid;grid-template-columns:300px 1fr;gap:30px}.sidebar-card{border:1px solid var(--line);border-radius:12px;background:#fff;padding:22px;margin-bottom:20px}.sidebar-card h3{margin-top:0;font-size:18px;text-transform:uppercase}.side-list{list-style:none;margin:0;padding:0}.side-list li{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:11px 0;font-weight:700;font-size:14px}.side-list li.active{color:var(--red)}.listing-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}.contact-grid{display:grid;grid-template-columns:.85fr 1.4fr;gap:36px}.quote-layout{display:grid;grid-template-columns:1.35fr 1fr .65fr;gap:24px}.article-layout{display:grid;grid-template-columns:1fr 330px;gap:34px}.article{background:#fff;border:1px solid var(--line);border-radius:12px;padding:30px}.article h1{font-size:38px;line-height:1.18}.article-cover{border-radius:12px;width:100%;height:420px;object-fit:cover}.table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.table td,.table th{border:1px solid var(--line);padding:13px;text-align:left}.compare-wrap{display:grid;grid-template-columns:1.1fr .75fr;gap:22px}.red-panel{background:linear-gradient(145deg,var(--red),#a80000);color:#fff;border-radius:14px;padding:30px}.float-contact{position:fixed;right:14px;top:35%;z-index:20;display:grid;gap:8px}.float-contact a{width:48px;height:48px;background:#fff;border-radius:8px;box-shadow:var(--shadow);display:grid;place-items:center;color:var(--red);font-weight:900;font-size:12px}@media(max-width:1100px){.nav{display:none}.hero-inner{grid-template-columns:1fr}.category-grid{grid-template-columns:repeat(4,1fr)}.products-grid{grid-template-columns:repeat(3,1fr)}.search-box{grid-template-columns:repeat(2,1fr)}.solutions-grid,.projects-grid{grid-template-columns:repeat(3,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}.layout,.article-layout,.contact-grid,.quote-layout,.compare-wrap{grid-template-columns:1fr}}@media(max-width:700px){.container{width:calc(100% - 28px)}.topbar,.header-actions{display:none}.hero h1{font-size:38px}.stats-grid{height:auto;grid-template-columns:1fr;padding:20px 0}.stat{border-right:0;border-bottom:1px solid rgba(255,255,255,.12);padding:14px}.category-grid,.products-grid,.solutions-grid,.projects-grid,.process,.logo-strip,.news-grid,.info-split,.form-grid{grid-template-columns:1fr}.search-box{grid-template-columns:1fr}.cta-inner{height:auto;padding:28px 0;grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr}.hero{min-height:520px}.hero-inner{min-height:520px}.page-hero h1{font-size:34px}}

/* ── Product card overrides (after prototype CSS to take priority) ── */
.product-card{display:flex;flex-direction:column;padding:0!important;overflow:hidden}
.product-img{height:190px!important;overflow:hidden;border-radius:12px 12px 0 0;background:#f0f0f0;flex-shrink:0;border-bottom:1px solid var(--line);display:block!important;align-items:unset;justify-content:unset}
.product-img img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;display:block!important;padding:0!important}
.product-card h3{font-size:14px;margin:12px 14px 4px;line-height:1.35;flex:1}
.product-spec{color:var(--muted);font-size:12px;margin:0 14px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.price{color:var(--red);font-weight:950;font-size:14px;margin:4px 14px 10px}
.card-actions{display:grid!important;grid-template-columns:1fr 1fr;gap:8px;margin:0 14px 14px;margin-top:auto}
.btn-small{height:34px;border:1px solid #ffd0d0;border-radius:6px;color:var(--red);background:#fff;font-weight:900;font-size:12px;display:flex;align-items:center;justify-content:center;text-align:center}
.btn-small.fill{background:var(--red);color:#fff;border-color:var(--red)}
.badge{position:absolute;top:10px;left:10px;background:var(--red);color:#fff;font-size:11px;font-weight:950;border-radius:4px;padding:3px 8px;z-index:1}

/* ── Category card image ── */
.cat-card{border:1px solid var(--line);border-radius:12px;background:#fff;text-align:center;overflow:hidden;transition:.18s;padding:0}
.cat-img{aspect-ratio:16/9;overflow:hidden;background:#f8f9fb;border-bottom:1px solid var(--line);padding:0}
.cat-img img{width:100%;height:100%;object-fit:cover;display:block}
.cat-card > img{width:100%;height:112px;margin:0;object-fit:cover;border-bottom:1px solid var(--line)}
.cat-card h3{font-size:13px;margin:0;padding:10px 8px 12px;font-weight:700}
.cat-card:hover{transform:translateY(-4px);border-color:#ffc7c7;box-shadow:0 8px 24px rgba(214,0,0,.1)}

/* ── Compact inner page hero ── */
.page-hero{height:155px}
.page-hero h1{font-size:36px}
@media(max-width:700px){
  .page-hero{height:auto;min-height:110px;padding:20px 0}
  .page-hero h1{font-size:20px!important;margin-bottom:6px}
  .page-hero .container{padding-right:68px}
  .breadcrumb{font-size:12px}
}
.post-type-archive-product .cat-card > img,
.tax-product_cat .cat-card > img{height:86px}

/* ── Product card – remove price gap, compact layout ── */
.product-card .price{display:none}
.product-card h3{margin-bottom:4px}
.product-card .product-spec{margin-bottom:10px}
.product-card .card-actions{padding-top:0}

/* ── Button hover effects ── */
.btn-small{transition:background .15s,color .15s,border-color .15s,transform .1s}
.btn-small:hover{background:#fff5f5;border-color:var(--red);transform:translateY(-1px)}
.btn-small.fill:hover{background:#b40000;border-color:#b40000;transform:translateY(-1px)}
.btn{transition:background .15s,transform .1s,box-shadow .15s}
.btn-red:hover{background:#b40000;transform:translateY(-1px);box-shadow:0 4px 14px rgba(214,0,0,.35)}
.btn-outline:hover{background:#fff0f0;transform:translateY(-1px)}
.btn-dark:hover{background:#1a2635;transform:translateY(-1px)}

/* ── Single-button card actions ── */
.product-card .card-actions{grid-template-columns:1fr}
.product-card .btn-small.fill{border-radius:0 0 12px 12px;height:38px;font-size:13px}

/* ── Product card price ── */
.card-price{padding:4px 14px 6px;font-weight:900;font-size:15px;color:var(--red)}
.card-price .amount{color:var(--red)}
.card-price ins{text-decoration:none}
.card-price del{color:var(--muted);font-size:12px;font-weight:400;margin-left:4px}

/* ── Fix card gap: push price+button to bottom, don't stretch h3 ── */
.product-card h3{flex:0 0 auto!important}
.product-card .product-spec{flex:0 0 auto}
.product-card .card-price{margin-top:auto!important;padding-top:8px}
.product-card .card-actions{margin-top:0!important}

/* ── Product card hover ── */
.product-card{transition:transform .2s,box-shadow .2s,border-color .2s}

/* ── Shop pagination ── */
.shop-pagination{
    display:flex;
    justify-content:center;
    align-items:center;
    gap:8px;
    margin-top:34px;
}
.shop-pagination .page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:38px;
    height:38px;
    padding:0 12px;
    border:1px solid var(--line);
    border-radius:8px;
    background:#fff;
    color:var(--text);
    font-size:15px;
    font-weight:850;
    line-height:1;
    box-shadow:0 6px 16px rgba(15,23,42,.04);
    transition:background .15s,color .15s,border-color .15s,transform .12s,box-shadow .15s;
}
.shop-pagination .page-numbers.current,
.shop-pagination .page-numbers:hover{
    background:var(--red);
    color:#fff;
    border-color:var(--red);
    box-shadow:0 8px 22px rgba(214,0,0,.18);
    transform:translateY(-1px);
}
.shop-pagination .page-numbers.dots{
    border-color:transparent;
    background:transparent;
    box-shadow:none;
    color:var(--muted);
    min-width:auto;
    padding:0 2px;
}
.shop-pagination .page-numbers.dots:hover{
    transform:none;
    color:var(--muted);
    background:transparent;
    border-color:transparent;
    box-shadow:none;
}
.shop-pagination .prev,
.shop-pagination .next{
    min-width:42px;
    font-size:22px;
    padding-bottom:2px;
}

/* ── Shop sidebar help card ── */
.shop-help-card {
    background: linear-gradient(180deg, #fff, #fffafa);
}

.shop-help-card span {
    display: inline-flex;
    align-items: center;
    height: 24px;
    padding: 0 9px;
    border-radius: 999px;
    background: #fff1f1;
    color: var(--red);
    font-size: 11px;
    font-weight: 850;
    text-transform: uppercase;
}

.shop-help-card h3 {
    margin: 14px 0 8px !important;
    font-size: 18px !important;
    line-height: 1.3;
    text-transform: none !important;
}

.shop-help-card p {
    margin: 0 0 14px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.shop-help-card strong {
    display: block;
    margin: 0 0 16px;
    color: var(--red);
    font-size: 22px;
    line-height: 1;
    font-weight: 900;
}

.shop-help-actions {
    display: grid;
    gap: 9px;
}

.shop-help-actions .btn {
    height: 40px;
    border-radius: 8px;
    font-size: 13px;
}

/* ── Shop filter form ── */
.shop-filter-form {
    display: grid;
    gap: 12px;
}

.shop-filter-form .field label {
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
}

.shop-filter-form .field input,
.shop-filter-form .field select {
    height: 40px;
    border-radius: 8px;
    font-size: 13px;
}

.solutions-grid .image-card img {
    height: auto;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

.filter-price-row {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
}

.shop-filter-form .btn {
    height: 40px;
    border-radius: 8px;
    font-size: 13px;
    margin-top: 2px;
}

.filter-reset {
    justify-self: center;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.filter-reset:hover {
    color: var(--red);
}
.product-card:hover{transform:translateY(-5px);box-shadow:0 12px 32px rgba(0,0,0,.12);border-color:#ffc7c7}
.product-card .product-img img{transition:transform .35s}
.product-card:hover .product-img img{transform:scale(1.05)}

/* ── Card footer: price left + view button right ── */
.product-card .card-actions{display:none!important}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 14px 14px;margin-top:auto}
.card-footer .card-price{margin:0!important;padding:0!important;font-size:15px;font-weight:900;color:var(--red)}
.card-footer .card-price .amount{color:var(--red)}
.card-view{width:36px;height:36px;background:var(--red);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:900;flex-shrink:0;transition:background .15s,transform .15s}
.card-view:hover{background:#b40000;transform:scale(1.1);color:#fff}

/* ── Product card: grid layout to eliminate gap ── */
.product-card{display:grid!important;grid-template-rows:190px 1fr auto;flex-direction:unset}
.product-card .product-img{grid-row:1}
.card-body{grid-row:2;padding:10px 14px 4px;min-height:0}
.card-body h3,.product-card h3{font-size:14px;margin:0 0 4px!important;line-height:1.35;font-weight:700}
.card-body .product-spec,.product-card .product-spec{color:var(--muted);font-size:12px;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-footer{grid-row:3;display:flex;align-items:center;justify-content:space-between;padding:8px 14px 12px;border-top:1px solid var(--line);margin-top:6px}
.card-footer .card-price{margin:0!important;padding:0!important;font-size:15px;font-weight:900;color:var(--red)}
.card-footer .card-price .amount{color:var(--red)}
.card-view{width:32px;height:32px;background:var(--red);color:#fff;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:background .15s,transform .15s}
.card-view:hover{background:#b40000;transform:scale(1.08)}
/* hide old elements */
.product-card>.product-spec,.product-card>h3{display:none}

/* ── Product card: definitive layout ── */
.product-card{display:flex!important;flex-direction:column!important;grid-template-rows:unset!important;padding:0!important;overflow:hidden}
.product-card .product-img{height:190px!important;flex-shrink:0;display:block!important;overflow:hidden;border-radius:12px 12px 0 0;border-bottom:1px solid var(--line)}
.product-card .product-img img{width:100%!important;height:100%!important;max-height:none!important;object-fit:cover!important;padding:0!important}
.card-body{padding:10px 12px 6px;overflow:hidden}
.card-body h3,.product-card h3{font-size:14px!important;font-weight:700;line-height:1.35;margin:0 0 4px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;white-space:normal!important;flex:unset!important}
.card-body .product-spec,p.product-spec{color:var(--muted)!important;font-size:12px!important;margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card-footer{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 12px;border-top:1px solid var(--line)}
.card-footer .card-price{margin:0!important;padding:0!important;font-size:14px;font-weight:900;color:var(--red)}
.card-footer .card-price .amount{color:var(--red)}
.card-view{width:30px;height:30px;background:var(--red);color:#fff!important;border-radius:7px;display:flex!important;align-items:center;justify-content:center;font-size:20px;font-weight:300;line-height:1;flex-shrink:0;transition:background .15s,transform .15s;text-decoration:none}
.card-view:hover{background:#b40000;transform:scale(1.08)}
/* hide orphan elements outside card-body */
.product-card>h3,.product-card>.product-spec,.product-card>.price,.product-card>.card-actions{display:none!important}

/* ── Card view button: CSS-only chevron arrow ── */
.card-view{width:32px!important;height:32px!important;background:var(--red)!important;border-radius:8px;display:flex!important;align-items:center;justify-content:center;flex-shrink:0;text-decoration:none;transition:background .15s,transform .15s;font-size:0!important}
.card-view::after{content:'';display:block;width:7px;height:7px;border-right:2px solid #fff;border-top:2px solid #fff;transform:rotate(45deg) translate(-1px,1px);flex-shrink:0}
.card-view:hover{background:#b40000!important;transform:scale(1.08)}

/* ── Spec 2 lines ── */
.card-body .product-spec,p.product-spec{white-space:normal!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* ── Icon box (Vì sao chọn Trường Phát) ── */
.icon-box{width:46px;height:46px;background:#fff0f0;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--red)}
.icon-item{display:flex;gap:14px;align-items:flex-start}
.icon-item div b{display:block;font-size:14px;font-weight:700;margin-bottom:2px}
.icon-item div p{font-size:13px;color:var(--muted);margin:0;line-height:1.4}
.icon-list{display:grid;grid-template-columns:1fr 1fr;gap:18px}

/* ── Process steps list ── */
.steps-list{display:flex;flex-direction:column}
.steps-item{display:flex;align-items:flex-start;gap:14px;padding:11px 0;border-bottom:1px solid var(--line);position:relative}
.steps-item:last-child{border-bottom:none;padding-bottom:0}
.steps-item:first-child{padding-top:0}
.steps-num{width:30px;height:30px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:900;flex-shrink:0;margin-top:1px}
.steps-item b{font-size:14px;font-weight:700;display:block;margin-bottom:2px}
.steps-item p{font-size:12px;color:var(--muted);margin:0;line-height:1.4}

/* ── Why section ── */
.why-section{background:var(--bg)}
.why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.why-card{background:#fff;border:1px solid var(--line);border-radius:14px;padding:28px 22px;text-align:center;transition:transform .2s,box-shadow .2s}
.why-card:hover{transform:translateY(-4px);box-shadow:0 12px 32px rgba(0,0,0,.08)}
.why-icon{width:60px;height:60px;background:#fff0f0;border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--red);margin:0 auto 16px}
.why-card h3{font-size:16px;margin:0 0 8px;font-weight:800}
.why-card p{font-size:13px;color:var(--muted);margin:0;line-height:1.55}

/* ── Process flow ── */
.process-section{background:#fff}
.process-flow{display:grid;grid-template-columns:repeat(6,1fr) repeat(5,24px);align-items:start;gap:0}
.process-flow{display:flex;align-items:flex-start;gap:0}
.pf-step{flex:1;text-align:center;padding:0 8px}
.pf-num{width:44px;height:44px;background:var(--red);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900;margin:0 auto 12px;position:relative;z-index:1}
.pf-step b{display:block;font-size:13px;font-weight:700;margin-bottom:4px}
.pf-step p{font-size:12px;color:var(--muted);margin:0;line-height:1.4}
.pf-arrow{flex-shrink:0;width:24px;height:44px;display:flex;align-items:center;justify-content:center;color:var(--line)}
.pf-arrow::after{content:'';display:block;width:16px;height:2px;background:var(--line);position:relative}
@media(max-width:1100px){.process-flow{flex-wrap:wrap;gap:16px}.pf-step{flex:0 0 calc(33% - 16px)}.pf-arrow{display:none}.why-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:700px){.why-grid{grid-template-columns:1fr 1fr}.pf-step{flex:0 0 calc(50% - 16px)}}

/* ── Footer nav menu ── */
.footer ul li a{color:#b9c4cf;transition:color .15s}
.footer ul li a:hover{color:#fff}

/* ── Brand panel layout ── */
.brand-panel-inner{display:grid;grid-template-columns:200px 1fr;gap:20px;align-items:start}
.brand-feature-v{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:24px 20px;text-align:center}
.brand-feature-v img{height:44px;width:auto;max-width:140px;object-fit:contain;margin:0 auto 14px;display:block}
.brand-feature-v h3{font-size:16px;font-weight:800;margin:0 0 8px}
.brand-feature-v p{font-size:13px;color:var(--muted);margin:0 0 16px;line-height:1.5}
.brand-products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
@media(max-width:1100px){.brand-panel-inner{grid-template-columns:1fr}.brand-products-grid{grid-template-columns:repeat(2,1fr)}}

/* ── Float contact buttons ── */
.float-contact{position:fixed!important;right:20px!important;bottom:28px!important;top:auto!important;transform:none!important;z-index:100!important;display:flex!important;flex-direction:column!important;gap:10px!important;pointer-events:none!important}
.fc-btn{position:relative;width:52px!important;height:52px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;box-shadow:0 4px 16px rgba(0,0,0,.25)!important;transition:transform .2s,box-shadow .2s!important;cursor:pointer;color:#fff!important;background:#fff;font-size:0!important;pointer-events:auto!important}
.fc-btn svg{flex-shrink:0}
.fc-btn:hover{transform:scale(1.12)!important;box-shadow:0 8px 28px rgba(0,0,0,.32)!important}
.fc-zalo{background:#0068ff!important}
.fc-phone{background:var(--red)!important}
.fc-top{background:#1b2330!important;opacity:1;pointer-events:auto;transition:opacity .3s,transform .2s,box-shadow .2s!important}

/* Tooltip */
.fc-tip{position:absolute;right:60px;background:rgba(16,24,40,.88);color:#fff;font-size:12px;font-weight:700;white-space:nowrap;padding:5px 10px;border-radius:6px;opacity:0;pointer-events:none;transform:translateX(8px);transition:opacity .2s,transform .2s}
.fc-btn:hover .fc-tip{opacity:1;transform:translateX(0)}

/* Pulse ring */
@keyframes fc-ring{0%,100%{box-shadow:0 4px 16px rgba(0,0,0,.22),0 0 0 0 currentColor}60%{box-shadow:0 4px 16px rgba(0,0,0,.22),0 0 0 9px transparent}}
.fc-phone{animation:none}
@keyframes phone-pulse{0%,100%{box-shadow:0 4px 16px rgba(214,0,0,.3),0 0 0 0 rgba(214,0,0,.5)}60%{box-shadow:0 4px 16px rgba(214,0,0,.2),0 0 0 10px rgba(214,0,0,0)}}
.fc-phone{animation:phone-pulse 2s infinite!important}
@keyframes zalo-pulse{0%,100%{box-shadow:0 4px 16px rgba(0,104,255,.3),0 0 0 0 rgba(0,104,255,.45)}60%{box-shadow:0 4px 16px rgba(0,104,255,.2),0 0 0 10px rgba(0,104,255,0)}}
.fc-zalo{animation:zalo-pulse 2.4s infinite!important}

/* ── Images inside content areas ── */
.woocommerce-product-details__short-description img,
.woocommerce-Tabs-panel img,
.tab-content img,
.article img,
.entry-content img,
.wp-block-image img,
div[id^="tab-"] img {
    display: block !important;
    max-width: 100% !important;
    width: auto !important;
    height: auto !important;
    margin: 16px auto !important;
    border-radius: 8px;
}

/* Full-width block images */
.wp-block-image.alignfull img,
.wp-block-image.alignwide img,
.tab-content figure img,
.article figure img {
    width: 100% !important;
}

/* Center figure captions */
.tab-content figure,
.article figure,
.wp-block-image {
    margin: 16px auto !important;
    text-align: center;
}

figcaption {
    font-size: 13px;
    color: var(--muted);
    margin-top: 6px;
}

.news-excerpt {
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 4.35em;
    margin: 8px 0 10px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.news-card {
    transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

.news-card > img,
.news-card .news-thumb {
    width: 100%;
    aspect-ratio: 16 / 9;
}

.news-card > img,
.news-card .news-thumb img {
    height: 100% !important;
    object-fit: cover;
}

.news-card:hover {
    transform: translateY(-5px);
    border-color: #ffc7c7;
    box-shadow: 0 14px 34px rgba(15, 23, 42, .09);
}

.news-thumb {
    display: block;
    overflow: hidden;
    background: #f7f8fa;
}

.news-thumb img {
    transition: transform .35s ease, filter .35s ease;
}

.news-card:hover .news-thumb img {
    transform: scale(1.045);
    filter: saturate(1.08);
}

.news-content h3 a {
    transition: color .15s ease;
}

.news-card:hover .news-content h3 a {
    color: var(--red);
}

.category-tin-tuc .news-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.home .news-grid-home {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 16px;
}

.home .news-grid-home .news-card .news-thumb {
    aspect-ratio: auto;
    height: 150px;
}

.home .news-grid-home .news-card.large img,
.home .news-grid-home .news-card img,
.home .news-grid-home .news-thumb img {
    height: 100% !important;
    object-fit: cover;
}

.home .news-grid-home .news-content {
    padding: 14px;
}

.home .news-grid-home .news-content h3 {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 2.8em;
    margin: 12px 0 8px;
    font-size: 17px;
    line-height: 1.4;
}

.home .news-grid-home .news-excerpt {
    min-height: 4.2em;
    font-size: 13px;
}

@media (max-width: 900px) {
    .home .news-grid-home {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 700px) {
    .home .news-grid-home {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 520px) {
    .home .news-grid-home {
        grid-template-columns: 1fr !important;
    }
}

.news-content .news-date {
    margin: 0 0 12px;
    color: #8a94a6;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.3;
}

.news-read-more {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--red);
    font-size: 14px;
    font-weight: 900;
    line-height: 1.2;
    transition: color .15s, transform .15s;
}

.news-read-more:hover {
    color: #b40000;
    transform: translateX(2px);
}

.listing-top p {
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    font-weight: 700;
}

.listing-top select {
    appearance: none;
    min-width: 138px;
    height: 40px;
    border: 1px solid var(--line);
    border-radius: 8px;
    background:
        linear-gradient(45deg, transparent 50%, #6b7280 50%) right 16px center / 6px 6px no-repeat,
        linear-gradient(135deg, #6b7280 50%, transparent 50%) right 11px center / 6px 6px no-repeat,
        #fff;
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    padding: 0 34px 0 14px;
    transition: border-color .15s, box-shadow .15s;
}

.listing-top select:hover,
.listing-top select:focus {
    border-color: #f2b8b8;
    box-shadow: 0 0 0 3px rgba(214, 0, 0, .08);
    outline: none;
}

.layout aside .sidebar-card {
    border-radius: 14px;
    box-shadow: 0 10px 30px rgba(15, 23, 42, .04);
}

.layout aside .sidebar-card h3 {
    margin-bottom: 16px;
    font-size: 16px;
    letter-spacing: 0;
    font-weight: 850;
}

.layout aside .side-list {
    display: grid;
    gap: 2px;
}

.layout aside .side-list li {
    position: relative;
    display: grid;
    grid-template-columns: 22px 1fr auto;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 9px 0;
    border: 0;
    border-bottom: 1px solid var(--line);
    border-radius: 0;
    background: #fff;
    color: var(--text);
    font-size: 14px;
    font-weight: 700;
    transition: color .15s, transform .12s;
}

.layout aside .side-list li:last-child {
    border-bottom: 0;
}

.layout aside .side-list li:hover,
.layout aside .side-list li.active {
    box-shadow: none;
    transform: translateX(3px);
}

.layout aside .side-list li:hover {
    color: var(--red);
}

.layout aside .side-list li.active {
    color: var(--text);
    font-weight: 780;
}

.layout aside .side-list li a {
    min-width: 0;
}

.layout aside .side-cat-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    border-radius: 50%;
    background: #fff5f5;
    border: 1px solid #ffdada;
    color: transparent;
    font-size: 0;
    line-height: 1;
}

.layout aside .side-cat-icon:before {
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--red);
}

.layout aside .side-list li:hover .side-cat-icon,
.layout aside .side-list li.active .side-cat-icon {
    background: #fff5f5;
    border-color: var(--red);
}

.layout aside .side-list li:hover .side-cat-icon:before,
.layout aside .side-list li.active .side-cat-icon:before {
    background: var(--red);
}

.layout aside .side-cat-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 6px;
    background: #f8fafc;
    border: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.layout aside .side-list li:hover .side-cat-count,
.layout aside .side-list li.active .side-cat-count {
    background: #fff1f1;
    color: var(--red);
}

.sidebar-muted {
    margin: -6px 0 16px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.sidebar-posts {
    display: grid;
    gap: 14px;
}

.sidebar-post {
    display: grid;
    grid-template-columns: 76px 1fr;
    gap: 12px;
    align-items: center;
    padding-bottom: 14px;
    border-bottom: 1px solid var(--line);
}

.sidebar-post:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.sidebar-post-thumb {
    width: 76px;
    aspect-ratio: 1.15;
    border-radius: 8px;
    overflow: hidden;
    background: #f7f8fa;
}

.sidebar-post-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .25s ease;
}

.sidebar-post strong {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    color: var(--text);
    font-size: 13px;
    line-height: 1.38;
    transition: color .15s ease;
}

.sidebar-post small {
    display: block;
    margin-top: 5px;
    color: #8a94a6;
    font-size: 12px;
    font-weight: 700;
}

.sidebar-post:hover strong {
    color: var(--red);
}

.sidebar-post:hover img {
    transform: scale(1.06);
}

.sidebar-cta-card {
    background: linear-gradient(145deg, #151c27, #071019) !important;
    color: #fff;
    position: relative;
    overflow: hidden;
}

.sidebar-cta-card:before {
    content: "";
    position: absolute;
    inset: auto -40px -60px auto;
    width: 150px;
    height: 150px;
    border-radius: 50%;
    background: rgba(214, 0, 0, .28);
}

.sidebar-cta-card span {
    display: block;
    color: #ffb4b4;
    font-size: 13px;
    font-weight: 800;
    text-transform: uppercase;
}

.sidebar-cta-card h3 {
    position: relative;
    margin: 8px 0 8px !important;
    color: #fff;
    font-size: 22px !important;
    line-height: 1.2;
    text-transform: none !important;
}

.sidebar-cta-card p {
    position: relative;
    margin: 0 0 16px;
    color: #cbd5e1;
    font-size: 13px;
    line-height: 1.55;
}

.sidebar-cta-card strong {
    position: relative;
    display: block;
    margin: 8px 0 16px;
    color: #fff;
    font-size: 25px;
    line-height: 1;
}

.sidebar-cta-actions {
    position: relative;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

.sidebar-cta-actions .btn-light {
    color: var(--red);
}

/* ── Product spec — fixed 2-line height ── */
.card-body .product-spec {
    display: -webkit-box !important;
    -webkit-line-clamp: 2 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    white-space: normal !important;
    min-height: 2.8em !important;
    line-height: 1.4 !important;
    font-size: 13px !important;
    color: var(--muted) !important;
    margin: 4px 0 0 !important;
}

/* ── Báo giá modal ── */
.tp-modal{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;padding:20px}
.tp-modal[hidden]{display:none}
.tp-modal-overlay{position:absolute;inset:0;background:rgba(7,11,16,.72);backdrop-filter:blur(4px);cursor:pointer}
.tp-modal-box{position:relative;background:#fff;border-radius:18px;width:100%;max-width:560px;max-height:90vh;overflow-y:auto;box-shadow:0 24px 64px rgba(0,0,0,.35);animation:modal-in .25s cubic-bezier(.34,1.3,.64,1)}
@keyframes modal-in{from{opacity:0;transform:scale(.92) translateY(16px)}to{opacity:1;transform:none}}
.tp-modal-close{position:absolute;top:14px;right:14px;width:36px;height:36px;border-radius:50%;border:none;background:rgba(0,0,0,.07);cursor:pointer;display:flex;align-items:center;justify-content:center;color:#444;transition:background .15s,color .15s;z-index:1}
.tp-modal-close:hover{background:var(--red);color:#fff}
.tp-modal-header{background:linear-gradient(135deg,var(--red),#a80000);color:#fff;padding:26px 28px 22px;border-radius:18px 18px 0 0;display:flex;align-items:center;gap:16px}
.tp-modal-icon{width:52px;height:52px;background:rgba(255,255,255,.18);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.tp-modal-header h2{margin:0 0 4px;font-size:20px;font-weight:900}
.tp-modal-header p{margin:0;font-size:13px;opacity:.85}
.tp-modal-body{padding:24px 28px 28px}
.tp-modal-body .wpcf7-form{display:grid;gap:14px}
.tp-modal-body .wpcf7 p{margin:0}
.tp-modal-body input[type=text],
.tp-modal-body input[type=email],
.tp-modal-body input[type=tel],
.tp-modal-body textarea,
.tp-modal-body select{width:100%;height:46px;border:1.5px solid var(--line);border-radius:8px;padding:0 14px;font-size:14px;font-family:inherit;transition:border-color .15s;background:#fff}
.tp-modal-body textarea{height:100px;padding:12px 14px;resize:vertical}
.tp-modal-body input:focus,
.tp-modal-body textarea:focus,
.tp-modal-body select:focus{border-color:var(--red);outline:none}
.tp-modal-body input[type=submit],
.tp-modal-body .wpcf7-submit{width:100%;height:50px;background:var(--red);color:#fff;border:none;border-radius:8px;font-size:15px;font-weight:900;text-transform:uppercase;cursor:pointer;transition:background .15s;margin-top:4px}
.tp-modal-body input[type=submit]:hover,
.tp-modal-body .wpcf7-submit:hover{background:#b40000}

/* ── Footer contact list ── */
.footer-contact-list{list-style:none;padding:0;margin:0;display:grid;gap:9px}
.footer-contact-list li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#b9c4cf;line-height:1.45}
.footer-contact-list li svg{flex-shrink:0;margin-top:2px;color:#687385}
.footer-contact-list li a{color:#b9c4cf;transition:color .15s}
.footer-contact-list li a:hover{color:#fff}
.footer-contact-list strong{color:#d0dae4}
.footer-map{height:260px;border-radius:10px;overflow:hidden;margin-top:0}
.footer-map iframe{width:100%;height:100%;border:0;display:block}

/* Footer grid 5 cols */
.footer-grid{grid-template-columns:1.4fr repeat(3,1fr) 1.5fr!important}
@media(max-width:1100px){.footer-grid{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:700px){.footer-grid{grid-template-columns:1fr!important}}

/* ── Hamburger ── */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;background:none;border:none;cursor:pointer;padding:6px;flex-shrink:0}
.hamburger span{display:block;height:2px;background:var(--text);border-radius:2px;transition:transform .25s,opacity .25s}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* ── Mobile nav drawer ── */
.mobile-nav-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:199}
.mobile-nav-overlay.open{display:block}
.mobile-nav{position:fixed;top:0;right:-320px;width:300px;height:100%;background:#fff;z-index:200;padding:0 20px 24px;box-shadow:-4px 0 24px rgba(0,0,0,.15);transition:right .28s ease;overflow-y:auto;display:flex;flex-direction:column}
.mobile-nav.open{right:0}
.mobile-nav-header{display:flex;justify-content:space-between;align-items:center;height:72px;border-bottom:1px solid var(--line);margin-bottom:8px;flex-shrink:0}
.mobile-nav-close{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--muted);padding:4px 8px}
.mobile-nav nav{display:flex;flex-direction:column}
.mobile-nav nav a{display:block;padding:14px 0;border-bottom:1px solid var(--line);font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.3px;color:var(--text)}
.mobile-nav nav a:hover,.mobile-nav nav a.active{color:var(--red)}

@media(max-width:1100px){.hamburger{display:flex}}

/* ── Product gallery thumbs ── */
.product-gallery-thumbs{display:flex;flex-direction:row;gap:10px;overflow-x:auto;margin-top:14px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.product-gallery-thumbs::-webkit-scrollbar{display:none}
.product-gallery-thumbs img{flex:0 0 90px;width:90px!important;height:80px!important;object-fit:cover;border-radius:8px;cursor:pointer;transition:border-color .18s}
.product-gallery-thumbs img:hover{outline:2px solid var(--red)}

/* ── About stats strip (inline on page-gioi-thieu) ── */
.about-stats{background:#fff;color:var(--text);height:auto;grid-template-columns:repeat(4,1fr)!important;padding:16px 0}
@media(max-width:700px){.about-stats{grid-template-columns:repeat(2,1fr)!important}}

/* ── Named layout classes (dùng thay inline styles trong PHP templates) ── */
.product-detail-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) minmax(0,.55fr);gap:28px}
.service-detail-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:40px;align-items:center}
.project-detail-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:36px}

/* ── Shop layout: sidebar chiếm 300px → 4 cột cho vừa ── */
.layout .products-grid{grid-template-columns:repeat(4,1fr)!important}

/* ── Responsive overrides – !important để đè inline styles trong templates ── */
@media(max-width:1100px){
  .product-detail-grid{grid-template-columns:1fr 1fr!important}
  .service-detail-grid,.project-detail-grid{grid-template-columns:1fr!important}
  .products-grid{grid-template-columns:repeat(3,1fr)!important}
  .layout .products-grid{grid-template-columns:repeat(3,1fr)!important}
  .category-grid{grid-template-columns:repeat(4,1fr)!important}
  .solutions-grid,.projects-grid{grid-template-columns:repeat(3,1fr)!important}
  .news-grid{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:700px){
  .product-detail-grid,.service-detail-grid,.project-detail-grid{grid-template-columns:1fr!important}
  .products-grid,.category-grid,.solutions-grid,.projects-grid,.news-grid{grid-template-columns:1fr!important}
  .layout .products-grid{grid-template-columns:1fr!important}
  .solutions-grid{grid-template-columns:1fr!important}
  .tabs{grid-template-columns:repeat(2,1fr)!important}
}

/* ── Hero Slider ─────────────────────────────────────────────────────────── */
.hero-slider{position:relative;overflow:hidden;background:var(--dark)}
.hs-slide{display:none;min-height:500px}
.hs-slide.active{display:block;animation:hs-in .55s ease}
@keyframes hs-in{from{opacity:0;transform:translateX(32px)}to{opacity:1;transform:translateX(0)}}
.hs-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center;padding:64px 0 80px}
.hs-content{color:#fff}
.hs-label{font-size:11px;font-weight:700;letter-spacing:2.5px;color:var(--red);text-transform:uppercase;margin-bottom:14px;opacity:.9}
.hs-title{font-size:clamp(26px,3.5vw,50px);font-weight:900;line-height:1.1;margin:0 0 16px;color:#fff}
.hs-title span{color:var(--red);display:block}
.hs-desc{color:rgba(255,255,255,.72);font-size:16px;line-height:1.65;margin:0 0 22px;max-width:500px}
.hs-list{list-style:none;padding:0;margin:0 0 28px;display:flex;flex-direction:column;gap:8px}
.hs-list li{color:rgba(255,255,255,.85);font-size:14px;padding-left:20px;position:relative}
.hs-list li::before{content:'✓';position:absolute;left:0;color:var(--red);font-weight:700}
.hs-btns{display:flex;gap:12px;flex-wrap:wrap}
.hs-visual{display:flex;align-items:center;justify-content:center;padding:24px 0}
.hs-visual img{max-height:340px;width:100%;object-fit:contain;filter:drop-shadow(0 24px 48px rgba(0,0,0,.45));animation:hs-float 3.5s ease-in-out infinite}
@keyframes hs-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
/* Prev / Next */
.hs-prev,.hs-next{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);cursor:pointer;color:#fff;display:flex;align-items:center;justify-content:center;transition:background .2s,border-color .2s;z-index:10;padding:0}
.hs-prev:hover,.hs-next:hover{background:var(--red);border-color:var(--red)}
.hs-prev{left:20px}.hs-next{right:20px}
/* Dots */
.hs-dots{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:8px;z-index:10}
.hs-dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.3);border:none;cursor:pointer;padding:0;transition:all .3s}
.hs-dot.active{background:var(--red);width:26px;border-radius:4px}
/* Responsive */
@media(max-width:1100px){
  .hs-inner{grid-template-columns:1fr!important;gap:0;padding:48px 0 72px}
  .hs-visual{display:none}
}
@media(max-width:700px){
  .hs-inner{padding:40px 0 64px}
  .hs-title{font-size:clamp(22px,6vw,34px)}
  .hs-btns{flex-direction:column;align-items:flex-start}
  .hs-prev,.hs-next{display:none}
}

/* ── Hero Slider – khi có ảnh nền full-width ─────────────────────────────── */
.hs-slide.has-bg{background-size:cover;background-position:center;position:relative}
.hs-slide.has-bg::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,16,26,.82) 45%,rgba(10,16,26,.30) 100%)}
.hs-slide.has-bg .hs-inner{position:relative;z-index:1}
.fc-facebook{background:#1877f2!important}

/* ── Float contact – mobile: nhỏ hơn, giữ dọc bên phải ── */
@media(max-width:700px){
  .float-contact{
    flex-direction:column!important;
    right:12px!important;
    left:auto!important;
    bottom:20px!important;
    transform:none!important;
    gap:8px!important;
    background:transparent!important;
    border-radius:0!important;
    padding:0!important;
    box-shadow:none!important;
  }
  .fc-btn{width:38px!important;height:38px!important}
  .fc-tip{display:none!important}
  .fc-top{opacity:1!important;pointer-events:auto!important}
  /* product main image quá cao trên mobile */
  .product-detail-grid .product-card > img{height:240px!important}
}

/* ── Product detail info panel (pi-*) ──────────────────────────────── */
.product-info{display:flex;flex-direction:column;overflow-y:visible;max-height:none}
.pi-head{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.pi-cat{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--red);background:#fff0f0;border:1.5px solid rgba(214,0,0,.2);border-radius:20px;padding:3px 10px}
.pi-status{font-size:11px;font-weight:700;padding:3px 10px;border-radius:20px;background:#f0fdf4;color:#15803d;border:1.5px solid #bbf7d0}
.pi-status.in-stock::before{content:'● ';font-size:7px;vertical-align:middle}
.pi-title{font-size:clamp(18px,2.2vw,26px);font-weight:900;line-height:1.15;text-transform:uppercase;letter-spacing:-.01em;color:var(--dark);margin:0 0 10px}
.pi-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);margin-bottom:16px;padding-bottom:16px;border-bottom:1px solid var(--line)}
.pi-stars{color:#f59e0b;font-size:13px;letter-spacing:1px}
.pi-brand strong,.pi-model strong{color:var(--dark);font-weight:600}

/* price block */
.pi-price-block{background:linear-gradient(135deg,#fff0f0 0%,#fff7f7 100%);border:2px solid rgba(214,0,0,.12);border-radius:14px;padding:18px 20px;margin-bottom:18px}
.pi-price .woocommerce-Price-amount,.pi-price .amount{font-size:36px!important;font-weight:900!important;color:var(--red)!important;letter-spacing:-.04em!important;line-height:1!important}
.pi-price-lh{display:flex;flex-direction:column;gap:2px}
.pi-price-lh span:first-child{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.pi-price-lh strong{font-size:34px;font-weight:900;color:var(--red);letter-spacing:-.04em;line-height:1}
.pi-price-note{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.5;border-top:1px dashed rgba(214,0,0,.15);padding-top:8px}

/* spec strip */
.pi-spec-strip{display:grid;grid-template-columns:repeat(var(--cols,4),1fr);border:1px solid var(--line);border-radius:12px;overflow:hidden;margin-bottom:18px;background:var(--bg)}
.pi-spec-cell{padding:12px 8px;text-align:center;background:#fff;border-right:1px solid var(--line);position:relative}
.pi-spec-cell:last-child{border-right:none}
.pi-spec-label{font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:5px}
.pi-spec-val{font-size:13px;font-weight:800;color:var(--dark);line-height:1.2}
.pi-single-spec{font-size:13.5px;color:var(--text);margin:0 0 16px;padding:10px 14px;background:var(--bg);border-radius:8px;border-left:3px solid var(--red)}

/* desc */
.pi-desc{font-size:13px;color:var(--text);line-height:1.7;margin-bottom:18px}
.pi-desc ul{padding-left:0;list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0}
.pi-desc li{display:flex;gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:12.5px;align-items:baseline}
.pi-desc li::before{content:'';width:5px;height:5px;border-radius:50%;background:var(--red);flex-shrink:0;margin-top:5px}
.pi-desc li strong{color:var(--dark);font-weight:700}

/* CTA buttons */
.pi-cta{display:flex;gap:10px;margin-top:4px}
.pi-btn-primary{flex:1;text-align:center;font-size:14px;padding:14px 16px;font-weight:700;letter-spacing:.02em;border-radius:10px}
.pi-cta .btn-outline{padding:14px 16px;font-size:14px;white-space:nowrap;border-radius:10px}
@media(max-width:700px){
  .pi-spec-strip{grid-template-columns:repeat(2,1fr)!important}
  .pi-desc ul{grid-template-columns:1fr}
  .pi-cta{flex-direction:column!important;align-items:stretch!important}
  .pi-cta .btn,.pi-cta a{width:100%!important;white-space:normal!important;text-align:center;box-sizing:border-box}
  .pi-btn-primary{flex:none}
  .pi-desc{word-break:break-word;overflow-wrap:break-word;max-width:100%;overflow:hidden}
  #prod-main{height:260px!important}
}

/* gallery thumbs on mobile: smaller */
@media(max-width:700px){
  .product-gallery-thumbs img{flex:0 0 70px!important;width:70px!important;height:62px!important}
}

/* ── Product sidebar (psb-*) ────────────────────────────────────────── */
.psb-benefits{border:1px solid var(--line);border-radius:14px;background:#fff;padding:18px}
.psb-sec-label{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--red);margin:0 0 12px;display:flex;align-items:center;gap:6px}
.psb-sec-label::after{content:'';flex:1;height:1px;background:var(--line)}
.psb-list{list-style:none;padding:0;margin:0}
.psb-list li{display:flex;align-items:center;gap:10px;padding:9px 0;border-bottom:1px solid var(--line);font-size:13px;color:var(--text);line-height:1.35}
.psb-list li:last-child{border-bottom:none;padding-bottom:0}
.psb-ic{font-size:15px;width:32px;height:32px;background:#fff4f4;border-radius:8px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.psb-list strong{color:var(--dark);font-weight:700}

/* contact card */
.psb-contact{background:var(--dark);color:#fff;border-radius:14px;padding:20px;margin-top:16px;position:relative;overflow:hidden}
.psb-contact::before{content:'';position:absolute;top:-30px;right:-30px;width:100px;height:100px;border-radius:50%;background:rgba(214,0,0,.12);pointer-events:none}
.psb-contact-sub{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.4);margin:0 0 6px}
.psb-phone{display:block;font-size:20px;font-weight:900;color:#fff;letter-spacing:-.5px;margin-bottom:16px;line-height:1.2;transition:.15s}
.psb-phone:hover{color:var(--red)}
.psb-btn-main{display:block;width:100%;text-align:center;background:var(--red);color:#fff!important;border-radius:8px;font-weight:700;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:13px 14px;margin-bottom:10px;border:none;transition:background .2s}
.psb-btn-main:hover{background:#b50000}
.psb-btn-call{display:flex;align-items:center;justify-content:center;gap:6px;padding:11px 14px;border:1px solid rgba(255,255,255,.15);border-radius:8px;color:rgba(255,255,255,.75);font-size:12.5px;font-weight:600;transition:.15s}
.psb-btn-call:hover{background:rgba(255,255,255,.07);color:#fff;border-color:rgba(255,255,255,.25)}

/* ── Float contact position ─────────────────────────────────────────── */
.float-contact{right:14px;left:auto;top:35%;bottom:auto}

/* ── Mobile: chống horizontal scroll + rút gọn trang ── */
html,body{max-width:100%;overflow-x:hidden}

/* ── Stats SVG icon style ────────────────────────────────────────────── */
.stat-icon{font-style:normal;display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:rgba(214,0,0,.15);flex-shrink:0}
.stat-icon svg{stroke:var(--red);width:26px;height:26px}

@media(max-width:700px){
  /* Stats: 2 cột, compact */
  .stats-grid{height:auto!important;grid-template-columns:repeat(2,1fr)!important;padding:0!important;gap:0!important}
  .stat{flex-direction:row!important;text-align:left!important;gap:10px!important;justify-content:flex-start!important;align-items:center!important;border-right:1px solid rgba(255,255,255,.12)!important;border-bottom:1px solid rgba(255,255,255,.12)!important;padding:14px 12px!important}
  .stat:nth-child(2n){border-right:none!important}
  .stat-icon{width:34px;height:34px;flex-shrink:0}
  .stat-icon svg{width:16px;height:16px}
  .stat strong{font-size:17px!important}
  .stat span{font-size:11px!important}

  /* Tooltip float không gây overflow */
  .fc-tip{display:none!important}
  /* Gallery thumbs fill width (scroll khi nhiều ảnh) */
  .product-gallery-thumbs img{flex:1 0 70px!important;max-width:100px!important;width:auto!important}
  /* Ẩn sidebar sản phẩm trên mobile (nội dung trùng với pi-cta) */
  .product-detail-grid > aside{display:none!important}
  /* Tab text không bị cắt */
  .tab{font-size:12px;height:auto;min-height:40px;padding:8px 4px;line-height:1.2;word-break:break-word}
  /* Section padding gọn hơn */
  .section{padding:32px 0!important}
  .section-sm{padding:22px 0!important}
  /* Related products: 2 cột thay vì 1 cột */
  .section-sm .products-grid{grid-template-columns:repeat(2,1fr)!important}
  /* Table spec không tràn ngang */
  .table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}
  .table td,.table th{word-break:break-word;white-space:normal;min-width:80px}
}

/* ── News article sidebar (ns-*) ────────────────────────────────────── */
.news-sidebar{display:flex;flex-direction:column;gap:20px;position:sticky;top:24px}

/* Category card */
.ns-card{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}
.ns-card-head{display:flex;align-items:center;gap:10px;padding:16px 20px;border-bottom:1px solid var(--line);background:var(--bg)}
.ns-card-icon{font-size:14px;color:var(--muted)}
.ns-card-title{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--dark);margin:0}
.ns-categories .side-list{list-style:none;padding:0;margin:0}
.ns-categories .side-list li{display:flex;align-items:center;padding:0;border-bottom:1px solid var(--line)}
.ns-categories .side-list li:last-child{border-bottom:none}
.ns-categories .side-list li a{display:flex;align-items:center;gap:10px;flex:1;padding:12px 20px;font-size:13.5px;font-weight:500;color:var(--text);transition:color .15s}
.ns-categories .side-list li a::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--line);flex-shrink:0;transition:background .15s}
.ns-categories .side-list li a:hover{color:var(--red)}
.ns-categories .side-list li a:hover::before{background:var(--red)}
.ns-categories .side-list li.active a{color:var(--red);font-weight:700}
.ns-categories .side-list li.active a::before{background:var(--red)}
.ns-categories .side-cat-icon{display:none}
.side-cat-count{font-size:11px;font-weight:700;color:#fff;background:var(--muted);border-radius:20px;padding:1px 7px;margin-left:auto;margin-right:20px;min-width:20px;text-align:center;flex-shrink:0}
.ns-categories .side-list li.active .side-cat-count{background:var(--red)}

/* Newsletter card */
.ns-newsletter{background:linear-gradient(135deg,var(--dark) 0%,#1e3448 100%);border-radius:14px;padding:24px;text-align:center;position:relative;overflow:hidden}
.ns-newsletter::before{content:'';position:absolute;top:-40px;left:50%;transform:translateX(-50%);width:200px;height:200px;border-radius:50%;background:rgba(214,0,0,.08);pointer-events:none}
.ns-nl-icon{font-size:28px;margin-bottom:10px;position:relative}
.ns-nl-title{font-size:15px;font-weight:800;color:#fff;margin:0 0 8px;position:relative}
.ns-nl-desc{font-size:12px;color:rgba(255,255,255,.5);line-height:1.6;margin:0 0 16px;position:relative}
.ns-nl-input{width:100%;box-sizing:border-box;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.15);border-radius:8px;padding:11px 14px;font-size:13px;color:#fff;outline:none;margin-bottom:10px;transition:border-color .2s;position:relative}
.ns-nl-input::placeholder{color:rgba(255,255,255,.35)}
.ns-nl-input:focus{border-color:rgba(214,0,0,.6);background:rgba(255,255,255,.12)}
.ns-nl-btn{width:100%;background:var(--red);color:#fff;border:none;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:700;cursor:pointer;transition:background .2s;letter-spacing:.03em;position:relative}
.ns-nl-btn:hover{background:#b50000}

/* ── Footer nav list with dot icons ─────────────────────────────────── */
.footer-nav-list{list-style:none!important;padding:0!important;margin:0!important;display:grid!important;gap:2px!important}
.footer-nav-list li a{display:flex;align-items:center;gap:9px;font-size:13.5px;color:#b9c4cf;padding:5px 0;transition:color .18s}
.footer-nav-list li a::before{content:'';display:inline-flex;width:6px;height:6px;border-radius:50%;background:var(--red);flex-shrink:0;opacity:.65;transition:opacity .18s,transform .18s}
.footer-nav-list li a:hover{color:#fff}
.footer-nav-list li a:hover::before{opacity:1;transform:scale(1.3)}

/* Quick links */
.ns-quicklinks{list-style:none;padding:0;margin:0}
.ns-quicklinks li{border-bottom:1px solid var(--line);display:block!important;padding:0!important;font-weight:normal!important}
.ns-quicklinks li:last-child{border-bottom:none}
.ns-quicklinks li a{display:flex;align-items:center;justify-content:space-between;padding:11px 20px;font-size:13.5px;font-weight:500;color:var(--text);transition:all .15s;gap:8px}
.ns-quicklinks li a::before{display:none!important}
.ns-quicklinks li a::after{content:'→';font-size:12px;color:var(--muted);transition:color .15s,transform .15s;flex-shrink:0;margin-left:auto}
.ns-quicklinks li a:hover{color:var(--red);background:rgba(214,0,0,.03)}
.ns-quicklinks li a:hover::after{color:var(--red);transform:translateX(3px)}
.ql-icon{width:28px;height:28px;border-radius:50%;background:var(--red);color:#fff;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;margin-right:10px;transition:transform .15s}
.ns-quicklinks li a:hover .ql-icon{transform:scale(1.1)}

/* Contact card */
.ns-contact{background:var(--dark);border-radius:14px;padding:22px;position:relative;overflow:hidden}
.ns-contact::after{content:'';position:absolute;bottom:-30px;right:-30px;width:120px;height:120px;border-radius:50%;background:rgba(214,0,0,.1);pointer-events:none}
.ns-contact-label{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.35);margin:0 0 8px;position:relative}
.ns-contact-phone{display:block;font-size:24px;font-weight:900;color:#fff;letter-spacing:-.5px;margin-bottom:6px;transition:.15s;position:relative;line-height:1.15}
.ns-contact-phone:hover{color:var(--red)}
.ns-contact-note{font-size:11px;color:rgba(255,255,255,.4);line-height:1.5;margin:0 0 18px;position:relative}
.ns-contact-btn{display:block;text-align:center;background:var(--red);color:#fff;border-radius:8px;font-size:13px;font-weight:700;letter-spacing:.03em;padding:13px 16px;transition:background .2s;position:relative}
.ns-contact-btn:hover{background:#b50000;color:#fff}

@media(max-width:1100px){.news-sidebar{position:static}}

/* ── Shop sidebar mobile: compact padding ────────────────────────────── */
@media(max-width:700px){
  .shop-aside .sidebar-card{padding:16px}
}

/* ── Grid item min-width fix (prevent overflow in layout/grid) ───────── */
.layout > main,.layout > aside{min-width:0}

/* ── Logo strip mobile: 3 cột ───────────────────────────────────────── */
@media(max-width:700px){
  .logo-strip{grid-template-columns:repeat(3,1fr)!important;gap:8px!important}
  .logo-box{height:54px!important;padding:6px!important}
}

/* ── Category grid mobile: horizontal scroll icon row ───────────────── */
@media(max-width:700px){
  .category-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    overflow-x:auto!important;
    gap:10px!important;
    padding-bottom:6px!important;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    margin-bottom:20px!important;
  }
  .category-grid::-webkit-scrollbar{display:none}
  .cat-card{
    flex:0 0 88px!important;
    width:88px!important;
    padding:0!important;
    border-radius:12px!important;
    overflow:hidden!important;
  }
  .cat-card > img,.cat-card img{
    height:70px!important;
    width:100%!important;
    object-fit:cover!important;
    margin:0!important;
    border-radius:0!important;
    border-bottom:1px solid var(--line)!important;
  }
  .cat-card h3{
    font-size:11px!important;
    line-height:1.3!important;
    margin:0!important;
    padding:7px 6px 8px!important;
  }
}

/* ── Products grid: 2 cột trên mobile ───────────────────────────────── */
@media(max-width:700px){
  .products-grid,.layout .products-grid{grid-template-columns:repeat(2,1fr)!important;gap:12px!important}
  .product-card{padding:0 0 12px!important}
  .product-img{height:120px!important;margin:0;border-radius:11px 11px 0 0;overflow:hidden}
  .product-img img{max-height:100%!important;width:100%!important;object-fit:cover!important}
  .product-card h3,.product-spec,.price,.card-actions{padding:0 12px}
  .card-view{width:26px!important;height:26px!important;border-radius:6px!important}
  .card-view::after{width:5px!important;height:5px!important}
  .section-title h2{font-size:20px!important;letter-spacing:0!important}
}

/* ── Sidebar quick links (dùng trong page.php) ───────────────────────── */
.ns-quicklinks{list-style:none;padding:0;margin:0}
.ns-quicklinks li{border-bottom:1px solid var(--line)}
.ns-quicklinks li:last-child{border-bottom:none}
.ns-quicklinks li a{display:flex;align-items:center;gap:10px;padding:12px 20px;font-size:13.5px;font-weight:500;color:var(--text);transition:color .15s}
.ns-quicklinks li a::before{content:'›';color:var(--muted);font-size:16px;transition:color .15s}
.ns-quicklinks li a:hover{color:var(--red)}
.ns-quicklinks li a:hover::before{color:var(--red)}

/* ── Related posts 4 cols ────────────────────────────────────────────── */
.news-grid-4col{grid-template-columns:repeat(4,1fr)!important}
@media(max-width:1100px){.news-grid-4col{grid-template-columns:repeat(2,1fr)!important}}
@media(max-width:700px){.news-grid-4col{grid-template-columns:1fr!important}}

/* ── Article tags ────────────────────────────────────────────────────── */
.article-tags{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-top:32px;padding-top:20px;border-top:1px solid var(--line)}
.article-tags-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);flex-shrink:0}
.article-tag{font-size:12.5px;font-weight:500;color:var(--text);background:var(--bg);border:1px solid var(--line);border-radius:20px;padding:4px 12px;transition:all .15s}
.article-tag:hover{background:var(--red);color:#fff;border-color:var(--red)}

/* ── Article h1 margin reset ─────────────────────────────────────────── */
.article h1:first-child{margin-top:0}

