/* =========================================================
   THICHLAMBANH
   PRODUCT DETAIL V3
========================================================= */

:root{
    --pdp-pink:#ed0754;
    --pdp-pink-dark:#d90049;
    --pdp-pink-soft:#fff4f7;

    --pdp-text:#2b1e22;
    --pdp-muted:#82757a;

    --pdp-border:#eee5e8;
    --pdp-green:#16854b;

    --pdp-radius:10px;
}


/* =========================================================
   RESET
========================================================= */

.tlb-pdp-service-wrap,
.tlb-pdp-service-wrap *,
.tlb-pdp-page,
.tlb-pdp-page *,
.tlb-pdp-sticky,
.tlb-pdp-sticky *{
    box-sizing:border-box;
}


/* =========================================================
   SERVICES
========================================================= */

.tlb-pdp-service-wrap{
    width:100%;

    border-bottom:1px solid #f2edef;

    background:#fff;
}


.tlb-pdp-services{
    width:min(1440px,100%);

    min-height:58px;

    margin:0 auto;

    padding:0 20px;

    display:grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0,1fr)
        );

    align-items:center;

    gap:12px;

    font-family:
        "Be Vietnam Pro",
        Arial,
        sans-serif;
}


.tlb-pdp-service{
    min-width:0;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:9px;
}


.tlb-pdp-service__icon{
    width:27px;
    height:27px;

    flex:0 0 27px;

    display:grid;
    place-items:center;

    color:var(--pdp-pink);

    font-size:15px;
}


.tlb-pdp-service strong{
    display:block;

    color:#3d3034;

    font-size:8px;
    line-height:1.3;

    font-weight:700;
}


.tlb-pdp-service small{
    display:block;

    margin-top:2px;

    color:#94878b;

    font-size:6px;
    line-height:1.3;
}


/* =========================================================
   PAGE
========================================================= */

.tlb-pdp-page{
    width:min(1440px,100%);

    margin:0 auto;

    padding:
        0
        20px
        105px;

    color:var(--pdp-text);

    font-family:
        "Be Vietnam Pro",
        Arial,
        sans-serif;
}


/* =========================================================
   BREADCRUMB
========================================================= */

.tlb-product-breadcrumb{
    min-height:42px;

    display:flex;

    align-items:center;
    flex-wrap:wrap;

    gap:7px;

    border-bottom:
        1px
        solid
        #f4edef;

    color:#95888d;

    font-size:7px;
}


.tlb-product-breadcrumb a{
    color:#776a6e;

    text-decoration:none;
}


.tlb-product-breadcrumb a:hover{
    color:var(--pdp-pink);
}


.tlb-product-breadcrumb strong{
    color:#372a2f;

    font-weight:600;
}


/* =========================================================
   MAIN 2-COLUMN SHELL
========================================================= */

.tlb-pdp-shell{
    display:grid;

    grid-template-columns:
        220px
        minmax(0,1fr);

    gap:14px;

    align-items:start;

    padding-top:12px;
}


.tlb-pdp-sidebar,
.tlb-pdp-content-column{
    min-width:0;
}


/* =========================================================
   SIDEBAR CATEGORY
========================================================= */

.tlb-pdp-category-box{
    overflow:hidden;

    border:
        1px
        solid
        var(--pdp-border);

    border-radius:9px;

    background:#fff;
}


.tlb-pdp-category-title{
    min-height:40px;

    padding:0 13px;

    display:flex;

    align-items:center;

    gap:8px;

    border-bottom:1px solid #eee;

    color:#3b2e32;

    font-size:8px;
    font-weight:700;
}


.tlb-pdp-category-list{
    display:flex;

    flex-direction:column;
}


.tlb-pdp-category-list a{
    min-height:36px;

    padding:0 12px;

    display:grid;

    grid-template-columns:
        20px
        minmax(0,1fr)
        10px;

    align-items:center;

    gap:6px;

    border-bottom:
        1px
        solid
        #f3edef;

    color:#514348;

    text-decoration:none;

    font-size:7px;
}


.tlb-pdp-category-list a:last-child{
    border-bottom:0;
}


.tlb-pdp-category-list a:hover,
.tlb-pdp-category-list a.active{
    color:var(--pdp-pink);

    background:#fff4f7;
}


.tlb-pdp-category-name{
    min-width:0;

    overflow:hidden;

    text-overflow:ellipsis;

    white-space:nowrap;
}


