/* =====================================================
   RESET
===================================================== */

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}


/* =====================================================
   BODY
===================================================== */

body {
    font-family: "Be Vietnamese Pro", sans-serif;

    background: #f5fbff;

    color: #12366f;
}


/* =====================================================
   CONTAINER
===================================================== */

.container {
    width: 92%;

    max-width: 1180px;

    margin: 0 auto;
}


/* =====================================================
   HEADER
===================================================== */

.site-header {
    width: 100%;

    height: 76px;

    background: #ffffff;

    border-bottom: 1px solid #e7eef5;

    position: relative;

    z-index: 100;
}


.nav-wrap {
    height: 76px;

    display: flex;

    align-items: center;
}

/* ========================================
   PENTAFLOSS HEADER LOGO
======================================== */

.brand {
    display: flex;
    align-items: center;

    gap: 7px;

    text-decoration: none;

    color: #0b3478;
}


/* Mascot nhỏ bên cạnh tên */

.brand-logo {
    width: 34px;
    height: 34px;

    display: block;

    object-fit: contain;

    flex-shrink: 0;
}


/* Tên PENTAFLOSS */

.brand-name {
    font-family: "Montserrat", sans-serif;

    font-size: 20px;

    font-weight: 800;

    letter-spacing: -0.5px;

    line-height: 1;
}

/* =====================================================
   MENU
===================================================== */

.main-nav {
    display: flex;

    align-items: center;

    gap: 32px;

    margin-left: auto;
}


.main-nav a {
    position: relative;

    padding: 28px 0;

    color: #16386d;

    text-decoration: none;

    font-size: 14px;

    font-weight: 600;

    transition: 0.2s;
}


.main-nav a:hover {
    color: #0757b8;
}


.main-nav a.active {
    color: #0757b8;
}
.about-nav-wrap {
    width: 92%;
    max-width: 1450px;
    margin: 0 auto;
}

.main-nav a.active::after {
    content: "";

    position: absolute;

    left: 0;
    right: 0;

    bottom: 17px;

    height: 2px;

    background: #0757b8;

    border-radius: 5px;
}


/* =====================================================
   HEADER ICON
===================================================== */

.nav-actions {
    display: flex;

    align-items: center;

    gap: 15px;

    margin-left: 28px;
}


.icon-btn {
    border: none;

    background: transparent;

    color: #0b3478;

    font-size: 27px;

    cursor: pointer;
}


.cart-btn {
    position: relative;

    color: #0b3478;

    text-decoration: none;

    font-size: 20px;
}


.cart-count {
    position: absolute;

    top: -8px;

    right: -9px;

    width: 18px;
    height: 18px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #ff5962;

    color: white;

    font-size: 10px;

    font-weight: 700;
}


/* =====================================================
   HERO
===================================================== */

.hero {

    width: 100%;

    /*
       QUAN TRỌNG:

       Ảnh gốc:
       1909 × 958

       Tỷ lệ ≈ 1.99

       Cho Hero giữ đúng tỷ lệ ảnh
       để KHÔNG CẮT đầu tăm nước.
    */

    aspect-ratio: 1909 / 958;

    position: relative;

    overflow: hidden;

    background-image:
        url("../assets/banner/hero-home.png");

    /*
       Không phóng ảnh quá mức.
    */

    background-size: 100% 100%;

    background-position: center top;

    background-repeat: no-repeat;
}


/* =====================================================
   HERO CONTENT
===================================================== */

.hero-content {

    position: absolute;

    left: 4.5%;

    top: 15%;

    width: 38%;

    z-index: 2;
}


/* =====================================================
   LABEL
===================================================== */

.hero-label {

    margin-bottom: 14px;

    color: #0878bd;

    font-size: clamp(10px, 1vw, 14px);

    font-weight: 700;

    letter-spacing: 1.5px;
}


/* =====================================================
   TITLE
===================================================== */

.hero h1 {
    margin: 0 0 22px 0;

    font-family: "Montserrat", sans-serif;

    color: #0b3478;

    /*
       GIỮ CHỮ TO
    */
    font-size: clamp(38px, 4.1vw, 64px);

    /*
       Tăng khoảng cách dòng
       để dấu tiếng Việt không bị dính
    */
    line-height: 1.12;

    font-weight: 800;

    /*
       Không ép chữ sát nhau
    */
    letter-spacing: -1.2px;

    /*
       Giới hạn chiều rộng để
       bố cục vẫn đẹp
    */
    max-width: 650px;
}


