/* ============================================================================
   /partners/ VÀ TRANG CHI TIẾT ĐỐI TÁC — lớp phủ thiết kế 2026

   Nhận biết bằng class .sr-partners gắn vào <body> (sr_is_partners_page()
   trong functions.php). archive-partners.php và single-partners.php GIỮ
   NGUYÊN; file này chỉ thay typography, màu, nút, kiểu thẻ và nền.

   Tên file có hậu tố -2026 vì styles/ent-partners.css đã có sẵn — đó là bộ
   style cũ, 866 dòng, vẫn nạp bình thường. File này nạp SAU nó (khai làm
   dependency) nên thắng ở cùng độ ưu tiên.

   MỤC LỤC
     1. Token + khung chung
     2. Hero (chung cho cả hai trang)
     3. Tiêu đề khối
     4. Thẻ "In the spotlight"
     5. Dải framenext + khối strategic
     6. Khối "Join the team"
     7. Bộ lọc + lưới đối tác
     8. Trang chi tiết
     9. Responsive
   ========================================================================== */

/* ==========================================================================
   1. TOKEN + KHUNG CHUNG
   ========================================================================== */

.sr-partners {
    --sr-font-display: 'Phudu', 'Manrope', -apple-system, BlinkMacSystemFont,
        'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;

    font-family: var(--sr-font);
    color: var(--sr-neutral-700);
}

.sr-partners .ent-container {
    max-width: var(--sr-container);
    margin-inline: auto;
    padding-inline: var(--sr-gutter);
    box-sizing: border-box;
}

/* ==========================================================================
   2. HERO — .overview2 (danh sách) và .ent-single-partner (chi tiết)

   Bản cũ dùng dải gradient xanh dương đậm với chữ trắng. Đổi sang dải tím
   nhạt phẳng + chữ tím đậm, cùng ngôn ngữ với hero các trang 2026 khác.
   ========================================================================== */

.sr-partners .overview2,
.sr-partners .ent-single-partner {
    background: var(--sr-purple-100) !important;
    padding-block: 72px;
}

.sr-partners .overview2 h1,
.sr-partners .ent-single-partner h1 {
    margin: 0 0 16px;
    font-family: var(--sr-font-display);
    font-size: clamp(32px, 3.8vw, 48px);
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: -0.03em;
    color: var(--sr-purple-700) !important;
    text-wrap: balance;
}

.sr-partners .overview2 p,
.sr-partners .ent-single-partner p {
    font-family: var(--sr-font);
    font-size: 17px;
    line-height: 1.6;
    color: var(--sr-purple-700) !important;
}

.sr-partners .ecoimgdx img,
.sr-partners .left_img_pn img {
    max-width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}


/* ==========================================================================
   3. TIÊU ĐỀ KHỐI
   ========================================================================== */

.sr-partners .h2_spotlight,
.sr-partners .h2_strategic,
.sr-partners .h2_ourpartner,
.sr-partners .relateoffti {
    margin: 0 0 36px;
    font-family: var(--sr-font-display);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--sr-neutral-900) !important;
}

/* ==========================================================================
   4. THẺ "In the spotlight"
   ========================================================================== */