.tlb-pdp-category-icon{
    color:#7f7277;

    text-align:center;
}


.tlb-pdp-category-list b{
    color:#b5aaae;

    font-size:11px;

    font-weight:400;
}


.tlb-pdp-category-more{
    min-height:30px;

    margin:9px;

    display:flex;

    align-items:center;
    justify-content:center;

    border:1px solid #eee;

    border-radius:6px;

    color:#817579;

    font-size:6.5px;

    text-decoration:none;
}


/* =========================================================
   SIDEBAR AI
========================================================= */

.tlb-pdp-side-ai{
    position:relative;

    min-height:145px;

    margin-top:11px;

    padding:13px;

    overflow:hidden;

    border:
        1px
        solid
        #ffd9e5;

    border-radius:9px;

    background:
        linear-gradient(
            135deg,
            #fff9fb,
            #fff1f6
        );
}


.tlb-pdp-side-ai > span{
    display:block;

    color:var(--pdp-pink);

    font-size:6.5px;
    font-weight:700;
}


.tlb-pdp-side-ai strong{
    display:block;

    width:60%;

    margin-top:7px;

    color:#45373c;

    font-size:7px;
    line-height:1.55;
}


.tlb-pdp-side-ai a{
    position:absolute;

    z-index:3;

    left:13px;
    bottom:13px;

    min-height:28px;

    padding:0 11px;

    display:flex;

    align-items:center;

    border-radius:5px;

    color:#fff;
    background:var(--pdp-pink);

    font-size:6px;
    font-weight:700;

    text-decoration:none;
}


.tlb-pdp-side-ai img{
    position:absolute;

    right:-1px;
    bottom:-2px;

    width:92px;

    pointer-events:none;
}


/* =========================================================
   SIDE PRODUCTS
========================================================= */

.tlb-pdp-side-products{
    margin-top:11px;

    padding:11px;

    border:
        1px
        solid
        var(--pdp-border);

    border-radius:9px;

    background:#fff;
}


.tlb-pdp-side-products__heading{
    margin-bottom:6px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:8px;
}


.tlb-pdp-side-products__heading strong{
    color:#413338;

    font-size:7px;
}


.tlb-pdp-side-products__heading a{
    color:#a19599;

    font-size:5.5px;

    text-decoration:none;
}


.tlb-pdp-side-product{
    min-height:55px;

    display:grid;

    grid-template-columns:
        46px
        minmax(0,1fr);

    align-items:center;

    gap:7px;

    border-bottom:
        1px
        solid
        #f3edef;

    text-decoration:none;
}


.tlb-pdp-side-product:last-child{
    border-bottom:0;
}


.tlb-pdp-side-product img{
    width:46px;
    height:46px;

    object-fit:contain;
}


.tlb-pdp-side-product strong{
    display:-webkit-box;

    overflow:hidden;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;

    color:#4d4044;

    font-size:6px;
    line-height:1.35;
}


.tlb-pdp-side-product b{
    display:block;

    margin-top:4px;

    color:var(--pdp-pink);

    font-size:7px;
}


/* =========================================================
   TOP PRODUCT AREA
========================================================= */

.tlb-pdp-product-top{
    display:grid;

    grid-template-columns:
        minmax(300px,.95fr)
        minmax(330px,1fr)
        255px;

    gap:15px;

    align-items:start;
}


/* =========================================================
   GALLERY
========================================================= */

.tlb-product-gallery{
    min-width:0;
}


.tlb-product-gallery__layout{
    display:grid;

    grid-template-columns:
        55px
        minmax(0,1fr);

    gap:9px;
}


.tlb-product-thumbnails{
    display:flex;

    flex-direction:column;

    gap:7px;
}


.tlb-product-thumbnails button{
    width:55px;
    height:55px;

    padding:4px;

    overflow:hidden;

    border:1px solid #eee;

    border-radius:7px;

    background:#fff;

    cursor:pointer;
}


.tlb-product-thumbnails button.active{
    border-color:var(--pdp-pink);
}


.tlb-product-thumbnails img{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;
}


.tlb-product-main-image{
    width:100%;

    aspect-ratio:1/1;

    min-height:350px;

    padding:25px;

    display:flex;

    align-items:center;
    justify-content:center;

    overflow:hidden;

    border:
        1px
        solid
        #eee;

    border-radius:9px;

    background:#fff;
}