.hero-content {
    position: absolute;

    left: 4.5%;

    top: 16%;

    width: 43%;

    max-width: 680px;

    z-index: 2;
}


/* =====================================================
   DESCRIPTION
===================================================== */

.hero p {

    max-width: 420px;

    margin-bottom: 22px;

    color: #315d87;

    font-size: clamp(12px, 1.15vw, 17px);

    line-height: 1.55;
}


.hero p strong {

    color: #0b3478;
}


/* =====================================================
   BUTTON
===================================================== */

.hero-button {

    display: inline-flex;

    align-items: center;

    gap: 12px;

    padding: 12px 22px;

    border-radius: 30px;

    background: #0b3478;

    color: white;

    text-decoration: none;

    font-size: clamp(12px, 1vw, 15px);

    font-weight: 700;

    box-shadow:
        0 7px 18px rgba(11, 52, 120, 0.2);

    transition: 0.25s;
}


.hero-button:hover {

    background: #0757b8;

    transform: translateY(-2px);
}


.hero-button b {

    font-size: 18px;

    font-weight: 400;
}


/* =====================================================
   BENEFITS
===================================================== */

.benefits {

    padding: 12px 0 14px;

    background: #eef9ff;
}


.benefits-grid {

    display: grid;

    grid-template-columns:
        repeat(4, 1fr);

    gap: 10px;
}


/* =====================================================
   BENEFIT CARD
===================================================== */

.benefit-card {

    min-height: 82px;

    display: flex;

    align-items: center;

    gap: 13px;

    padding: 12px 18px;

    background: rgba(255,255,255,0.95);

    border: 1px solid #e3eef6;

    border-radius: 15px;

    box-shadow:
        0 3px 12px rgba(38, 103, 151, 0.06);
}


/* =====================================================
   BENEFIT ICON
===================================================== */

.benefit-icon {

    width: 43px;

    height: 43px;

    flex-shrink: 0;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #e9f7ff;

    color: #0878bd;

    font-size: 21px;
}


.benefit-card strong {

    display: block;

    color: #173d76;

    font-size: 13px;
}


.benefit-card span {

    display: block;

    margin-top: 3px;

    color: #57738f;

    font-size: 12px;
}


/* =====================================================
   INTRO
===================================================== */

.intro-section {

    padding: 70px 0;

    background: #f6fbff;
}


.intro-content {

    display: flex;

    align-items: center;

    justify-content: space-between;

    gap: 50px;
}


.section-label {

    color: #0878bd;

    font-size: 13px;

    font-weight: 700;

    letter-spacing: 1px;
}


.intro-content h2 {

    margin-top: 10px;

    color: #0b3478;

    font-size: 36px;

    line-height: 1.2;
}


.intro-content p {

    max-width: 500px;

    color: #54708e;

    font-size: 15px;

    line-height: 1.8;
}


/* =====================================================
   FOOTER PENTAFLOSS
========================================= */

.site-footer {
    width: 100%;
    background: #ddf8f6;
    color: #111;
}


/* =========================================
   KHỐI FOOTER CHÍNH
========================================= */

.footer-inner {
    width: 90%;
    max-width: 1180px;

    min-height: 215px;

    margin: 0 auto;

    display: grid;

    grid-template-columns:
        1.15fr
        1fr
        1fr
        1.1fr
        1.25fr;

    align-items: center;

    column-gap: 35px;
}


/* =========================================
   MASCOT
========================================= */