.sr-partners .spotlight-flex {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.sr-partners .item-spotlight {
    flex: 1 1 300px;
    display: flex;
    align-items: center;
    gap: 14px; 
    border: 1px solid var(--sr-neutral-100);
    border-radius: 12px;
    background: var(--sr-neutral-0);
    box-shadow: none;
    text-decoration: none;
    font-family: var(--sr-font);
    font-size: 15px;
    font-weight: 600;
    color: var(--sr-neutral-900);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.sr-partners .item-spotlight:hover {
    transform: translateY(-6px);
    box-shadow: var(--sr-shadow-panel);
    border-color: transparent;
    color: var(--sr-purple-700);
}

.sr-partners .item-spotlight img {
    flex: none;
    width: 48px;
    height: 48px;
    object-fit: contain;
    border-radius: 10px;
}

/* ==========================================================================
   5. DẢI framenext + KHỐI strategic
   ========================================================================== */

.sr-partners .framenext {
    gap: 24px;
    padding: 24px 28px;
    border: 1px solid var(--sr-neutral-100);
    border-radius: var(--sr-radius);
    background: var(--sr-neutral-0);
}

.sr-partners .framenext .centertxt {
    font-family: var(--sr-font);
    font-size: 16px;
    line-height: 1.6;
    color: var(--sr-neutral-700);
}

.sr-partners .strategic {
    background: var(--sr-neutral-50) !important;
    padding-block: 72px;
}

/* Tiêu đề khối này nằm NGOÀI .ent-container và bị bản cũ ghim width: 576px,
   nên nó dính mép trái màn hình dù mang sẵn class .text-center. Trả về đúng
   cột nội dung rồi canh giữa. */
.sr-partners .h2_strategic {
    width: auto !important;
    max-width: var(--sr-container);
    margin-inline: auto !important;
    padding-inline: var(--sr-gutter);
    box-sizing: border-box;
    text-align: center;
}

/* Hai khối hai cột (strategic và join the team) bị ghim bề rộng px cố định từ
   thời cột nội dung còn rộng hơn: 436+536 trong khung 1120 -> thừa 148px và
   lệch hẳn sang trái; 406+506 trong 1072 -> thừa 160px. Cho chia đều.

   Chỉ áp từ 1025px trở lên: dưới đó chúng đã xếp dọc, mà flex-basis: 0 trong
   cột với khung cao auto sẽ làm hai cột sập còn 0. */
@media (min-width: 1025px) {
    .sr-partners .overview2 > .ent-container,
    .sr-partners .ent-single-partner > .ent-container,
    .sr-partners .strategic > .ent-container,
    .sr-partners .jointheteamctai {
        gap: 48px;
        align-items: center;
    }

    .sr-partners .lefttex_partner,
    .sr-partners .righttex_partner,
    .sr-partners .left_text_pn,
    .sr-partners .left_img_pn,
    .sr-partners .leftstrategic,
    .sr-partners .rightstrategic,
    .sr-partners .leftjoin_the_team,
    .sr-partners .rightjoin_the_team {
        flex: 1 1 0 !important;
        width: auto !important;
        min-width: 0;
    }
}

/* Hàng nút trong hero là một thẻ <p>, hai nút là inline nên chúng xuống dòng
   ngay khi cột chữ hẹp lại. Cho thành hàng flex, chật thì mới wrap. */
.sr-partners .lefttex_partner p:last-child,
.sr-partners .left_text_pn p:last-child,
.sr-partners .join_the_team p:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.sr-partners .lefttex_partner p a {
    margin-right: 0;
}

.sr-partners .rightstrategic img,
.sr-partners .rightjoin_the_team img {
    width: 100%;
    height: auto;
    display: block;
    border-radius: 16px;
}

/* Icon tròn + chữ trong danh sách lợi ích */
.sr-partners .item-leftstrategic {
    gap: 16px;
    align-items: flex-start;
}

.sr-partners .item-leftstrategic .itleft {
    flex: none;
}

.sr-partners .item-leftstrategic .itright {
    flex: 1 1 auto;
    min-width: 0;
}

.sr-partners .leftstrategic,
.sr-partners .rightstrategic {
    font-family: var(--sr-font);
    font-size: 16px;
    line-height: 1.7;
    color: var(--sr-neutral-700);
}

.sr-partners .rightstrategic img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}

/* ==========================================================================
   6. KHỐI "Join the team"
   ========================================================================== */

.sr-partners .join_the_team {
    background: var(--sr-navy-900) !important;
    padding-block: 72px;
}

.sr-partners .join_the_team,
.sr-partners .join_the_team p,
.sr-partners .join_the_team li,
.sr-partners .join_the_team h2,
.sr-partners .join_the_team h3 {
    color: var(--sr-neutral-0) !important;
}

.sr-partners .join_the_team h2,
.sr-partners .join_the_team h3 {
    font-family: var(--sr-font-display);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
}

/* Bản cũ dựng một thẻ nền TRẮNG bên trong (hồi đó cả dải là nền sáng). Dải
   ngoài nay là navy đặc nên thẻ đó phải trong suốt — không thì chữ trắng nằm
   trên nền trắng, khối trông như rỗng. */
.sr-partners .join_the_team .ent-flex {
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.sr-partners .join_the_team img {
    max-width: 100%;
    height: auto;
    border-radius: 16px;
}

/* ==========================================================================
   7. BỘ LỌC + LƯỚI ĐỐI TÁC
   ========================================================================== */

.sr-partners .our_partner {
    padding-block: 72px;
}

.sr-partners .flextab {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: var(--sr-container);
    margin-inline: auto;
    margin-bottom: 36px;
    padding-inline: var(--sr-gutter);
    box-sizing: border-box;
}

.sr-partners .itemtab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    border: 1px solid var(--sr-neutral-100);
    border-radius: 999px;
    background: var(--sr-neutral-0);
    font-family: var(--sr-font);
    font-size: 14px;
    font-weight: 600;
    line-height: 1.2;
    color: var(--sr-neutral-700) !important;
    text-decoration: none;
    transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.sr-partners .itemtab:hover {
    border-color: var(--sr-purple-300);
    color: var(--sr-purple-700) !important;
}

.sr-partners .itemtab.activet {
    border-color: var(--sr-purple-700);
    background: var(--sr-purple-700);
    color: var(--sr-neutral-0) !important;
}

/* Con số đếm trong mỗi tab.

   Phải tự đặt display và line-height: bộ style cũ để span ở display: block và
   thừa kế line-height 41px của tab, nên badge cao 43px trong khi chỉ rộng 28px
   — bo 999px lên cái hộp đó thành viên thuốc dựng đứng, nhìn méo.

   min-width bằng height để số một chữ ra hình tròn, số hai chữ ra viên thuốc
   ngắn — không bị co giật theo độ dài. */
.sr-partners .itemtab span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: none;
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: var(--sr-neutral-50);
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    color: var(--sr-neutral-500);
    box-sizing: border-box;
}

.sr-partners .itemtab.activet span {
    background: rgba(255, 255, 255, 0.2);
    color: var(--sr-neutral-0);
}

.sr-partners .ent-grid.syncpart {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
}

.sr-partners .itemsyncpart {
    display: flex;
    flex-direction: column;
    gap: 12px;
    padding: 24px;
    border: 1px solid var(--sr-neutral-100);
    border-radius: var(--sr-radius);
    background: var(--sr-neutral-0);
    box-shadow: none;
    text-decoration: none;
    font-family: var(--sr-font);
    font-size: 15px;
    line-height: 1.6;
    color: var(--sr-neutral-700);
    transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}

.sr-partners .itemsyncpart:hover {
    transform: translateY(-8px);
    box-shadow: var(--sr-shadow-panel);
    border-color: transparent;
}

/* Thẻ đối tác gồm: .img_sync (logo) > h4 (tên) > p (mô tả) > .readm (link) */
.sr-partners .itemsyncpart .img_sync img,
.sr-partners .itemsyncpart > img {
    width: 56px;
    height: 56px;
    object-fit: contain;
    border-radius: 12px;
}

.sr-partners .itemsyncpart h4,
.sr-partners .itemsyncpart h3,
.sr-partners .itemsyncpart h2 {
    margin: 0;
    font-family: var(--sr-font-display);
    font-size: 18px;
    font-weight: 600;
    line-height: 1.3;
    color: var(--sr-neutral-900) !important;
    transition: color 0.18s ease;
}

.sr-partners .itemsyncpart:hover h4,
.sr-partners .itemsyncpart:hover h3,
.sr-partners .itemsyncpart:hover h2 {
    color: var(--sr-purple-700) !important;
}

.sr-partners .itemsyncpart p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--sr-neutral-700);
}