.tlb-product-main-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;
}


/* =========================================================
   GALLERY BENEFITS
========================================================= */

.tlb-pdp-gallery-benefits{
    margin-top:10px;

    display:grid;

    grid-template-columns:
        repeat(
            5,
            minmax(0,1fr)
        );

    gap:3px;
}


.tlb-pdp-gallery-benefits > div{
    min-height:49px;

    display:flex;

    flex-direction:column;

    align-items:center;
    justify-content:center;

    color:#73666a;

    font-size:5.5px;

    text-align:center;
}


.tlb-pdp-gallery-benefits b{
    width:24px;
    height:24px;

    margin-bottom:4px;

    display:grid;

    place-items:center;

    border:
        1px
        solid
        #ffb4ca;

    border-radius:50%;

    color:var(--pdp-pink);

    font-size:10px;
}


/* =========================================================
   PRODUCT INFO
========================================================= */

.tlb-product-info{
    min-width:0;

    padding-top:5px;
}


.tlb-product-brand{
    display:inline-flex;

    margin-bottom:5px;

    color:#ff7fa7;

    font-size:6.5px;
    font-weight:700;

    text-decoration:none;
}


.tlb-product-info h1{
    margin:0;

    color:#2f2126;

    font-size:21px;
    line-height:1.35;

    font-weight:700;
}


.tlb-product-rating-line{
    margin-top:8px;

    display:flex;

    align-items:center;
    flex-wrap:wrap;

    gap:6px;

    color:#817479;

    font-size:7px;
}


.tlb-product-rating-stars{
    color:#ffb000;

    letter-spacing:.5px;
}


.tlb-product-rating-line strong{
    color:#4c3e43;
}


.tlb-product-code{
    margin-top:10px;

    color:#918489;

    font-size:7px;
}


.tlb-product-code strong{
    color:#524449;
}


/* =========================================================
   PRICE
========================================================= */

.tlb-product-price-box{
    margin-top:15px;
}


.tlb-product-price{
    color:var(--pdp-pink);

    font-size:25px;
    line-height:1;

    font-weight:800;
}


/* =========================================================
   LIVE INFO
========================================================= */

.tlb-pdp-live-info{
    margin-top:13px;

    display:flex;

    align-items:center;
    flex-wrap:wrap;

    gap:14px;

    color:#75686c;

    font-size:7px;
}


.tlb-pdp-live-info b{
    color:#ff5a00;
}


/* =========================================================
   ASSURANCE
========================================================= */

.tlb-pdp-assurance{
    margin-top:13px;

    padding:11px 13px;

    border:1px solid #eee;

    border-radius:8px;

    background:#fbfbfb;
}


.tlb-pdp-assurance > div{
    min-height:25px;

    display:flex;

    align-items:center;

    gap:8px;

    color:#605257;

    font-size:7px;
}


.tlb-pdp-assurance b{
    width:14px;

    color:var(--pdp-pink);

    text-align:center;
}


/* =========================================================
   STOCK
========================================================= */

.tlb-product-stock{
    margin-top:11px;

    display:flex;

    align-items:center;

    gap:7px;

    color:#72656a;

    font-size:7px;
}


.is-stock{
    color:var(--pdp-green)!important;
}


.is-out{
    color:#d00045!important;
}


/* =========================================================
   BUY COLUMN
========================================================= */

.tlb-pdp-buy-column{
    min-width:0;
}


.tlb-pdp-buy-box{
    padding:13px;

    border:
        1px
        solid
        var(--pdp-border);

    border-radius:9px;

    background:#fff;

    box-shadow:
        0 4px 14px rgba(42,20,28,.03);
}


.tlb-pdp-buy-box h3{
    margin:0 0 12px;

    color:#3e3035;

    font-size:9px;
}


.tlb-pdp-buy-box label{
    display:block;

    margin-bottom:6px;

    color:#5e5055;

    font-size:7px;
}


.tlb-product-quantity{
    width:100%;

    display:grid;

    grid-template-columns:
        32px
        minmax(0,1fr)
        32px;

    overflow:hidden;

    border:1px solid #ddd;

    border-radius:6px;
}


.tlb-product-quantity button{
    width:32px;
    height:32px;

    border:0;

    background:#fff;

    color:#55474c;

    cursor:pointer;
}