.footer-brand {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.footer-brand img {
    width: 145px;
    height: 145px;

    object-fit: contain;

    display: block;
}


/* =========================================
   MENU
========================================= */

.footer-menu {
    display: flex;
    flex-direction: column;

    justify-content: center;

    gap: 20px;
}

.footer-menu a {
    width: fit-content;

    color: #111;

    text-decoration: none;

    font-family: "Montserrat", sans-serif;

    font-size: 17px;

    font-weight: 800;

    line-height: 1.2;

    white-space: nowrap;

    transition: .2s;
}

.footer-menu a:hover {
    color: #0757b8;
}


/* =========================================
   NÚT MUA NGAY
========================================= */

.footer-menu .buy-button {
    display: flex;

    align-items: center;
    justify-content: center;

    width: 125px;

    padding: 9px 15px;

    border-radius: 25px;

    background: #0757b8;

    color: white;

    font-size: 14px;

    font-weight: 800;

    box-shadow: none;
}

.footer-menu .buy-button:hover {
    background: #0b3478;

    color: white;

    transform: translateY(-2px);
}


/* =========================================
   SOCIAL
========================================= */

.footer-social {
    align-self: center;
}

.footer-social h3 {
    margin: 0 0 16px;

    color: #111;

    font-family: "Montserrat", sans-serif;

    font-size: 15px;

    font-weight: 700;

    line-height: 1.3;

    white-space: nowrap;
}


/* =========================================
   ICON SOCIAL
========================================= */

.social-icons {
    display: flex;

    align-items: center;

    gap: 12px;
}

.social-icons a {
    width: 42px;
    height: 42px;

    display: flex;

    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background: #0757b8;

    transition: .2s;
}

.social-icons a:hover {
    background: #0b3478;

    transform: translateY(-2px);
}

.social-icons svg {
    width: 20px;
    height: 20px;

    fill: white;

    stroke: white;

    stroke-width: 1.5;

    stroke-linecap: round;

    stroke-linejoin: round;
}


/* =========================================
   COPYRIGHT
========================================= */

.footer-bottom {
    width: 90%;
    max-width: 1180px;

    margin: 0 auto;

    border-top: 1px solid rgba(11, 52, 120, .14);

    padding: 20px 0 24px;
}

.footer-bottom p {
    margin: 0;

    color: #173d76;

    font-family: "Montserrat", sans-serif;

    font-size: 12px;

    font-weight: 500;
}


/* =========================================
   TABLET
========================================= */

@media (max-width: 900px) {

    .footer-inner {
        grid-template-columns:
            1fr 1fr 1fr;

        row-gap: 30px;

        padding: 30px 0;
    }

    .footer-brand {
        grid-row: span 2;
    }

}


/* =========================================
   MOBILE
========================================= */

@media (max-width: 600px) {

    .footer-inner {
        width: 88%;

        grid-template-columns: 1fr 1fr;

        gap: 25px 20px;

        padding: 30px 0;
    }

    .footer-brand {
        grid-column: 1 / -1;

        justify-content: center;
    }

    .footer-brand img {
        width: 120px;
        height: 120px;
    }

    .footer-menu a {
        font-size: 14px;
    }

    .footer-social {
        grid-column: 1 / -1;
    }

    .footer-social h3 {
        font-size: 13px;
    }

    .footer-bottom {
        width: 88%;
    }

}

/* =====================================================
   PRODUCTS PAGE
   DÁN VÀO CUỐI style.css
===================================================== */


/* =====================================================
   PAGE
===================================================== */

.products-page {
    width: 100%;
    background: #f5f9ff;
}


/* =====================================================
   BANNER
===================================================== */

.products-hero {
    width: 100%;

    max-width: 1500px;

    margin: 0 auto;

    overflow: hidden;

    background: #b9e6ff;
}


.products-hero img {
    width: 100%;

    height: auto;

    display: block;

    object-fit: cover;
}


/* =====================================================
   PRODUCT SECTION
===================================================== */

.product-section {
    padding: 12px 0 55px;
}


.product-container {
    width: 92%;

    max-width: 1180px;

    margin: 0 auto;
}


/* =====================================================
   CATEGORY TABS
===================================================== */

.product-tabs {
    display: flex;

    justify-content: center;

    align-items: center;

    gap: 8px;

    margin-bottom: 12px;
}


.product-tab {
    min-width: 135px;

    height: 34px;

    padding: 0 18px;

    display: inline-flex;

    align-items: center;

    justify-content: center;

    gap: 7px;

    border: 1px solid #b9dcfa;

    border-radius: 20px;

    background: #f4fbff;

    color: #1556a0;

    font-family: "Montserrat", sans-serif;

    font-size: 11px;

    font-weight: 600;

    cursor: pointer;

    transition: .2s;
}


.product-tab span {
    font-size: 15px;
}


.product-tab:hover {
    background: #e6f5ff;
}


.product-tab.active {
    background: #0757b8;

    border-color: #0757b8;

    color: white;

    box-shadow: 0 4px 10px rgba(7, 87, 184, .16);
}


/* =====================================================
   PRODUCT GRID
===================================================== */

.product-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 12px;
}


