/* Phuc Thinh Solar Theme V2
 * Ported from solar-light-web. Loaded after every legacy stylesheet.
 * Keep behavioral selectors in the existing styles/scripts intact.
 */
:root{
    --pts-navy:#0a2251;
    --pts-navy-deep:#061537;
    --pts-navy-light:#123a7a;
    --pts-gold:#c9962e;
    /* Vàng kim gốc của theme - dùng cho nút/tab đang chọn, đẹp hơn màu phẳng */
    --pts-gold-metal:linear-gradient(90deg,#b67d2e 0%,#e1b94f 48%,#f4dc81 100%);
    --pts-gold-light:#e0b654;
    --pts-gold-dark:#9c7420;
    --pts-ink:#171717;
    --pts-muted:#64748b;
    --pts-line:#e5e7eb;
    --pts-surface:#f8fafc;
    --pts-cream:#fffbeb;
    --pts-container:1440px;
    --pts-gutter:24px;
    --pts-radius:12px;
    --pts-shadow:0 14px 36px rgba(6,21,55,.10);
}

/* Quan hệ Sản phẩm - Dự án dùng chung một kiểu card, dữ liệu ảnh thuộc Dự án. */
.pts-related-showcase{margin-top:32px;margin-bottom:32px;}
.pts-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;}
.pts-related-card{display:block;overflow:hidden;border:1px solid #e5e8ec;border-radius:12px;background:#fff;color:#172033;box-shadow:0 6px 22px rgba(10,35,66,.07);transition:transform .2s ease,box-shadow .2s ease;}
.pts-related-card:hover{color:#172033;transform:translateY(-3px);box-shadow:0 10px 28px rgba(10,35,66,.13);}
.pts-related-card>img,.pts-project-media-main{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.pts-project-media{display:block;}
.pts-project-media-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;padding-top:3px;background:#fff;}
.pts-project-media-thumbs img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;}
.pts-related-card-body{display:flex;flex-direction:column;gap:6px;padding:14px 16px;}
.pts-related-card-body strong{font-size:16px;line-height:1.45;}
.pts-related-card-body small{color:#657184;line-height:1.45;}
@media(max-width:767px){.pts-related-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}}
@media(max-width:480px){.pts-related-grid{grid-template-columns:1fr;}}
html{scroll-behavior:smooth;}

/* Compact page heading: retain the image identity without letting it dominate. */
.page-title{min-height:176px!important;justify-content:flex-start!important;background-position:center 45%!important;}
.page-title:before{background:linear-gradient(90deg,rgba(6,21,55,.9),rgba(10,34,81,.72) 58%,rgba(6,21,55,.38))!important;}
.page-title .wrap-content2{padding-top:28px!important;padding-bottom:28px!important;}
.title-page span{font-size:clamp(25px,2.4vw,34px)!important;line-height:1.2!important;text-align:left!important;text-shadow:none!important;margin:0!important;max-width:900px;}
.breadCrumbs{width:auto!important;margin:14px 0 0!important;padding:0!important;}
.breadCrumbs .breadcrumb{display:flex;flex-wrap:wrap;gap:7px 0;align-items:center;}
.breadCrumbs .breadcrumb-item a{font-size:12px!important;line-height:20px!important;font-weight:650!important;text-transform:none!important;color:rgba(255,255,255,.82)!important;}
.breadCrumbs .breadcrumb-item.active a{color:var(--pts-gold-light)!important;}
.breadCrumbs .breadcrumb-item+.breadcrumb-item{padding-left:22px!important;}
.breadCrumbs .breadcrumb-item+.breadcrumb-item:before{content:"\f105"!important;font-family:"Font Awesome 5 Free";font-weight:900;font-size:11px!important;left:8px!important;color:rgba(255,255,255,.48)!important;}

/* Related articles on solution/news detail pages. */
#CRsingle_blog_related{margin-top:48px;padding-top:38px;border-top:1px solid var(--pts-line);}
.related-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:22px;}
.related-eyebrow{display:block;margin-bottom:5px;color:var(--pts-gold-dark);font-size:11px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;}
#CRsingle_blog_related .related-heading .title{margin:0!important;color:var(--pts-navy)!important;font-size:26px!important;font-weight:950!important;line-height:1.2!important;text-transform:none!important;}
#CRsingle_list_related{margin-left:-10px!important;margin-right:-10px!important;}
#CRsingle_list_related .item_post{padding:10px!important;}
#CRsingle_list_related .item_cont_post{position:relative;height:100%;overflow:hidden;border:1px solid var(--pts-line);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.06);transition:transform .2s,box-shadow .2s;}
#CRsingle_list_related .item_cont_post:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(15,23,42,.11);}
#CRsingle_list_related .item_cont_post>a{position:absolute;inset:0;z-index:3;}
#CRsingle_list_related .img_item_cont_post{aspect-ratio:16/10;overflow:hidden;background:#eef2f7;}
#CRsingle_list_related .img_item_cont_post img{width:100%!important;height:100%!important;object-fit:cover;transition:transform .35s;}
#CRsingle_list_related .item_cont_post:hover .img_item_cont_post img{transform:scale(1.035);}
#CRsingle_list_related .content_item_cont_post{padding:17px 18px 20px!important;}
#CRsingle_list_related .CRbox{display:flex;align-items:center;gap:14px;margin-bottom:9px;color:#64748b;font-size:11px;}
#CRsingle_list_related .CRbox>p{margin:0!important;}
#CRsingle_list_related .CRbox>p:nth-child(2){display:none;}
#CRsingle_list_related .CRbox i{margin-right:5px;color:var(--pts-gold-dark);}
#CRsingle_list_related h3{margin:0 0 8px!important;color:var(--pts-navy)!important;font-size:15px!important;font-weight:900!important;line-height:1.45!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
#CRsingle_list_related .des{color:#64748b!important;font-size:12px!important;line-height:1.55!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.related-heading .CRcustom_arrow_related{margin:0!important;}
.related-heading .CRcustom_arrow_related .box{display:flex;gap:8px;}
.related-heading .customm_arrow{display:inline-flex!important;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--pts-line)!important;border-radius:50%!important;background:#fff!important;color:var(--pts-navy)!important;cursor:pointer;transition:.2s;}
.related-heading .customm_arrow:hover{border-color:var(--pts-gold)!important;background:var(--pts-gold)!important;color:var(--pts-navy-deep)!important;}
@media(max-width:768px){
    .page-title{min-height:144px!important;}
    .page-title .wrap-content2{padding-top:22px!important;padding-bottom:22px!important;}
    .title-page span{font-size:22px!important;}
    .breadCrumbs{margin-top:10px!important;}
    .breadCrumbs .breadcrumb-item a{font-size:11px!important;}
    #CRsingle_blog_related{margin-top:36px;padding-top:30px;}
    .related-heading{align-items:center;margin-bottom:14px;}
    #CRsingle_blog_related .related-heading .title{font-size:22px!important;}
    .related-heading .customm_arrow{width:34px;height:34px;}
}

/* Typography và container nền tảng; loại trừ các lớp icon font. */
body{color:var(--pts-ink);background:#fff;line-height:1.6;}
body,p,button,input,select,textarea,a,strong,h1,h2,h3,h4,h5,h6,div,li,td,th,label,
span:not([class*="fa"]):not([class*="lnr"]):not([class*="icon-"]):not([class*="mdi"]){
    font-family:"Plus Jakarta Sans","Mulish",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;
}
/* Thang chữ tối ưu cho màn hình desktop rộng. */
body,p{font-size:16.5px;line-height:1.7;}
h1{font-size:36px;font-weight:800;line-height:1.25;}
h2{font-size:29px;font-weight:800;line-height:1.3;}
h3{font-size:22px;font-weight:800;line-height:1.38;}
h4{font-size:18.5px;font-weight:700;line-height:1.4;}

.wrap-content,.wrap-main,.uk-container,.container{box-sizing:border-box;width:100%;max-width:var(--pts-container);margin-left:auto;margin-right:auto;padding-left:var(--pts-gutter);padding-right:var(--pts-gutter);}
.wrap-home{max-width:none;padding:0;margin-left:0;margin-right:0;}
.wap-all-page{overflow:clip;}

/* Căn các khối nội dung theo gutter chuẩn của container. */

/* Trang chủ - hàng tab danh mục: swiper bù margin âm nhưng pill có nền */
.tab-switcher .swiper-container{margin-left:0!important;}

/* Trang chủ - blog 2 cột: cột chính là card -> dùng grid, bỏ margin âm */
.blog-2col-row{margin-left:0!important;margin-right:0!important;display:grid!important;grid-template-columns:1fr 1fr;gap:24px;}
.blog-2col-item{width:auto!important;max-width:none!important;flex:0 0 auto!important;}

/* Trang đại lý: form ĐK và banner đều position:absolute trong .container cao
   cố định -> form tràn khỏi section 68px và bị overflow:hidden cắt mất nút
   "Đăng ký ngay" (khách không bấm đăng ký được). Đưa cả hai về luồng thường
   dạng lưới 2 cột như bản demo, chiều cao tự giãn theo nội dung. */
.agency_1{overflow:visible!important;height:auto!important;}
.agency_1 .container{
    display:grid!important;grid-template-columns:minmax(300px,380px) 1fr;
    gap:32px;align-items:center;padding-top:56px!important;padding-bottom:56px!important;
}
.agency_1 .form_agency{
    position:static!important;left:auto!important;top:auto!important;
    width:100%!important;max-width:none!important;margin:0!important;
    border-radius:16px!important;box-shadow:var(--pts-shadow)!important;
}
.agency_1 .inner_content{
    position:static!important;width:auto!important;height:auto!important;
    min-height:360px;display:flex!important;align-items:center;
    border-radius:16px!important;overflow:hidden!important;
    background-image:var(--agency-bg)!important;background-size:cover!important;background-position:center!important;
}
/* ảnh nền banner sáng -> chữ trắng thiếu tương phản, phủ lớp navy mờ */
.agency_1 .inner_content{position:relative!important;}
.agency_1 .inner_content:before{content:"";display:block!important;position:absolute;inset:0;background:linear-gradient(100deg,rgba(6,21,55,.68),rgba(10,34,81,.38));z-index:1;}
.agency_1 .inner{position:relative;z-index:2;width:100%;padding:40px!important;}
.agency_1 .inner .content.text h3{color:#fff!important;font-size:clamp(22px,2.3vw,32px)!important;font-weight:900!important;line-height:1.25!important;margin:0 0 14px!important;}
.agency_1 .inner .content.text,.agency_1 .inner .content.text p,.agency_1 .inner .content.text li{color:#f3f6fd!important;text-shadow:0 1px 2px rgba(0,0,0,.28);}
@media(max-width:991px){
    .agency_1 .container{grid-template-columns:1fr;gap:24px;padding-top:38px!important;padding-bottom:38px!important;}
    .agency_1 .inner{padding:28px!important;}
    .agency_1 .inner_content{min-height:260px;}
}

/* Trang tin tức - .row lồng trong wrapper đã có margin âm -> cộng dồn -20px */
.CRrow_term_bottom>.row{margin-left:0!important;margin-right:0!important;}

/* Giỏ hàng - hộp giỏ trống nằm trực tiếp trong .row (không có cột bao) */
.row>.empty-cart{margin-left:15px;margin-right:15px;width:calc(100% - 30px)!important;}

/* Header */
.wap-hearder{position:sticky;top:0;z-index:1000;background:#fff;box-shadow:0 2px 10px rgba(6,21,55,.08);}
.top-utility-bar{background:var(--pts-navy-deep);color:#dbeafe;font-size:12px;line-height:1.4;}
.top-utility-bar .wrap-content{min-height:30px;padding-top:5px;padding-bottom:5px;}
.top-utility-left,.top-utility-right{display:flex;align-items:center;gap:18px;}
.top-utility-bar a{color:#dbeafe;text-decoration:none;}
.top-utility-bar a:hover{color:var(--pts-gold-light);}
.top-utility-left i{font-size:11px;margin-right:5px;color:#bfdbfe;}
.header,.header-bottom{background:#fff;}
.header-bottom .wrap-content{min-height:72px;gap:24px;padding-top:10px;padding-bottom:10px;}
.pts-brand{display:inline-flex!important;align-items:center;gap:10px;flex:0 0 auto;text-decoration:none!important;}
.pts-brand img{width:auto!important;max-width:54px!important;max-height:52px!important;object-fit:contain;}
.pts-brand-wordmark img{max-width:210px!important;max-height:46px!important;}
.pts-brand-copy{display:block;line-height:1.05;white-space:nowrap;}
.pts-brand-copy strong{display:block;font-size:18px;font-weight:900;letter-spacing:.04em;}
.pts-brand-copy small{display:block;font-size:11px;font-weight:800;letter-spacing:.25em;margin-top:5px;}
.pts-brand-text,.pts-brand-text strong,.pts-brand-text small{color:var(--pts-gold-dark)!important;}
@supports ((-webkit-background-clip:text) or (background-clip:text)){
    .pts-brand-text,.pts-brand-text strong,.pts-brand-text small{
        background:var(--pts-gold-metal);background-clip:text;-webkit-background-clip:text;
        color:transparent!important;-webkit-text-fill-color:transparent;
    }
}
.header-right-style{display:flex;align-items:center;justify-content:flex-end;gap:18px;flex:1;min-width:0;}
.menu{flex:1;}
.menu>div>ul{justify-content:center!important;gap:18px;margin:0;}
.menu>div>ul>li>a{font-size:15px!important;font-weight:750!important;color:var(--pts-navy)!important;letter-spacing:.015em;padding:15px 0!important;white-space:nowrap;}
.menu>div>ul>li>a:hover,.menu>div>ul>li>a.active{color:var(--pts-gold-dark)!important;}
.menu ul li ul{border:1px solid #eef0f4!important;border-radius:8px!important;box-shadow:0 18px 45px rgba(6,21,55,.16)!important;padding:8px 0!important;background:#fff!important;}
.menu ul li ul li a{color:#334155!important;font-size:13px!important;padding:10px 16px!important;background:#fff!important;}
.menu ul li ul li a:hover{color:var(--pts-gold-dark)!important;background:#f8fafc!important;}
.flex-search-lang{display:flex;align-items:center;gap:12px;flex:0 0 auto;}
.icon-cart-header{margin-right:0!important;color:var(--pts-navy);}
.icon-cart-header svg path{stroke:var(--pts-navy);}
.icon-cart-header svg circle{fill:var(--pts-navy);}
.search-res .icon-search{margin:0;}

/* Home hero: same composition as solar-light-web */
.wap-slider{background:var(--pts-navy-deep);}
.pts-home-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--pts-navy-deep) 0%,var(--pts-navy) 57%,var(--pts-navy-light) 100%);isolation:isolate;}
.pts-hero-glow{position:absolute;z-index:-1;width:560px;height:560px;right:-130px;top:-190px;border-radius:50%;background:rgba(201,150,46,.30);filter:blur(70px);}
/* Quầng lạnh đối trọng ở góc dưới trái để nền không còn phẳng một màu. */
.pts-hero-glow-cool{position:absolute;z-index:-1;width:520px;height:520px;left:-180px;bottom:-240px;border-radius:50%;background:rgba(41,105,208,.30);filter:blur(80px);}
/* Vân lưới mô phỏng tấm pin, rất mờ, mờ dần về phải để không đè chữ. */
.pts-hero-texture{position:absolute;z-index:-1;inset:0;opacity:.5;background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px 64px),repeating-linear-gradient(0deg,rgba(255,255,255,.05) 0 1px,transparent 1px 64px);-webkit-mask-image:linear-gradient(105deg,transparent 0%,rgba(0,0,0,.85) 55%,rgba(0,0,0,.3) 100%);mask-image:linear-gradient(105deg,transparent 0%,rgba(0,0,0,.85) 55%,rgba(0,0,0,.3) 100%);}
.pts-hero-accent{position:absolute;top:0;right:0;width:10px;height:100%;background:linear-gradient(var(--pts-gold),var(--pts-gold-light),var(--pts-gold));}
.pts-hero-inner{position:relative;padding-top:78px;padding-bottom:82px;}
.pts-hero-copy{max-width:760px;}
/* Hero hai cột khi có chứng nhận; không có chứng nhận thì giữ nguyên bố cục một cột cũ. */
.pts-home-hero-split .pts-hero-inner{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,392px);align-items:center;gap:56px;}
.pts-home-hero-split .pts-hero-copy{max-width:640px;}
.pts-home-hero-split .pts-home-hero p{max-width:560px;}
.pts-home-hero-split .pts-hero-stats{gap:34px;}

/* Khối tin cậy: chứng nhận uỷ quyền của hãng */
.pts-hero-trust{position:relative;border:1px solid rgba(224,182,84,.30);border-radius:18px;background:rgba(255,255,255,.055);padding:24px 26px 26px;box-shadow:0 22px 50px rgba(3,10,28,.34);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.pts-hero-trust-label{display:inline-flex;align-items:center;gap:8px;color:var(--pts-gold-light);font-size:11.5px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;}
.pts-hero-cert-stack{position:relative;display:flex;align-items:flex-end;justify-content:center;min-height:250px;margin:18px 0 20px;}
.pts-hero-cert{margin:0;border-radius:6px;background:#fff;box-shadow:0 14px 30px rgba(3,10,28,.42);overflow:hidden;}
.pts-hero-cert img{display:block;width:100%;height:100%;object-fit:cover;}
/* Hai tấm sau chỉ ló ra làm chiều sâu, tấm đầu danh sách đứng trước và thẳng. */
.pts-hero-cert-0{position:relative;z-index:3;width:172px;aspect-ratio:1826/2560;}
.pts-hero-cert-1{position:absolute;z-index:2;left:50%;bottom:16px;width:150px;aspect-ratio:1826/2560;transform:translateX(-108%) rotate(-8deg);opacity:.85;}
.pts-hero-cert-2{position:absolute;z-index:1;left:50%;bottom:16px;width:150px;aspect-ratio:1826/2560;transform:translateX(8%) rotate(8deg);opacity:.85;}
.pts-hero-trust-brands{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin:0 0 18px;padding:0;list-style:none;}
.pts-hero-trust-brands li{border:1px solid rgba(224,182,84,.34);border-radius:999px;padding:4px 11px;color:#f2e6c8;font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;}
.pts-hero-trust-link{display:inline-flex;align-items:center;gap:8px;color:var(--pts-gold-light)!important;font-size:13px;font-weight:850;text-decoration:none!important;}
.pts-hero-trust-link:hover{color:#fff!important;}
.pts-hero-trust-link i{transition:transform .2s ease;}
.pts-hero-trust-link:hover i{transform:translateX(4px);}
/* Thanh mạng xã hội cố định rộng 90px, cách mép phải 120px. Dưới 1680px thì
   khung .wrap-content chạm vào nó, nên chừa chỗ cho cột chứng nhận; rộng hơn
   thì khung đã tự nằm trong nên không cần bù. */
@media(min-width:1002px) and (max-width:1680px){
    .pts-home-hero-split .pts-hero-inner{padding-right:110px;}
}
.pts-hero-eyebrow{display:inline-flex;align-items:center;gap:8px;border-radius:999px;background:var(--pts-gold);color:var(--pts-navy);padding:7px 16px;margin-bottom:22px;font-size:12px;font-weight:900;letter-spacing:.1em;text-transform:uppercase;box-shadow:0 8px 22px rgba(0,0,0,.2);}
.pts-home-hero h1{color:#fff;font-size:clamp(40px,5.3vw,72px);font-weight:950;line-height:1.05;letter-spacing:-.035em;margin:0 0 22px;text-transform:uppercase;}
.pts-home-hero h1 strong{color:var(--pts-gold-light);font:inherit;}
.pts-home-hero p{max-width:650px;color:#dbeafe!important;font-size:17px;line-height:1.75;margin:0 0 30px;}
.pts-hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:42px;}
.pts-btn{display:inline-flex;min-height:48px;align-items:center;justify-content:center;border-radius:7px;padding:0 28px;font-size:14px;font-weight:900;text-decoration:none!important;transition:.2s ease;}
.pts-btn:hover{transform:translateY(-2px);}
.pts-btn-gold{background:var(--pts-gold);color:var(--pts-navy)!important;box-shadow:0 12px 26px rgba(0,0,0,.22);}
.pts-btn-gold:hover{background:var(--pts-gold-light);}
.pts-btn-ghost{border:2px solid rgba(255,255,255,.32);color:#fff!important;}
.pts-btn-ghost:hover{border-color:var(--pts-gold-light);}
.pts-hero-stats{display:flex;flex-wrap:wrap;gap:42px;}
.pts-hero-stats>div{display:flex;flex-direction:column;}
.pts-hero-stats strong{font-size:34px;font-weight:950;line-height:1;color:var(--pts-gold-light);}
.pts-hero-stats span{font-size:12px;color:#bfdbfe;margin-top:7px;}

/* Section system */
.section-title p{color:var(--pts-gold-dark)!important;font-size:12.5px!important;font-weight:850!important;letter-spacing:.15em!important;text-transform:uppercase;}
.section-title h3{color:var(--pts-navy)!important;font-size:clamp(28px,2.6vw,40px)!important;font-weight:900!important;letter-spacing:-.02em;line-height:1.18;}
.section-title h3:after{background:var(--pts-gold)!important;width:48px!important;height:3px!important;}
.section-title-white h3,.section-title.text-white h3,.section-title h3.text-white{color:#fff!important;}
.section-title-white p,.section-title.text-white p{color:var(--pts-gold-light)!important;}
.wrap-cat-highlight{margin:0!important;padding:64px 0!important;background:#fff;}
.wrap-cat-highlight .section-title{margin-bottom:34px;}
.cat-highlight-row{margin-left:-12px;margin-right:-12px;}
.cat-highlight-row>[class*="col-"]{padding-left:12px;padding-right:12px;}
.cat-highlight-card{position:relative;border:1px solid #edf0f4!important;border-radius:16px!important;padding:30px 28px!important;text-align:center;background:#fff;box-shadow:none!important;overflow:visible!important;min-height:285px;}
.cat-highlight-card:before{content:"";position:absolute;inset:0;border-radius:16px;box-shadow:var(--pts-shadow);opacity:0;transition:.2s;}
.cat-highlight-card:hover{transform:translateY(-6px)!important;border-color:rgba(201,150,46,.4)!important;}
.cat-highlight-card:hover:before{opacity:1;}
.cat-highlight-img{width:82px;height:82px;aspect-ratio:auto!important;border-radius:20px;margin:0 auto 22px;background:linear-gradient(145deg,var(--pts-gold-light),var(--pts-gold-dark))!important;box-shadow:0 12px 24px rgba(201,150,46,.28);padding:12px;}
.cat-highlight-img img{width:100%;height:100%;object-fit:contain!important;border-radius:12px;mix-blend-mode:multiply;}
.cat-highlight-name{padding:0!important;color:var(--pts-navy)!important;font-size:17px!important;line-height:1.4;}
.cat-highlight-link{padding:10px 0 0!important;color:var(--pts-gold-dark)!important;}
.home-3,.home-2,.home_loi_ich,.home-4,.home-5,.home-6,.home-7,.home-8{padding-top:64px!important;padding-bottom:64px!important;}
.home-3{background:#f8fafc!important;}
.home-products-featured{padding-top:56px!important;}

/* Product cards */
.grid-product{gap:20px!important;}
.product-card{position:relative;border:1px solid var(--pts-line)!important;border-radius:12px!important;padding:10px!important;overflow:visible!important;box-shadow:none!important;}
.product-card .product-item{border:0!important;padding:0!important;}
.product-card:hover{border-color:var(--pts-gold)!important;box-shadow:0 16px 34px rgba(6,21,55,.11)!important;transform:translateY(-5px)!important;}
/* Ảnh sản phẩm hiển thị trọn khung trên nền trắng. */
.product-card-img{position:relative;border-radius:9px!important;background:#fff!important;margin-bottom:10px;padding:4px!important;overflow:hidden!important;}
.product-card-img .pts-product-photo{position:relative;z-index:1;object-fit:contain!important;padding:0!important;transition:transform .25s;}
.product-card:hover .product-card-img .pts-product-photo{transform:scale(1.035);}
.product-card-img .pts-promo-frame{position:absolute;z-index:2;inset:0;width:100%!important;height:100%!important;object-fit:fill!important;padding:0!important;pointer-events:none;transform:none!important;}
.product-card .caption{padding:4px 2px 2px!important;}
.product-card .caption .name{color:var(--pts-navy)!important;font-size:15px!important;font-weight:800!important;line-height:1.45!important;min-height:44px!important;}
.product-card .price-product{padding:2px 2px 10px!important;}
.product-card .price-product .price-new{font-size:18px!important;color:#dc2626!important;}
.badge-discount{top:-1px!important;right:12px!important;border-radius:0 0 6px 6px!important;background:#dc2626!important;padding:7px 9px!important;}
.product-card-btns{padding:0!important;gap:8px!important;}
.product-card-btns a{min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:7px!important;font-size:12px!important;}

/* Footer */
.wap-footer footer{background:var(--pts-navy-deep)!important;background-image:none!important;color:#bfdbfe;padding-top:40px;}
.footer_top{padding:0 0 28px!important;}
.footer_top>.container{max-width:var(--pts-container)!important;}
.footer_top>.container>.row{display:grid!important;grid-template-columns:180px minmax(320px,1.3fr) minmax(420px,1fr);gap:30px;margin:0!important;}
.footer_top>.container>.row>[class*="col-"]{width:auto!important;max-width:none!important;flex:none!important;padding:0!important;}
#footer_logo{max-width:120px!important;margin:0!important;}
.footer-title{color:#fff!important;font-size:14px!important;font-weight:850!important;text-transform:none!important;margin:0 0 15px!important;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.12);}
.CRlist_office_center,.CRlist_office_center p,.footer-link a,.content_cn a,.content_cn span{color:#bfdbfe!important;font-size:13px!important;line-height:1.7!important;}
.footer-link a:hover,.content_cn a:hover{color:var(--pts-gold-light)!important;}
.ft_mn_right .content{display:grid!important;grid-template-columns:.8fr 1.2fr;gap:28px;margin:0!important;}
.ft_mn_right .item{width:auto!important;max-width:none!important;padding:0!important;}
.item_cn{margin-bottom:10px!important;}
.name_cn{font-size:13px!important;color:#fff!important;margin-bottom:2px!important;}
.footer_bottom{border-top:1px solid rgba(255,255,255,.1)!important;background:transparent!important;padding:14px 0!important;}
.footer_bottom .copyright{color:#93c5fd!important;font-size:12px!important;}
.footer_bottom .CRcont_nav_mobile{display:none!important;}

@media(max-width:1200px){
    .menu>div>ul{gap:12px;}
    .menu>div>ul>li>a{font-size:13px!important;}
    .pts-brand-copy{display:none;}
    .footer_top>.container>.row{grid-template-columns:130px 1fr 1.2fr;}
}
@media(max-width:1001px){
    :root{--pts-gutter:18px;}
    .wrap-content,.wrap-main,.uk-container,.container{padding-left:var(--pts-gutter);padding-right:var(--pts-gutter);}
    .header-bottom .wrap-content{min-height:64px;padding-top:8px!important;padding-bottom:8px!important;flex-wrap:nowrap!important;}
    .pts-brand{margin-right:auto;}
    .pts-brand-copy{display:block;}
    .header-right-style{flex:0 0 auto;}
    .pts-hero-inner{padding-top:62px;padding-bottom:66px;}
    /* Hẹp hơn 1001px thì chứng nhận xuống dưới phần chữ, không ép hai cột. */
    .pts-home-hero-split .pts-hero-inner{grid-template-columns:minmax(0,1fr);gap:40px;}
    .pts-home-hero-split .pts-hero-copy,.pts-home-hero-split .pts-home-hero p{max-width:none;}
    .pts-hero-trust{max-width:420px;}
    .footer_top>.container>.row{grid-template-columns:120px 1fr;}
    .ft_mn_right{grid-column:1/-1;}
}
@media(max-width:768px){
    .top-utility-left{gap:10px;}
    .top-utility-right{gap:10px;}
    .top-utility-left .hide-mobile{display:none!important;}
    .pts-brand-copy strong{font-size:15px;}
    .pts-brand-copy small{font-size:9px;}
    .pts-brand-wordmark img{max-width:165px!important;max-height:38px!important;}
    .pts-home-hero h1{font-size:clamp(36px,11vw,52px);}
    .pts-home-hero p{font-size:15px;}
    .pts-hero-stats{gap:24px;}
    .pts-hero-stats strong{font-size:28px;}
    .pts-hero-trust{padding:20px 18px 22px;}
    .pts-hero-cert-stack{min-height:210px;margin:16px 0 18px;}
    .pts-hero-cert-0{width:146px;}
    .pts-hero-cert-1,.pts-hero-cert-2{width:128px;}
    .cat-highlight-row{gap:16px 0;}
    .cat-highlight-card{min-height:auto;}
    .footer_top>.container>.row{grid-template-columns:1fr;}
    #footer_logo{margin-bottom:10px!important;}
    .ft_mn_right{grid-column:auto;}
    .ft_mn_right .content{grid-template-columns:1fr;}
}
@media(max-width:576px){
    :root{--pts-gutter:15px;}
    .wrap-content,.wrap-main,.uk-container,.container{padding-left:var(--pts-gutter);padding-right:var(--pts-gutter);}
    .top-utility-right a{font-size:0;}
    .top-utility-right a:before{font-size:11px;}
    .top-utility-right a:first-of-type:before{content:"Facebook";}
    .top-utility-right a:last-of-type:before{content:"Zalo";}
    .pts-brand-copy{display:none;}
    .pts-brand-wordmark img{max-width:118px!important;max-height:32px!important;}
    .pts-hero-inner{padding-top:48px;padding-bottom:52px;}
    .pts-home-hero h1{font-size:35px;}
    .pts-hero-actions .pts-btn{width:100%;}
    .pts-hero-stats{justify-content:space-between;gap:14px;}
    .pts-hero-stats strong{font-size:24px;}
    .pts-hero-stats span{font-size:10px;max-width:90px;}
    .wrap-cat-highlight{padding:46px 0!important;}
}
/* Điện thoại rất hẹp (iPhone SE, Android nhỏ): logo + giỏ hàng + tìm kiếm dễ tràn hàng, thu gọn thêm. */
@media(max-width:340px){
    .header-bottom .wrap-content{gap:10px!important;}
    .pts-brand-wordmark img{max-width:82px!important;max-height:26px!important;}
    .header-right-style{gap:8px!important;}
}

/* Category composition */
.pts-category-hero{position:relative;min-height:238px;display:flex;align-items:center;overflow:hidden;border-radius:16px;margin:0 0 24px;padding:38px 46px;background:linear-gradient(135deg,var(--pts-navy-deep),var(--pts-navy) 62%,var(--pts-navy-light));color:#fff;}
.pts-category-hero:after{content:"";position:absolute;top:0;right:0;width:8px;height:100%;background:linear-gradient(var(--pts-gold),var(--pts-gold-light),var(--pts-gold));}
.pts-category-copy{position:relative;z-index:2;max-width:650px;}
.pts-category-copy>span{color:#bfdbfe;font-size:11px;font-weight:850;letter-spacing:.16em;}
.pts-category-copy h2{margin:4px 0 10px;color:var(--pts-gold-light)!important;font-size:clamp(26px,3.3vw,42px)!important;font-weight:950!important;text-transform:uppercase;line-height:1.12;}
.pts-category-copy p{max-width:550px;color:#dbeafe!important;font-size:14px;margin:0 0 18px;}
.pts-category-copy a{display:inline-flex;align-items:center;gap:8px;background:var(--pts-gold);color:var(--pts-navy)!important;padding:11px 18px;border-radius:7px;font-size:13px;font-weight:900;text-decoration:none!important;}
.pts-category-copy a:hover{background:var(--pts-gold-light);}
.pts-category-sun{position:absolute;right:-35px;bottom:-80px;color:#fff;opacity:.075;font-size:250px;line-height:1;transform:rotate(12deg);}
.category-trust-strip{margin:0 0 28px!important;border:0!important;background:transparent!important;padding:0!important;}
.category-trust-strip>.row{display:grid!important;grid-template-columns:repeat(4,1fr);gap:12px;margin:0!important;}
.category-trust-strip .trust-badge-item{width:auto!important;max-width:none!important;display:flex!important;min-height:58px;padding:12px 15px!important;border:1px solid #f3e8c8;border-radius:11px;background:var(--pts-cream);font-size:12px!important;font-weight:800!important;}
.category-trust-strip .trust-badge-item i{font-size:18px!important;}
.filter_product{display:flex!important;align-items:center!important;justify-content:space-between!important;flex-wrap:wrap;gap:18px;margin-bottom:24px!important;padding:18px 20px!important;border:1px solid var(--pts-line)!important;border-radius:14px!important;background:#fff!important;box-shadow:0 8px 24px rgba(15,23,42,.05)!important;}
.filter-heading{display:flex;align-items:center;gap:12px;min-width:190px;}
.filter-heading-icon{display:inline-flex;width:40px;height:40px;align-items:center;justify-content:center;flex:0 0 40px;border-radius:10px;background:#f8f2e5;color:var(--pts-gold-dark);}
.filter-heading>span:last-child{display:flex;flex-direction:column;gap:2px;}
.filter_product .name_title{color:var(--pts-navy)!important;font-size:18px!important;font-weight:900!important;line-height:1.2;}
.filter-heading small{color:#64748b;font-size:11px;line-height:1.35;}
.sort-pill-group{display:flex!important;flex-wrap:wrap;justify-content:flex-end;gap:8px;}
.sort-pill{display:inline-flex!important;align-items:center;justify-content:center;min-height:38px;padding:0 15px!important;border:1px solid var(--pts-line)!important;border-radius:999px!important;background:#f8fafc!important;color:#475569!important;font-size:12px!important;font-weight:800!important;text-decoration:none!important;transition:border-color .2s,background-color .2s,color .2s,box-shadow .2s!important;}
.sort-pill:hover{border-color:var(--pts-gold)!important;background:#fff!important;color:var(--pts-navy)!important;}
.sort-pill.active{background:var(--pts-navy)!important;border-color:var(--pts-navy)!important;color:#fff!important;box-shadow:0 5px 14px rgba(10,34,81,.18)!important;}
.btn-filter-product{display:none;border:0;border-radius:10px;background:var(--pts-navy);color:#fff;font-size:13px;font-weight:850;min-height:42px;padding:0 16px;align-items:center;justify-content:center;gap:8px;}
.pts-filter-drawer-head{display:none;}
.product-row{align-items:flex-start;}
.product-left{position:sticky;top:112px;height:auto;}
.sidebar-consult-box{border-radius:14px!important;padding:20px!important;}
.aside-filter,.product-pages__price{border:1px solid var(--pts-line)!important;border-radius:14px!important;padding:18px!important;background:#fff;}
.aside-title-f{background:transparent!important;border:0!important;padding:0!important;}
.product-pages__price-name,.aside-title h3{letter-spacing:.055em;}
.product-right{min-width:0;}
.grid-product.grid-product-3{grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:18px!important;}
.product-card{padding-bottom:13px!important;}
.product-card .product-item{min-width:0;}
.product-card .price-product{padding-right:46px!important;margin-top:auto!important;}
.product-card-btns{position:absolute;right:10px;bottom:10px;display:block!important;padding:0!important;z-index:4;}
.product-card-btns .pts-card-add{display:flex!important;width:36px!important;height:36px!important;min-height:36px!important;align-items:center!important;justify-content:center!important;border:0!important;border-radius:50%!important;background:var(--pts-gold)!important;color:#fff!important;box-shadow:0 6px 14px rgba(156,116,32,.28);padding:0!important;}
.product-card-btns .pts-card-add:hover{background:var(--pts-gold-dark)!important;transform:translateY(-2px);}
/* Sản phẩm chưa niêm yết giá: nút gọi tư vấn thay cho nút thêm giỏ */
.product-card-btns .pts-card-ask{display:flex!important;width:36px!important;height:36px!important;align-items:center!important;justify-content:center!important;border:1px solid var(--pts-navy)!important;border-radius:50%!important;background:#fff!important;color:var(--pts-navy)!important;padding:0!important;font-size:12px;transition:.18s;}
.product-card-btns .pts-card-ask:hover{background:var(--pts-navy)!important;color:#fff!important;transform:translateY(-2px);}
/* CTA báo giá ở trang chi tiết */
.btn-contact-price{grid-template-columns:1fr 1fr!important;}
.btn-contact-price a:first-child{border-color:transparent!important;background:var(--pts-gold-metal)!important;color:var(--pts-navy)!important;box-shadow:0 6px 18px rgba(182,125,46,.28);}
.btn-contact-price a:first-child i{margin-right:8px;}
.btn-contact-price a:last-child{border:2px solid var(--pts-navy)!important;background:#fff!important;color:var(--pts-navy)!important;}
.btn-contact-price a:last-child:hover{background:var(--pts-navy)!important;color:#fff!important;}
.product-card-btns .pts-card-add i{font-size:12px;}
.pagination-home a,.pagination-ajax a,.pagination-home span,.pagination-ajax span{border-radius:7px!important;}
.mask-sidebar{display:none;margin:0;padding:0;border:0;}
@media(max-width:1100px){
    .grid-product.grid-product-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:1001px){
    body.pts-filter-drawer-open{overflow:hidden!important;}
    .btn-filter-product{display:inline-flex!important;order:3;}
    .product-left{position:fixed;top:0;height:100vh;padding:0!important;box-shadow:-18px 0 45px rgba(2,12,35,.2);}
    .product-left>.mb40{padding:18px 16px 28px;margin:0!important;}
    .pts-filter-drawer-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;min-height:62px;padding:12px 16px;border-bottom:1px solid var(--pts-line);background:#fff;color:var(--pts-navy);}
    .pts-filter-drawer-head strong{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:900;}
    .pts-filter-drawer-close{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:0;border-radius:50%;background:#f1f5f9;color:var(--pts-navy);font-size:16px;}
    .mask-sidebar.show{display:block;}
    .grid-product.grid-product-3{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:768px){
    .pts-category-hero{min-height:215px;padding:30px 26px;}
    .category-trust-strip>.row{grid-template-columns:repeat(2,1fr);}
    .grid-product.grid-product-3{grid-template-columns:repeat(2,minmax(0,1fr))!important;}
}
@media(max-width:480px){
    .pts-category-hero{border-radius:12px;padding:26px 20px;}
    .pts-category-copy p{font-size:13px;}
    .category-trust-strip>.row{grid-template-columns:1fr;}
    .filter_product{align-items:flex-start!important;padding:16px!important;gap:14px;}
    .filter-heading{width:100%;}
    .btn-filter-product{width:100%;}
    .sort-pill-group{width:100%;overflow-x:auto;flex-wrap:nowrap;justify-content:flex-start;padding-bottom:4px;scrollbar-width:thin;}
    .sort-pill{white-space:nowrap;}
    .grid-product.grid-product-3{gap:10px!important;}
}

/* ===== Card bài viết dùng chung (canonical) =====
   Dùng ở /tin-tuc/, /giai-phap/, /du-an-da-thuc-hien/ và trang danh mục con.
   Theme gốc đặt khối chữ ĐÈ LÊN ảnh (position:absolute) khiến tiêu đề chìm
   hoàn toàn vào ảnh nền, gần như không đọc được. Đưa chữ xuống dưới ảnh theo
   đúng ngôn ngữ thiết kế mới (ảnh 4:3 bo góc + khối chữ nền trắng bên dưới).
   Hai biến thể markup của theme cũ được gom về cùng một diện mạo:
     A. .item_cont_post_slider  (tin tức, giải pháp)
     B. .inf_item_project > .wrap (dự án) */
.item_cont_post_slider,
.inf_item_project>.wrap{
    position:relative;display:flex;flex-direction:column;height:100%;
    background:#fff!important;border:1px solid var(--pts-line)!important;
    border-radius:16px!important;padding:12px!important;overflow:hidden!important;
    box-shadow:none!important;transition:transform .2s,box-shadow .2s,border-color .2s;
}
.item_cont_post_slider:hover,
.inf_item_project>.wrap:hover{
    transform:translateY(-4px);box-shadow:var(--pts-shadow)!important;
    border-color:rgba(201,150,46,.45)!important;
}
/* Tắt lớp phủ gradient của card legacy. */
.item_cont_post_slider:after,.item_cont_post_slider:before,
.inf_item_project>.wrap:after,.inf_item_project>.wrap:before{content:none!important;display:none!important;}

/* link phủ toàn card */
.item_cont_post_slider>a,
.inf_item_project>.wrap>a{position:absolute!important;inset:0!important;z-index:4;width:auto!important;height:auto!important;}

/* vùng ảnh */
.CRthumb_post,
.inf_item_project .thumbnail{
    position:relative!important;width:100%;aspect-ratio:4/3;margin:0 0 14px!important;
    border-radius:12px!important;overflow:hidden!important;
    background:linear-gradient(145deg,var(--pts-cream),var(--pts-surface))!important;
}
.CRthumb_post img,
.inf_item_project .thumbnail img{
    width:100%!important;height:100%!important;object-fit:cover!important;
    transition:transform .3s ease;
}
.item_cont_post_slider:hover .CRthumb_post img,
.inf_item_project>.wrap:hover .thumbnail img{transform:scale(1.05);}

/* khối chữ - ép về luồng thường thay vì đè lên ảnh */
.CRcont_post,.box_cont_post_slider,
.inf_item_project .content{
    position:static!important;inset:auto!important;
    background:none!important;background-color:transparent!important;
    padding:0 4px 4px!important;margin:0!important;
    width:auto!important;height:auto!important;min-height:0!important;
    transform:none!important;opacity:1!important;visibility:visible!important;
}
.CRcont_post h3,
.inf_item_project .box_title,
.inf_item_project h4.title{
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
    color:var(--pts-navy)!important;font-size:16.5px!important;font-weight:800!important;
    line-height:1.45!important;margin:0!important;text-transform:none!important;
    text-shadow:none!important;
}
/* dòng ngày / tác giả */
.CRcont_post .CRbox{
    display:flex!important;align-items:center;gap:6px;flex-wrap:wrap;
    margin:0 0 8px!important;padding:0!important;
}
.CRcont_post .CRbox p{
    margin:0!important;color:#94a3b8!important;font-size:11.5px!important;
    font-weight:600!important;text-shadow:none!important;
}
.CRcont_post .CRbox i{margin-right:4px;color:var(--pts-gold-dark)!important;}

/* Lưới card tin tức, giải pháp và dự án. */
.pts-card-grid{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));
    gap:24px!important;width:100%;margin:0!important;
}
.pts-card-grid>[class*="col-"]{
    display:flex!important;width:auto!important;max-width:none!important;
    min-width:0;flex:none!important;margin:0!important;padding:0!important;
}
.pts-card-grid>[class*="col-"]>.wrap{width:100%;}
.pts-card-grid>.pts-grid-full{grid-column:1/-1;display:block!important;}
@media(max-width:991px){.pts-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:576px){.pts-card-grid{grid-template-columns:1fr;gap:16px!important;}}
.inf_item_project{display:flex;margin-bottom:24px;}
/* Đồng nhất chiều rộng card dự án. */
.inf_item_project>.wrap{width:100%!important;max-width:none!important;}

/* tiêu đề nhóm (Doanh nghiệp / Hộ gia đình / ...) */
.title_term{
    position:relative;color:var(--pts-navy)!important;font-size:clamp(20px,2vw,26px)!important;
    font-weight:900!important;text-transform:uppercase;letter-spacing:-.01em;
    padding-bottom:12px!important;margin:0 0 22px!important;
}
.title_term:after{content:"";position:absolute;left:0;bottom:0;width:48px;height:3px;border-radius:99px;background:var(--pts-gold);}
.CRrow_term_top{margin-bottom:0!important;}
.CRrow_term_blog_box{margin-bottom:46px;}
.CRrow_term_blog_box:last-child{margin-bottom:0;}

/* chip danh mục đầu trang */
.CRlist_term_blog_box{display:flex!important;flex-wrap:wrap;justify-content:center;gap:12px;margin:0!important;}
/* Phân tách chip bằng khoảng cách thay cho đường viền. */
.CRitem_term_blog{width:auto!important;max-width:none!important;flex:0 0 auto!important;padding:0!important;border:0!important;}
/* Dải chip dùng nền trong suốt, không viền hoặc đổ bóng. */
.CRlist_term_blog{background:transparent!important;box-shadow:none!important;border:0!important;}
.CRitem_term_blog .content{
    display:flex;align-items:center;gap:10px;min-height:46px;
    border:0!important;border-radius:999px!important;
    background:#eef1f6!important;padding:10px 22px!important;box-shadow:none!important;
    transition:.18s;position:relative;
}
.CRitem_term_blog .content:hover{background:#e3e8f0!important;}
.CRitem_term_blog .content>a{position:absolute;inset:0;z-index:3;}
.CRitem_term_blog .ico{width:24px!important;height:24px!important;margin:0!important;flex:0 0 24px;}
.CRitem_term_blog .ico img{width:100%!important;height:100%!important;object-fit:contain!important;}
.CRitem_term_blog h2{
    margin:0!important;color:var(--pts-navy)!important;font-size:13.5px!important;
    font-weight:800!important;white-space:nowrap;text-transform:none!important;
}
.CRlist_term_blog{padding:26px 0 8px!important;}

@media(max-width:576px){
    .CRitem_term_blog .content{padding:9px 16px!important;min-height:44px;}
    .CRitem_term_blog h2{font-size:12.5px!important;}
    .CRrow_term_blog_box{margin-bottom:32px;}
}
/* Giữ đúng một layout ngay từ first paint trên mobile. Dải cuộn ngang native
   không cần chờ Slick đo/chèn clone nên không còn nhảy vị trí lúc JS khởi tạo. */
@media(max-width:991px){
    .CRlist_term_blog{overflow:hidden;}
    .CRlist_term_blog .container{padding-right:0!important;}
    .CRlist_term_blog_box{
        flex-wrap:nowrap!important;justify-content:flex-start!important;gap:10px!important;
        overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;
        scroll-snap-type:x proximity;scrollbar-width:none;padding-right:var(--pts-gutter)!important;
    }
    .CRlist_term_blog_box::-webkit-scrollbar{display:none;}
    .CRitem_term_blog{scroll-snap-align:start;}
}

/* Trang /san-pham/ - danh sách theo từng danh mục (product_list_tpl) */
.pts-catblock{margin-bottom:52px;}
.pts-catblock:last-child{margin-bottom:0;}
.pts-catblock-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:24px;}
.pts-catblock-head .section-title{margin:0;text-align:left;}
.pts-catblock-head .section-title h3{margin:0!important;padding-bottom:12px!important;text-align:left;}
.pts-catblock-head .section-title h3:after{left:0!important;transform:none!important;}
.pts-catblock-all{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto;border:1px solid var(--pts-line);border-radius:999px;background:#fff;color:var(--pts-navy)!important;padding:9px 20px;font-size:13px;font-weight:800;text-decoration:none!important;transition:.18s;}
.pts-catblock-all:hover{border-color:var(--pts-gold);background:var(--pts-gold);color:var(--pts-navy)!important;}
.pts-catblock-all i{font-size:11px;transition:transform .18s;}
.pts-catblock-all:hover i{transform:translateX(3px);}
.pts-catblock .pagination-ajax{margin-top:22px;}
@media(max-width:576px){
    .pts-catblock{margin-bottom:38px;}
    .pts-catblock-head{margin-bottom:18px;}
}

/* Product detail composition */
.box-detail{margin-bottom:24px;}
.grid-pro-detail>.row{display:grid!important;grid-template-columns:minmax(380px,1fr) minmax(0,1.25fr);gap:38px;margin:0!important;align-items:start;}
.grid-pro-detail .left-pro-detail,.grid-pro-detail .right-pro-detail{width:auto!important;max-width:none!important;flex:none!important;padding:0!important;}
/* Khung ảnh chi tiết chỉ dùng viền của MagicZoom. */
.left-pro-detail{border:0!important;background:transparent!important;padding:0!important;overflow:visible;}
.left-pro-detail>a.MagicZoom{border:1px solid var(--pts-line)!important;border-radius:16px!important;background:#fff!important;padding:6px!important;}
.left-pro-detail .mz-figure{border:0!important;}
.left-pro-detail>a.MagicZoom{display:flex!important;aspect-ratio:1/1;align-items:center;justify-content:center;border-radius:12px;overflow:hidden;background:transparent;}
.left-pro-detail>a.MagicZoom>img{width:100%!important;height:100%!important;object-fit:contain!important;padding:0!important;}
.gallery-thumb-pro{margin-top:14px;}
.thumb-pro-detail{display:flex!important;aspect-ratio:1/1;align-items:center;justify-content:center;border:2px solid #f1f3f6!important;border-radius:10px!important;background:#fff;}
.thumb-pro-detail:hover,.thumb-pro-detail.active{border-color:var(--pts-gold)!important;}
.thumb-pro-detail img{width:100%!important;height:100%!important;object-fit:contain!important;padding:4px;}
/* Cột thông tin không dùng viền bao ngoài. */
.right-pro-detail{border:0!important;background:transparent!important;padding:0 0 0 4px!important;}
.title-pro-detail{color:var(--pts-navy)!important;font-size:clamp(22px,2.2vw,30px)!important;font-weight:900!important;line-height:1.25!important;margin:0 0 10px!important;}
.desc-pro-detail{color:#64748b!important;font-size:14px!important;line-height:1.65;margin-bottom:16px;}
.attr-pro-detail{list-style:none;padding:0;margin:0;}
.attr-pro-detail>li:first-child{display:flex!important;align-items:flex-end;gap:10px;flex-wrap:wrap;background:var(--pts-cream);border-radius:12px;padding:15px 16px;margin-bottom:16px;}
.attr-pro-detail>li:first-child .attr-label-pro-detail{display:none;}
.price-new-pro-detail{color:#dc2626!important;font-size:clamp(27px,3vw,38px)!important;font-weight:950!important;line-height:1;}
.price-old-pro-detail{color:#94a3b8!important;font-size:15px!important;}
.badge-discount-inline{display:inline-flex!important;vertical-align:middle!important;position:static!important;border-radius:5px!important;padding:5px 8px!important;margin-left:8px!important;}
.attr-pro-detail>li:not(:first-child){display:flex;gap:10px;padding:4px 0;font-size:13px;}
.attr-label-pro-detail{color:#475569!important;font-weight:800!important;min-width:95px;}
.quantity-pro-detail{display:flex!important;align-items:center!important;gap:0!important;margin:17px 0!important;}
.quantity-pro-detail label{margin-right:14px!important;min-width:auto!important;white-space:nowrap!important;flex:0 0 auto;margin-bottom:0!important;}
.quantity-pro-detail span,.quantity-pro-detail .qty-pro{height:38px!important;border-color:var(--pts-line)!important;border-radius:0!important;margin:0!important;}
.quantity-pro-detail span{width:38px!important;background:#f8fafc;}
.quantity-pro-detail span:first-of-type{border-radius:8px 0 0 8px!important;}
.quantity-pro-detail span:last-child{border-radius:0 8px 8px 0!important;}
.quantity-pro-detail .qty-pro{width:48px!important;border-left:0!important;border-right:0!important;}
.product-info{display:flex;flex-wrap:wrap;gap:6px 18px;margin-bottom:16px;}
.product-info .pro-type{font-size:13px!important;color:#64748b;}
.btn-product-detail{display:grid!important;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 10px!important;}
.btn-product-detail a{display:flex!important;width:auto!important;min-height:46px!important;align-items:center!important;justify-content:center!important;margin:0!important;border:2px solid var(--pts-navy)!important;border-radius:8px!important;background:#fff!important;color:var(--pts-navy)!important;font-size:13px!important;font-weight:850!important;text-decoration:none!important;}
.btn-product-detail a:first-child{border-color:var(--pts-gold)!important;background:var(--pts-gold)!important;color:var(--pts-navy)!important;}
.btn-product-detail a:hover{background:var(--pts-navy)!important;color:#fff!important;}
/* CTA "Đăng ký đại lý": nút viền vàng, nền trắng, chữ vàng (đồng bộ kiểu
   với "Gửi yêu cầu báo giá"). */
.btn-product-detail+ .btn-product-detail{display:block!important;margin-top:8px!important;}
.right-pro-detail .btn-product-detail+ .btn-product-detail a,
.btn-product-detail+ .btn-product-detail a{
    width:100%!important;min-height:46px!important;border-radius:8px!important;
    border:2px solid var(--pts-gold)!important;
    background:#fff!important;background-image:none!important;
    color:var(--pts-gold-dark)!important;font-size:13px!important;font-weight:850!important;
    box-shadow:none!important;
}
.btn-product-detail+ .btn-product-detail a:hover{
    background:var(--pts-gold-metal)!important;background-image:var(--pts-gold-metal)!important;
    color:var(--pts-navy-deep)!important;border-color:transparent!important;
}
/* ===== Khối cam kết trong buy box =====
   Trang có SẴN 2 khối cam kết trùng ý nhau (5 icon dịch vụ + 3 hộp bảo đảm)
   xếp chồng, hai kiểu style khác nhau -> tổng 8 mục, gây rối và đẩy nội dung
   quan trọng xuống dưới. Gom về một cụm gọn: hàng icon dịch vụ mảnh phía
   trên, thanh bảo đảm nền kem một dải phía dưới. */
.CRdef_sidebar_pd ul{
    display:grid!important;grid-template-columns:repeat(5,1fr);gap:4px!important;
    border-top:1px solid #f1f3f6;padding:14px 0 0!important;margin:16px 0 0!important;list-style:none;
}
.CRdef_sidebar_pd li{
    display:flex!important;flex-direction:column;align-items:center!important;justify-content:flex-start!important;
    text-align:center;background:transparent!important;border:0!important;padding:2px!important;gap:6px;
}
.CRdef_sidebar_pd li img{width:20px!important;height:20px!important;object-fit:contain;}
.CRdef_sidebar_pd li p{margin:0!important;font-size:10.5px!important;line-height:1.35!important;color:#64748b!important;}

/* thanh bảo đảm: một dải liền, 3 mục nằm ngang icon+chữ */
.CRnew_list_icon_def_pd{
    display:grid!important;grid-template-columns:repeat(3,1fr);gap:0!important;
    margin:14px 0 0!important;padding:0!important;
    border:1px solid #f3e8c8!important;border-radius:12px!important;
    background:var(--pts-cream)!important;overflow:hidden;
}
.CRnew_list_icon_def_pd>div{width:100%!important;max-width:none!important;}
.CRnew_list_icon_def_pd .item_icon_box{
    width:100%!important;max-width:none!important;min-height:0!important;
    border:0!important;border-right:1px solid #f3e8c8!important;border-radius:0!important;
    background:transparent!important;padding:12px 10px!important;
}
.CRnew_list_icon_def_pd>div:last-child .item_icon_box{border-right:0!important;}
.item_icon_box .content_icon_box{
    display:flex!important;flex-direction:row!important;align-items:center!important;
    justify-content:flex-start!important;gap:9px!important;text-align:left!important;
}
.item_icon_box .img_icon_box_sec{display:flex!important;align-items:center;justify-content:center;flex:0 0 20px;}
.item_icon_box .img_icon_box_sec img{width:20px!important;height:20px!important;object-fit:contain;}
.item_icon_box p{margin:0!important;font-size:11px!important;line-height:1.35!important;color:var(--pts-navy)!important;font-weight:700!important;}
/* Khu nội dung: dòng chữ kéo dài hết 1440px rất khó đọc -> giới hạn bề rộng
   và bọc trong khung trắng cho tách bạch với phần mua hàng phía trên. */
/* ============================================================
   KHUNG TAB NỘI DUNG CHI TIẾT SẢN PHẨM — khai báo DUY NHẤT.
   (Trước đây .tabs-pro-detail còn bị định nghĩa lại ở ~dòng 1002 và
   ở cuối file; đã gộp hết về đây.) Thẻ trắng bo 16px + thanh tab nền
   xám nhạt tràn mép. Mỗi tab tự lo phần đệm nội dung bên trong. */
.tabs-pro-detail{margin-top:38px!important;border:1px solid var(--pts-line)!important;border-radius:16px!important;background:#fff;box-shadow:none!important;overflow:hidden;}
.tabs-pro-detail>#tabsProDetail{gap:8px!important;margin:0!important;padding:14px 18px!important;background:#f8fafc;border-bottom:1px solid #eef0f4!important;}
.tabs-pro-detail>#tabsProDetail .nav-link{border-radius:8px!important;padding:10px 18px!important;font-weight:800;}
.tabs-pro-detail .tab-content{padding:0!important;}
.tabs-pro-detail .tab-content>.tab-pane{max-width:none!important;}
.tabs-pro-detail .tab-content p,.tabs-pro-detail .tab-content li{font-size:14.5px!important;line-height:1.75!important;color:#475569!important;}
.tabs-pro-detail .tab-content h2,.tabs-pro-detail .tab-content h3{color:var(--pts-navy)!important;}
/* Các tab không dùng .pts-product-desc (thông số / video / chứng nhận /
   chính sách) tự có phần đệm trong. */
#tskt-pro-detail,#video-pro-detail,#certificate-pro-detail,#cs-pro-detail{padding:28px 30px 34px;}
@media(max-width:576px){
    .tabs-pro-detail{margin-top:24px!important;border-radius:13px!important;}
    .tabs-pro-detail>#tabsProDetail{
        display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px!important;
        padding:10px!important;overflow:visible!important;
    }
    .tabs-pro-detail>#tabsProDetail .nav-item{width:100%;min-width:0;margin:0!important;}
    .tabs-pro-detail>#tabsProDetail .nav-item:last-child:nth-child(odd){grid-column:1/-1;}
    .tabs-pro-detail>#tabsProDetail .nav-link{
        display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:48px;
        margin:0!important;padding:9px 8px!important;text-align:center;white-space:normal;line-height:1.25;
    }
    #tskt-pro-detail,#video-pro-detail,#certificate-pro-detail,#cs-pro-detail{padding:20px 16px 24px;}
}
#tskt-pro-detail table{width:100%;border:1px solid var(--pts-line);border-radius:12px;border-collapse:separate;border-spacing:0;overflow:hidden;}
#tskt-pro-detail table tr:nth-child(odd){background:#f8fafc;}
#tskt-pro-detail table td{border:0!important;color:#64748b!important;}
#tskt-pro-detail table td:last-child{color:var(--pts-navy)!important;font-weight:800;}
.product-video-embed{border-radius:14px;overflow:hidden;}
/* Khối đánh giá còn dùng Bootstrap card mặc định (viền đen mờ, bo 4px, header
   nền xám) -> lệch hẳn với khung nội dung bo 16px phía trên. */
.comment-statistic .card,#comment-product .card,.comment-list .card{
    border:1px solid var(--pts-line)!important;border-radius:16px!important;
    box-shadow:none!important;overflow:hidden;
}
.comment-statistic .card-header,#comment-product .card-header{
    background:#fff!important;border-bottom:1px solid #f1f3f6!important;
    padding:18px 24px!important;
}
.comment-statistic .card-header strong,#comment-product .card-header strong{
    color:var(--pts-navy)!important;font-size:15px!important;font-weight:900!important;letter-spacing:.02em;
}
.comment-statistic .card-body,#comment-product .card-body{padding:24px!important;}
.comment-statistic .btn,#comment-product .btn{border-radius:8px!important;font-weight:800!important;}

.title-product-orther{margin-top:52px!important;}
.title-product-orther span{font-size:21px!important;color:var(--pts-navy)!important;border:0!important;position:relative;}
.title-product-orther span:after{content:"";position:absolute;left:0;bottom:-8px;width:48px;height:3px;border-radius:99px;background:var(--pts-gold);}

@media(max-width:991px){
    .grid-pro-detail>.row{grid-template-columns:1fr;gap:24px;}
    .left-pro-detail{max-width:600px!important;margin:0 auto;width:100%!important;}
}
@media(max-width:576px){
    .right-pro-detail{padding:18px!important;}
    .btn-product-detail{grid-template-columns:1fr;}
    .CRdef_sidebar_pd ul{grid-template-columns:repeat(3,1fr);gap:10px 4px!important;}
    .CRnew_list_icon_def_pd{grid-template-columns:1fr;}
    .CRnew_list_icon_def_pd .item_icon_box{border-right:0!important;border-bottom:1px solid #f3e8c8!important;}
    .CRnew_list_icon_def_pd>div:last-child .item_icon_box{border-bottom:0!important;}
}

/* Home V2 content sections */
.wrap-adv{padding:24px 0 64px!important;background:#f8fafc!important;}
.wrap-adv .owl-stage{display:flex;}
.wrap-adv .owl-item{display:flex;}
.adv-item{width:100%;border-radius:16px!important;overflow:hidden!important;background:var(--pts-navy)!important;box-shadow:var(--pts-shadow);}
.adv-item>a{display:grid!important;grid-template-columns:1.08fr .92fr;height:100%;min-height:310px;}
.adv-photo{height:100%!important;min-height:310px;overflow:hidden;}
.adv-photo img{width:100%!important;height:100%!important;object-fit:cover!important;}
.adv-info{position:static!important;display:flex!important;flex-direction:column;justify-content:center;padding:38px!important;background:linear-gradient(135deg,var(--pts-navy-deep),var(--pts-navy));color:#fff!important;}
.name-adv{color:var(--pts-gold-light)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.14em;text-transform:uppercase;}
.desc-adv{color:#fff!important;font-size:clamp(23px,2.4vw,34px)!important;font-weight:900!important;line-height:1.25!important;margin:12px 0 22px!important;}
.adv-info .btn-style{align-self:flex-start!important;display:inline-flex!important;align-items:center!important;gap:8px!important;border:0!important;border-radius:7px!important;background:var(--pts-gold)!important;color:var(--pts-navy)!important;padding:11px 18px!important;font-weight:900!important;}
.adv-info .btn-style svg{width:18px!important;height:18px!important;}

.home-2{background:#fff!important;}
.home-2 .heading,.home-6 .heading{align-items:flex-end!important;justify-content:space-between!important;gap:25px!important;margin-bottom:28px!important;}
/* Tab pill dùng chung; Swiper tiếp tục quản lý layout của wrapper. */
.tab-switcher ul:not(.swiper-wrapper){display:flex!important;flex-wrap:wrap;gap:8px!important;margin:0!important;}
.tab-switcher ul:not(.swiper-wrapper) li{margin:0!important;}
.tab-switcher ul.swiper-wrapper{align-items:center;}
.tab-switcher ul.swiper-wrapper>li{height:auto!important;display:flex;}
.tab-switcher ul.swiper-wrapper>li>a{width:100%;}
.tab-switcher a{display:inline-flex!important;min-height:42px;align-items:center;justify-content:center;border:1px solid var(--pts-line)!important;border-radius:999px!important;background:#fff!important;color:#64748b!important;padding:0 20px!important;font-size:13.5px!important;font-weight:800!important;text-decoration:none!important;transition:.18s;}
.tab-switcher a:hover{border-color:var(--pts-gold)!important;color:var(--pts-navy)!important;}
.tab-switcher li.uk-active a{border-color:transparent!important;background:var(--pts-gold-metal)!important;box-shadow:0 6px 18px rgba(182,125,46,.28);}
.tab-switcher li.uk-active a,.tab-switcher li.uk-active a span{color:var(--pts-navy)!important;}
.home-2 .tabs-container .item{max-width:var(--pts-container);margin:0 auto;padding:0 24px;}
.home-2 .tabs-container .wrapper{min-height:430px;}
.home-2 .tabs-container .content{height:100%;border-radius:18px 0 0 18px!important;background:linear-gradient(135deg,var(--pts-navy-deep),var(--pts-navy))!important;padding:50px!important;}
.home-2 .tabs-container .inner{max-width:580px!important;}
.home-2 .tabs-container .title{color:var(--pts-gold-light)!important;font-size:29px!important;font-weight:900!important;line-height:1.25!important;}
.home-2 .tabs-container .brief{color:#dbeafe!important;font-size:15px!important;line-height:1.75!important;}
.home-2 .fullcontent ul{display:grid!important;grid-template-columns:1fr 1fr;gap:16px!important;}
.home-2 .fullcontent li{border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:12px!important;}
.home-2 .tabs-container .wrapper>.img{height:100%;border-radius:0 18px 18px 0!important;overflow:hidden;}
.home-2 .tabs-container .wrapper>.img>img{width:100%!important;height:100%!important;object-fit:cover!important;}

/* Chuẩn hóa khoảng cách dọc của banner khuyến mại. */
.wrap-promo-banners{margin:0!important;padding:64px 0!important;background:#fff!important;}
.promo-banner{min-height:110px!important;border-radius:16px!important;padding:22px 48px!important;background:linear-gradient(115deg,var(--pts-gold),#e4b94e)!important;box-shadow:0 18px 40px rgba(156,116,32,.18)!important;}
.promo-banner:after{content:"";position:absolute;right:-60px;top:-120px;width:340px;height:340px;border:52px solid rgba(255,255,255,.14);border-radius:50%;}
.promo-banner .promo-copy{display:flex;flex:1;min-width:0;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;position:relative;z-index:1;}
.promo-eyebrow{color:var(--pts-navy)!important;font-size:12px!important;font-weight:900!important;letter-spacing:.14em!important;}
.promo-title{color:var(--pts-navy-deep)!important;font-size:clamp(28px,3.2vw,43px)!important;font-weight:950!important;line-height:1.12!important;margin:0!important;}
.promo-btn{border-radius:7px!important;background:var(--pts-navy)!important;color:#fff!important;padding:11px 22px!important;position:relative;z-index:1;margin-left:auto;}

.home_loi_ich{background:#f8fafc!important;}
.home_loi_ich #inf_circle_utilities_destroy{display:none!important;}

.home-4{position:relative;background:linear-gradient(135deg,var(--pts-navy-deep),var(--pts-navy-light))!important;}
.home-4:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 80% 20%,rgba(201,150,46,.22),transparent 35%);pointer-events:none;}
.home-4 .uk-container{position:relative;}
.home-4 .inf_dots{margin-top:36px!important;}
.home-4 .wrapper .item{border-right:1px solid rgba(255,255,255,.14);padding:12px!important;text-align:center;}
.home-4 .wrapper:last-child .item{border-right:0;}
.home-4 .icon{display:none!important;}
.home-4 .caption{display:flex!important;flex-direction:column;align-items:center;}
.home-4 .number{color:var(--pts-gold-light)!important;font-size:45px!important;font-weight:950!important;line-height:1!important;}
.home-4 .text{color:#dbeafe!important;font-size:12px!important;margin-top:10px!important;text-transform:none!important;}
.con-so-cta .btn-gold{display:inline-flex!important;margin-top:34px;border-radius:7px!important;background:var(--pts-gold)!important;color:var(--pts-navy)!important;padding:12px 22px!important;font-weight:900!important;}

.home-5{padding-top:48px!important;padding-bottom:48px!important;background:#fff!important;}
.home-5 .section-title p{margin-bottom:8px!important;}
.home-5 .section-title h3{display:none!important;}
#inf_list_partner{display:flex!important;align-items:center;justify-content:center;flex-wrap:wrap;gap:26px 42px!important;margin-top:25px!important;}
#inf_list_partner .inf_item_partner{width:auto!important;}
#inf_list_partner .wrap{width:130px!important;height:58px!important;border:0!important;background:transparent!important;filter:grayscale(1);opacity:.58;transition:.2s;}
#inf_list_partner .wrap:hover{filter:none;opacity:1;}
#inf_list_partner img{width:100%!important;height:100%!important;object-fit:contain!important;}

.wrap-testimonial{margin:0!important;padding:64px 0!important;background:#f8fafc!important;}
.wrap-testimonial .row{margin-top:30px!important;}
.testimonial-card{height:100%;min-height:210px;border:1px solid var(--pts-line)!important;border-radius:14px!important;background:#fff!important;padding:25px!important;box-shadow:none!important;}
.testimonial-card:before{content:"★★★★★";display:block;color:var(--pts-gold);font-size:15px;letter-spacing:2px;margin-bottom:16px;}
.testimonial-name{color:var(--pts-navy)!important;font-weight:900!important;}
.testimonial-role{color:var(--pts-gold-dark)!important;font-size:13.5px!important;}
.testimonial-content{color:#475569!important;font-size:15.5px!important;line-height:1.75!important;}

.home-6{padding-top:64px!important;padding-bottom:64px!important;background:#fff!important;}
.home-6 .slider-6{margin-top:12px!important;}
.home-6 .slider_6_slick .item{padding:10px!important;}
.home-6 .project{border:1px solid var(--pts-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden!important;box-shadow:var(--pts-shadow)!important;}
.home-6 .project .img{height:360px!important;}
.home-6 .project .img img{width:100%!important;height:100%!important;object-fit:cover!important;}
.home-6 .project .group_content{position:static!important;background:var(--pts-navy)!important;padding:24px!important;}
.home-6 .project .name a{color:#fff!important;font-size:20px!important;font-weight:900!important;}
.home-6 .project .content,.home-6 .project .content p{color:#bfdbfe!important;font-size:13px!important;}
.home-6 .btn-all{display:inline-flex!important;border-radius:7px!important;background:var(--pts-gold)!important;color:var(--pts-navy)!important;padding:10px 18px!important;font-weight:900!important;}

.home-7{background:linear-gradient(135deg,var(--pts-navy-deep),var(--pts-navy))!important;}
.home-7 .icon-slider{margin-top:30px!important;}
/* Nút bước quy trình: phần NHÌN THẤY được là .text (có viền, cao 48px), còn
   .item/.content chỉ là 2 lớp bao trong suốt cao 69px. Trước tô nền lên .item
   nên mảng vàng to hơn hẳn viền nút. Tô đúng vào .text.
   slidesPerView:'auto' -> Swiper lấy chiều rộng từ CSS, đặt width cố định để
   4 nút bằng nhau thay vì co theo độ dài chữ (136/129/211/220px). */
.home-7 .icon-slider .item{background:transparent!important;border:0!important;}
.home-7 .icon-slider .swiper-slide{width:232px!important;}
.home-7 .icon-slider .item,.home-7 .icon-slider .content{display:flex!important;align-items:center;justify-content:center;width:100%;height:auto!important;}
.home-7 .icon-slider .text{
    display:flex!important;align-items:center;justify-content:center;
    width:100%!important;min-height:48px;padding:0 18px!important;
    border:1px solid rgba(255,255,255,.28)!important;border-radius:999px!important;
    background:rgba(255,255,255,.06)!important;transition:.18s;
}
.home-7 .icon-slider .text span{color:#dbeafe!important;font-size:14px!important;font-weight:800!important;line-height:1.25;text-align:center;}
.home-7 .icon-slider .swiper-slide:hover .text{border-color:var(--pts-gold-light)!important;}
/* Đánh dấu bước đang chọn theo trạng thái thumbnail của Swiper. */
.home-7 .icon-slider .swiper-slide-thumb-active .text{background:var(--pts-gold-metal)!important;border-color:transparent!important;box-shadow:0 6px 18px rgba(182,125,46,.35);}
.home-7 .icon-slider .swiper-slide-thumb-active .text span{color:var(--pts-navy)!important;}
.home-7 .process-slider{margin-top:28px!important;}
.home-7 .process-slider .inner{border:1px solid rgba(255,255,255,.1)!important;border-radius:18px!important;background:rgba(255,255,255,.04)!important;padding:34px!important;overflow:hidden;}
.home-7 .process-slider .text{color:var(--pts-gold-light)!important;font-size:25px!important;font-weight:900!important;}
.home-7 .process-slider .img{border-radius:14px!important;overflow:hidden;}

.home-8{background:#f8fafc!important;}
.blog-2col-row{margin-top:32px!important;}
.blog-2col-item{border:1px solid var(--pts-line)!important;border-radius:15px!important;background:#fff!important;padding:24px!important;}
.blog-2col-heading{border-bottom:1px solid #eef0f4!important;padding-bottom:14px!important;margin-bottom:8px!important;}
.blog-2col-heading h4{color:var(--pts-navy)!important;font-size:18px!important;font-weight:900!important;}
.blog-2col-viewall{color:var(--pts-gold-dark)!important;font-size:12px!important;font-weight:850!important;}
.blog-2col-row-item{border-bottom:1px solid #f1f3f6!important;padding:13px 0!important;}
.blog-2col-row-item:last-child{border-bottom:0!important;}
.blog-2col-thumb{width:82px!important;height:66px!important;border-radius:9px!important;overflow:hidden;flex:0 0 82px!important;}
.blog-2col-thumb img{width:100%!important;height:100%!important;object-fit:cover!important;}
.blog-2col-title{color:var(--pts-navy)!important;font-size:13px!important;font-weight:850!important;line-height:1.4!important;}
.blog-2col-date{color:#94a3b8!important;font-size:11px!important;}

@media(max-width:991px){
    .adv-item>a{grid-template-columns:1fr;}
    .adv-photo{min-height:260px;}
    .home-2 .heading,.home-6 .heading{display:block!important;}
    .home-2 .heading-right,.home-6 .heading-right{margin-top:18px;}
    .home-2 .tabs-container .item{padding:0 18px;}
    .home-2 .tabs-container .wrapper{min-height:360px;}
    .home-2 .tabs-container .content{border-radius:18px 18px 0 0!important;padding:34px!important;}
    .home-2 .tabs-container .wrapper>.img{border-radius:0 0 18px 18px!important;}
}
@media(max-width:768px){
    .adv-info{padding:28px!important;}
    .promo-banner{padding:26px 24px!important;align-items:flex-start!important;}
    .promo-banner .promo-copy{flex-basis:100%;gap:4px;}
    .promo-btn{margin-left:0;}
    .home-4 .wrapper .item{border-right:0;}
    .home-6 .project .img{height:260px!important;}
    .home-7 .process-slider .inner{padding:22px!important;}
    .home-7 .icon-slider .swiper-slide{width:auto!important;}
    .home-7 .icon-slider .text{min-height:42px;padding:0 14px!important;}
    .home-7 .icon-slider .text span{font-size:12.5px!important;}
    .blog-2col-row{grid-template-columns:1fr!important;gap:18px;}
}

/* ===== Popup giỏ hàng =====
   Cột số lượng có kèm BẢN SAO giá dành cho mobile (.price-procart-rp).
   Rule ẩn nó ở desktop nằm trong assets/css/cart.css nhưng file đó KHÔNG
   được nạp ở templates/layout/css.php -> giá hiện 2 lần mỗi dòng, và header
   cũng lặp chữ "Thành tiền". Ẩn lại đúng như thiết kế gốc. */
.price-procart-rp{display:none;}
.procart-label .quantity-procart p:last-child{display:none;}
@media(max-width:767px){
    .price-procart-rp{display:block;width:100%;margin-bottom:10px;}
    .procart-label .quantity-procart p:last-child{display:block;}
}
/* Căn giữa popup giỏ hàng và cuộn nội dung khi vượt chiều cao màn hình. */
#popup-cart .modal-dialog{display:flex!important;align-items:center;min-height:calc(100% - 3.5rem);margin:1.75rem auto!important;}
#popup-cart .modal-content{width:100%;max-height:calc(100vh - 3.5rem);border:0!important;border-radius:16px!important;overflow:hidden;box-shadow:0 24px 60px rgba(6,21,55,.24)!important;}
#popup-cart .modal-body{overflow-y:auto;}
#popup-cart .modal-header{background:var(--pts-navy)!important;border:0!important;padding:16px 24px!important;}
#popup-cart .modal-title{color:#fff!important;font-size:16px!important;font-weight:900!important;}
#popup-cart .modal-header .close{color:#fff!important;opacity:.85;text-shadow:none;}
#popup-cart .modal-body{padding:20px 24px 24px!important;}
#popup-cart .procart-label{border-bottom:1px solid var(--pts-line);padding-bottom:10px;margin-bottom:6px;}
#popup-cart .procart-label>.form-row>div{color:#94a3b8!important;font-size:11.5px!important;font-weight:850!important;text-transform:uppercase;letter-spacing:.05em;}
#popup-cart .procart{padding:14px 0!important;border-bottom:1px solid #f1f3f6;}
#popup-cart .procart:last-of-type{border-bottom:0;}
#popup-cart .name-procart,#popup-cart .info-procart a{color:var(--pts-navy)!important;font-size:14.5px!important;font-weight:800!important;line-height:1.45!important;}
#popup-cart .price-new-cart{color:#dc2626!important;font-weight:900!important;font-size:15px!important;}
#popup-cart .price-old-cart{color:#94a3b8!important;font-size:13px!important;text-decoration:line-through;}
#popup-cart .total-cart,#popup-cart .money-procart{color:var(--pts-navy)!important;font-weight:900!important;}
#popup-cart .btn-cart,#popup-cart .btn{border-radius:8px!important;font-weight:850!important;min-height:44px;display:inline-flex;align-items:center;justify-content:center;}
/* nút xoá đã là dấu ⊗ trên ảnh, chữ "Xóa" bên dưới là thừa */
#popup-cart .del-procart span{display:none;}

/* Contact page */
#inf_contact_page{padding:56px 0 64px!important;}
#top_content>.container{max-width:1180px!important;}
#top_content h2{color:var(--pts-navy)!important;font-size:clamp(23px,2.3vw,32px)!important;font-weight:900!important;line-height:1.35!important;margin-bottom:18px!important;}
.custContContact{display:flex!important;flex-wrap:wrap;justify-content:center;gap:8px 26px;list-style:none;padding:0!important;margin:0 0 8px!important;}
.custContContact li a{color:#64748b!important;font-size:14.5px!important;text-decoration:none!important;}
.custContContact li b{color:var(--pts-navy)!important;}
.formContact{border:1px solid var(--pts-line);border-radius:16px;background:#fff;box-shadow:var(--pts-shadow);padding:42px!important;margin-top:36px!important;}
.inf_default_form .title{color:var(--pts-navy)!important;font-size:25px!important;font-weight:900!important;line-height:1.3!important;margin-bottom:7px!important;}
.inf_default_form .des{color:#64748b!important;font-size:15px!important;margin-bottom:26px!important;}
.inf_default_form ul{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:1fr 1fr;gap:20px;}
.inf_default_form .inf_row_full{grid-column:1/-1;}
.inf_input label{display:block;color:#334155;font-size:14.5px;font-weight:750;margin-bottom:8px;}
.inf_input input,.inf_input textarea{width:100%!important;border:1px solid var(--pts-line)!important;border-radius:10px!important;padding:13px 16px!important;font-size:15px!important;line-height:1.5!important;outline:none;transition:.15s;}
.inf_input input{min-height:50px;}
.inf_input textarea{min-height:180px;resize:vertical;}
.inf_input input:focus,.inf_input textarea:focus{border-color:var(--pts-gold)!important;}
.inf_button input.wpcf7-submit{border:0!important;border-radius:9px!important;background:var(--pts-gold)!important;color:var(--pts-navy)!important;font-weight:900!important;font-size:15px!important;min-height:50px;padding:12px 36px!important;cursor:pointer;transition:.15s;}
.inf_button input.wpcf7-submit:hover{background:var(--pts-gold-dark)!important;color:#fff!important;}
#top_content h2.text-center.mt-4{margin-top:56px!important;text-align:center;}
/* Khu bản đồ dùng lưới hai cột trong luồng tài liệu. */
.hts-wrapper{display:grid!important;grid-template-columns:360px 1fr;gap:22px;margin-top:26px;align-items:start;
    position:static!important;background:transparent!important;}
.hts-fixed-wrap{position:static!important;width:auto!important;height:auto!important;
    padding:0!important;background:transparent!important;}
#maps{height:auto!important;min-height:460px;position:relative!important;
    border-radius:14px;overflow:hidden;border:1px solid var(--pts-line);}
#maps iframe{position:static!important;width:100%!important;height:460px!important;
    min-height:460px;border:0!important;display:block;}
.officeContact{list-style:none;padding:0;margin:0;display:grid;gap:14px;}
.officeContact li{border:1px solid var(--pts-line);border-radius:14px;background:#fff;padding:16px 18px;}
.officeContact li .wrap p{margin:0 0 6px;color:#334155;font-size:13px;display:flex;align-items:center;gap:8px;}
.officeContact li .wrap p i{color:var(--pts-gold-dark);width:14px;text-align:center;}
.officeContact li .view_maps{display:inline-flex;align-items:center;gap:4px;color:var(--pts-gold-dark);font-size:12px;font-weight:800;text-decoration:none;margin-top:6px;}

@media(max-width:768px){
    .formContact{padding:24px 20px!important;}
    .inf_default_form ul{grid-template-columns:1fr;}
    .hts-wrapper{grid-template-columns:1fr;}
}

/* Nội dung bài viết và trang tĩnh. */
.box-detail-news{max-width:1080px;margin:0 auto;padding:34px 38px!important;border:1px solid var(--pts-line);border-radius:16px;background:#fff;}
.box-detail-news .title-main{margin-bottom:14px!important;}
.box-detail-news .title-main span{color:var(--pts-navy)!important;font-size:clamp(26px,3vw,38px)!important;line-height:1.3!important;text-transform:none!important;}
.box-detail-news .time-main{margin-bottom:26px!important;color:var(--pts-muted)!important;font-size:13px;}
.box-detail-news #toc-content,.pts-content-page{
    max-width:960px;margin-left:auto;margin-right:auto;color:#334155!important;
    font-size:17px!important;line-height:1.85!important;
}
.box-detail-news #toc-content p,.box-detail-news #toc-content li,
.pts-content-page p,.pts-content-page li{font-size:17px!important;line-height:1.85!important;}
.box-detail-news #toc-content h2,.box-detail-news #toc-content h3,
.pts-content-page h2,.pts-content-page h3{color:var(--pts-navy)!important;line-height:1.35!important;margin:30px 0 14px!important;}
.box-detail-news #toc-content img,.pts-content-page img{max-width:100%!important;height:auto!important;border-radius:12px;}
.pts-content-page{padding:32px 36px;border:1px solid var(--pts-line);border-radius:16px;background:#fff;}
.pts-content-empty{max-width:960px;margin:0 auto;padding:52px 24px!important;text-align:center;font-size:16px;}
@media(max-width:768px){
    .box-detail-news{padding:24px 20px!important;}
    .box-detail-news #toc-content,.pts-content-page{font-size:16px!important;line-height:1.75!important;}
    .box-detail-news #toc-content p,.box-detail-news #toc-content li,
    .pts-content-page p,.pts-content-page li{font-size:16px!important;line-height:1.75!important;}
    .pts-content-page{padding:24px 20px;}
}

/* =====================================================================
   Nút và đường viền dùng chung
   ===================================================================== */

/* Nút hành động dùng gradient vàng kim; chi tiết trang trí giữ màu phẳng. */
.pts-btn-gold,
.btn-gold,
.product-card-btns .pts-card-add,
.btn-product-detail a:first-child,
.btn-contact-price a:first-child,
.adv-info .btn-style,
.con-so-cta .btn-gold,
.home-6 .btn-all,
.promo-banner .promo-btn.promo-btn-gold,
.inf_button input.wpcf7-submit,
.wpcf7-submit,
.sidebar-consult-box .sc-btn,
.sort-pill.active,
#tabsProDetail .nav-link.active,
.tab-switcher li.uk-active a,
.home-7 .icon-slider .swiper-slide-thumb-active .text,
.CRitem_term_blog .content.active,
.CRitem_term_blog .content:hover,
.pts-catblock-all:hover,
#popup-cart .btn-cart.btn-buy,
.comment-statistic .btn-primary,
#comment-product .btn-primary{
    background-image:var(--pts-gold-metal)!important;
    background-color:transparent!important;
    border-color:transparent!important;
    color:var(--pts-navy)!important;
    box-shadow:0 6px 18px rgba(182,125,46,.28);
}
.pts-btn-gold:hover,
.btn-gold:hover,
.product-card-btns .pts-card-add:hover,
.btn-product-detail a:first-child:hover,
.btn-contact-price a:first-child:hover,
.adv-info .btn-style:hover,
.con-so-cta .btn-gold:hover,
.home-6 .btn-all:hover,
.inf_button input.wpcf7-submit:hover,
.wpcf7-submit:hover,
.sidebar-consult-box .sc-btn:hover{
    filter:brightness(1.06);
    box-shadow:0 10px 24px rgba(182,125,46,.38);
    color:var(--pts-navy)!important;
}
/* icon bên trong nút vàng phải là navy cho đọc được */
.product-card-btns .pts-card-add i,
.btn-contact-price a:first-child i,
.adv-info .btn-style svg path{color:var(--pts-navy)!important;fill:var(--pts-navy)!important;}

/* --- 2. Thống nhất kiểu viền (border hiện đại) ---
   Theme cũ trộn nhiều kiểu: viền đen mờ Bootstrap (rgba(0,0,0,.125)), viền
   xám #ddd/#e5e5e5, bo góc 3/4/6/10/16px lẫn lộn, có chỗ viền lồng viền.
   Quy về MỘT chuẩn: 1px var(--pts-line), bo 14px, không đổ bóng khi nghỉ. */
.card,
.aside-filter,
.product-pages__price,
.formContact,
.officeContact li,
.blog-2col-item,
.item_cont_post_slider,
.inf_item_project>.wrap,
.product-card,
.cat-highlight-card,
.testimonial-card{
    border:1px solid var(--pts-line)!important;
    border-radius:14px!important;
    box-shadow:none!important;
}
/* nút/pill giữ bo tròn hoàn toàn, không bị rule trên ép về 14px */
.tab-switcher a,.sort-pill,.pts-catblock-all,.CRitem_term_blog .content,
.product-card-btns .pts-card-add,.product-card-btns .pts-card-ask,
.home-7 .icon-slider .text{border-radius:999px!important;}
.CRitem_term_blog .content{border:0!important;}
/* không để phần tử con vẽ thêm viền bên trong khối đã có viền */
.tabs-pro-detail .card,
.right-pro-detail .card{border:0!important;}

/* =====================================================================
   TRANG CHI TIẾT DỰ ÁN  (/store-manager/...)
   Trang còn nguyên kiểu cũ: tiêu đề nhỏ không phân cấp, khối "Khách hàng /
   Địa chỉ" kẻ gạch chân dài hết dòng (1115px) theo lối form thời xưa, chữ
   nội dung tràn hết 1312px khó đọc. Dựng lại theo ngôn ngữ hiện tại:
   phân tách bằng nền và khoảng trắng, không dùng đường kẻ.
   LƯU Ý: gallery là Slick carousel -> chỉ tạo dáng, không đụng
   display/width của .slick-list/.slick-track.
   ===================================================================== */
/* Nội dung dự án dùng nền trang; gallery giữ bề mặt thẻ riêng. */
#inf_single_project{background:transparent!important;padding:44px 0 56px!important;}
#inf_single_project>div,#inf_single_project>div>div{background:transparent!important;}
#inf_single_project .left,#inf_single_project .right{
    width:100%;max-width:var(--pts-container);margin:0 auto;
    padding-left:var(--pts-gutter);padding-right:var(--pts-gutter);box-sizing:border-box;
}
#inf_single_project .content{max-width:none;}
#inf_single_project .left>.content{
    display:grid;grid-template-columns:minmax(0,.82fr) minmax(0,1.18fr);
    grid-template-areas:"title description" "meta description";
    column-gap:44px;row-gap:0;align-items:start;
}

/* tiêu đề */
#inf_single_project .title_wrap{grid-area:title;margin-bottom:26px;}
#inf_single_project .title_wrap p{
    color:var(--pts-gold-dark)!important;font-size:12.5px!important;font-weight:850!important;
    letter-spacing:.16em;text-transform:uppercase;margin:0 0 10px!important;
}
#inf_single_project .title_wrap h1{
    position:relative;color:var(--pts-navy)!important;
    font-size:clamp(26px,2.6vw,38px)!important;font-weight:900!important;
    line-height:1.22!important;letter-spacing:-.02em;margin:0 0 18px!important;padding-bottom:16px;
}
#inf_single_project .title_wrap h1:after{content:"";position:absolute;left:0;bottom:0;width:52px;height:3px;border-radius:99px;background:var(--pts-gold);}

/* Thông tin khách hàng và địa chỉ hiển thị dạng chip. */
#inf_single_project .client_wrap{
    grid-area:meta;display:flex;flex-wrap:wrap;gap:10px;margin:0 0 28px!important;
}
#inf_single_project .client_wrap>div{
    border:0!important;border-radius:999px;background:var(--pts-surface);
    padding:9px 18px!important;margin:0!important;width:auto!important;
}
#inf_single_project .client_wrap p{
    display:flex;align-items:baseline;gap:8px;margin:0!important;
    color:#94a3b8!important;font-size:11.5px!important;font-weight:800!important;
    text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;
}
#inf_single_project .client_wrap p b{
    color:var(--pts-navy)!important;font-size:15px!important;font-weight:800!important;
    text-transform:none;letter-spacing:0;
}

/* nội dung mô tả: giới hạn bề ngang cho dễ đọc */
#inf_single_project .des_wrap{grid-area:description;max-width:none;padding:28px 30px;border:1px solid var(--pts-line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(15,23,42,.05);}
#inf_single_project .des_wrap:before{content:"Tổng quan công trình";display:block;margin-bottom:14px;color:var(--pts-gold-dark);font-size:11px;font-weight:900;letter-spacing:.13em;text-transform:uppercase;}
#inf_single_project .des_wrap,
#inf_single_project .des_wrap p,
#inf_single_project .des_wrap li{color:#475569!important;font-size:16px!important;line-height:1.85!important;}
#inf_single_project .des_wrap p{margin-bottom:12px!important;}
#inf_single_project .des_wrap strong,#inf_single_project .des_wrap b{color:var(--pts-navy)!important;}

/* khối gallery/video */
#inf_single_project .tabs-pro-detail{
    margin-top:34px!important;background:#fff;
    border:1px solid var(--pts-line);border-radius:16px;padding:22px 26px!important;
}
/* Trang dự án dùng chung .tabs-pro-detail nhưng KHÔNG lấy thanh tab nền
   xám tràn mép của trang sản phẩm (khung này đã có padding riêng ở trên). */
#inf_single_project .tabs-pro-detail>#tabsProDetail{background:transparent;margin:0 0 4px!important;padding:0 0 12px!important;border-bottom:1px solid #eef0f4!important;}
#inf_single_project .tabs-pro-detail .tab-content{padding:18px 0 6px!important;}
/* Gallery dự án chiếm trọn bề ngang khối nội dung. */
#inf_single_project .tabs-pro-detail .tab-content>.tab-pane{max-width:none!important;}
/* Gallery dự án: lưới thumbnail đều nhau, bấm mở lightbox (photobox) */
.pts-project-gallery{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:6px;}
.pts-project-gallery .album-item{padding:0!important;width:auto!important;display:block!important;}
.pts-project-gallery .album-image{display:block;border-radius:14px;overflow:hidden;background:var(--pts-surface);margin:0!important;}
.pts-project-gallery .album-image img{width:100%!important;aspect-ratio:4/3;object-fit:cover!important;display:block;transition:transform .3s;}
.pts-project-gallery .album-image:hover img{transform:scale(1.05);}
@media(max-width:768px){.pts-project-gallery{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}}
@media(max-width:480px){.pts-project-gallery{grid-template-columns:1fr;}}
#inf_single_project .row-project .video-image{border-radius:14px;overflow:hidden;}
#inf_single_project .row-project .video-name{color:var(--pts-navy)!important;font-size:14.5px!important;font-weight:800!important;margin-top:10px;}

@media(max-width:991px){
    #inf_single_project .left>.content{display:block;}
}
@media(max-width:768px){
    #inf_single_project{padding:28px 0 40px;}
    #inf_single_project .client_wrap{grid-template-columns:1fr;}
    #inf_single_project .des_wrap{padding:22px 20px;}
}

/* Tiêu đề khối ảnh + dải CTA cuối trang dự án */
#inf_single_project #tabsProDetail{margin-bottom:4px;}
.pts-project-cta{padding:0 0 64px;}
.pts-project-cta-inner{
    display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:26px;
    border-radius:18px;padding:38px 44px;
    background:linear-gradient(120deg,var(--pts-navy-deep),var(--pts-navy) 60%,var(--pts-navy-light));
    position:relative;overflow:hidden;
}
.pts-project-cta-inner:after{content:"";position:absolute;right:-60px;top:-90px;width:280px;height:280px;border-radius:50%;background:rgba(201,150,46,.16);}
.pts-project-cta-copy{position:relative;z-index:2;max-width:640px;}
.pts-project-cta-copy span{display:block;color:var(--pts-gold-light)!important;font-size:12px;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:8px;}
.pts-project-cta-copy h3{color:#fff!important;font-size:clamp(22px,2.2vw,30px)!important;font-weight:900!important;margin:0 0 10px!important;}
.pts-project-cta-copy p{color:#dbeafe!important;font-size:15px!important;line-height:1.7!important;margin:0!important;}
.pts-project-cta-actions{position:relative;z-index:2;display:flex;flex-wrap:wrap;gap:12px;}
.pts-project-cta-actions .pts-btn i{margin-right:8px;}
@media(max-width:768px){
    .pts-project-cta-inner{padding:28px 24px;}
    .pts-project-cta-actions{width:100%;}
    .pts-project-cta-actions .pts-btn{flex:1 1 100%;}
}

/* =====================================================================
   THANH TÌM KIẾM (header)
   Bản cũ: hộp trắng vuông góc (radius 0), nút tìm navy vuông dính sát mép,
   đổ bóng xám kiểu cũ, trôi lơ lửng đè lên hero. Dựng lại theo ngôn ngữ
   hiện tại: viên thuốc bo tròn, viền mảnh, nút tròn vàng kim bên trong.
   ===================================================================== */
.search-res .icon-search{
    display:flex!important;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:50%;cursor:pointer;transition:.18s;
}
.search-res .icon-search:hover{background:var(--pts-surface);}
.search-res .icon-search svg path{fill:var(--pts-navy);}

.search-grid{
    display:flex!important;align-items:center;gap:6px;
    width:auto!important;min-width:330px;height:52px!important;
    top:calc(100% + 10px)!important;right:0!important;left:auto!important;
    padding:0 6px 0 18px!important;
    background:#fff!important;border:1px solid var(--pts-line)!important;
    border-radius:999px!important;
    box-shadow:0 18px 40px rgba(6,21,55,.16)!important;
    pointer-events:none!important;
}
/* width:auto!important ở trên đè luôn width:0px mà apps.js set khi đóng, nên
   hộp tìm kiếm luôn rộng ~330px dù đang ẩn (opacity:0) — vô hình nhưng vẫn
   nằm đè lên và hứng hết cú chạm của thanh lọc công suất ngay bên dưới trên
   mobile. Chỉ mở pointer-events lại đúng lúc icon tìm kiếm đang active. */
.icon-search.active + .search-grid{pointer-events:auto!important;}
.search-grid input#keyword-res{
    flex:1;width:auto!important;height:40px!important;
    border:0!important;background:transparent!important;outline:none!important;
    color:var(--pts-navy)!important;font-size:14.5px!important;padding:0!important;
}
.search-grid input#keyword-res::placeholder{color:#94a3b8;}
/* nút tìm: tròn, vàng kim, nằm gọn trong viên thuốc */
.search-grid p[onclick]{
    flex:0 0 40px;display:flex!important;align-items:center;justify-content:center;
    width:40px!important;height:40px!important;margin:0!important;cursor:pointer;
    border-radius:50%!important;background-image:var(--pts-gold-metal)!important;
    background-color:transparent!important;transition:.18s;
}
.search-grid p[onclick]:hover{filter:brightness(1.06);}
.search-grid p[onclick] svg path{fill:var(--pts-navy)!important;}

@media(max-width:576px){
    .search-grid{min-width:0;width:calc(100vw - 30px)!important;right:-8px!important;}
}

/* =====================================================================
   TRANG VỀ CHÚNG TÔI
   ===================================================================== */

/* Hiển thị đầy đủ nội dung tầm nhìn và sứ mệnh. */
.inf_item_vision .content{
    height:auto!important;max-height:none!important;overflow:visible!important;
    /* Bỏ giới hạn số dòng. */
    -webkit-line-clamp:unset!important;line-clamp:unset!important;
    display:block!important;-webkit-box-orient:unset!important;
}
.inf_item_vision{display:flex;flex-direction:column;height:100%;}
.inf_item_vision .content,.inf_item_vision .content p{
    color:#e8eefc!important;font-size:15px!important;line-height:1.8!important;
}
.inf_item_vision h4{
    color:#fff!important;font-size:19px!important;font-weight:900!important;
    letter-spacing:.02em;margin-bottom:14px!important;
}
/* khối "Giá trị cốt lõi" chữ dài đặc -> giới hạn bề ngang cho dễ đọc */
.inf_item_vision:last-child .content{max-width:1000px;margin-left:auto;margin-right:auto;}

/* Đối tác: logo đang xám nhạt và bé, nâng độ rõ */
#inf_partner #inf_list_partner .wrap{width:150px!important;height:64px!important;filter:grayscale(1);opacity:.62;transition:.2s;}
#inf_partner #inf_list_partner .wrap:hover{filter:none;opacity:1;}

/* Các lợi ích hiển thị bằng thẻ nền nhạt. */
#CRintro_home #CRicos_intro_home{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px!important;margin-top:28px!important;
}
#CRintro_home .inf_ico_intro_home{width:auto!important;margin:0!important;border:0!important;}
#CRintro_home .inf_ico_intro_home .wrap{
    display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;
    height:100%;min-height:132px;border:0!important;border-radius:14px;
    background:var(--pts-surface);padding:24px 18px!important;transition:.18s;
}
#CRintro_home .inf_ico_intro_home .wrap:hover{background:var(--pts-cream);transform:translateY(-3px);}
#CRintro_home .inf_ico_intro_home img{width:38px!important;height:38px!important;object-fit:contain;}
#CRintro_home .inf_ico_intro_home p{
    margin:0!important;color:var(--pts-navy)!important;font-size:14.5px!important;
    font-weight:800!important;line-height:1.45!important;text-align:center;
}
/* Đặt nội dung giới thiệu trong luồng tài liệu để giữ đúng chiều cao khối. */
#CRintro_home .content{position:static!important;height:auto!important;width:auto!important;
    top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;transform:none!important;}
#CRintro_home{padding:56px 0!important;overflow:visible!important;}

@media(max-width:991px){
    #CRintro_home #CRicos_intro_home{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:576px){
    #CRintro_home #CRicos_intro_home{grid-template-columns:1fr;}
}

/* Trạng thái rỗng cho danh mục tin tức, giải pháp và dự án. */
.pts-empty-state{
    display:flex;flex-direction:column;align-items:center;justify-content:center;
    gap:14px;padding:64px 24px;margin:8px 0 24px;width:100%!important;
    background:var(--pts-surface);border-radius:16px;text-align:center;
}
.pts-empty-state i{font-size:34px;color:#cbd5e1;}
.pts-empty-state p{margin:0;color:#94a3b8;font-size:14.5px;font-weight:700;}

/* =====================================================================
   SIDEBAR FILTER DANH MỤC SẢN PHẨM
   Trước đây mỗi khối filter (Danh mục/Thương hiệu/Công suất/Loại SP/Mức
   giá) là 1 khung viền riêng (5 viền chồng nhau) VÀ tiêu đề mỗi khối vẫn
   giữ nguyên style cũ chưa từng đụng tới: khối nền xám #f7f7f7 + viền trái
   xanh 4px kiểu form thời xưa. Gộp về 1 thẻ card duy nhất, phân cách bằng
   đường kẻ mảnh giữa các khối, tiêu đề đổi thành chữ đậm navy sạch.
   ===================================================================== */
.pts-filter-card{
    border:1px solid var(--pts-line)!important;border-radius:14px!important;
    background:#fff;padding:20px 20px 4px!important;
}
/* mỗi khối bên trong: bỏ viền/nền riêng, dùng đường kẻ dưới làm ranh giới */
.pts-filter-card .aside-filter,
.pts-filter-card .product-pages__price{
    border:0!important;border-radius:0!important;background:transparent!important;
    padding:0 0 18px!important;margin:0 0 18px!important;
    border-bottom:1px solid var(--pts-line)!important;
}
.pts-filter-card .aside-filter:last-child,
.pts-filter-card .product-pages__price:last-child{
    border-bottom:0!important;margin-bottom:0!important;padding-bottom:2px!important;
}
/* tiêu đề khối: bỏ khối xám + viền trái xanh, chữ đậm navy sạch */
.pts-filter-card .title-head,
.pts-filter-card .product-pages__price-name{
    background:transparent!important;border-left:0!important;
    color:var(--pts-navy)!important;font-size:13px!important;font-weight:900!important;
    letter-spacing:.03em;text-transform:uppercase;
    padding:0!important;margin:0 0 12px!important;
}
.pts-filter-card .aside-title-f{margin-bottom:12px!important;}
/* checkbox custom vốn đã có (label.checker) - chỉ tinh chỉnh khoảng cách/màu */
.pts-filter-card .product-pages__price-label{
    padding:6px 0!important;font-size:13.5px!important;color:#475569!important;
    text-transform:none!important;font-weight:500!important;
}
.pts-filter-card .product-pages__price-label:hover{color:var(--pts-navy)!important;}
.pts-filter-card label.checker label{
    height:18px!important;width:18px!important;border-radius:4px;
    border-color:var(--pts-line)!important;
}
.pts-filter-card label.checker label::before{color:var(--pts-gold-dark)!important;font-size:10px!important;}
/* danh mục: link đơn giản, item đang chọn dùng chữ vàng đồng đậm thay vì
   nền xanh nổi bật khác tông với phần còn lại của sidebar */
.pts-filter-card .filter-item a{color:#475569!important;font-size:13.5px!important;text-decoration:none!important;padding:6px 0;display:block;}
.pts-filter-card .filter-item a:hover{color:var(--pts-navy)!important;}
.pts-filter-card .filter-item.checked>a{color:var(--pts-gold-dark)!important;font-weight:800!important;}
/* Công suất thường liệt kê rất nhiều mức -> giới hạn chiều cao, cuộn riêng
   thay vì kéo dài cả sidebar */
.pts-filter-card .product-pages__price:has(input[name="car_congsuat"]) .wrappers-aside__filter-scroll{
    max-height:260px;overflow-y:auto;padding-right:6px;
}

/* =====================================================================
   ROUND 2 — Phóng to & hoàn thiện giao diện public
   Yêu cầu chủ project: layout đang nhỏ/nhẹ, cần to & rõ hơn cho khách;
   header chữ nhỏ; footer dòng hotline/email lệch màu; trang Liên hệ /
   Đại lý / Về chúng tôi bố cục chưa chuẩn, khoảng cách chỗ to chỗ nhỏ.
   Khối này nạp sau cùng nên thắng mọi rule trước đó.
   ===================================================================== */

/* --- Container: rộng hơn để trang có sức nặng, không "nhỏ nhẹ" --- */
:root{--pts-container:1560px;--pts-gutter:32px;}

/* --- Thang chữ nền tảng: to & chắc, dễ đọc từ xa --- */
body,p{font-size:18px!important;line-height:1.75!important;}
h1{font-size:clamp(38px,3.8vw,52px)!important;font-weight:900!important;}
h2{font-size:clamp(30px,3.1vw,42px)!important;font-weight:850!important;}
h3{font-size:clamp(23px,2.2vw,30px)!important;font-weight:850!important;}
h4{font-size:21px!important;font-weight:800!important;}

/* --- Thanh tiện ích trên cùng (hotline / email / giờ làm việc) --- */
.top-utility-bar{font-size:13.5px!important;}
.top-utility-bar .wrap-content{min-height:40px!important;padding-top:8px!important;padding-bottom:8px!important;}

/* --- Header: menu chính to & chắc hơn --- */
.header-bottom .wrap-content{min-height:100px!important;gap:30px!important;}
.menu>div>ul{gap:26px!important;}
.menu>div>ul>li>a{
    font-size:17.5px!important;font-weight:800!important;
    letter-spacing:.005em!important;padding:20px 0!important;
}
.menu ul li ul li a{font-size:14.5px!important;padding:12px 20px!important;}
.header-right-style{gap:24px!important;}
.header-bottom .logo img,.header .logo img,#logo img{max-height:64px!important;width:auto!important;}
.icon-cart-header svg,.header-right-style .search-toggle svg,.header-right-style svg{width:24px!important;height:24px!important;}

/* --- Tiêu đề trang (hero ảnh + tên trang): to & choán chỗ hơn --- */
.page-title{min-height:250px!important;}
.page-title .wrap-content2{padding-top:40px!important;padding-bottom:40px!important;}
.title-page span{font-size:clamp(36px,4vw,56px)!important;font-weight:900!important;}

/* --- Breadcrumb (Trang chủ > ...): đang quá nhỏ, phóng to --- */
.breadCrumbs .breadcrumb-item a{font-size:15.5px!important;line-height:24px!important;font-weight:700!important;}
.breadCrumbs .breadcrumb-item+.breadcrumb-item{padding-left:26px!important;}
.breadCrumbs .breadcrumb-item+.breadcrumb-item:before{font-size:14px!important;left:9px!important;}
@media(max-width:768px){
    .page-title{min-height:168px!important;}
    .title-page span{font-size:28px!important;}
    .breadCrumbs .breadcrumb-item a{font-size:13.5px!important;}
}

/* --- Tiêu đề section chung: to & đậm hơn --- */
.section-title h3{font-size:clamp(34px,3.4vw,52px)!important;font-weight:900!important;}
.section-title .eyebrow,.section-eyebrow{font-size:13px!important;letter-spacing:.14em!important;}
.CRstyle_title,
#inf_vision_intro .CRstyle_title,
#inf_partner_cert .CRstyle_title,
.inf_intro_page #CRintro_home .CRstyle_title{
    font-size:clamp(32px,3.3vw,48px)!important;font-weight:900!important;
    line-height:1.18!important;color:var(--pts-navy)!important;
    text-transform:none!important;letter-spacing:-.015em!important;
}
#inf_vision_intro .CRstyle_title,
#inf_partner_cert #inf_partner .CRstyle_title,
#inf_partner_cert #CRcertification_intro .CRstyle_title{color:#fff!important;}

/* --- Nút bấm chung: cao & rõ hơn --- */
.btn,button.btn,.pts-btn,.pts-btn-gold,input[type=submit],button[type=submit],
.pts-btn-gold,.btn-contact-price a{
    font-size:16.5px!important;font-weight:800!important;letter-spacing:.02em!important;
}
.pts-btn,.pts-btn-gold{padding:16px 30px!important;}

/* =====================================================================
   FOOTER — đồng bộ màu dòng Hotline / Email với phần còn lại
   ===================================================================== */
.CRlist_office_center,
.CRlist_office_center p,
.CRlist_office_center span,
.CRlist_office_center a{
    color:#c3dbf7!important;font-size:14px!important;line-height:1.85!important;
}
.CRlist_office_center a{text-decoration:none!important;transition:color .15s;}
.CRlist_office_center a:hover{color:var(--pts-gold-light)!important;}
.footer-title{font-size:15px!important;}
.CRlist_office_center,.CRlist_office_center p,.footer-link a,.content_cn a,.content_cn span{font-size:13.5px!important;}

/* =====================================================================
   TRANG LIÊN HỆ — to & cân đối phần FORM (giữ nguyên khu "Hệ thống cửa hàng")
   ===================================================================== */
#inf_contact_page{padding:56px 0 72px!important;}
#top_content>.container{max-width:1400px!important;}
#top_content h2{font-size:clamp(26px,2.5vw,36px)!important;font-weight:900!important;line-height:1.3!important;margin:0 auto 14px!important;max-width:900px;padding:0 40px;}
.custContContact li a{font-size:16px!important;}
.formContact{padding:52px 56px!important;margin-top:34px!important;border-radius:20px!important;}
.inf_default_form .title{font-size:clamp(26px,2.4vw,34px)!important;}
.inf_default_form .des{font-size:16.5px!important;margin-bottom:28px!important;}

/* Form 2 cột đều nhau: input/select/textarea phải LẤP ĐẦY ô lưới.
   Nguyên nhân lệch: .wpcf7-form-control-wrap là <span> inline nên
   width:100% của input tính theo bề rộng co lại của span -> ô nhập bé,
   dồn về trái, chừa khoảng trống giữa. Ép cả wrapper về block full width. */
.inf_default_form ul{gap:24px 28px!important;align-items:start!important;}
.inf_default_form li,
.inf_default_form .inf_default_row{width:auto!important;padding:0!important;margin:0!important;}
.inf_default_form .inf_input,
.inf_default_form .wpcf7-form-control-wrap{display:block!important;width:100%!important;}
.inf_default_form input:not([type=submit]),
.inf_default_form textarea,
.inf_default_form select{
    width:100%!important;box-sizing:border-box!important;
    font-size:16px!important;height:56px!important;padding:0 18px!important;border-radius:10px!important;
}
.inf_default_form textarea{height:180px!important;padding:16px 18px!important;}
.inf_default_form label{font-size:15.5px!important;font-weight:800!important;margin-bottom:9px!important;}
.inf_default_form .inf_button{grid-column:1/-1;margin-top:6px;}
.inf_default_form input[type=submit]{
    width:100%!important;min-width:0!important;height:60px!important;border-radius:12px!important;font-size:17px!important;
}
@media(max-width:768px){
    .inf_default_form ul{grid-template-columns:1fr!important;}
    .formContact{padding:32px 22px!important;}
}

/* Form tư vấn/liên hệ/đại lý mở từ chi tiết sản phẩm. Scope theo
   .pts-lead-modal để không ảnh hưởng modal giỏ hàng và popup quảng cáo. */
.pts-lead-modal .modal-dialog{max-width:760px!important;margin-top:24px;margin-bottom:24px;}
.modal-open #button-contact-vr,.modal-open .progress-wrap{opacity:0!important;visibility:hidden!important;pointer-events:none!important;}
.pts-lead-modal .modal-content{border:0!important;border-radius:20px!important;overflow:hidden;box-shadow:0 28px 80px rgba(6,21,55,.28)!important;}
.pts-lead-modal .modal-body{max-height:calc(100vh - 48px);overflow-y:auto;padding:36px 38px 38px!important;background:linear-gradient(145deg,#fff 0%,#fbfcff 100%);}
.pts-lead-modal button.close{
    position:absolute;z-index:5;top:12px;right:12px;display:flex;align-items:center;justify-content:center;
    width:38px;height:38px;margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;
    background:#eef2f7!important;color:var(--pts-navy)!important;opacity:1!important;
}
.pts-lead-modal button.close:hover{background:var(--pts-navy)!important;color:#fff!important;}
.pts-lead-modal button.close svg{width:19px;height:19px;stroke:currentColor!important;}
.pts-lead-modal .formContact{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;}
.pts-lead-modal .inf_default_form .title,.pts-lead-modal .title-pro-detail{
    max-width:calc(100% - 46px);margin:0 0 8px!important;color:var(--pts-navy)!important;
    font-size:clamp(23px,3vw,30px)!important;font-weight:900!important;line-height:1.25!important;
}
.pts-lead-modal .inf_default_form .des,.pts-lead-intro{margin:0 0 24px!important;color:#64748b!important;font-size:14.5px!important;line-height:1.65;}
.pts-lead-modal .inf_default_form ul{gap:17px 18px!important;}
.pts-lead-modal .inf_default_form input:not([type=submit]),
.pts-lead-modal .inf_default_form select{height:50px!important;font-size:14.5px!important;}
.pts-lead-modal .inf_default_form textarea{height:120px!important;font-size:14.5px!important;resize:vertical;}
.pts-lead-modal .inf_default_form input[type=submit]{height:54px!important;font-size:16px!important;}
.pts-quote-modal .form-register form{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 18px!important;}
.pts-quote-modal .newsletter-input,.pts-quote-modal .newsletter-button{min-width:0;margin:0!important;}
.pts-quote-modal .pts-form-full,.pts-quote-modal .newsletter-button{grid-column:1/-1;}
.pts-quote-modal .newsletter-input label{display:block;margin:0 0 7px;color:var(--pts-navy);font-size:14px;font-weight:800;}
.pts-quote-modal .newsletter-input .form-control{height:50px!important;border:1px solid #dbe2ec!important;border-radius:10px!important;background:#fff!important;padding:0 15px!important;font-size:14.5px!important;box-shadow:none!important;}
.pts-quote-modal .newsletter-input .form-control:focus{border-color:var(--pts-gold)!important;box-shadow:0 0 0 3px rgba(201,150,46,.14)!important;}
.pts-quote-modal .radio-user{display:inline-flex;margin:2px 24px 0 0;padding-left:25px;}
.pts-quote-modal .radio-user label{margin:0!important;color:#475569!important;font-weight:600!important;}
.pts-quote-modal .newsletter-button input[type=submit]{width:100%!important;height:54px!important;margin:2px 0 0!important;border-radius:10px!important;background:var(--pts-gold)!important;color:var(--pts-navy)!important;font-size:16px!important;font-weight:900!important;}
@media(max-width:576px){
    .pts-lead-modal .modal-dialog{margin:10px!important;}
    .pts-lead-modal .modal-body{max-height:calc(100vh - 20px);padding:28px 18px 22px!important;}
    .pts-lead-modal button.close{top:9px;right:9px;width:34px;height:34px;}
    .pts-lead-modal .inf_default_form .title,.pts-lead-modal .title-pro-detail{font-size:22px!important;}
    .pts-quote-modal .form-register form{grid-template-columns:1fr;gap:15px!important;}
    .pts-quote-modal .pts-form-full,.pts-quote-modal .newsletter-button{grid-column:auto;}
    .pts-quote-modal .radio-user{display:flex;margin:7px 0;}
}

/* =====================================================================
   TRANG ĐẠI LÝ — form to hơn, banner chữ mạnh hơn
   ===================================================================== */
.agency_1 .container{
    grid-template-columns:minmax(340px,440px) 1fr!important;gap:40px!important;
    padding-top:60px!important;padding-bottom:60px!important;
}
.agency_1 .inner .content.text h3{font-size:clamp(26px,2.7vw,40px)!important;}
.agency_1 .inner .content.text,
.agency_1 .inner .content.text p,
.agency_1 .inner .content.text li{font-size:16px!important;line-height:1.75!important;}
.agency_1 .form_agency .inf_default_form .title{font-size:24px!important;}
.agency_1 .form_agency input:not([type=submit]),
.agency_1 .form_agency select,
.agency_1 .form_agency textarea{font-size:15px!important;min-height:46px!important;}
.agency_1 .form_agency input[type=submit]{font-size:16px!important;padding:14px 20px!important;}
@media(max-width:991px){
    .agency_1 .container{grid-template-columns:1fr!important;gap:26px!important;}
}

/* =====================================================================
   TRANG VỀ CHÚNG TÔI — bố cục lịch sử & khối nội dung
   ===================================================================== */
.inf_about_history .container-fluid{max-width:var(--pts-container)!important;margin:0 auto!important;padding-left:var(--pts-gutter)!important;padding-right:var(--pts-gutter)!important;}
.inf_about_history{padding:52px 0!important;}
.inf_about_history .row{align-items:center!important;}
.inf_about_history .right .content>h3,
.inf_about_history .right h3{
    font-size:clamp(24px,2.5vw,34px)!important;font-weight:900!important;
    color:var(--pts-navy)!important;line-height:1.25!important;margin-bottom:16px!important;
}
.inf_about_history .right .des,
.inf_about_history .right .des p{font-size:16px!important;line-height:1.85!important;color:#334155!important;}
.inf_about_history .left .content img{border-radius:16px!important;box-shadow:var(--pts-shadow)!important;width:100%!important;object-fit:cover!important;}
#inf_vision_intro{padding:60px 0!important;}
#inf_partner_cert{padding:56px 0!important;}
.inf_item_vision h4{font-size:21px!important;}
.inf_item_vision .content,.inf_item_vision .content p{font-size:16px!important;}
#CRcertification_intro .CRitem_certification .wrap{background:#fff!important;border:1px solid var(--pts-line)!important;border-radius:14px!important;padding:14px!important;}
#CRcertification_intro .des{font-size:14.5px!important;font-weight:800!important;color:var(--pts-navy)!important;margin-top:10px!important;}
#CRintro_home .inf_ico_intro_home p{font-size:15.5px!important;}

/* =====================================================================
   TRANG CHI TIẾT DỰ ÁN — cụm "Khách hàng / Địa chỉ" phải bám ngay dưới
   tiêu đề, không trôi ra giữa cột khi nội dung bên phải dài.
   Cách làm: thêm 1 hàng trống 1fr dưới cụm meta để phần thừa chiều cao
   của .des_wrap (span 3 hàng) rơi vào đó, meta giữ nguyên vị trí trên.
   ===================================================================== */
#inf_single_project .left>.content{
    grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr)!important;
    grid-template-rows:auto auto 1fr!important;
    grid-template-areas:
        "title       description"
        "meta        description"
        ".           description"!important;
    column-gap:48px!important;align-content:start!important;align-items:start!important;
}
#inf_single_project .title_wrap{margin-bottom:20px!important;}
#inf_single_project .title_wrap h1{font-size:clamp(30px,3vw,44px)!important;}
#inf_single_project .client_wrap{align-self:start!important;margin:0 0 8px!important;gap:12px!important;}
#inf_single_project .client_wrap>div{padding:11px 20px!important;}
#inf_single_project .client_wrap p{font-size:12px!important;}
#inf_single_project .client_wrap p b{font-size:16px!important;}
#inf_single_project .des_wrap{align-self:start!important;padding:32px 34px!important;}
#inf_single_project .des_wrap:before{font-size:12px!important;margin-bottom:16px!important;}
#inf_single_project .des_wrap,
#inf_single_project .des_wrap p,
#inf_single_project .des_wrap li{font-size:16.5px!important;}
@media(max-width:991px){
    #inf_single_project .left>.content{
        display:block!important;
    }
    #inf_single_project .title_wrap{margin-bottom:16px!important;}
    #inf_single_project .client_wrap{margin-bottom:22px!important;}
}

/* =====================================================================
   ROUND 2B — RÀ SOÁT RESPONSIVE MOBILE
   Sửa các lỗi bố cục trên điện thoại: nút liên hệ nổi đè nội dung,
   lề trang quá rộng, chữ canh đều gây rối, chữ desktop quá lớn khi thu
   nhỏ, khoảng cách các khối chưa hợp lý.
   ===================================================================== */
@media(max-width:640px){
    /* Lề trang về mức hợp lý cho màn hình hẹp (32px desktop -> 16px) */
    :root{--pts-gutter:16px;}
    .wrap-content,.wrap-main,.uk-container,.container,
    #inf_single_project .left,#inf_single_project .right,
    .inf_about_history .container-fluid{
        padding-left:16px!important;padding-right:16px!important;
    }

    /* Thu nhỏ thang chữ desktop cho vừa điện thoại */
    body,p{font-size:15.5px!important;line-height:1.66!important;}
    h1{font-size:25px!important;} h2{font-size:22px!important;}
    h3{font-size:19px!important;} h4{font-size:17px!important;}
    .section-title h3,
    .CRstyle_title,
    #inf_vision_intro .CRstyle_title,
    #inf_partner_cert .CRstyle_title,
    .inf_intro_page #CRintro_home .CRstyle_title{font-size:22px!important;line-height:1.25!important;}
    .page-title{min-height:132px!important;}
    .page-title .wrap-content2{padding-top:24px!important;padding-bottom:24px!important;}
    .title-page span{font-size:23px!important;}
    .breadCrumbs .breadcrumb-item a{font-size:12.5px!important;}

    /* Không canh đều chữ trên màn hình hẹp (tránh khoảng trắng răng cưa) */
    p,.des,.des p,.des_wrap,.des_wrap p,.des_wrap li,
    .inf_item_vision .content,.inf_item_vision .content p,
    #CRcontent_single_news,.box-detail-news,.box-detail-news p{text-align:left!important;}

    /* NÚT LIÊN HỆ NỔI (#button-contact-vr): thu nhỏ, đưa hẳn về góc dưới
       phải, không còn đè lên tiêu đề / nội dung */
    #button-contact-vr{bottom:14px!important;right:10px!important;}
    #button-contact-vr .button-contact{margin-top:-10px!important;}
    #button-contact-vr .button-contact .phone-vr{width:56px!important;height:56px!important;}
    #button-contact-vr .phone-vr-circle-fill{width:42px!important;height:42px!important;top:7px!important;left:7px!important;}
    #button-contact-vr .phone-vr-img-circle{width:30px!important;height:30px!important;top:13px!important;left:13px!important;}
    #button-contact-vr .phone-vr-img-circle img{max-height:15px!important;max-width:17px!important;}
    /* Canh tâm nút cuộn lên trùng cột nút liên hệ: tâm cách mép phải 38px
       (#button-contact-vr là right:10px + 56/2), nên nút 38px phải đặt
       right:19px. Để 14px thì hai nút lệch nhau 5px, nhìn như bị xô lệch. */
    .progress-wrap{right:19px!important;bottom:76px!important;width:38px!important;height:38px!important;}

    /* Chi tiết dự án: card thoáng hơn, tiêu đề vừa phải */
    #inf_single_project{padding:24px 0 36px!important;}
    #inf_single_project .title_wrap h1{font-size:23px!important;padding-bottom:12px!important;}
    #inf_single_project .title_wrap{margin-bottom:14px!important;}
    #inf_single_project .client_wrap{gap:8px!important;margin-bottom:18px!important;}
    #inf_single_project .client_wrap>div{padding:9px 14px!important;}
    #inf_single_project .client_wrap p b{font-size:14.5px!important;}
    #inf_single_project .des_wrap{padding:20px 18px!important;}
    #inf_single_project .des_wrap,
    #inf_single_project .des_wrap p,
    #inf_single_project .des_wrap li{font-size:15.5px!important;line-height:1.75!important;}

    /* Form liên hệ trên mobile */
    #inf_contact_page{padding:32px 0 44px!important;}
    #top_content h2{padding:0 4px!important;font-size:20px!important;}
    .formContact{padding:24px 16px!important;}
    .inf_default_form .title{font-size:21px!important;}
    .inf_default_form .des{font-size:15px!important;margin-bottom:20px!important;}
    .inf_default_form ul{gap:16px!important;}
    .inf_default_form input:not([type=submit]),
    .inf_default_form select{height:50px!important;font-size:15px!important;}
    .inf_default_form textarea{height:140px!important;}
    .inf_default_form input[type=submit]{height:52px!important;font-size:16px!important;}

    /* Đại lý: form và banner xếp dọc, chữ vừa phải */
    .agency_1 .container{padding-top:28px!important;padding-bottom:28px!important;gap:20px!important;}
    .agency_1 .inner{padding:22px!important;}
    .agency_1 .inner .content.text h3{font-size:22px!important;}
    /* Khối nền ảnh cao hơn nhiều trên di động (chữ dài hơn) nên cần phủ tối đều, tránh chữ chìm vào vùng sáng của ảnh. */
    .agency_1 .inner_content:before{background:rgba(6,21,55,.82)!important;}

    /* Về chúng tôi: khối lịch sử xếp dọc, ảnh trên - chữ dưới */
    .inf_about_history{padding:32px 0!important;}
    .inf_about_history .right .content>h3,
    .inf_about_history .right h3{font-size:21px!important;margin-bottom:12px!important;}
    .inf_about_history .right .des,
    .inf_about_history .right .des p{font-size:15.5px!important;}
    #inf_vision_intro,#inf_partner_cert{padding:36px 0!important;}

    /* Header mobile: chừa chỗ, không cho logo quá to */
    .header-bottom .logo img,.header .logo img,#logo img{max-height:44px!important;}
    .top-utility-bar{font-size:12px!important;}
}

/* Màn hình rất hẹp: card sản phẩm 1 cột cho dễ đọc */
@media(max-width:390px){
    .grid-product.grid-product-3{grid-template-columns:1fr!important;}
    .product-card .caption .name{min-height:0!important;}
}

/* =====================================================================
   CHI TIẾT SẢN PHẨM — GALLERY TRÊN MOBILE
   Lỗi nặng: trên mobile .left-pro-detail (col-md-5) mất ràng buộc bề
   rộng, cộng với .MagicZoom {display:flex; aspect-ratio:1/1} tạo vòng lặp
   tính kích thước -> khung ảnh phình tới ~33.5M px, để lại khoảng trắng
   khổng lồ trước phần thông tin. Bỏ flex + aspect-ratio ở mobile, cho ảnh
   chảy theo bề rộng cột; dải thumbnail vẫn là carousel owl có nút chuyển.
   ===================================================================== */
@media(max-width:991px){
    .grid-pro-detail>.row{display:flex!important;flex-direction:column!important;grid-template-columns:none!important;}
    /* Bề rộng ĐỊNH LƯỢNG theo viewport (selector nâng đặc hiệu để chắc
       chắn thắng), phá vòng lặp phình khung của owl/MagicZoom. */
    html body .grid-pro-detail .left-pro-detail,
    html body .grid-pro-detail .left-pro-detail.col-md-5{
        width:calc(100vw - 32px)!important;max-width:480px!important;margin:0 auto!important;
        flex:0 0 auto!important;min-width:0!important;overflow:hidden!important;box-sizing:border-box!important;
        contain:layout!important;
    }
    .left-pro-detail>a.MagicZoom{
        display:block!important;aspect-ratio:auto!important;
        width:100%!important;max-width:100%!important;padding:6px!important;box-sizing:border-box!important;
    }
    .left-pro-detail>a.MagicZoom>img,
    .left-pro-detail .mz-figure,
    .left-pro-detail .mz-figure>img,
    .left-pro-detail .mz-figure>.mz-image{
        width:100%!important;height:auto!important;max-width:100%!important;
        aspect-ratio:auto!important;object-fit:contain!important;
    }
    /* Owl thumbnail: ép về dải cuộn ngang đơn giản, vô hiệu hoá stage
       transform khổng lồ mà owl.js tính sai khi container chưa có bề rộng. */
    .gallery-thumb-pro{width:100%!important;max-width:100%!important;overflow:hidden!important;margin-top:12px;}
    .gallery-thumb-pro .owl-pro-detail,
    .gallery-thumb-pro .owl-stage-outer{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;}
    .gallery-thumb-pro .owl-stage{
        width:auto!important;max-width:none!important;transform:none!important;
        display:flex!important;gap:8px!important;
    }
    .gallery-thumb-pro .owl-item{width:68px!important;min-width:68px!important;flex:0 0 68px!important;margin:0!important;}
    .gallery-thumb-pro .thumb-pro-detail{aspect-ratio:1/1!important;}
    .gallery-thumb-pro .owl-nav,
    .gallery-thumb-pro .owl-dots{display:none!important;}
}

/* =====================================================================
   FOOTER TRÊN MOBILE — hiển thị đầy đủ, bỏ accordion thu gọn
   Legacy ẩn .CRcont_nav_mobile trên mobile và thêm mũi tên để bung
   từng mục. Chủ project muốn thấy đủ nội dung footer ngay.
   ===================================================================== */
@media(max-width:820px){
    .footer_top .CRcont_nav_mobile{display:block!important;height:auto!important;}
    .footer_top .item .footer-title .show_menu_mb{display:none!important;}
    .footer_top .item .footer-title{cursor:default!important;pointer-events:none;}
    .footer_top>.container>.row{display:grid!important;grid-template-columns:1fr!important;gap:26px!important;}
    .footer_top .ft_mn,.footer_top .ft_first,.footer_top .ft_last{width:100%!important;max-width:100%!important;flex:0 0 100%!important;}
    .footer_top .ft_mn_right .content{margin:0!important;}
    .footer_top .ft_mn_right .content.row{display:grid!important;grid-template-columns:1fr 1fr!important;gap:22px!important;}
    #footer_logo{max-width:120px!important;margin-bottom:6px!important;}
    .footer_top .content_cn .item_cn{margin-bottom:12px!important;}
}
@media(max-width:480px){
    .footer_top .ft_mn_right .content.row{grid-template-columns:1fr!important;}
}

/* =====================================================================
   A1 — DẢI LỌC NHANH CÔNG SUẤT (dưới header)
   A2 — NỔI BẬT CATALOG + Ô GỌI MUA HÀNG / GIỎ HÀNG
   ===================================================================== */

/* --- A1: header-quickfilter --- */
.header-quickfilter{background:var(--pts-surface);border-top:1px solid var(--pts-line);border-bottom:1px solid var(--pts-line);}
.header-quickfilter .wrap-content{display:flex;align-items:center;gap:18px;min-height:46px;padding-top:6px;padding-bottom:6px;}
.hqf-label{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;color:var(--pts-gold-dark);font-size:13px;font-weight:800;letter-spacing:.02em;white-space:nowrap;}
.hqf-label i{font-size:12px;}
.hqf-list{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;}
.hqf-list a{
    display:inline-flex;align-items:center;justify-content:center;
    padding:6px 14px;border:1px solid var(--pts-line);border-radius:999px;
    background:#fff;color:var(--pts-navy);font-size:13px;font-weight:750;
    text-decoration:none;transition:.15s;white-space:nowrap;
}
.hqf-list a:hover{border-color:var(--pts-gold);background:var(--pts-cream);color:var(--pts-gold-dark);}
.hqf-list .hqf-all{border-color:transparent;background:transparent;color:var(--pts-gold-dark);font-weight:800;padding-left:8px;}
.hqf-list .hqf-all:hover{background:transparent;text-decoration:underline;}

/* --- A2: ô "Gọi mua hàng" trong header --- */
.hdr-call{display:inline-flex;align-items:center;gap:10px;text-decoration:none;margin-right:16px;}
.hdr-call .hdr-call-ic{
    display:inline-flex;align-items:center;justify-content:center;
    width:40px;height:40px;border-radius:50%;flex:0 0 auto;
    background:var(--pts-cream);color:var(--pts-gold-dark);font-size:17px;
}
.hdr-call .hdr-call-txt{display:flex;flex-direction:column;line-height:1.2;}
.hdr-call .hdr-call-txt small{color:var(--pts-muted);font-size:11px;font-weight:600;}
.hdr-call .hdr-call-txt b{color:var(--pts-gold-dark);font-size:16px;font-weight:900;letter-spacing:.01em;}

/* --- A2: nhãn "Giỏ hàng" cạnh icon --- */
.icon-cart-header .hdr-cart-txt{margin-right:7px;color:var(--pts-navy);font-size:14px;font-weight:750;}

/* --- A2: nổi bật mục "Sản phẩm" như nút catalog --- */
.menu>div>ul>li.menu-catalog>a{
    background:var(--pts-gold-metal)!important;color:var(--pts-navy-deep)!important;
    padding:11px 18px!important;border-radius:10px!important;font-weight:900!important;
    box-shadow:0 6px 16px rgba(156,116,32,.24);
}
.menu>div>ul>li.menu-catalog>a i{margin-right:6px;font-size:13px;}
.menu>div>ul>li.menu-catalog>a:hover,
.menu>div>ul>li.menu-catalog>a.active{color:var(--pts-navy-deep)!important;filter:brightness(1.05);}
/* menu con của catalog không đổi */
.menu>div>ul>li.menu-catalog ul li a{background:#fff!important;}
.menu>div>ul>li.menu-catalog>ul{overflow:visible!important;}
.menu>div>ul>li.menu-catalog>ul>li>ul{z-index:2;}

/* --- Responsive --- */
@media(max-width:1280px){
    .hdr-call .hdr-call-txt small{display:none;}
    .hdr-call .hdr-call-txt b{font-size:14px;}
    .icon-cart-header .hdr-cart-txt{display:none;}
}
@media(max-width:992px){
    .hdr-call .hdr-call-txt{display:none;}
    .hdr-call{margin-right:10px;}
}
@media(max-width:640px){
    .header-quickfilter .wrap-content{gap:10px;min-height:42px;overflow:hidden;}
    .hqf-label{font-size:12px;}
    .hqf-label span{display:none;}
    .hqf-list{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
    .hqf-list a{padding:5px 12px;font-size:12.5px;}
    .hdr-call .hdr-call-ic{width:36px;height:36px;font-size:15px;}
}

/* --- A1/A2 tinh chỉnh: tránh chen chật hàng header --- */
.menu>div>ul{gap:16px!important;}
.menu>div>ul>li>a{font-size:15.5px!important;padding:16px 0!important;letter-spacing:0!important;}
.menu>div>ul>li.menu-catalog>a{
    padding:9px 14px!important;border-radius:9px!important;font-size:15px!important;
    box-shadow:0 4px 12px rgba(156,116,32,.20)!important;white-space:nowrap;
}
.menu>div>ul>li.menu-catalog>a i{margin-right:5px;font-size:12px;}
.header-bottom .wrap-content{gap:20px!important;}
.header-right-style{gap:14px!important;}
.header-bottom .logo img,.header .logo img,#logo img{max-height:52px!important;}
.hdr-call{margin-right:12px;}
.hdr-call .hdr-call-ic{width:36px;height:36px;font-size:15px;}
.hdr-call .hdr-call-txt b{font-size:14.5px;}
@media(max-width:1440px){
    .hdr-call .hdr-call-txt small{display:none;}
    .icon-cart-header .hdr-cart-txt{display:none;}
}
@media(max-width:1180px){
    .hdr-call .hdr-call-txt{display:none;}
}

/* =====================================================================
   HEADER — hạ chiều cao về mức gọn, gộp dải công suất vào header
   Nguyên nhân header cao bất thường: style.css đặt `.menu > div > ul > li
   { padding: 40px 0 }` (mỗi mục menu +80px). Ghi đè để chiều cao do
   padding của thẻ <a> quyết định.
   ===================================================================== */
.menu>div>ul>li{padding:0!important;}
.menu>div>ul>li>a{padding:12px 0!important;}
.header-bottom .wrap-content{min-height:70px!important;padding-top:6px!important;padding-bottom:6px!important;}
.menu>div>ul>li.menu-catalog>a{padding:8px 13px!important;}
.header-bottom .logo img,.header .logo img,#logo img{max-height:46px!important;}
.hdr-call .hdr-call-ic{width:34px!important;height:34px!important;font-size:14px!important;}

/* Dải công suất: gọn như phần bụng của header, không còn là "bar" riêng */
.header-quickfilter{background:#fff!important;border-top:1px solid var(--pts-line)!important;border-bottom:1px solid var(--pts-line)!important;}
.header-quickfilter .wrap-content{min-height:0!important;padding-top:7px!important;padding-bottom:7px!important;gap:14px!important;}
.hqf-list a{padding:4px 12px!important;font-size:12.5px!important;}
.hqf-label{font-size:12px!important;}

@media(max-width:640px){
    .header-bottom .wrap-content{min-height:58px!important;}
    .header-quickfilter .wrap-content{padding-top:6px!important;padding-bottom:6px!important;}
}
.header-quickfilter .wrap-content{padding-right:70px!important;}
@media(max-width:640px){ .header-quickfilter .wrap-content{padding-right:16px!important;} }

/* Dải danh mục nổi bật: một hàng cuộn ngang, không xuống dòng tạo khoảng trống. */
.home-3 .pts-home-category-wrap{display:grid;grid-template-columns:42px minmax(0,1fr) 42px;align-items:center;gap:12px;width:100%;margin-top:26px;}
body .home-3 .tab-switcher ul.pts-home-category-grid{
    display:flex!important;
    flex-wrap:nowrap!important;
    gap:16px;
    width:100%;
    margin:0!important;
    padding:4px 2px 14px!important;
    list-style:none;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-behavior:smooth;
    scroll-snap-type:x proximity;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
}
.home-3 .pts-home-category-grid::-webkit-scrollbar{display:none}
.home-3 .pts-home-category-grid>li{display:block!important;min-width:0;flex:0 0 clamp(140px,12vw,175px);text-align:center;scroll-snap-align:start;}
.home-3 .pts-category-scroll{display:flex;width:42px;height:42px;align-items:center;justify-content:center;border:1px solid var(--pts-line);border-radius:50%;background:#fff;color:var(--pts-navy);box-shadow:0 7px 20px rgba(15,23,42,.09);cursor:pointer;transition:.18s}
.home-3 .pts-category-scroll:hover{border-color:var(--pts-gold);background:var(--pts-gold);transform:translateY(-1px)}
.home-3 .pts-category-scroll:disabled{opacity:.28;cursor:default;transform:none}
.home-3 .pts-home-category-grid>li>a{
    display:flex!important;
    flex-direction:column;
    align-items:center;
    justify-content:flex-start;
    gap:7px;
    min-height:118px;
    height:100%!important;
    padding:10px 8px!important;
    border:1px solid var(--pts-line)!important;
    border-radius:14px!important;
    background:#fff!important;
    color:var(--pts-navy)!important;
    box-shadow:0 8px 24px rgba(15,23,42,.06)!important;
}
.home-3 .pts-home-category-image{
    display:flex!important;
    align-items:center;
    justify-content:center;
    width:100%;
    aspect-ratio:1/1;
    padding:4px;
    border-radius:12px;
    background:#f8fafc;
    overflow:hidden;
}
.home-3 .pts-home-category-image img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .2s ease;}
.home-3 .pts-home-category-image>i{font-size:44px;color:var(--pts-gold-dark);filter:drop-shadow(0 5px 10px rgba(182,125,46,.16));}
.home-3 .pts-home-category-grid>li>a>span:last-child{font-size:14px;line-height:1.35;font-weight:850;}
.home-3 .pts-home-category-grid>li>a:hover{transform:translateY(-2px);border-color:var(--pts-gold)!important;box-shadow:0 12px 30px rgba(15,23,42,.1)!important;}
.home-3 .pts-home-category-grid>li>a:hover img{transform:scale(1.05);}
.home-3 .pts-home-category-grid>li.uk-active>a{border-color:var(--pts-gold)!important;background:#fffaf0!important;box-shadow:0 10px 28px rgba(182,125,46,.18)!important;}
@media(max-width:991px){
    .home-3 .pts-home-category-grid>li{flex-basis:160px}
}
@media(max-width:640px){
    .home-3 .pts-home-category-wrap{display:block;margin-top:20px;}
    .home-3 .pts-category-scroll{display:none}
    body .home-3 .tab-switcher ul.pts-home-category-grid{gap:10px;}
    .home-3 .pts-home-category-grid>li{flex-basis:108px}
    .home-3 .pts-home-category-grid>li>a{min-height:100px;padding:8px 6px!important;border-radius:12px!important;}
    .home-3 .pts-home-category-image{aspect-ratio:1/1;}
    .home-3 .pts-home-category-grid>li>a>span:last-child{font-size:11.5px;}
}

/* =====================================================================
   THANH SẮP XẾP / BỘ LỌC LISTING — gọn lại
   Bỏ icon + tiêu đề "Sản phẩm / Sắp xếp danh sách theo nhu cầu".
   Sắp xếp = combobox (đủ tuỳ chọn) thay cho dãy pill.
   ===================================================================== */
.filter_product{
    padding:12px 16px!important;margin-bottom:18px!important;gap:12px!important;
    justify-content:flex-end!important;box-shadow:0 4px 14px rgba(15,23,42,.04)!important;
}
.filter_product .filter-heading,
.filter_product .sort-pill-group,
.filter_product .name_title{display:none!important;}

.filter_product .fp-sort{display:flex;align-items:center;gap:9px;}
.filter_product .fp-sort label{
    margin:0;color:#64748b;font-size:13px;font-weight:700;white-space:nowrap;
}
.filter_product select.orderby{
    display:inline-block!important;appearance:none;-webkit-appearance:none;
    min-height:40px;padding:0 34px 0 14px;border:1px solid var(--pts-line);border-radius:9px;
    background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%230a2251' stroke-width='3' stroke-linecap='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 12px center;
    color:var(--pts-navy);font-size:13.5px;font-weight:750;cursor:pointer;
    min-width:150px;
}
.filter_product select.orderby:focus{outline:none;border-color:var(--pts-gold);}

/* Nút mở bộ lọc (mobile): bo góc nhỏ */
.btn-filter-product{border-radius:8px!important;}

@media(max-width:991px){
    .filter_product{justify-content:space-between!important;flex-wrap:nowrap!important;align-items:center!important;}
    .filter_product .fp-sort{flex:1 1 auto;justify-content:flex-end;}
    .filter_product .fp-sort label{display:none;}
    .filter_product select.orderby{min-width:0;width:auto;max-width:170px;}
    .btn-filter-product{width:auto!important;flex:0 0 auto;order:0!important;}
}

/* =====================================================================
   NGÔN NGỮ TRONG SIDEBAR MOBILE (mmenu)
   ===================================================================== */
/* Hàng "Ngôn ngữ" trong drawer: link ngôn ngữ (đọc từ gtranslateSettings) */
.mm-lang{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:8px 12px;padding:12px 20px 16px!important;}
.mm-lang .mm-lang-title{
    flex:0 0 auto;
    font-family:"Plus Jakarta Sans","Mulish",sans-serif!important;
    color:#1f2937;font-size:15px;font-weight:650;
}
.mm-lang .mm-lang-links{display:flex;flex-wrap:wrap;gap:6px;}
.mm-lang .mm-lang-links a{
    display:inline-flex;align-items:center;justify-content:center;
    min-width:38px;height:32px;padding:0 9px;border:1px solid var(--pts-line);border-radius:8px;
    color:#475569;font-size:12.5px;font-weight:800;text-decoration:none;letter-spacing:.02em;line-height:1;
}
.mm-lang .mm-lang-links a.active{background:var(--pts-navy);border-color:var(--pts-navy);color:#fff;}
.mm-lang .mm-lang-links a:active{opacity:.75;}
/* Ẩn công tắc ngôn ngữ ở header khi vào chế độ mobile (đã chuyển vào sidebar) */
@media(max-width:991px){
    .flex-search-lang>.gtranslate_wrapper{display:none!important;}
}

/* =====================================================================
   FONT & GIAO DIỆN SIDEBAR MOBILE (mmenu v8)
   ===================================================================== */
.mm-menu{
    --mm-color-text:#1f2937;
    --mm-color-text-dimmed:#94a3b8;
    --mm-color-border:#eef0f4;
    --mm-color-background-highlight:#fffaf0;
    --mm-listitem-size:52px;
    font-family:"Plus Jakarta Sans","Mulish",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif!important;
}
.mm-menu .mm-listitem__text,
.mm-menu .mm-listitem a,
.mm-menu .mm-navbar__title{
    font-family:inherit!important;
}
.mm-menu .mm-listitem__text{font-size:15px!important;font-weight:650!important;letter-spacing:.005em;}
.mm-menu .mm-navbar__title{font-weight:900!important;font-size:15px!important;color:var(--pts-navy)!important;}
.mm-menu .mm-listitem_selected>.mm-listitem__text{color:var(--pts-gold-dark)!important;font-weight:800!important;}
.mm-menu .mm-listitem:after{left:20px!important;}

/* =====================================================================
   BREADCRUMB DÀI TRÊN MOBILE — cắt gọn cấp cuối, không xuống dòng lộn xộn
   ===================================================================== */
@media(max-width:768px){
    .breadCrumbs .breadcrumb{flex-wrap:nowrap!important;overflow:hidden;align-items:center;}
    .breadCrumbs .breadcrumb-item{flex:0 0 auto;white-space:nowrap;}
    .breadCrumbs .breadcrumb-item.active{
        flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
    }
    .breadCrumbs .breadcrumb-item.active a{
        display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;
    }
    /* nếu có >2 cấp thì ẩn cấp giữa, chỉ giữ Trang chủ › ... › [hiện tại] */
    .breadCrumbs .breadcrumb-item:not(:first-child):not(.active):not(:nth-last-child(2)){display:none;}
}

/* =====================================================================
   HOME "GIẢI PHÁP" (.home-2) — hộp thông số bị ép hẹp, chữ xuống dòng vô lý
   ===================================================================== */
.home-2 .tabs-container .inner{max-width:none!important;}
/* Bỏ mọi ràng buộc lưới/legacy làm hộp bị bóp; tự dựng flex 2-up/1-up. */
.home-2 .fullcontent ul{
    display:flex!important;flex-wrap:wrap!important;grid-template-columns:none!important;
    gap:12px!important;margin:0!important;padding:0!important;list-style:none;
}
.home-2 .fullcontent ul>li{
    flex:1 1 calc(50% - 6px)!important;min-width:158px!important;max-width:none!important;
    width:auto!important;margin:0!important;box-sizing:border-box!important;
    padding:14px 16px!important;
}
.home-2 .fullcontent .small-text{
    font-size:12px!important;font-weight:700!important;line-height:1.35!important;
    word-break:keep-all;overflow-wrap:normal;
}
.home-2 .fullcontent .number{
    font-size:22px!important;line-height:1.15!important;white-space:nowrap;word-break:keep-all;
}
.home-2 .fullcontent .number small{font-size:11px!important;white-space:nowrap;display:inline-block;}
@media(max-width:560px){
    .home-2 .fullcontent ul>li{flex:1 1 100%!important;min-width:0!important;}
}
/* mũi tên slider: gọn, tinh tế, không đè nội dung */
.home-2 .uk-slidenav{
    background:rgba(255,255,255,.92)!important;border-radius:50%!important;
    width:34px!important;height:34px!important;box-shadow:0 4px 12px rgba(6,21,55,.16)!important;
    display:flex!important;align-items:center;justify-content:center;
}
.home-2 .uk-slidenav-previous{left:6px!important;}
.home-2 .uk-slidenav-next{right:6px!important;}
@media(max-width:991px){
    .home-2 .fullcontent .number{font-size:20px!important;}
    .home-2 .uk-slidenav{width:30px!important;height:30px!important;}
}

/* =====================================================================
   HOME "SẢN PHẨM NỔI BẬT" (.home-3) — mobile: cuộn ngang thay vì lưới cao
   ===================================================================== */
@media(max-width:640px){
    body .home-3 .tab-switcher ul.pts-home-category-grid{
        display:flex!important;flex-wrap:nowrap!important;grid-template-columns:none!important;
        overflow-x:auto!important;overflow-y:hidden!important;-webkit-overflow-scrolling:touch;
        gap:10px!important;padding-bottom:8px!important;
        scroll-snap-type:x proximity;
        scrollbar-width:thin;
    }
    .home-3 .pts-home-category-grid>li{
        flex:0 0 138px!important;scroll-snap-align:start;
    }
    .home-3 .pts-home-category-grid>li>a{min-height:150px;}
    .home-3 .pts-home-category-wrap{
        margin-left:calc(-1 * var(--pts-gutter));margin-right:calc(-1 * var(--pts-gutter));
        padding-left:var(--pts-gutter);padding-right:var(--pts-gutter);
    }
}

/* Dải công suất: chỉ còn icon sấm sét, bỏ chữ "Chọn theo công suất" */
.hqf-label{flex:0 0 auto;gap:0!important;color:var(--pts-gold-dark)!important;font-size:0!important;}
.hqf-label i{font-size:15px!important;}
@media(max-width:640px){ .hqf-label i{font-size:14px!important;} }

/* =====================================================================
   HERO TRANG TRONG — hạ chiều cao, bỏ tiêu đề lớn
   Chủ project: banner đầu trang quá cao và chữ "GIẢI PHÁP/…" quá to.
   Giữ lại breadcrumb làm ngữ cảnh; <span> tiêu đề không phải <h1> nên
   ẩn không ảnh hưởng SEO (đã có thẻ <title> + h1 trong nội dung).
   ===================================================================== */
.page-title{min-height:64px!important;display:flex!important;align-items:center!important;}
.page-title .wrap-content2{padding-top:0!important;padding-bottom:0!important;}
.page-title .title-page,
.page-title .line-page{display:none!important;}
.page-title:before{background:linear-gradient(90deg,rgba(6,21,55,.92),rgba(10,34,81,.78))!important;}
.breadCrumbs{margin:0!important;}
.breadCrumbs .breadcrumb-item a{font-size:14.5px!important;line-height:20px!important;}
@media(max-width:768px){
    .page-title{min-height:56px!important;}
    .breadCrumbs .breadcrumb-item a{font-size:13px!important;}
}

/* =====================================================================
   CHI TIẾT SẢN PHẨM — CỤM NÚT CTA TRÊN MOBILE
   Trước: "Gọi báo giá / Gửi yêu cầu báo giá" là 2 cột 174px -> chữ dồn 2-3
   dòng, cao 104px, xấu. Xếp 1 cột full-width, các nút cùng cỡ.
   ===================================================================== */
@media(max-width:576px){
    .btn-contact-price{grid-template-columns:1fr!important;gap:10px!important;}
    .btn-product-detail a,
    .btn-contact-price a{
        min-height:48px!important;height:auto!important;padding:12px 16px!important;
        font-size:13.5px!important;line-height:1.3!important;border-radius:8px!important;
        white-space:normal;
    }
    .btn-contact-price a:first-child{flex-wrap:wrap;}
    .btn-product-detail{gap:10px!important;margin-bottom:10px!important;}
}

/* =====================================================================
   NÚT "XEM TẤT CẢ" SECTION DỰ ÁN (.home-6 .btn-all)
   Đổi từ nút vàng gradient (lạc thiết kế) sang pill viền vàng, nền trắng,
   chữ vàng, có mũi tên — đồng bộ với các nút "Xem tất cả" khác.
   ===================================================================== */
body .home-6 .btn-all{
    display:inline-flex!important;align-items:center;gap:8px;
    border:1.5px solid var(--pts-gold)!important;border-radius:999px!important;
    background:#fff!important;background-image:none!important;
    color:var(--pts-gold-dark)!important;
    padding:9px 22px!important;font-size:13px!important;font-weight:800!important;
    box-shadow:none!important;text-decoration:none!important;transition:.18s!important;
}
body .home-6 .btn-all i{font-size:11px;transition:transform .18s;}
body .home-6 .btn-all:hover{
    background:var(--pts-gold-metal)!important;background-image:var(--pts-gold-metal)!important;
    border-color:transparent!important;color:var(--pts-navy-deep)!important;
    filter:none!important;box-shadow:0 8px 20px rgba(182,125,46,.28)!important;
}
body .home-6 .btn-all:hover i{transform:translateX(3px);}

/* =====================================================================
   FORM "GỬI NHẬN XÉT" — nút chọn ảnh / chọn video / gửi về đúng bộ màu
   (trước: "Chọn Ảnh" xanh Bootstrap, "Chọn" xám, "Gửi nhận xét" vàng amber)
   ===================================================================== */
/* Nút "Chọn Ảnh" — .review-fileuploader-button (đang mang class btn-primary) */
#comment-write .review-fileuploader-button,
#comment-write .review-fileuploader-button.btn-primary{
    background:var(--pts-navy)!important;background-image:none!important;
    border:1px solid var(--pts-navy)!important;color:#fff!important;
    font-weight:800!important;border-radius:8px!important;box-shadow:none!important;
    cursor:pointer;
}
#comment-write .review-fileuploader-button:hover{
    background:var(--pts-navy-deep)!important;border-color:var(--pts-navy-deep)!important;
}

/* Nút "Chọn" của input file video (Bootstrap custom-file) */
#comment-write .custom-file-label::after,
.custom-file-input#review-file-video ~ .custom-file-label::after{
    background:var(--pts-navy)!important;color:#fff!important;
    border-color:var(--pts-navy)!important;font-weight:700!important;
}
#comment-write .custom-file-input:hover ~ .custom-file-label::after{
    background:var(--pts-navy-deep)!important;
}
#comment-write .custom-file-label{border-color:var(--pts-line)!important;}

/* Nút "Gửi nhận xét" (btn-warning) -> vàng kim của theme */
#comment-write .btn.btn-warning,
#form-comment button[type="submit"].btn-warning{
    background:var(--pts-gold-metal)!important;background-image:var(--pts-gold-metal)!important;
    background-color:transparent!important;border:0!important;color:var(--pts-navy-deep)!important;
    font-weight:900!important;border-radius:8px!important;
    box-shadow:0 6px 18px rgba(182,125,46,.28)!important;
}
#comment-write .btn.btn-warning:hover{filter:brightness(1.05);}

/* Khối "Đánh giá sản phẩm" — nút "Viết nhận xét của bạn" + số điểm về bộ màu */
.comment-statistic .btn.btn-warning,
.comment-statistic .btn-write-comment{
    background:var(--pts-gold-metal)!important;background-image:var(--pts-gold-metal)!important;
    background-color:transparent!important;border:0!important;color:var(--pts-navy-deep)!important;
    font-weight:900!important;border-radius:8px!important;
    box-shadow:0 6px 18px rgba(182,125,46,.28)!important;
}
.comment-statistic .btn.btn-warning:hover,
.comment-statistic .btn-write-comment:hover{filter:brightness(1.05);}
.comment-statistic .comment-point,
.comment-statistic .comment-point strong{color:var(--pts-navy)!important;}
#button-contact-vr{position:fixed;right:15px;bottom:130px;z-index:99999;}
#button-contact-vr .button-contact{position:relative;margin-top:-5px;}
#button-contact-vr .button-contact .phone-vr{position:relative;width:90px;height:90px;display:block;}
#button-contact-vr .phone-vr-circle-fill{position:absolute;width:65px;height:65px;top:12px;left:12px;border-radius:50%;}
#button-contact-vr .phone-vr-img-circle{position:absolute;width:40px;height:40px;top:25px;left:25px;border-radius:50%;overflow:hidden;display:flex;justify-content:center;}
#button-contact-vr .phone-vr-img-circle img{position:absolute;max-width:27px;max-height:25px;top:50%;left:50%;transform:translate(-50%,-50%);}
.pts-product-content{font:inherit;color:inherit;line-height:1.75;overflow-wrap:anywhere}.pts-product-content h1{font-size:1.75rem}.pts-product-content h2{font-size:1.5rem}.pts-product-content h3{font-size:1.25rem}.pts-product-content h2,.pts-product-content h3{color:var(--pts-navy);margin:1.4em 0 .65em}.pts-product-content img,.pts-product-content iframe,.pts-product-content video{max-width:100%!important;height:auto}.pts-product-content table{width:100%!important}.pts-product-content [style]{font-family:inherit!important;line-height:inherit!important}.pts-policy-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.pts-policy-links a{display:block;border:1px solid #e5e9ef;border-radius:9px;padding:12px;color:var(--pts-navy);font-weight:600}
@media(max-width:640px){.pts-policy-links{grid-template-columns:1fr}}

/* ============================================================
   TAB "MÔ TẢ SẢN PHẨM": một cột kể chuyện, MỘT kiểu tiêu đề.
   Thay cho pts-description-canvas / pts-detail-duo / pts-product-story
   đã bỏ (gallery "story" trùng gallery đầu trang; các badge số, vòng
   tròn xanh, ô vuông navy làm rối thị giác).
   ============================================================ */
.pts-product-desc{width:min(100%,820px);margin:0 auto;padding:34px 30px 42px}
.pts-product-desc>section{margin-bottom:34px}
.pts-product-desc>section:last-child{margin-bottom:0}
.pts-desc-title{position:relative;margin:0 0 16px!important;padding-bottom:11px;color:var(--pts-navy)!important;font-size:20px!important;font-weight:900!important;line-height:1.3}
.pts-desc-title:after{content:"";position:absolute;left:0;bottom:0;width:42px;height:3px;border-radius:99px;background:var(--pts-gold)}
.pts-spec-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.pts-spec-chips li{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border:1px solid var(--pts-line);border-radius:999px;background:#fff;color:var(--pts-navy);font-size:13px;font-weight:700;line-height:1.3}
.pts-spec-chips li:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:var(--pts-gold)}
.pts-desc-list,.pts-desc-list li{list-style:none!important}
.pts-desc-list{margin:0;padding:0}
.pts-desc-list li{position:relative;padding:9px 0 9px 26px;border-bottom:1px solid #f1f3f6;color:#475569;font-size:14.5px;line-height:1.7}
.pts-desc-list li:last-child{border-bottom:0}
.pts-desc-list li:before{position:absolute;left:0;top:9px;color:var(--pts-gold-dark);font-weight:900}
.pts-desc-list--ul li:before{content:"\2013"}
.pts-desc-list--ol{counter-reset:pts-desc-step}
.pts-desc-list--ol li{counter-increment:pts-desc-step}
.pts-desc-list--ol li:before{content:counter(pts-desc-step) "."}
.pts-desc-legacy{color:#475569}
.pts-desc-legacy>*:first-child{margin-top:0!important}
.pts-desc-legacy p{margin:0 0 16px!important}
.pts-desc-legacy img{display:block;max-width:100%!important;height:auto!important;margin:22px auto!important;border-radius:12px}
.pts-desc-legacy table{width:100%!important}

/* Khối nội dung dùng chung: heading | text | image | media | list */
.pts-desc-sections{margin:0}
.pts-desc-block-flow>*+*{margin-top:20px}
.pts-desc-subtitle{margin:34px 0 2px!important;color:var(--pts-navy)!important;font-size:18px!important;font-weight:800!important;line-height:1.35}
.pts-desc-block-flow>*:first-child{margin-top:0}
.pts-desc-para{margin:0;color:#475569;font-size:14.5px;line-height:1.75}
.pts-desc-figure{margin:0}
.pts-desc-figure-img{display:block;width:100%;height:auto;border:1px solid var(--pts-line);border-radius:14px}
.pts-desc-figure figcaption{margin-top:8px;color:#64748b;font-size:13px;text-align:center}
.pts-desc-media{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;align-items:center}
.pts-desc-media--right .pts-desc-media-media{order:2}
.pts-desc-media--center{grid-template-columns:1fr;justify-items:center;text-align:center;gap:14px}
.pts-desc-media--center .pts-desc-media-media{max-width:640px;width:100%}
.pts-desc-media--center .pts-desc-media-body{max-width:680px}
.pts-desc-media-body strong{display:block;margin-bottom:8px;color:var(--pts-navy);font-size:17px;font-weight:800;line-height:1.35}
.pts-desc-media-body p{margin:0;color:#475569;font-size:14.5px;line-height:1.7}
@media(max-width:640px){
    .pts-desc-media{grid-template-columns:1fr;gap:12px}
    .pts-desc-media--right .pts-desc-media-media{order:0}
    .pts-desc-subtitle{margin-top:26px!important}
}
@media(max-width:640px){
    .pts-product-desc{padding:24px 16px 30px}
}

/* Banner quảng cáo đầu trang (sự kiện/khuyến mãi theo đợt) */
.pts-topbar-banner{width:100%;line-height:0;overflow:hidden}
.pts-topbar-banner img{width:100%;height:auto;display:block}

/* Popup sự kiện chỉ là artwork; hỗ trợ cả JPG toàn khung và PNG tách nền. */
#popup .pts-popup-dialog{width:auto;max-width:min(800px,calc(100vw - 40px));margin-right:auto;margin-left:auto}
#popup .pts-popup-content{position:relative;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important}
#popup .pts-popup-media{display:block;line-height:0;background:transparent}
#popup .pts-popup-media img{display:block;width:auto;max-width:100%;max-height:calc(100vh - 48px);height:auto;margin:auto;object-fit:contain;background:transparent}
#popup .pts-popup-close{position:absolute;z-index:3;top:8px;right:8px;display:flex;width:36px;height:36px;align-items:center;justify-content:center;padding:0!important;border:0!important;border-radius:0;background:transparent!important;color:#fff!important;font-size:30px;font-weight:400;line-height:1;opacity:.9!important;text-shadow:0 1px 5px rgba(0,0,0,.75)!important;box-shadow:none!important}
#popup .pts-popup-close:hover{background:transparent!important;color:var(--pts-gold)!important;opacity:1!important}
@media(max-width:575px){#popup .pts-popup-dialog{max-width:calc(100vw - 20px)}#popup .pts-popup-close{top:6px;right:6px;width:32px;height:32px;font-size:22px}}

/* Breadcrumb chỉ giữ vai trò điều hướng: không ảnh nền, không hero chiếm chỗ. */
.wap-slider.pts-breadcrumb-shell{background:#fff!important;}
.page-title.pts-breadcrumb-bar{min-height:34px!important;height:auto!important;background:transparent!important;border-bottom:1px solid var(--pts-line);box-shadow:none!important;}
.page-title.pts-breadcrumb-bar:before{display:none!important;content:none!important;}
.pts-breadcrumb-bar .wrap-content2{padding-top:5px!important;padding-bottom:5px!important;}
.pts-breadcrumb-bar .breadCrumbs{width:100%!important;margin:0!important;padding:0!important;}
.pts-breadcrumb-bar .breadcrumb{gap:0!important;margin:0!important;padding:0!important;background:transparent!important;line-height:18px!important;}
.pts-breadcrumb-bar .breadcrumb-item{display:flex!important;align-items:center;height:18px;font-size:0!important;line-height:18px!important;}
.pts-breadcrumb-bar .breadcrumb-item a{position:relative;top:0;display:inline-flex!important;align-items:center;font-size:12.5px!important;line-height:18px!important;font-weight:650!important;color:var(--pts-muted)!important;}
.pts-breadcrumb-bar .breadcrumb-item.active a{color:var(--pts-navy)!important;font-weight:750!important;}
.pts-breadcrumb-bar .breadcrumb-item+.breadcrumb-item{padding-left:20px!important;}
.pts-breadcrumb-bar .breadcrumb-item+.breadcrumb-item:before{top:50%!important;left:7px!important;color:#94a3b8!important;font-size:10px!important;}
.pts-breadcrumb-bar .breadcrumb-item a:hover{color:var(--pts-gold-dark)!important;}
@media(max-width:768px){
    .page-title.pts-breadcrumb-bar{min-height:32px!important;}
    .pts-breadcrumb-bar .wrap-content2{padding-top:4px!important;padding-bottom:4px!important;}
    .pts-breadcrumb-bar .breadcrumb,
    .pts-breadcrumb-bar .breadcrumb-item,
    .pts-breadcrumb-bar .breadcrumb-item a{line-height:17px!important;}
    .pts-breadcrumb-bar .breadcrumb-item{height:17px;}
    .pts-breadcrumb-bar .breadcrumb-item.active a{display:inline-flex!important;vertical-align:middle;}
    .pts-breadcrumb-bar .breadcrumb-item a{font-size:11.5px!important;}
}

/* Parent của Back to Top được thu còn 38px trên mobile nhưng pseudo icon cũ
   vẫn giữ hộp 50px, vì vậy tâm mũi tên bị đẩy xuống/phải 6px. Bám icon theo
   chính kích thước vòng tròn để mọi breakpoint luôn đồng tâm. */
.progress-wrap::after{
    inset:0!important;width:100%!important;height:100%!important;line-height:1!important;
    display:flex!important;align-items:center;justify-content:center;transform:translateY(-1px);
}

/* Nút "Xem tất cả" của danh mục đang chọn, hiện ngay trên dải sản phẩm thay vì dưới cùng. */
.home-3 .product-tabs-container{padding-top:14px!important;}
.pts-viewall-top{margin-top:0!important;margin-bottom:30px;}