.tlb-product-quantity input{
    min-width:0;

    height:32px;

    border:0;
    border-left:1px solid #eee;
    border-right:1px solid #eee;

    outline:0;

    text-align:center;

    font-family:inherit;

    font-size:8px;
}


.tlb-product-buy-now,
.tlb-product-add-cart{
    width:100%;

    height:42px;

    margin-top:9px;

    border-radius:6px;

    font-family:inherit;

    font-size:8px;
    font-weight:700;

    cursor:pointer;
}


.tlb-product-buy-now{
    border:1px solid var(--pdp-pink);

    color:#fff;

    background:var(--pdp-pink);
}


.tlb-product-buy-now small{
    display:block;

    margin-top:2px;

    font-size:5.5px;

    font-weight:400;
}


.tlb-product-add-cart{
    border:1px solid var(--pdp-pink);

    color:var(--pdp-pink);

    background:#fff;
}


.tlb-product-buy-now:hover{
    background:var(--pdp-pink-dark);
}


.tlb-product-buy-now:disabled,
.tlb-product-add-cart:disabled{
    opacity:.45;

    cursor:not-allowed;
}


/* =========================================================
   PAYMENT
========================================================= */

.tlb-pdp-payments{
    margin-top:10px;

    padding-top:9px;

    border-top:1px solid #eee;
}


.tlb-pdp-payments > span{
    display:block;

    margin-bottom:6px;

    color:#918489;

    font-size:5.5px;
}


.tlb-pdp-payments > div{
    display:flex;

    gap:5px;
}


.tlb-pdp-payments b{
    padding:3px 5px;

    border:1px solid #ddd;

    border-radius:3px;

    background:#fff;

    color:#54474b;

    font-size:5.5px;
}


/* =========================================================
   BRANCH
========================================================= */

.tlb-pdp-branch-box{
    margin-top:10px;

    padding:12px;

    border:
        1px
        solid
        var(--pdp-border);

    border-radius:9px;

    background:#fff;
}


.tlb-pdp-branch-box h3{
    margin:
        0
        0
        8px;

    color:#403237;

    font-size:8px;
}


.tlb-pdp-branch-row{
    min-height:24px;

    display:flex;

    align-items:center;
    justify-content:space-between;

    gap:8px;

    border-bottom:
        1px
        solid
        #f5eff1;

    font-size:6.5px;
}


.tlb-pdp-branch-row:last-child{
    border-bottom:0;
}


.tlb-pdp-branch-row strong{
    color:#55474c;

    font-weight:600;
}


.tlb-pdp-branch-row span{
    flex:0 0 auto;

    font-size:6px;
    font-weight:700;
}


/* =========================================================
   SOCIAL PROOF
========================================================= */

.tlb-pdp-proof{
    margin-top:13px;

    display:grid;

    grid-template-columns:
        repeat(
            3,
            minmax(0,1fr)
        );

    overflow:hidden;

    border:
        1px
        solid
        #ffe0e9;

    border-radius:9px;

    background:#ffe0e9;

    gap:1px;
}


.tlb-pdp-proof > div{
    min-height:64px;

    display:flex;

    align-items:center;
    justify-content:center;

    gap:9px;

    background:
        linear-gradient(
            120deg,
            #fff9fb,
            #fff3f7
        );
}


.tlb-pdp-proof > div > b{
    color:var(--pdp-pink);

    font-size:17px;
}


.tlb-pdp-proof span{
    color:#84777b;

    font-size:6px;
}


.tlb-pdp-proof span strong{
    display:block;

    margin-bottom:2px;

    color:#44363b;

    font-size:7px;
}


/* =========================================================
   AI
========================================================= */

.tlb-pdp-ai{
    margin-top:13px;

    min-height:155px;

    display:grid;

    grid-template-columns:
        270px
        minmax(0,1fr)
        280px;

    overflow:hidden;

    border:
        1px
        solid
        #ffe0e9;

    border-radius:9px;

    background:
        linear-gradient(
            105deg,
            #fff7fa,
            #fff
        );
}


.tlb-pdp-ai__intro{
    position:relative;

    min-height:155px;

    padding:14px;
}


.tlb-pdp-ai__intro > span{
    display:block;

    color:var(--pdp-pink);

    font-size:6.5px;
    font-weight:700;
}


