/* =========================================================
   TERMS OF USE - HERO
   FULL WIDTH
========================================================= */


/* =========================================================
   1. SECTION FULL WIDTH
========================================================= */

section.section.terms-use-hero {
    position: relative !important;

    width: 100vw !important;
    max-width: 100vw !important;

    left: 50% !important;

    margin-left: -50vw !important;
    margin-right: -50vw !important;

    padding: 0 !important;

    background:
        linear-gradient(
            135deg,
            #fffdfb 0%,
            #fbf6f5 48%,
            #f8eff1 100%
        ) !important;

    border-bottom: 1px solid #eadfe1;

    overflow: hidden !important;
}


/* tránh thanh cuộn ngang */
html,
body {
    overflow-x: hidden;
}


/* =========================================================
   2. BACKGROUND
========================================================= */

.terms-use-hero > .section-bg {
    width: 100% !important;
    max-width: none !important;

    left: 0 !important;
    right: 0 !important;

    background:
        radial-gradient(
            circle at 14% 38%,
            rgba(123, 17, 40, .08) 0%,
            rgba(123, 17, 40, .03) 28%,
            transparent 55%
        ),
        radial-gradient(
            circle at 88% 30%,
            rgba(200, 162, 75, .10) 0%,
            rgba(200, 162, 75, .03) 30%,
            transparent 55%
        ) !important;
}


/* =========================================================
   3. ĐIỂM NHẤN GOLD PHÍA TRÊN
========================================================= */

section.section.terms-use-hero::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    z-index: 4;

    width: 90px;
    height: 3px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b,
            #7b1128
        );

    border-radius: 0 0 4px 4px;
}


/* =========================================================
   4. SECTION CONTENT
========================================================= */

.terms-use-hero > .section-content {
    position: relative !important;
    z-index: 2 !important;

    width: 100% !important;
    max-width: none !important;

    margin: 0 !important;

    padding: 62px 15px 58px !important;
}


/* =========================================================
   5. ROW - GIỮ NỘI DUNG Ở GIỮA
========================================================= */