/* =====================================================
   PRODUCT CARD
===================================================== */

.product-card {
    position: relative;

    display: flex;

    flex-direction: column;

    min-width: 0;

    overflow: hidden;

    background: rgba(255,255,255,.96);

    border: 1px solid #e4edf6;

    border-radius: 10px;

    box-shadow:
        0 3px 12px rgba(35, 91, 135, .08);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.product-card:hover {
    transform: translateY(-3px);

    box-shadow:
        0 8px 20px rgba(35, 91, 135, .13);
}

/* PHÂN LOẠI MÀU SẮC SẢN PHẨM */
.product-variant {
    margin: 15px 0;
}

.variant-title {
    margin-bottom: 10px;
    color: #64748b;
    font-size: 13px;
}

.variant-title strong {
    color: #1764c0;
}

.color-options {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.color-option {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 10px;
    border: 1px solid #dce5f0;
    border-radius: 9px;
    background: #fff;
    color: #52627a;
    font-family: inherit;
    font-size: 11px;
    cursor: pointer;
    transition: all .2s ease;
}

.color-option:hover {
    border-color: #6da5e8;
    background: #f5f9ff;
}

.color-option.active {
    border: 1.5px solid #1764c0;
    color: #1764c0;
    background: #eff6ff;
    font-weight: 700;
}

.color-dot {
    width: 12px;
    height: 12px;
    flex-shrink: 0;
    border: 1px solid #d5dce5;
    border-radius: 50%;
}

.variant-product-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity .2s ease;
}

/* Nút thêm giỏ khi chưa chọn phân loại */
.add-cart-btn:disabled {
    opacity: 0.5;
    cursor: not-allowed;
    background: #e8edf5;
    color: #8290a5;
    border-color: #d8e0eb;
}

/* Màu đã chọn */
.color-option.active {
    border: 1.5px solid #1764c0;
    color: #1764c0;
    background: #eff6ff;
    font-weight: 700;
}


/* =====================================================
   PRODUCT IMAGE
===================================================== */

.product-image-box {
    position: relative;

    width: 100%;
    height: 255px;

    overflow: hidden;

    background: #eaf7ff;
}


.product-image-box img {
    width: 100%;
    height: 100%;

    object-fit: cover;

    padding: 0;

    display: block;

    transition: transform .3s ease;
}


.product-card:hover
.product-image-box img {
    transform: scale(1.035);
}


/* =====================================================
   DISCOUNT
===================================================== */

.discount-badge {
    position: absolute;

    top: 9px;

    left: 9px;

    z-index: 3;

    padding: 5px 9px;

    border-radius: 15px;

    background: #ff3f49;

    color: white;

    font-size: 10px;

    font-weight: 800;
}


/* =====================================================
   FAVORITE
===================================================== */

.favorite-btn {
    position: absolute;

    top: 8px;

    right: 8px;

    z-index: 4;

    width: 30px;

    height: 30px;

    display: flex;

    align-items: center;

    justify-content: center;

    border: none;

    border-radius: 50%;

    background: white;

    color: #0757b8;

    font-size: 19px;

    line-height: 1;

    cursor: pointer;

    box-shadow:
        0 2px 8px rgba(0,0,0,.08);

    transition: .2s;
}


.favorite-btn:hover {
    transform: scale(1.08);
}


.favorite-btn.liked {
    color: #ff4b57;
}


/* =====================================================
   PRODUCT INFO
===================================================== */

.product-info {
    display: flex;

    flex-direction: column;

    flex: 1;

    padding: 11px 12px 12px;
}


.product-info h2 {
    min-height: 34px;

    margin: 0 0 8px;

    color: #0750a2;

    font-family: "Montserrat", sans-serif;

    font-size: 12px;

    font-weight: 800;

    line-height: 1.4;
}


.product-info h2 span {
    font-weight: 700;
}


/* =====================================================
   FEATURES
===================================================== */

.product-feature {
    min-height: 82px;
}


.product-feature p {
    margin: 0 0 5px;

    color: #58728d;

    font-size: 10px;

    line-height: 1.35;
}


/* =====================================================
   PRICE
===================================================== */

.product-price {
    display: flex;

    align-items: center;

    gap: 10px;

    margin-top: auto;

    margin-bottom: 9px;
}


.old-price {
    color: #71869a;

    font-size: 10px;

    text-decoration: line-through;
}


.product-price strong {
    color: #ff3038;

    font-size: 15px;

    font-weight: 800;
}


/* =====================================================
   ADD CART
===================================================== */

.add-cart-btn {
    width: 100%;

    height: 31px;

    border: 1px solid #3e76ca;

    border-radius: 6px;

    background: white;

    color: #0757b8;

    font-family: "Montserrat", sans-serif;

    font-size: 9px;

    font-weight: 700;

    cursor: pointer;

    transition: .2s;
}


.add-cart-btn:hover {
    background: #0757b8;

    color: white;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 1000px) {

    .product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }

}