.tlb-pdp-ai__intro strong{
    display:block;

    width:65%;

    margin-top:13px;

    color:#403237;

    font-size:8px;
    line-height:1.5;
}


.tlb-pdp-ai__intro p{
    width:60%;

    margin:
        5px
        0
        0;

    color:#85787c;

    font-size:6px;
    line-height:1.5;
}


.tlb-pdp-ai__intro a{
    display:inline-flex;

    min-height:29px;

    margin-top:8px;

    padding:0 11px;

    align-items:center;

    border-radius:5px;

    color:#fff;
    background:var(--pdp-pink);

    font-size:6px;
    font-weight:700;

    text-decoration:none;
}


.tlb-pdp-ai__intro img{
    position:absolute;

    right:0;
    bottom:0;

    width:95px;
}


/* =========================================================
   AI QUESTIONS
========================================================= */

.tlb-pdp-ai__questions{
    padding:14px;

    border-left:
        1px
        solid
        #f4e9ec;

    border-right:
        1px
        solid
        #f4e9ec;
}


.tlb-pdp-ai__questions > span{
    display:block;

    margin-bottom:8px;

    color:#76696d;

    font-size:6px;
}


.tlb-pdp-ai__questions > span:not(:first-child){
    margin-top:13px;
}


.tlb-pdp-ai__questions > div{
    display:flex;

    flex-wrap:wrap;

    gap:6px;
}


.tlb-pdp-ai__questions button{
    min-height:25px;

    padding:0 9px;

    border:
        1px
        solid
        #eee;

    border-radius:4px;

    background:#fff;

    color:#55484c;

    font-family:inherit;

    font-size:5.5px;

    cursor:pointer;
}


.tlb-pdp-ai__questions button:hover{
    border-color:#ffb1c9;

    color:var(--pdp-pink);

    background:#fff7fa;
}


/* =========================================================
   AI CURRENT PRODUCT
========================================================= */

.tlb-pdp-ai__current{
    position:relative;

    min-height:155px;

    padding:14px;
}


.tlb-pdp-ai__current small{
    display:block;

    color:#94878b;

    font-size:5.5px;
}


.tlb-pdp-ai__current strong{
    display:block;

    width:62%;

    margin-top:9px;

    color:#43353a;

    font-size:7px;
    line-height:1.45;
}


.tlb-pdp-ai__current b{
    display:block;

    margin-top:7px;

    color:var(--pdp-pink);

    font-size:11px;
}


.tlb-pdp-ai__current img{
    position:absolute;

    right:5px;
    bottom:6px;

    width:100px;
    height:100px;

    object-fit:contain;
}


/* =========================================================
   DETAIL CONTENT
========================================================= */

.tlb-pdp-detail-content{
    margin-top:14px;

    min-width:0;
}


/* =========================================================
   TABS
========================================================= */

.tlb-pdp-tabs{
    min-height:42px;

    display:flex;

    align-items:center;

    gap:35px;

    overflow-x:auto;

    border-bottom:
        1px
        solid
        #eee;

    scrollbar-width:none;
}


.tlb-pdp-tabs::-webkit-scrollbar{
    display:none;
}


.tlb-pdp-tabs button{
    position:relative;

    height:42px;

    flex:0 0 auto;

    padding:0;

    border:0;

    background:transparent;

    color:#504247;

    font-family:inherit;

    font-size:7px;
    font-weight:700;

    cursor:pointer;
}


.tlb-pdp-tabs button.active{
    color:var(--pdp-pink);
}


.tlb-pdp-tabs button.active::after{
    content:"";

    position:absolute;

    left:0;
    right:0;
    bottom:-1px;

    height:2px;

    background:var(--pdp-pink);
}


/* =========================================================
   TAB PANEL
========================================================= */

.tlb-pdp-tab-panel{
    padding:
        16px
        0;
}


.is-hidden{
    display:none!important;
}


.tlb-pdp-description-text{
    color:#57494e;

    font-size:8px;
    line-height:1.8;
}


.tlb-pdp-empty{
    min-height:90px;

    display:flex;

    align-items:center;
    justify-content:center;

    color:#978a8e;

    font-size:8px;
}


.tlb-pdp-empty a{
    margin-left:5px;

    color:var(--pdp-pink);
}


/* =========================================================
   SPEC
========================================================= */