.terms-use-hero
> .section-content
> .terms-use-hero-row {
    width: min(calc(100% - 30px), 1230px) !important;
    max-width: 1230px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* bỏ khoảng thừa Flatsome */

.terms-use-hero
.terms-use-hero-row
> .col {
    padding-bottom: 0 !important;
}


.terms-use-hero
.terms-use-hero-row
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   6. HERO CONTENT
========================================================= */

.terms-use-hero-content {
    width: 100%;
    max-width: 820px;

    margin: 0 auto;

    text-align: center;
}


/* =========================================================
   7. BREADCRUMB
========================================================= */

.terms-use-breadcrumb {
    margin: 0 0 12px;

    color: #9a7b42;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;

    letter-spacing: 1.2px;

    text-transform: uppercase;
}


/* =========================================================
   8. TITLE
========================================================= */

.terms-use-hero-content h1 {
    margin: 0 !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: clamp(32px, 3vw, 42px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;

    letter-spacing: -.4px !important;

    text-transform: none !important;
}


/* =========================================================
   9. DECOR
========================================================= */

.terms-use-decor {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    width: 180px;

    margin: 15px auto 14px;

    color: #c8a24b;

    font-size: 15px;
    line-height: 1;
}


.terms-use-decor::before,
.terms-use-decor::after {
    content: "";

    display: block;

    width: 58px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.terms-use-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   10. DESCRIPTION
========================================================= */

.terms-use-hero-content > p {
    max-width: 680px;

    margin: 0 auto !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    .terms-use-hero > .section-content {
        padding: 50px 18px 46px !important;
    }


    .terms-use-hero
    > .section-content
    > .terms-use-hero-row {
        width: calc(100% - 24px) !important;
    }


    .terms-use-hero-content h1 {
        font-size: 32px !important;
    }


    .terms-use-hero-content > p {
        font-size: 14px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    .terms-use-hero > .section-content {
        padding: 40px 15px 36px !important;
    }


    .terms-use-hero
    > .section-content
    > .terms-use-hero-row {
        width: calc(100% - 20px) !important;
    }


    .terms-use-breadcrumb {
        margin-bottom: 9px;

        font-size: 9.5px;
        letter-spacing: .7px;
    }


    .terms-use-hero-content h1 {
        font-size: 27px !important;
        line-height: 1.2 !important;
    }


    .terms-use-decor {
        width: 145px;

        margin-top: 12px;
        margin-bottom: 11px;
    }


    .terms-use-decor::before,
    .terms-use-decor::after {
        width: 45px;
    }


    .terms-use-hero-content > p {
        max-width: 350px;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }

}

/* =========================================================
   TERMS OF USE - OVERVIEW
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.terms-use-overview {
    position: relative !important;

    margin: 0 !important;

    padding-top: 56px !important;
    padding-bottom: 56px !important;

    background: #ffffff !important;

    overflow: hidden;
}


/* background trang trí nhẹ */

.terms-use-overview > .section-bg {
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(123, 17, 40, .035) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(200, 162, 75, .045) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.terms-use-overview
> .section-content
> .terms-use-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.terms-use-overview
> .section-content
> .terms-use-container
> .col {
    padding-bottom: 0 !important;
}


.terms-use-overview
> .section-content
> .terms-use-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. CONTENT
========================================================= */

.terms-use-overview-content {
    width: 100%;
}


/* =========================================================
   4. HEADING
========================================================= */

.terms-use-overview .terms-use-heading {
    width: 100%;
    max-width: 760px;

    margin: 0 auto 34px;

    text-align: center;
}


.terms-use-overview .terms-use-heading-title {
    margin: 0 !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   5. DECOR
========================================================= */

.terms-use-overview .terms-use-heading-decor {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    width: 170px;

    margin: 12px auto;

    color: #c8a24b;

    font-size: 13px;
    line-height: 1;
}


.terms-use-overview
.terms-use-heading-decor::before,
.terms-use-overview
.terms-use-heading-decor::after {
    content: "";

    width: 54px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.terms-use-overview
.terms-use-heading-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   6. INTRO
========================================================= */

.terms-use-overview .terms-use-intro {
    max-width: 700px;

    margin: 0 auto !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   7. GRID 3 CARD
========================================================= */

.terms-use-summary-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 20px;

    width: 100%;
}


/* =========================================================
   8. CARD
========================================================= */

.terms-summary-card {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;

    min-height: 230px;

    padding: 29px 24px 27px;

    text-align: center;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfaf9 100%
        );

    border: 1px solid #eadfe1;
    border-radius: 10px;

    box-shadow:
        0 4px 16px rgba(71, 20, 32, .05);

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* thanh nhấn phía trên */

.terms-summary-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 56px;
    height: 3px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.terms-summary-card:hover {
    transform: translateY(-4px);

    border-color: rgba(123, 17, 40, .28);

    box-shadow:
        0 10px 24px rgba(71, 20, 32, .09);
}


/* =========================================================
   9. ICON
========================================================= */

.terms-summary-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 60px;
    height: 60px;

    margin: 0 0 17px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #f6e8c3 100%
        );

    border: 1px solid rgba(200, 162, 75, .48);
    border-radius: 50%;

    box-shadow:
        0 4px 12px rgba(173, 130, 35, .07);
}


/* SVG */

.terms-summary-icon svg {
    width: 29px;
    height: 29px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


.terms-summary-card:hover
.terms-summary-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   10. TITLE CARD
========================================================= */

.terms-summary-title {
    margin: 0 0 9px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   11. TEXT CARD
========================================================= */

.terms-summary-text {
    max-width: 300px;

    margin: 0 auto !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   12. HOVER ICON BACKGROUND
========================================================= */

.terms-summary-card:hover
.terms-summary-icon {
    background:
        linear-gradient(
            135deg,
            #fff8e8 0%,
            #f3dfaa 100%
        );

    border-color: rgba(123, 17, 40, .20);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.terms-use-overview {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .terms-use-overview
    > .section-content
    > .terms-use-container {
        width: calc(100% - 24px) !important;
    }


    .terms-use-overview .terms-use-heading {
        margin-bottom: 28px;
    }


    .terms-use-overview
    .terms-use-heading-title {
        font-size: 24px !important;
    }


    .terms-use-summary-grid {
        gap: 14px;
    }


    .terms-summary-card {
        min-height: 220px;

        padding: 25px 18px 23px;
    }


    .terms-summary-icon {
        width: 54px;
        height: 54px;

        margin-bottom: 14px;
    }


    .terms-summary-icon svg {
        width: 26px;
        height: 26px;
    }


    .terms-summary-title {
        font-size: 16px !important;
    }


    .terms-summary-text {
        font-size: 13px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.terms-use-overview {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }


    .terms-use-overview
    > .section-content
    > .terms-use-container {
        width: calc(100% - 20px) !important;
    }


    .terms-use-overview .terms-use-heading {
        margin-bottom: 22px;
    }


    .terms-use-overview
    .terms-use-heading-title {
        font-size: 22px !important;
    }


    .terms-use-overview .terms-use-intro {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* 1 card mỗi hàng */

    .terms-use-summary-grid {
        grid-template-columns: 1fr !important;

        gap: 12px;
    }


    .terms-summary-card {
        min-height: 0;

        padding: 22px 18px;
    }


    .terms-summary-icon {
        width: 52px;
        height: 52px;

        margin-bottom: 13px;
    }


    .terms-summary-icon svg {
        width: 25px;
        height: 25px;
    }


    .terms-summary-title {
        margin-bottom: 7px !important;

        font-size: 16px !important;
    }


    .terms-summary-text {
        max-width: 340px;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }

}

/* =========================================================
   TERMS OF USE - RULES
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.terms-use-rules {
    position: relative !important;

    margin: 0 !important;

    padding-top: 56px !important;
    padding-bottom: 56px !important;

    background:
        linear-gradient(
            180deg,
            #faf8f5 0%,
            #fffdfb 100%
        ) !important;

    overflow: hidden;
}


/* background trang trí nhẹ */

.terms-use-rules > .section-bg {
    background:
        radial-gradient(
            circle at 8% 15%,
            rgba(123, 17, 40, .045) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 92% 85%,
            rgba(200, 162, 75, .06) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.terms-use-rules
> .section-content
> .terms-use-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.terms-use-rules
> .section-content
> .terms-use-container
> .col {
    padding-bottom: 0 !important;
}


.terms-use-rules
> .section-content
> .terms-use-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. CONTENT
========================================================= */

.terms-use-rules-content {
    width: 100%;
}


/* =========================================================
   4. HEADING
========================================================= */

.terms-use-rules .terms-use-heading {
    width: 100%;
    max-width: 760px;

    margin: 0 auto 36px;

    text-align: center;
}


.terms-use-rules .terms-use-heading-title {
    margin: 0 !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   5. DECOR
========================================================= */

.terms-use-rules .terms-use-heading-decor {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    width: 170px;

    margin: 12px auto;

    color: #c8a24b;

    font-size: 13px;
    line-height: 1;
}


.terms-use-rules
.terms-use-heading-decor::before,
.terms-use-rules
.terms-use-heading-decor::after {
    content: "";

    width: 54px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.terms-use-rules
.terms-use-heading-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   6. INTRO
========================================================= */

.terms-use-rules .terms-use-intro {
    max-width: 700px;

    margin: 0 auto !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   7. DANH SÁCH ĐIỀU KHOẢN
========================================================= */

.terms-use-rules-list {
    display: flex;
    flex-direction: column;

    gap: 16px;

    width: 100%;
}


/* =========================================================
   8. RULE CARD
========================================================= */

.terms-use-rule {
    position: relative;

    display: grid;

    grid-template-columns:
        92px
        minmax(0, 1fr);

    width: 100%;

    background: #ffffff;

    border: 1px solid #eadfe1;
    border-radius: 10px;

    box-shadow:
        0 3px 14px rgba(71, 20, 32, .045);

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* thanh nhấn gold phía trên */

.terms-use-rule::before {
    content: "";

    position: absolute;

    top: 0;
    left: 92px;

    width: 56px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.terms-use-rule:hover {
    transform: translateY(-2px);

    border-color: rgba(123, 17, 40, .25);

    box-shadow:
        0 8px 22px rgba(71, 20, 32, .075);
}


/* =========================================================
   9. NUMBER
========================================================= */

.terms-use-rule-number {
    display: flex;
    align-items: flex-start;
    justify-content: center;

    padding-top: 28px;

    color: #7b1128;

    background:
        linear-gradient(
            180deg,
            #fbf5f5 0%,
            #fffafa 100%
        );

    border-right: 1px solid #eadfe1;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 27px;
    font-weight: 700;
    line-height: 1;

    letter-spacing: -1px;

    transition:
        color .22s ease,
        background .22s ease;
}


/* hover number */

.terms-use-rule:hover
.terms-use-rule-number {
    color: #a77a1f;

    background:
        linear-gradient(
            180deg,
            #fff9ec 0%,
            #fffdf7 100%
        );
}


/* =========================================================
   10. RULE CONTENT
========================================================= */

.terms-use-rule-content {
    min-width: 0;

    padding: 26px 30px 28px;
}


/* =========================================================
   11. TITLE
========================================================= */

.terms-use-rule-content h3 {
    margin: 0 0 8px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.35 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   12. DESCRIPTION
========================================================= */

.terms-use-rule-content > p {
    margin: 0 0 14px !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   13. LIST
========================================================= */

.terms-use-rule-content ul {
    display: grid;

    gap: 8px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* từng dòng */

.terms-use-rule-content li {
    position: relative;

    margin: 0 !important;

    padding: 0 0 0 21px !important;

    color: #444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 14px;
    font-weight: 400;
    line-height: 1.55;
}


/* dấu check */

.terms-use-rule-content li::before {
    content: "✓";

    position: absolute;

    top: 0;
    left: 0;

    color: #b58926;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   14. ACCENT BOTTOM
========================================================= */

.terms-use-rule::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 2px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    transition: width .22s ease;
}


.terms-use-rule:hover::after {
    width: 30%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.terms-use-rules {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .terms-use-rules
    > .section-content
    > .terms-use-container {
        width: calc(100% - 24px) !important;
    }


    .terms-use-rules .terms-use-heading {
        margin-bottom: 28px;
    }


    .terms-use-rules
    .terms-use-heading-title {
        font-size: 24px !important;
    }


    .terms-use-rule {
        grid-template-columns:
            78px
            minmax(0, 1fr);
    }


    .terms-use-rule::before {
        left: 78px;
    }


    .terms-use-rule-number {
        padding-top: 25px;

        font-size: 24px;
    }


    .terms-use-rule-content {
        padding: 23px 24px 25px;
    }


    .terms-use-rule-content h3 {
        font-size: 17px !important;
    }


    .terms-use-rule-content > p,
    .terms-use-rule-content li {
        font-size: 13px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.terms-use-rules {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }


    .terms-use-rules
    > .section-content
    > .terms-use-container {
        width: calc(100% - 20px) !important;
    }


    .terms-use-rules .terms-use-heading {
        margin-bottom: 22px;
    }


    .terms-use-rules
    .terms-use-heading-title {
        font-size: 22px !important;
    }


    .terms-use-rules .terms-use-intro {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    .terms-use-rules-list {
        gap: 12px;
    }


    /* card mobile */

    .terms-use-rule {
        display: block;

        border-radius: 8px;
    }


    /* thanh trên full width */

    .terms-use-rule::before {
        top: 0;
        left: 0;

        width: 100%;
        height: 2px;

        border-radius: 0;
    }


    /* number thành badge */

    .terms-use-rule-number {
        display: inline-flex;
        align-items: center;
        justify-content: center;

        width: auto;

        margin: 18px 0 0 18px;

        padding: 7px 10px;

        background: #fbf3f4;

        border: 1px solid #eadfe1;
        border-radius: 5px;

        font-size: 17px;
        letter-spacing: 0;
    }


    .terms-use-rule-content {
        padding: 14px 18px 20px;
    }


    .terms-use-rule-content h3 {
        margin-bottom: 7px !important;

        font-size: 16px !important;
    }


    .terms-use-rule-content > p {
        margin-bottom: 12px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    .terms-use-rule-content ul {
        gap: 7px;
    }


    .terms-use-rule-content li {
        padding-left: 19px !important;

        font-size: 13px !important;
        line-height: 1.55;
    }

}

/* =========================================================
   TERMS OF USE - RESPONSIBILITY
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.terms-use-responsibility {
    position: relative !important;

    margin: 0 !important;

    padding-top: 56px !important;
    padding-bottom: 56px !important;

    background: #ffffff !important;

    overflow: hidden;
}


/* background trang trí nhẹ */

.terms-use-responsibility > .section-bg {
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(123, 17, 40, .035) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(200, 162, 75, .05) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.terms-use-responsibility
> .section-content
> .terms-use-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.terms-use-responsibility
> .section-content
> .terms-use-container
> .col {
    padding-bottom: 0 !important;
}


.terms-use-responsibility
> .section-content
> .terms-use-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. CONTENT
========================================================= */

.terms-use-responsibility-content {
    width: 100%;
}


/* =========================================================
   4. HEADING
========================================================= */

.terms-use-responsibility .terms-use-heading {
    width: 100%;
    max-width: 780px;

    margin: 0 auto 36px;

    text-align: center;
}


.terms-use-responsibility .terms-use-heading-title {
    margin: 0 !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   5. DECOR
========================================================= */

.terms-use-responsibility .terms-use-heading-decor {
    display: flex;
    align-items: center;
    justify-content: center;

    gap: 12px;

    width: 170px;

    margin: 12px auto;

    color: #c8a24b;

    font-size: 13px;
    line-height: 1;
}


.terms-use-responsibility
.terms-use-heading-decor::before,
.terms-use-responsibility
.terms-use-heading-decor::after {
    content: "";

    width: 54px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.terms-use-responsibility
.terms-use-heading-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   6. INTRO
========================================================= */

.terms-use-responsibility .terms-use-intro {
    max-width: 700px;

    margin: 0 auto !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 15px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   7. GRID 2 CARD
========================================================= */

.terms-responsibility-grid {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr)) !important;

    gap: 20px;

    width: 100%;

    align-items: stretch;
}


/* =========================================================
   8. CARD
========================================================= */

.terms-responsibility-card {
    position: relative;

    display: grid;

    grid-template-columns:
        72px
        minmax(0, 1fr);

    gap: 20px;

    height: 100%;
    min-height: 410px;

    padding: 28px 28px 30px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fcfaf9 100%
        );

    border: 1px solid #eadfe1;
    border-radius: 10px;

    box-shadow:
        0 4px 16px rgba(71, 20, 32, .05);

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* thanh nhấn phía trên */

.terms-responsibility-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 60px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.terms-responsibility-card:hover {
    transform: translateY(-3px);

    border-color: rgba(123, 17, 40, .26);

    box-shadow:
        0 10px 24px rgba(71, 20, 32, .085);
}


/* =========================================================
   9. ICON
========================================================= */

.terms-responsibility-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 62px;
    height: 62px;

    margin-top: 2px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #f6e8c3 100%
        );

    border: 1px solid rgba(200, 162, 75, .5);
    border-radius: 50%;

    box-shadow:
        0 4px 12px rgba(173, 130, 35, .08);
}


.terms-responsibility-icon svg {
    width: 29px;
    height: 29px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


.terms-responsibility-card:hover
.terms-responsibility-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   10. CARD CONTENT
========================================================= */

.terms-responsibility-card-content {
    display: flex;
    flex-direction: column;

    min-width: 0;
    height: 100%;
}


/* =========================================================
   11. TITLE
========================================================= */

.terms-responsibility-title {
    margin: 0 0 9px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   12. TEXT
========================================================= */

.terms-responsibility-text {
    margin: 0 0 15px !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   13. LIST
========================================================= */

.terms-responsibility-list {
    display: grid;

    gap: 9px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


.terms-responsibility-list li {
    position: relative;

    margin: 0 !important;

    padding: 0 0 0 21px !important;

    color: #444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.58;
}


/* dấu check gold */

.terms-responsibility-list li::before {
    content: "✓";

    position: absolute;

    top: 0;
    left: 0;

    color: #b58926;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   14. ACCENT DƯỚI CARD
========================================================= */

.terms-responsibility-card::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 2px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    transition: width .22s ease;
}


.terms-responsibility-card:hover::after {
    width: 40%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.terms-use-responsibility {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .terms-use-responsibility
    > .section-content
    > .terms-use-container {
        width: calc(100% - 24px) !important;
    }


    .terms-use-responsibility .terms-use-heading {
        margin-bottom: 28px;
    }


    .terms-use-responsibility
    .terms-use-heading-title {
        font-size: 24px !important;
    }


    .terms-responsibility-grid {
        gap: 14px;
    }


    .terms-responsibility-card {
        grid-template-columns:
            58px
            minmax(0, 1fr);

        gap: 15px;

        min-height: 430px;

        padding: 24px 20px 26px;
    }


    .terms-responsibility-card::before {
        left: 20px;

        width: 54px;
    }


    .terms-responsibility-icon {
        width: 54px;
        height: 54px;
    }


    .terms-responsibility-icon svg {
        width: 26px;
        height: 26px;
    }


    .terms-responsibility-title {
        font-size: 17px !important;
    }


    .terms-responsibility-text,
    .terms-responsibility-list li {
        font-size: 13px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.terms-use-responsibility {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }


    .terms-use-responsibility
    > .section-content
    > .terms-use-container {
        width: calc(100% - 20px) !important;
    }


    .terms-use-responsibility .terms-use-heading {
        margin-bottom: 22px;
    }


    .terms-use-responsibility
    .terms-use-heading-title {
        font-size: 22px !important;
    }


    .terms-use-responsibility .terms-use-intro {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* chuyển thành 1 cột */

    .terms-responsibility-grid {
        grid-template-columns: 1fr !important;

        gap: 12px;
    }


    .terms-responsibility-card {
        display: block;

        min-height: 0;

        padding: 20px 18px 22px;
    }


    .terms-responsibility-card::before {
        left: 18px;

        width: 50px;
    }


    .terms-responsibility-icon {
        width: 50px;
        height: 50px;

        margin: 0 0 13px;
    }


    .terms-responsibility-icon svg {
        width: 24px;
        height: 24px;
    }


    .terms-responsibility-title {
        margin-bottom: 7px !important;

        font-size: 16px !important;
    }


    .terms-responsibility-text {
        margin-bottom: 12px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    .terms-responsibility-list {
        gap: 8px;
    }


    .terms-responsibility-list li {
        padding-left: 19px !important;

        font-size: 13px !important;
        line-height: 1.55;
    }

}

/* =========================================================
   TERMS OF USE - THIRD PARTY
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.terms-use-third-party {
    position: relative !important;

    margin: 0 !important;

    padding-top: 52px !important;
    padding-bottom: 52px !important;

    background:
        linear-gradient(
            180deg,
            #faf8f5 0%,
            #fffdfb 100%
        ) !important;

    overflow: hidden;
}


/* background trang trí nhẹ */

.terms-use-third-party > .section-bg {
    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(123, 17, 40, .04) 0%,
            transparent 30%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(200, 162, 75, .055) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.terms-use-third-party
> .section-content
> .terms-use-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.terms-use-third-party
> .section-content
> .terms-use-container
> .col {
    padding-bottom: 0 !important;
}


.terms-use-third-party
> .section-content
> .terms-use-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. BOX
========================================================= */

.terms-third-party-box {
    position: relative;

    display: grid;

    grid-template-columns:
        78px
        minmax(0, 1fr);

    gap: 22px;

    width: 100%;

    padding: 30px 32px 32px;

    background: #ffffff;

    border: 1px solid #eadfe1;
    border-radius: 10px;

    box-shadow:
        0 4px 16px rgba(71, 20, 32, .05);

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* thanh nhấn trên */

.terms-third-party-box::before {
    content: "";

    position: absolute;

    top: 0;
    left: 30px;

    width: 62px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.terms-third-party-box:hover {
    transform: translateY(-2px);

    border-color: rgba(123, 17, 40, .24);

    box-shadow:
        0 8px 22px rgba(71, 20, 32, .075);
}


/* =========================================================
   4. ICON
========================================================= */

.terms-third-party-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 62px;
    height: 62px;

    margin-top: 2px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #f6e8c3 100%
        );

    border: 1px solid rgba(200, 162, 75, .5);
    border-radius: 50%;

    box-shadow:
        0 4px 12px rgba(173, 130, 35, .08);
}


/* SVG */

.terms-third-party-icon svg {
    width: 29px;
    height: 29px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


.terms-third-party-box:hover
.terms-third-party-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   5. CONTENT
========================================================= */

.terms-third-party-content {
    min-width: 0;
}


/* =========================================================
   6. TITLE
========================================================= */

.terms-third-party-title {
    margin: 0 0 10px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   7. TEXT
========================================================= */

.terms-third-party-text {
    max-width: 900px;

    margin: 0 0 16px !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   8. LIST
========================================================= */

.terms-third-party-list {
    display: grid;

    gap: 9px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* từng dòng */

.terms-third-party-list li {
    position: relative;

    margin: 0 !important;

    padding: 0 0 0 22px !important;

    color: #444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.6;
}


/* bullet/check gold */

.terms-third-party-list li::before {
    content: "✓";

    position: absolute;

    top: 0;
    left: 0;

    color: #b58926;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   9. ACCENT DƯỚI BOX
========================================================= */

.terms-third-party-box::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 2px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    transition: width .22s ease;
}


.terms-third-party-box:hover::after {
    width: 32%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.terms-use-third-party {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }


    .terms-use-third-party
    > .section-content
    > .terms-use-container {
        width: calc(100% - 24px) !important;
    }


    .terms-third-party-box {
        grid-template-columns:
            64px
            minmax(0, 1fr);

        gap: 17px;

        padding: 24px 24px 26px;
    }


    .terms-third-party-box::before {
        left: 24px;

        width: 54px;
    }


    .terms-third-party-icon {
        width: 54px;
        height: 54px;
    }


    .terms-third-party-icon svg {
        width: 26px;
        height: 26px;
    }


    .terms-third-party-title {
        font-size: 19px !important;
    }


    .terms-third-party-text,
    .terms-third-party-list li {
        font-size: 13px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.terms-use-third-party {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }


    .terms-use-third-party
    > .section-content
    > .terms-use-container {
        width: calc(100% - 20px) !important;
    }


    .terms-third-party-box {
        display: block;

        padding: 20px 18px 22px;

        border-radius: 8px;
    }


    .terms-third-party-box::before {
        left: 18px;

        width: 48px;
    }


    .terms-third-party-icon {
        width: 48px;
        height: 48px;

        margin: 0 0 13px;
    }


    .terms-third-party-icon svg {
        width: 23px;
        height: 23px;
    }


    .terms-third-party-title {
        margin-bottom: 8px !important;

        font-size: 17px !important;
        line-height: 1.35 !important;
    }


    .terms-third-party-text {
        margin-bottom: 13px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    .terms-third-party-list {
        gap: 8px;
    }


    .terms-third-party-list li {
        padding-left: 19px !important;

        font-size: 13px !important;
        line-height: 1.55;
    }

}

/* =========================================================
   TERMS OF USE - UPDATE
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.terms-use-update {
    position: relative !important;

    margin: 0 !important;

    padding-top: 50px !important;
    padding-bottom: 50px !important;

    background: #ffffff !important;

    overflow: hidden;
}


/* background trang trí nhẹ */

.terms-use-update > .section-bg {
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(123, 17, 40, .025) 0%,
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(200, 162, 75, .045) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.terms-use-update
> .section-content
> .terms-use-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.terms-use-update
> .section-content
> .terms-use-container
> .col {
    padding-bottom: 0 !important;
}


.terms-use-update
> .section-content
> .terms-use-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. UPDATE BOX
========================================================= */

.terms-update-box {
    position: relative;

    display: grid;

    grid-template-columns:
        78px
        minmax(0, 1fr);

    gap: 22px;

    width: 100%;

    padding: 30px 32px 32px;

    background:
        linear-gradient(
            135deg,
            #fffdf8 0%,
            #faf6ec 100%
        );

    border: 1px solid #eadfca;
    border-left: 4px solid #c8a24b;

    border-radius: 10px;

    box-shadow:
        0 4px 16px rgba(71, 20, 32, .045);

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* điểm nhấn phía trên */

.terms-update-box::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 62px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.terms-update-box:hover {
    transform: translateY(-2px);

    border-color: #dfcfad;
    border-left-color: #b98d2a;

    box-shadow:
        0 8px 22px rgba(71, 20, 32, .07);
}


/* =========================================================
   4. ICON
========================================================= */

.terms-update-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 62px;
    height: 62px;

    margin-top: 2px;

    background:
        linear-gradient(
            135deg,
            #fff8e8 0%,
            #f4e3b9 100%
        );

    border: 1px solid rgba(200, 162, 75, .55);
    border-radius: 50%;

    box-shadow:
        0 4px 12px rgba(173, 130, 35, .08);
}


/* SVG */

.terms-update-icon svg {
    width: 30px;
    height: 30px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


.terms-update-box:hover
.terms-update-icon svg {
    stroke: #7b1128;

    transform: rotate(8deg) scale(1.05);
}


/* =========================================================
   5. CONTENT
========================================================= */

.terms-update-content {
    min-width: 0;
}


/* =========================================================
   6. TITLE
========================================================= */

.terms-update-title {
    margin: 0 0 10px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 22px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   7. TEXT
========================================================= */

.terms-update-text {
    max-width: 900px;

    margin: 0 0 16px !important;

    color: #5f5f5f !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   8. LIST
========================================================= */

.terms-update-list {
    display: grid;

    gap: 9px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


/* từng dòng */

.terms-update-list li {
    position: relative;

    margin: 0 !important;

    padding: 0 0 0 22px !important;

    color: #444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.6;
}


/* dấu bullet/check */

.terms-update-list li::before {
    content: "✓";

    position: absolute;

    top: 0;
    left: 0;

    color: #b58926;

    font-size: 12px;
    font-weight: 700;
}


/* =========================================================
   9. ACCENT DƯỚI BOX
========================================================= */

.terms-update-box::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 2px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    transition: width .22s ease;
}


.terms-update-box:hover::after {
    width: 35%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.terms-use-update {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }


    .terms-use-update
    > .section-content
    > .terms-use-container {
        width: calc(100% - 24px) !important;
    }


    .terms-update-box {
        grid-template-columns:
            64px
            minmax(0, 1fr);

        gap: 17px;

        padding: 24px 24px 26px;
    }


    .terms-update-box::before {
        left: 24px;

        width: 54px;
    }


    .terms-update-icon {
        width: 54px;
        height: 54px;
    }


    .terms-update-icon svg {
        width: 26px;
        height: 26px;
    }


    .terms-update-title {
        font-size: 19px !important;
    }


    .terms-update-text,
    .terms-update-list li {
        font-size: 13px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.terms-use-update {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }


    .terms-use-update
    > .section-content
    > .terms-use-container {
        width: calc(100% - 20px) !important;
    }


    .terms-update-box {
        display: block;

        padding: 20px 18px 22px;

        border-left-width: 3px;
        border-radius: 8px;
    }


    .terms-update-box::before {
        left: 18px;

        width: 48px;
    }


    .terms-update-icon {
        width: 48px;
        height: 48px;

        margin: 0 0 13px;
    }


    .terms-update-icon svg {
        width: 23px;
        height: 23px;
    }


    .terms-update-title {
        margin-bottom: 8px !important;

        font-size: 17px !important;
        line-height: 1.35 !important;
    }


    .terms-update-text {
        margin-bottom: 13px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    .terms-update-list {
        gap: 8px;
    }


    .terms-update-list li {
        padding-left: 19px !important;

        font-size: 13px !important;
        line-height: 1.55;
    }

}

/* =========================================================
   TERMS OF USE - NOTE
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.terms-use-note {
    position: relative !important;

    margin: 0 !important;

    padding-top: 50px !important;
    padding-bottom: 50px !important;

    background: #ffffff !important;

    overflow: hidden;
}


/* background trang trí nhẹ */

.terms-use-note > .section-bg {
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(123, 17, 40, .025) 0%,
            transparent 30%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(200, 162, 75, .045) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.terms-use-note
> .section-content
> .terms-use-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.terms-use-note
> .section-content
> .terms-use-container
> .col {
    padding-bottom: 0 !important;
}


.terms-use-note
> .section-content
> .terms-use-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. NOTE BOX
========================================================= */

.terms-use-note-box {
    position: relative;

    display: grid;

    grid-template-columns:
        78px
        minmax(0, 1fr);

    gap: 22px;

    width: 100%;

    padding: 28px 32px 30px;

    background:
        linear-gradient(
            135deg,
            #fffdf8 0%,
            #faf6ec 100%
        );

    border: 1px solid #eadfca;
    border-left: 4px solid #c8a24b;

    border-radius: 10px;

    box-shadow:
        0 4px 16px rgba(71, 20, 32, .045);

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* điểm nhấn phía trên */

.terms-use-note-box::before {
    content: "";

    position: absolute;

    top: 0;
    left: 28px;

    width: 62px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.terms-use-note-box:hover {
    transform: translateY(-2px);

    border-color: #dfcfad;
    border-left-color: #b98d2a;

    box-shadow:
        0 8px 22px rgba(71, 20, 32, .07);
}


/* =========================================================
   4. ICON
========================================================= */

.terms-use-note-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 62px;
    height: 62px;

    margin-top: 2px;

    background:
        linear-gradient(
            135deg,
            #fff8e8 0%,
            #f4e3b9 100%
        );

    border: 1px solid rgba(200, 162, 75, .55);
    border-radius: 50%;

    box-shadow:
        0 4px 12px rgba(173, 130, 35, .08);
}


/* SVG */

.terms-use-note-icon svg {
    width: 30px;
    height: 30px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


.terms-use-note-box:hover
.terms-use-note-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   5. CONTENT
========================================================= */

.terms-use-note-content {
    min-width: 0;
}


/* =========================================================
   6. TITLE
========================================================= */

.terms-use-note-title {
    margin: 0 0 9px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 19px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   7. TEXT
========================================================= */

.terms-use-note-text {
    margin: 0 0 15px !important;

    color: #5f5f5f !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   8. LIST
========================================================= */

.terms-use-note-list {
    display: grid;

    gap: 9px;

    margin: 0 !important;
    padding: 0 !important;

    list-style: none !important;
}


.terms-use-note-list li {
    position: relative;

    margin: 0 !important;

    padding: 0 0 0 22px !important;

    color: #444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 13.5px;
    font-weight: 400;
    line-height: 1.6;
}


/* bullet gold */

.terms-use-note-list li::before {
    content: "•";

    position: absolute;

    top: -1px;
    left: 3px;

    color: #b68a27;

    font-size: 18px;
    font-weight: 700;
    line-height: 1.2;
}


/* =========================================================
   9. ACCENT DƯỚI BOX
========================================================= */

.terms-use-note-box::after {
    content: "";

    position: absolute;

    left: 50%;
    bottom: 0;

    width: 0;
    height: 2px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    transition: width .22s ease;
}


.terms-use-note-box:hover::after {
    width: 35%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.terms-use-note {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }


    .terms-use-note
    > .section-content
    > .terms-use-container {
        width: calc(100% - 24px) !important;
    }


    .terms-use-note-box {
        grid-template-columns:
            64px
            minmax(0, 1fr);

        gap: 17px;

        padding: 24px 24px 26px;
    }


    .terms-use-note-box::before {
        left: 24px;

        width: 54px;
    }


    .terms-use-note-icon {
        width: 54px;
        height: 54px;
    }


    .terms-use-note-icon svg {
        width: 26px;
        height: 26px;
    }


    .terms-use-note-title {
        font-size: 17px !important;
    }


    .terms-use-note-text,
    .terms-use-note-list li {
        font-size: 13px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.terms-use-note {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }


    .terms-use-note
    > .section-content
    > .terms-use-container {
        width: calc(100% - 20px) !important;
    }


    .terms-use-note-box {
        display: block;

        padding: 20px 18px 22px;

        border-left-width: 3px;
        border-radius: 8px;
    }


    .terms-use-note-box::before {
        left: 18px;

        width: 48px;
    }


    .terms-use-note-icon {
        width: 48px;
        height: 48px;

        margin: 0 0 13px;
    }


    .terms-use-note-icon svg {
        width: 23px;
        height: 23px;
    }


    .terms-use-note-title {
        margin-bottom: 7px !important;

        font-size: 16px !important;
    }


    .terms-use-note-text {
        margin-bottom: 12px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    .terms-use-note-list {
        gap: 8px;
    }


    .terms-use-note-list li {
        padding-left: 19px !important;

        font-size: 13px !important;
        line-height: 1.55;
    }

}

/* =========================================================
   TERMS OF USE - CONTACT
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.terms-use-contact {
    position: relative !important;

    margin: 0 !important;

    padding-top: 54px !important;
    padding-bottom: 54px !important;

    background:
        linear-gradient(
            120deg,
            #4b0817 0%,
            #650d22 48%,
            #3b0712 100%
        ) !important;

    overflow: hidden !important;
}


/* background trang trí */

.terms-use-contact > .section-bg {
    background:
        radial-gradient(
            circle at 8% 25%,
            rgba(200, 162, 75, .13) 0%,
            rgba(200, 162, 75, .035) 28%,
            transparent 50%
        ),
        radial-gradient(
            circle at 90% 75%,
            rgba(255, 255, 255, .055) 0%,
            transparent 35%
        ) !important;
}


/* đường gold phía trên */

section.section.terms-use-contact::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;
    z-index: 3;

    width: 110px;
    height: 3px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   2. CONTAINER
========================================================= */

.terms-use-contact
> .section-content
> .terms-use-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.terms-use-contact
> .section-content
> .terms-use-container
> .col {
    padding-bottom: 0 !important;
}


.terms-use-contact
> .section-content
> .terms-use-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. CONTACT BOX
========================================================= */

.terms-use-contact-box {
    position: relative;

    display: grid;

    grid-template-columns:
        92px
        minmax(0, 1fr);

    gap: 28px;

    width: 100%;
    max-width: 1080px;

    margin: 0 auto;

    padding: 34px 38px;

    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, .065) 0%,
            rgba(255, 255, 255, .025) 100%
        );

    border: 1px solid rgba(200, 162, 75, .28);
    border-radius: 12px;

    box-shadow:
        0 14px 34px rgba(0, 0, 0, .14);

    overflow: hidden;
}


/* ánh sáng gold nhẹ */

.terms-use-contact-box::before {
    content: "";

    position: absolute;

    top: -120px;
    left: -100px;

    width: 300px;
    height: 300px;

    background:
        radial-gradient(
            circle,
            rgba(200, 162, 75, .12) 0%,
            transparent 68%
        );

    pointer-events: none;
}


/* line gold phía dưới */

.terms-use-contact-box::after {
    content: "";

    position: absolute;

    bottom: 0;
    left: 50%;

    width: 120px;
    height: 2px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   4. ICON CHÍNH
========================================================= */

.terms-use-contact-icon {
    position: relative;
    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 78px;
    height: 78px;

    margin-top: 3px;

    background:
        linear-gradient(
            135deg,
            #d7b968 0%,
            #b88a28 100%
        );

    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;

    box-shadow:
        0 7px 20px rgba(0, 0, 0, .16);
}


.terms-use-contact-icon svg {
    width: 35px;
    height: 35px;

    fill: none;

    stroke: #4f0a19;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   5. CONTENT
========================================================= */

.terms-use-contact-content {
    position: relative;
    z-index: 2;

    min-width: 0;
}


/* =========================================================
   6. LABEL
========================================================= */

.terms-use-contact-label {
    display: inline-block;

    margin: 0 0 7px;

    color: #d9ba67;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;

    letter-spacing: 1.3px;

    text-transform: uppercase;
}


/* =========================================================
   7. TITLE
========================================================= */

.terms-use-contact-title {
    margin: 0 0 10px !important;

    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 28px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    letter-spacing: -.2px !important;

    text-transform: none !important;
}


/* =========================================================
   8. DESCRIPTION
========================================================= */

.terms-use-contact-text {
    max-width: 760px;

    margin: 0 0 22px !important;

    color: rgba(255, 255, 255, .82) !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;

    letter-spacing: 0 !important;
}


/* =========================================================
   9. CONTACT DETAILS
========================================================= */

.terms-use-contact-details {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;

    max-width: 680px;

    margin: 0 0 22px;
}


/* =========================================================
   10. CONTACT ITEM
========================================================= */

.terms-use-contact-item {
    display: flex !important;
    align-items: center;

    gap: 12px;

    min-height: 68px;

    padding: 12px 15px;

    color: #ffffff !important;

    background: rgba(255, 255, 255, .055);

    border: 1px solid rgba(255, 255, 255, .10);
    border-radius: 8px;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease;
}


.terms-use-contact-item:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    background: rgba(255, 255, 255, .08);

    border-color: rgba(200, 162, 75, .38);
}


/* =========================================================
   11. ICON NHỎ
========================================================= */

.terms-use-contact-item-icon {
    flex: 0 0 38px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 38px;
    height: 38px;

    background: rgba(200, 162, 75, .12);

    border: 1px solid rgba(200, 162, 75, .30);
    border-radius: 50%;
}


.terms-use-contact-item-icon svg {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: #d4b35c;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   12. ITEM CONTENT
========================================================= */

.terms-use-contact-item-content {
    min-width: 0;
}


.terms-use-contact-item-content span {
    display: block;

    margin: 0 0 3px;

    color: rgba(255, 255, 255, .62);

    font-family: Arial, Helvetica, sans-serif;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
}


.terms-use-contact-item-content strong {
    display: block;

    margin: 0;

    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;

    word-break: break-word;
}


/* =========================================================
   13. ACTIONS
========================================================= */

.terms-use-contact-actions {
    margin: 0;
}


/* =========================================================
   14. BUTTON
========================================================= */

.terms-use-contact-button {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 0 24px !important;

    color: #4e0918 !important;

    background:
        linear-gradient(
            135deg,
            #d7b968 0%,
            #c49a3b 100%
        ) !important;

    border: 1px solid #d8bd76 !important;
    border-radius: 6px !important;

    box-shadow:
        0 5px 14px rgba(0, 0, 0, .13);

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: .2px;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


/* mũi tên */

.terms-use-contact-button::after {
    content: "→";

    margin-left: 9px;

    font-size: 16px;
    line-height: 1;
}


.terms-use-contact-button:hover {
    color: #4e0918 !important;

    background:
        linear-gradient(
            135deg,
            #e0c77f 0%,
            #cea64c 100%
        ) !important;

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(0, 0, 0, .18);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.terms-use-contact {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .terms-use-contact
    > .section-content
    > .terms-use-container {
        width: calc(100% - 24px) !important;
    }


    .terms-use-contact-box {
        grid-template-columns:
            72px
            minmax(0, 1fr);

        gap: 20px;

        padding: 28px;
    }


    .terms-use-contact-icon {
        width: 64px;
        height: 64px;
    }


    .terms-use-contact-icon svg {
        width: 29px;
        height: 29px;
    }


    .terms-use-contact-title {
        font-size: 24px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.terms-use-contact {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }


    .terms-use-contact
    > .section-content
    > .terms-use-container {
        width: calc(100% - 20px) !important;
    }


    .terms-use-contact-box {
        display: block;

        padding: 22px 18px 24px;

        border-radius: 9px;

        text-align: center;
    }


    .terms-use-contact-icon {
        width: 58px;
        height: 58px;

        margin: 0 auto 15px;
    }


    .terms-use-contact-icon svg {
        width: 27px;
        height: 27px;
    }


    .terms-use-contact-label {
        font-size: 10px;

        letter-spacing: 1px;
    }


    .terms-use-contact-title {
        margin-bottom: 8px !important;

        font-size: 22px !important;
    }


    .terms-use-contact-text {
        margin-bottom: 18px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* hotline + email thành 1 cột */

    .terms-use-contact-details {
        grid-template-columns: 1fr;

        gap: 9px;

        max-width: none;

        margin-bottom: 18px;

        text-align: left;
    }


    .terms-use-contact-item {
        min-height: 62px;

        padding: 10px 13px;
    }


    .terms-use-contact-item-icon {
        flex-basis: 36px;

        width: 36px;
        height: 36px;
    }


    .terms-use-contact-item-icon svg {
        width: 18px;
        height: 18px;
    }


    .terms-use-contact-item-content strong {
        font-size: 13px;
    }


    /* button full width */

    .terms-use-contact-button {
        width: 100% !important;

        min-height: 44px;
    }

}