/* ==========================================================================
   7b. "Become our partner today" + dải tin tức cuối trang

   Bản cũ để dải gradient xanh dương. Dùng tím nhạt thay vì navy: ngay phía
   trên đã có một dải navy (Join the team), hai dải đậm liền nhau thì nặng.
   ========================================================================== */

.sr-partners .become_partner {
    padding-block: 64px;
    background: var(--sr-purple-100) !important;
}

.sr-partners .become_partner .ent-flex,
.sr-partners .become_partner .ent-container > div {
    border-radius: var(--sr-radius);
}

.sr-partners .become_partner h2,
.sr-partners .become_partner h3 {
    font-family: var(--sr-font-display);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--sr-neutral-900) !important;
}

.sr-partners .become_partner p {
    font-family: var(--sr-font);
    font-size: 16px;
    line-height: 1.6;
    color: var(--sr-neutral-700);
}

/* --- biểu mẫu đăng ký ---
   Bản cũ để mỗi hàng một bề rộng: hàng Name+Email nằm trong <p class="p2bc">
   rộng 505px, còn Phone và Comment nằm trong <p> rộng 972px. Nhìn so le hẳn.
   Gom tất cả về một cột 560px canh giữa. */
.sr-partners .become_partner .wpcf7-form p {
    width: 100% !important;
    max-width: 560px;
    margin: 0 auto 14px !important;
    box-sizing: border-box;
}