.tlb-pdp-spec{
    display:grid;

    grid-template-columns:
        150px
        minmax(0,1fr);

    gap:1px;

    overflow:hidden;

    border:
        1px
        solid
        #eee;

    border-radius:7px;

    background:#eee;

    font-size:7px;
}


.tlb-pdp-spec dt,
.tlb-pdp-spec dd{
    margin:0;

    padding:9px 11px;

    background:#fff;
}


.tlb-pdp-spec dt{
    color:#84777b;

    font-weight:500;
}


.tlb-pdp-spec dd{
    color:#4b3d42;

    font-weight:600;
}


/* =========================================================
   RELATED
========================================================= */

.tlb-related-products{
    margin-top:15px;
}


.tlb-related-heading h2{
    margin:
        0
        0
        10px;

    color:var(--pdp-pink);

    font-size:9px;
}


.tlb-related-grid{
    display:grid;

    grid-template-columns:
        repeat(
            4,
            minmax(0,1fr)
        );

    gap:9px;
}


.tlb-related-card{
    min-width:0;

    padding-bottom:10px;

    overflow:hidden;

    border:
        1px
        solid
        #eee;

    border-radius:7px;

    background:#fff;

    color:#44363b;

    text-decoration:none;
}


.tlb-related-image{
    width:100%;

    aspect-ratio:
        1.35
        /
        1;

    overflow:hidden;

    background:#fafafa;
}


.tlb-related-image img{
    display:block;

    width:100%;
    height:100%;

    object-fit:contain;
}


.tlb-related-card > span{
    display:block;

    margin:
        7px
        8px
        0;

    color:#9c8f93;

    font-size:5.5px;
}


.tlb-related-card > strong{
    display:-webkit-box;

    min-height:28px;

    margin:
        3px
        8px
        0;

    overflow:hidden;

    -webkit-box-orient:vertical;
    -webkit-line-clamp:2;

    color:#44363b;

    font-size:7px;
    line-height:1.4;
}


.tlb-related-card > b{
    display:block;

    margin:
        5px
        8px
        0;

    color:var(--pdp-pink);

    font-size:9px;
}


/* =========================================================
   STICKY
========================================================= */

.tlb-pdp-sticky{
    position:fixed;

    z-index:999;

    left:0;
    right:0;
    bottom:0;

    min-height:72px;

    padding:
        8px
        max(
            18px,
            calc(
                (100vw - 1400px) / 2
            )
        );

    display:grid;

    grid-template-columns:
        minmax(240px,1fr)
        130px
        240px
        65px
        250px;

    align-items:center;

    gap:14px;

    border-top:
        1px
        solid
        #eee;

    background:
        rgba(
            255,
            255,
            255,
            .97
        );

    box-shadow:
        0
        -5px
        25px
        rgba(
            48,
            25,
            33,
            .08
        );

    backdrop-filter:
        blur(12px);

    font-family:
        "Be Vietnam Pro",
        Arial,
        sans-serif;
}


.tlb-pdp-sticky__product{
    min-width:0;

    display:grid;

    grid-template-columns:
        50px
        minmax(0,1fr);

    align-items:center;

    gap:9px;
}


.tlb-pdp-sticky__product img{
    width:50px;
    height:50px;

    object-fit:contain;

    border:1px solid #eee;

    border-radius:6px;
}


.tlb-pdp-sticky__product strong{
    display:block;

    overflow:hidden;

    color:#46383d;

    font-size:7px;

    text-overflow:ellipsis;

    white-space:nowrap;
}


.tlb-pdp-sticky__product b{
    display:block;

    margin-top:4px;

    color:var(--pdp-pink);

    font-size:10px;
}


/* =========================================================
   STICKY QTY
========================================================= */

.tlb-pdp-sticky__quantity{
    display:grid;

    grid-template-columns:
        32px
        1fr
        32px;

    overflow:hidden;

    border:1px solid #ddd;

    border-radius:5px;
}


.tlb-pdp-sticky__quantity button,
.tlb-pdp-sticky__quantity input{
    height:32px;

    border:0;

    background:#fff;
}


.tlb-pdp-sticky__quantity button{
    cursor:pointer;
}


.tlb-pdp-sticky__quantity input{
    min-width:0;

    border-left:1px solid #eee;
    border-right:1px solid #eee;

    outline:0;

    text-align:center;
}


/* =========================================================
   STICKY BUY
========================================================= */