@media (max-width: 650px) {

    .product-container {
        width: 94%;
    }


    .product-tabs {
        flex-wrap: wrap;
    }


    .product-tab {
        min-width: 110px;

        font-size: 10px;
    }


    .product-grid {
        grid-template-columns: 1fr 1fr;

        gap: 8px;
    }


    .product-image-box {
        height: 190px;
    }


    .product-image-box img {
        padding: 10px;
    }


    .product-info {
        padding: 8px;
    }


    .product-info h2 {
        font-size: 10px;
    }


    .product-feature p {
        font-size: 8px;
    }


    .product-price {
        gap: 5px;
    }


    .old-price {
        font-size: 8px;
    }


    .product-price strong {
        font-size: 12px;
    }


    .add-cart-btn {
        font-size: 8px;
    }

}


/* =====================================================
   ABOUT PAGE
===================================================== */

.about-page {
    width: 100%;

    background: #f4faff;

    overflow: hidden;
}


/* ============================================================
   PENTAFLOSS ABOUT PAGE
   Chỉ áp dụng cho nội dung About
============================================================ */

.pentafloss-about {
    width: 100%;

    background:
        linear-gradient(
            180deg,
            #f3faff 0%,
            #f7fcff 45%,
            #effaff 100%
        );

    overflow: hidden;

    font-family: "Be Vietnam Pro", sans-serif;
}


/* ============================================================
   CONTAINER
============================================================ */

.about-container {
    width: 90%;
    max-width: 1180px;

    margin: 0 auto;
}


/* ============================================================
   HERO
============================================================ */

.about-hero {
    width: 100%;

    margin: 0;
    padding: 0;

    line-height: 0;

    overflow: hidden;
}


.about-hero img {
    width: 100%;
    height: auto;

    display: block;
}


/* ============================================================
   SECTION CHUNG
============================================================ */

.about-info-section,
.about-channel-section,
.about-social-section {
    padding: 55px 0;
}


/* ============================================================
   TITLE
============================================================ */

.about-section-title {
    margin-bottom: 27px;
}


.about-section-title h2 {
    margin: 0 0 7px;

    color: #103c88;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: clamp(24px, 2.2vw, 32px);

    font-weight: 800;

    letter-spacing: -0.7px;

    line-height: 1.25;
}


.about-section-title p {
    margin: 0;

    color: #6682a6;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: 13px;

    font-weight: 500;

    line-height: 1.6;
}


/* ============================================================
   WHY FOLLOW
============================================================ */

.about-benefit-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;
}