/* Hàng đầu giữ Name và Email cạnh nhau */
.sr-partners .become_partner .wpcf7-form p.p2bc {
    display: flex;
    gap: 14px;
}

/* Biểu mẫu Contact Form 7 làm cả trang cuộn ngang 4px ở khổ 390px. Dò từng
   nút một thì thủ phạm nằm trong <form>, nhưng không phần tử con nào đo được
   vượt khung — nghĩa là nó đến từ một pseudo-element hoặc phần dựng ẩn của
   plugin. Kẹp lại ngay tại đây: overflow-x: clip không tạo vùng cuộn mới và
   không đụng gì tới bố cục. */
.sr-partners .become_partner .becomeform {
    /* Bộ style cũ đặt .becomeform { padding: 0px } trong media query 1024px, nên
       từ 1024px trở xuống thẻ trắng mất sạch đệm, biểu mẫu dính vào mép thẻ.
       Cho đệm co theo bề ngang: 50px ở màn rộng đúng như cũ, 20px ở màn hẹp. */
    padding: clamp(20px, 4vw, 50px);

    overflow-x: clip;
}

/* Contact Form 7 bọc mỗi ô trong một <span> — span đó không co theo khung nên
   ở 390px nó cũng tràn ra ngoài. */
.sr-partners .become_partner .wpcf7-form-control-wrap {
    display: block;
    flex: 1 1 0;
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.sr-partners .become_partner .wpcf7-form-control:not(.wpcf7-submit) {
    width: 100% !important;
    flex: 1 1 0;
    min-width: 0;

    /* Biểu mẫu đặt hai lớp lề khác nhau: .colinpu6 (Name, Email) có
       margin-inline 10px, .colinpu12 (Phone, Comment) thì không — hai hàng
       lệch nhau 10px ở MỌI bề ngang, không riêng màn nhỏ. Bỏ hết, khoảng hở
       đã do `gap` của hàng và margin của thẻ <p> lo. */
    margin: 0 !important;
    padding: 13px 16px;
    border: 1px solid var(--sr-neutral-100) !important;
    border-radius: var(--sr-radius) !important;
    background: var(--sr-neutral-0);
    font-family: var(--sr-font);
    font-size: 15px;
    color: var(--sr-neutral-900);
    box-sizing: border-box;
    transition: border-color 0.15s ease;
}

.sr-partners .become_partner .wpcf7-form-control:not(.wpcf7-submit):focus {
    outline: none;
    border-color: var(--sr-purple-700) !important;
}

.sr-partners .become_partner textarea.wpcf7-form-control {
    min-height: 120px;
    resize: vertical;
}

.sr-partners .becomenews {
    padding-block: 64px;
}

.sr-partners .title_newssbox {
    margin: 0 0 32px;
    font-family: var(--sr-font-display);
    font-size: clamp(26px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: -0.02em;
    color: var(--sr-neutral-900) !important;
}

/* Chấm điều hướng của cả hai carousel trên trang */
.sr-partners .owl-dot span {
    background: var(--sr-neutral-300) !important;
}

.sr-partners .owl-dot.active span {
    background: var(--sr-purple-700) !important;
}

/* ==========================================================================
   8. TRANG CHI TIẾT
   ========================================================================== */

.sr-partners .imglogo_pn img {
    width: 72px;
    height: 72px;
    object-fit: contain;
    border-radius: 14px;
    background: var(--sr-neutral-0);
}

/* Dòng mô tả ngắn dưới tên đối tác */
.sr-partners .mta_nganx {
    font-size: 16px !important;
    font-weight: 500;
    opacity: 0.85;
}

.sr-partners .full_promotion {
    padding-block: 64px;
    background: var(--sr-neutral-0) !important;
}

.sr-partners .right_promotion_code {
    font-family: var(--sr-font);
    font-size: 17px;
    line-height: 1.75;
    color: var(--sr-neutral-700);
}

.sr-partners .right_promotion_code h2 {
    margin: 32px 0 12px;
    font-family: var(--sr-font-display);
    font-size: 22px;
    font-weight: 600;
    color: var(--sr-neutral-900);
}

.sr-partners .right_promotion_code a {
    color: var(--sr-purple-700);
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* Danh mục: mỗi cái một nhãn bo tròn */
.sr-partners .catexf {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.sr-partners .catexf span {
    padding: 6px 14px;
    border-radius: 999px;
    background: var(--sr-purple-100);
    font-family: var(--sr-font-menu);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    color: var(--sr-purple-700);
}

.sr-partners .relateoff {
    padding-block: 64px;
    background: var(--sr-neutral-50) !important;
}

/* Chấm điều hướng của carousel bài liên quan */
.sr-partners .relateoff .owl-dot span {
    background: var(--sr-neutral-300) !important;
}

.sr-partners .relateoff .owl-dot.active span {
    background: var(--sr-purple-700) !important;
}

/* ==========================================================================
   9. RESPONSIVE
   ========================================================================== */

@media (max-width: 1024px) {
    .sr-partners .ent-grid.syncpart {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .sr-partners .overview2,
    .sr-partners .ent-single-partner,
    .sr-partners .strategic,
    .sr-partners .join_the_team,
    .sr-partners .our_partner {
        padding-block: 48px;
    }

    /* Hero và các khối hai cột xếp dọc */
    .sr-partners .overview2 .ent-flex,
    .sr-partners .ent-single-partner .ent-flex,
    .sr-partners .strategic .ent-flex,
    .sr-partners .jointheteamctai {
        flex-direction: column;
        gap: 32px;
    }

    .sr-partners .lefttex_partner,
    .sr-partners .righttex_partner,
    .sr-partners .left_text_pn,
    .sr-partners .left_img_pn,
    .sr-partners .leftstrategic,
    .sr-partners .rightstrategic,
    .sr-partners .leftjoin_the_team,
    .sr-partners .rightjoin_the_team {
        width: 100% !important;
    }
}

@media (max-width: 700px) {
    .sr-partners .ent-grid.syncpart {
        grid-template-columns: minmax(0, 1fr);
    }

    .sr-partners .item-spotlight {
        flex: 1 1 100%;
    }

    .sr-partners .framenext {
        flex-direction: column;
        align-items: flex-start;
    }

    .sr-partners .right_promotion_code {
        font-size: 16px;
    }
}