.tlb-pdp-sticky__buy{
    height:44px;

    border:0;

    border-radius:6px;

    color:#fff;
    background:var(--pdp-pink);

    font-family:inherit;

    font-size:8px;
    font-weight:700;

    cursor:pointer;
}


.tlb-pdp-sticky__buy small{
    display:block;

    margin-top:2px;

    font-size:5px;

    font-weight:400;
}


.tlb-pdp-sticky__buy:disabled{
    opacity:.45;

    cursor:not-allowed;
}


.tlb-pdp-sticky__cart{
    display:grid;

    place-items:center;

    color:#423439;

    font-size:19px;

    text-decoration:none;
}


/* =========================================================
   STICKY AI
========================================================= */

.tlb-pdp-sticky__ai{
    min-height:48px;

    padding:
        5px
        10px;

    display:flex;

    align-items:center;

    gap:8px;

    border:
        1px
        solid
        #eee;

    border-radius:7px;

    color:#45373c;

    background:#fff;

    text-decoration:none;
}


.tlb-pdp-sticky__ai img{
    width:35px;
    height:35px;

    object-fit:contain;
}


.tlb-pdp-sticky__ai strong{
    display:block;

    font-size:6.5px;
}


.tlb-pdp-sticky__ai span{
    color:#918489;

    font-size:5.5px;
}


/* =========================================================
   <= 1250
========================================================= */

@media(max-width:1250px){

    .tlb-pdp-shell{
        grid-template-columns:
            190px
            minmax(0,1fr);
    }


    .tlb-pdp-product-top{
        grid-template-columns:
            minmax(280px,.95fr)
            minmax(300px,1fr)
            235px;
    }


    .tlb-pdp-ai{
        grid-template-columns:
            240px
            minmax(0,1fr)
            240px;
    }

}


/* =========================================================
   <= 1050
========================================================= */

@media(max-width:1050px){

    .tlb-pdp-services{
        grid-template-columns:
            repeat(
                3,
                1fr
            );

        padding-block:8px;
    }


    .tlb-pdp-product-top{
        grid-template-columns:
            minmax(300px,1fr)
            minmax(300px,1fr);
    }


    .tlb-pdp-buy-column{
        grid-column:1/-1;

        display:grid;

        grid-template-columns:
            1fr
            1fr;

        gap:10px;
    }


    .tlb-pdp-branch-box{
        margin-top:0;
    }


    .tlb-pdp-ai{
        grid-template-columns:
            230px
            1fr;
    }


    .tlb-pdp-ai__current{
        display:none;
    }


    .tlb-pdp-sticky{
        grid-template-columns:
            minmax(220px,1fr)
            120px
            210px
            55px;
    }


    .tlb-pdp-sticky__ai{
        display:none;
    }

}


/* =========================================================
   <= 820
========================================================= */

@media(max-width:820px){

    .tlb-pdp-page{
        padding-inline:12px;
    }


    .tlb-pdp-shell{
        grid-template-columns:1fr;
    }


    .tlb-pdp-sidebar{
        display:none;
    }


    .tlb-pdp-product-top{
        grid-template-columns:1fr;
    }


    .tlb-pdp-buy-column{
        grid-template-columns:1fr;
    }


    .tlb-product-gallery__layout{
        grid-template-columns:1fr;
    }


    .tlb-product-thumbnails{
        order:2;

        flex-direction:row;

        overflow-x:auto;
    }


    .tlb-product-main-image{
        min-height:320px;
    }


    .tlb-pdp-ai{
        grid-template-columns:1fr;
    }


    .tlb-pdp-ai__questions{
        border:
            1px
            solid
            #f4e9ec;

        border-left:0;
        border-right:0;
    }


    .tlb-related-grid{
        grid-template-columns:
            repeat(
                2,
                1fr
            );
    }


    .tlb-pdp-sticky{
        grid-template-columns:
            minmax(0,1fr)
            145px;

        gap:8px;

        padding:
            7px
            12px;
    }


    .tlb-pdp-sticky__quantity,
    .tlb-pdp-sticky__cart,
    .tlb-pdp-sticky__ai{
        display:none;
    }

}


/* =========================================================
   <= 560
========================================================= */