.about-benefit-card {
    min-height: 205px;

    padding: 27px 20px 23px;

    background:
        rgba(255, 255, 255, .92);

    border:
        1px solid rgba(188, 221, 246, .7);

    border-radius: 22px;

    text-align: center;

    box-shadow:
        0 10px 30px
        rgba(49, 114, 174, .07);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.about-benefit-card:hover {
    transform: translateY(-6px);

    box-shadow:
        0 16px 35px
        rgba(49, 114, 174, .13);
}


/* ICON */

.about-icon-circle {
    width: 62px;
    height: 62px;

    margin: 0 auto 16px;

    display: flex;
    align-items: center;
    justify-content: center;

    border-radius: 50%;

    background:
        linear-gradient(
            145deg,
            #e6f6ff,
            #cfeaff
        );

    font-size: 29px;

    box-shadow:
        inset 0 0 0 1px
        rgba(79, 166, 234, .12);
}


.about-benefit-card h3 {
    margin: 0 0 10px;

    color: #103c88;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: 15px;

    font-weight: 800;

    line-height: 1.4;
}


.about-benefit-card p {
    margin: 0;

    color: #607895;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: 11px;

    font-weight: 500;

    line-height: 1.65;
}


/* ============================================================
   CHANNEL
============================================================ */

.about-channel-section {
    padding-top: 15px;
}


.about-channel-grid {
    display: grid;

    grid-template-columns:
        repeat(4, minmax(0, 1fr));

    gap: 18px;
}


.channel-card {
    min-height: 180px;

    padding: 25px 20px;

    border-radius: 22px;

    text-align: center;

    border:
        1px solid
        rgba(255, 255, 255, .8);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.channel-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 14px 30px
        rgba(55, 111, 166, .10);
}


/* MÀU CARD */

.channel-blue {
    background:
        linear-gradient(
            145deg,
            #e8f7ff,
            #dff2ff
        );
}


.channel-pink {
    background:
        linear-gradient(
            145deg,
            #fff1f3,
            #ffe9ed
        );
}


.channel-green {
    background:
        linear-gradient(
            145deg,
            #e5f9f3,
            #dff6ee
        );
}


.channel-yellow {
    background:
        linear-gradient(
            145deg,
            #fff7e3,
            #fff0cf
        );
}


/* ICON */

.channel-icon {
    margin-bottom: 12px;

    font-size: 34px;
}


.channel-card h3 {
    margin: 0 0 8px;

    color: #123d87;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: 14px;

    font-weight: 800;

    line-height: 1.4;
}


.channel-card p {
    margin: 0;

    color: #617997;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: 11px;

    font-weight: 500;

    line-height: 1.6;
}


/* ============================================================
   SOCIAL
============================================================ */

/* =====================================================
   KẾT NỐI CÙNG PENTAFLOSS
===================================================== */

.about-social-section {
    width: 100%;

    padding: 35px 0 50px;

    background: #f3faff;
}


.about-social-box {
    width: 90%;
    max-width: 1180px;

    min-height: 185px;

    margin: 0 auto;

    padding: 28px 38px;

    display: grid;

    grid-template-columns:
        1.25fr
        0.25fr
        1.65fr;

    align-items: center;

    gap: 20px;

    background:
        linear-gradient(
            110deg,
            #ffffff,
            #f5fbff
        );

    border: 1px solid #e5f1fb;

    border-radius: 25px;

    box-shadow:
        0 10px 30px
        rgba(55, 126, 184, .08);

    box-sizing: border-box;
}


/* =====================================================
   TEXT
===================================================== */

.about-social-content h2 {
    margin: 0 0 10px;

    color: #103d88;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: clamp(25px, 2.5vw, 34px);

    font-weight: 800;

    line-height: 1.2;

    letter-spacing: -1px;
}


.about-social-content p {
    max-width: 520px;

    margin: 0;

    color: #5f82ad;

    font-family: "Be Vietnam Pro", sans-serif;

    font-size: 14px;

    font-weight: 500;

    line-height: 1.7;
}


/* =====================================================
   MŨI TÊN TRANG TRÍ
===================================================== */

.about-social-arrow {
    display: flex;

    align-items: center;
    justify-content: center;

    color: #1689e8;

    font-size: 58px;

    transform:
        rotate(-15deg);

    opacity: .9;
}


.about-social-arrow span {
    display: block;

    text-shadow:
        0 3px 8px
        rgba(24, 137, 232, .15);
}


/* =====================================================
   SOCIAL BUTTONS
===================================================== */

.about-social-buttons {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 15px;

    align-items: center;
}


.about-social-button {
    display: block;

    width: 100%;

    overflow: hidden;

    border-radius: 17px;

    line-height: 0;

    text-decoration: none;

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.about-social-button:hover {
    transform: translateY(-4px);

    box-shadow:
        0 10px 25px
        rgba(20, 100, 180, .18);
}


.about-social-button img {
    width: 100%;
    height: auto;

    display: block;
}


/* =====================================================
   RESPONSIVE
===================================================== */

@media (max-width: 900px) {

    .about-social-box {
        grid-template-columns: 1fr;

        gap: 20px;

        text-align: center;

        padding: 30px;
    }


    .about-social-content p {
        margin-left: auto;
        margin-right: auto;
    }


    .about-social-arrow {
        display: none;
    }


    .about-social-buttons {
        width: 100%;
    }

}


@media (max-width: 600px) {

    .about-social-box {
        width: 92%;

        padding: 22px 16px;

        border-radius: 18px;
    }


    .about-social-content h2 {
        font-size: 21px;

        letter-spacing: -.5px;
    }


    .about-social-content p {
        font-size: 10px;
    }


    .about-social-buttons {
        gap: 8px;
    }


    .about-social-button {
        border-radius: 10px;
    }

}


/* CARD */

.about-social-card {
    width: 100%;

    display: block;

    overflow: hidden;

    border-radius: 22px;

    line-height: 0;

    text-decoration: none;

    box-shadow:
        0 12px 28px
        rgba(27, 85, 145, .10);

    transition:
        transform .25s ease,
        box-shadow .25s ease;
}


.about-social-card:hover {
    transform: translateY(-5px);

    box-shadow:
        0 18px 35px
        rgba(27, 85, 145, .17);
}


.about-social-card img {
    width: 100%;
    height: auto;

    display: block;
}


/* ============================================================
   CTA
   FULL CHIỀU NGANG MÀN HÌNH
============================================================ */

.about-cta {
    width: 100vw;

    margin: 0;

    padding: 0;

    position: relative;

    left: 50%;

    transform:
        translateX(-50%);

    overflow: hidden;

    line-height: 0;

    background: #e9f7ff;
}


.about-cta img {
    width: 100%;
    height: auto;

    display: block;

    margin: 0;

    padding: 0;

    object-fit: cover;
}


/* ============================================================
   TABLET
============================================================ */

@media (max-width: 900px) {

    .about-info-section,
    .about-channel-section,
    .about-social-section {
        padding-top: 40px;
        padding-bottom: 40px;
    }


    .about-benefit-grid,
    .about-channel-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }


    .about-social-grid {
        grid-template-columns: 1fr;
    }

}


/* ============================================================
   MOBILE
============================================================ */

@media (max-width: 600px) {

    .about-container {
        width: 92%;
    }


    .about-section-title {
        margin-bottom: 20px;
    }


    .about-section-title h2 {
        font-size: 22px;

        letter-spacing: -0.4px;
    }


    .about-section-title p {
        font-size: 11px;
    }


    .about-benefit-grid,
    .about-channel-grid {
        gap: 11px;
    }


    .about-benefit-card {
        min-height: 190px;

        padding:
            20px 12px;
    }


    .about-icon-circle {
        width: 52px;
        height: 52px;

        font-size: 24px;
    }


    .about-benefit-card h3 {
        font-size: 12px;
    }


    .about-benefit-card p {
        font-size: 9.5px;
    }


    .channel-card {
        min-height: 155px;

        padding:
            18px 12px;
    }


    .channel-icon {
        font-size: 27px;
    }


    .channel-card h3 {
        font-size: 11px;
    }


    .channel-card p {
        font-size: 9.5px;
    }


    .about-social-card {
        border-radius: 15px;
    }

}

.cart-btn {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    text-decoration: none;
    color: #0b3478;
    cursor: pointer;
}

.cart-icon {
    font-size: 23px;
    line-height: 1;
}

.cart-count {
    position: absolute;
    top: 1px;
    right: 0;
    min-width: 18px;
    height: 18px;
    padding: 0 4px;

    display: flex;
    align-items: center;
    justify-content: center;

    background: #e53935;
    color: white;

    font-size: 11px;
    font-weight: 700;

    border-radius: 50%;
}