@media(max-width:560px){

    .tlb-pdp-services{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }


    .tlb-pdp-service{
        justify-content:flex-start;
    }


    .tlb-pdp-service:nth-child(5){
        display:none;
    }


    .tlb-product-info h1{
        font-size:18px;
    }


    .tlb-product-price{
        font-size:22px;
    }


    .tlb-pdp-gallery-benefits{
        grid-template-columns:
            repeat(
                3,
                1fr
            );
    }


    .tlb-pdp-proof{
        grid-template-columns:1fr;
    }


    .tlb-pdp-proof > div{
        min-height:50px;
    }


    .tlb-pdp-tabs{
        gap:22px;
    }


    .tlb-related-grid{
        grid-template-columns:
            repeat(
                2,
                minmax(0,1fr)
            );
    }


    .tlb-pdp-spec{
        grid-template-columns:
            100px
            minmax(0,1fr);
    }


    .tlb-pdp-sticky{
        grid-template-columns:
            minmax(0,1fr)
            130px;
    }


    .tlb-pdp-sticky__product{
        grid-template-columns:
            42px
            minmax(0,1fr);
    }


    .tlb-pdp-sticky__product img{
        width:42px;
        height:42px;
    }

}

/* =========================================================
   V4 READABILITY + LAYOUT REFINEMENT
   Giữ nguyên cấu trúc V3, chỉ nâng khả năng đọc và UX.
========================================================= */

/* Text nền tảng */
.tlb-pdp-page{
    font-size:13px;
}

.tlb-pdp-service strong{font-size:11px;}
.tlb-pdp-service small{font-size:9px;}
.tlb-product-breadcrumb{font-size:10px;}
.tlb-pdp-category-title{font-size:11px;}
.tlb-pdp-category-list a{font-size:10px;}
.tlb-pdp-category-more{font-size:9px;}

/* Thông tin sản phẩm */
.tlb-product-brand{font-size:10px;}
.tlb-product-info h1{
    font-size:28px;
    line-height:1.32;
    letter-spacing:-.35px;
}
.tlb-product-rating-line,
.tlb-product-code,
.tlb-pdp-live-info,
.tlb-pdp-assurance > div,
.tlb-product-stock{
    font-size:10px;
}
.tlb-product-price{font-size:31px;}

/* Cột mua hàng */
.tlb-pdp-buy-box h3,
.tlb-pdp-branch-box h3{font-size:12px;}
.tlb-pdp-buy-box label{font-size:10px;}
.tlb-product-quantity input{font-size:12px;}
.tlb-product-buy-now,
.tlb-product-add-cart{font-size:11px;}
.tlb-product-buy-now small{font-size:8px;}
.tlb-pdp-payments > span{font-size:8px;}
.tlb-pdp-payments b{font-size:8px;}
.tlb-pdp-branch-row{font-size:9px;}
.tlb-pdp-branch-row span{font-size:8px;}

/* Gallery */
.tlb-pdp-gallery-benefits > div{font-size:8px;}

/* Những text phụ vốn quá nhỏ */
.tlb-pdp-proof,
.tlb-pdp-proof *,
.tlb-pdp-ai,
.tlb-pdp-ai *,
.tlb-pdp-tabs,
.tlb-pdp-tabs *,
.tlb-related-products,
.tlb-related-products *{
    text-rendering:optimizeLegibility;
}

/* Không để các card quá dẹt ở desktop */
@media(min-width:1051px){
    .tlb-pdp-shell{
        grid-template-columns:230px minmax(0,1fr);
        gap:18px;
    }

    .tlb-product-main{
        gap:20px;
    }

    .tlb-pdp-buy-box,
    .tlb-pdp-branch-box{
        border-radius:12px;
    }
}

/* Tablet: ưu tiên nội dung chính */
@media(max-width:1050px){
    .tlb-product-info h1{font-size:25px;}
    .tlb-product-price{font-size:28px;}
}

/* Mobile */
@media(max-width:560px){
    .tlb-pdp-page{
        padding-inline:12px;
        font-size:12px;
    }

    .tlb-product-info h1{
        font-size:22px;
        line-height:1.35;
    }

    .tlb-product-price{font-size:25px;}
    .tlb-product-rating-line,
    .tlb-product-code,
    .tlb-pdp-live-info,
    .tlb-pdp-assurance > div,
    .tlb-product-stock{font-size:9px;}

    .tlb-product-buy-now,
    .tlb-product-add-cart{
        min-height:44px;
        font-size:11px;
    }
}