/* =========================================================
   CONTACT PAGE - HERO
   FULL WIDTH
========================================================= */


/* =========================================================
   1. SECTION FULL WIDTH
========================================================= */

section.section.contact-page-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
========================================================= */

.contact-page-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.contact-page-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
========================================================= */

.contact-page-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 CĂN GIỮA
========================================================= */

.contact-page-hero
> .section-content
> .contact-page-hero-row {
    width: min(calc(100% - 30px), 1230px) !important;
    max-width: 1230px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset khoảng trống Flatsome */

.contact-page-hero
.contact-page-hero-row
> .col {
    padding-bottom: 0 !important;
}


.contact-page-hero
.contact-page-hero-row
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   6. HERO CONTENT
========================================================= */

.contact-page-hero-content {
    width: 100%;
    max-width: 820px;

    margin: 0 auto;

    text-align: center;
}


/* =========================================================
   7. BREADCRUMB
========================================================= */

.contact-page-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
========================================================= */

.contact-page-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
========================================================= */

.contact-page-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;
}


.contact-page-decor::before,
.contact-page-decor::after {
    content: "";

    display: block;

    width: 58px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.contact-page-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   10. DESCRIPTION
========================================================= */

.contact-page-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) {

    .contact-page-hero > .section-content {
        padding: 50px 18px 46px !important;
    }

    .contact-page-hero
    > .section-content
    > .contact-page-hero-row {
        width: calc(100% - 24px) !important;
    }

    .contact-page-hero-content h1 {
        font-size: 32px !important;
    }

    .contact-page-hero-content > p {
        font-size: 14px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    .contact-page-hero > .section-content {
        padding: 40px 15px 36px !important;
    }

    .contact-page-hero
    > .section-content
    > .contact-page-hero-row {
        width: calc(100% - 20px) !important;
    }

    .contact-page-breadcrumb {
        margin-bottom: 9px;

        font-size: 9.5px;
        letter-spacing: .7px;
    }

    .contact-page-hero-content h1 {
        font-size: 27px !important;
        line-height: 1.2 !important;
    }

    .contact-page-decor {
        width: 145px;

        margin-top: 12px;
        margin-bottom: 11px;
    }

    .contact-page-decor::before,
    .contact-page-decor::after {
        width: 45px;
    }

    .contact-page-hero-content > p {
        max-width: 350px;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }

}

/* =========================================================
   CONTACT PAGE - OVERVIEW
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.contact-page-overview {
    position: relative !important;

    margin: 0 !important;

    padding-top: 56px !important;
    padding-bottom: 56px !important;

    background: #ffffff !important;

    overflow: hidden !important;
}


/* =========================================================
   2. BACKGROUND TRANG TRÍ NHẸ
========================================================= */

.contact-page-overview > .section-bg {
    background:
        radial-gradient(
            circle at 8% 25%,
            rgba(123, 17, 40, .028) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 92% 75%,
            rgba(200, 162, 75, .045) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   3. CONTAINER
========================================================= */

.contact-page-overview
> .section-content
> .contact-page-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.contact-page-overview
> .section-content
> .contact-page-container
> .col {
    padding-bottom: 0 !important;
}


.contact-page-overview
> .section-content
> .contact-page-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   4. OVERVIEW CONTENT
========================================================= */

.contact-page-overview-content {
    width: 100%;
}


/* =========================================================
   5. HEADING
========================================================= */

.contact-page-overview .contact-page-heading {
    width: 100%;
    max-width: 760px;

    margin: 0 auto 36px;

    text-align: center;
}


.contact-page-overview .contact-page-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: -.2px !important;

    text-transform: none !important;
}


/* =========================================================
   6. DECOR
========================================================= */

.contact-page-overview .contact-page-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;
}


.contact-page-overview
.contact-page-heading-decor::before,
.contact-page-overview
.contact-page-heading-decor::after {
    content: "";

    display: block;

    width: 54px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.contact-page-overview
.contact-page-heading-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   7. INTRO
========================================================= */

.contact-page-overview .contact-page-intro {
    max-width: 700px;

    margin: 0 auto !important;

    color: #666666 !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;
}


/* =========================================================
   8. GRID 4 CARD
========================================================= */

.contact-page-overview .contact-info-grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 18px;

    width: 100%;

    align-items: stretch;
}


/* =========================================================
   9. CARD
========================================================= */

.contact-page-overview .contact-info-card {
    position: relative;

    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    min-width: 0;
    min-height: 230px;

    padding: 29px 20px 26px;

    text-align: center;

    color: #444444 !important;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fdfbf9 100%
        );

    border: 1px solid #eadfe1;

    border-radius: 10px;

    box-shadow:
        0 4px 16px rgba(71, 20, 32, .05);

    text-decoration: none !important;

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* =========================================================
   10. ACCENT PHÍA TRÊN CARD
========================================================= */

.contact-page-overview .contact-info-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 54px;
    height: 3px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* =========================================================
   11. HOVER CARD
========================================================= */

.contact-page-overview .contact-info-card:hover {
    transform: translateY(-4px);

    color: #444444 !important;

    border-color:
        rgba(123, 17, 40, .27);

    box-shadow:
        0 10px 25px rgba(71, 20, 32, .085);
}


/* accent dưới khi hover */

.contact-page-overview .contact-info-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;
}


.contact-page-overview
.contact-info-card:hover::after {
    width: 40%;
}


/* =========================================================
   12. ICON
========================================================= */

.contact-page-overview .contact-info-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    flex: 0 0 60px;

    width: 60px;
    height: 60px;

    margin: 0 0 16px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #f5e5bb 100%
        );

    border:
        1px solid rgba(200, 162, 75, .48);

    border-radius: 50%;

    box-shadow:
        0 4px 12px rgba(173, 130, 35, .08);

    transition:
        background .22s ease,
        border-color .22s ease,
        transform .22s ease;
}


.contact-page-overview .contact-info-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


/* hover icon */

.contact-page-overview
.contact-info-card:hover
.contact-info-icon {
    background:
        linear-gradient(
            135deg,
            #fff7e5 0%,
            #f0d99c 100%
        );

    border-color:
        rgba(123, 17, 40, .20);

    transform: translateY(-1px);
}


.contact-page-overview
.contact-info-card:hover
.contact-info-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   13. TITLE
========================================================= */

.contact-page-overview .contact-info-title {
    margin: 0 0 6px !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;
}


/* =========================================================
   14. LABEL
========================================================= */

.contact-page-overview .contact-info-label {
    margin: 0 0 7px !important;

    color: #8c8582 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}


/* =========================================================
   15. VALUE
========================================================= */

.contact-page-overview .contact-info-value {
    display: block;

    margin: auto 0 0;

    color: #444444 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;

    word-break: break-word;
}


/* link card */

.contact-page-overview
a.contact-info-card:hover
.contact-info-value {
    color: #7b1128 !important;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.contact-page-overview {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .contact-page-overview
    > .section-content
    > .contact-page-container {
        width: calc(100% - 24px) !important;
    }


    .contact-page-overview .contact-page-heading {
        margin-bottom: 28px;
    }


    .contact-page-overview
    .contact-page-heading-title {
        font-size: 24px !important;
    }


    .contact-page-overview
    .contact-page-intro {
        font-size: 14px !important;
    }


    /* 2 x 2 */

    .contact-page-overview .contact-info-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 14px;
    }


    .contact-page-overview .contact-info-card {
        min-height: 205px;

        padding: 24px 18px 22px;
    }


    .contact-page-overview .contact-info-icon {
        flex-basis: 54px;

        width: 54px;
        height: 54px;

        margin-bottom: 14px;
    }


    .contact-page-overview
    .contact-info-icon svg {
        width: 26px;
        height: 26px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.contact-page-overview {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }


    .contact-page-overview
    > .section-content
    > .contact-page-container {
        width: calc(100% - 20px) !important;
    }


    .contact-page-overview .contact-page-heading {
        margin-bottom: 22px;
    }


    .contact-page-overview
    .contact-page-heading-title {
        font-size: 22px !important;
    }


    .contact-page-overview
    .contact-page-heading-decor {
        width: 145px;

        margin-top: 10px;
        margin-bottom: 10px;
    }


    .contact-page-overview
    .contact-page-heading-decor::before,
    .contact-page-overview
    .contact-page-heading-decor::after {
        width: 45px;
    }


    .contact-page-overview
    .contact-page-intro {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* 1 CARD / HÀNG */

    .contact-page-overview .contact-info-grid {
        grid-template-columns: 1fr !important;

        gap: 10px;
    }


    /* card ngang trên mobile */

    .contact-page-overview .contact-info-card {
        display: grid !important;

        grid-template-columns:
            48px
            minmax(0, 1fr);

        grid-template-areas:
            "icon title"
            "icon label"
            "icon value";

        column-gap: 14px;

        align-items: center;

        min-height: 0;

        padding: 17px 18px;

        text-align: left;

        border-radius: 8px;
    }


    /* accent chuyển sang cạnh trái */

    .contact-page-overview
    .contact-info-card::before {
        top: 0;
        left: 0;

        width: 3px;
        height: 100%;

        transform: none;

        border-radius: 0;

        background:
            linear-gradient(
                180deg,
                #7b1128,
                #c8a24b
            );
    }


    .contact-page-overview
    .contact-info-icon {
        grid-area: icon;

        flex-basis: 46px;

        width: 46px;
        height: 46px;

        margin: 0;
    }


    .contact-page-overview
    .contact-info-icon svg {
        width: 22px;
        height: 22px;
    }


    .contact-page-overview
    .contact-info-title {
        grid-area: title;

        margin-bottom: 2px !important;

        font-size: 16px !important;
    }


    .contact-page-overview
    .contact-info-label {
        grid-area: label;

        margin-bottom: 2px !important;

        font-size: 11px !important;
    }


    .contact-page-overview
    .contact-info-value {
        grid-area: value;

        margin: 0;

        font-size: 13px !important;
    }

}



/* =========================================================
   CONTACT PAGE - MAIN / QUICK CONTACT
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.contact-page-main {
    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ẹ */

.contact-page-main > .section-bg {
    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(123, 17, 40, .04) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(200, 162, 75, .055) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.contact-page-main
> .section-content
> .contact-page-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.contact-page-main
> .section-content
> .contact-page-container
> .col {
    padding-bottom: 0 !important;
}


.contact-page-main
> .section-content
> .contact-page-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. CONTENT
========================================================= */

.contact-page-main .contact-page-overview-content {
    width: 100%;
}


/* =========================================================
   4. HEADING
========================================================= */

.contact-page-main .contact-page-heading {
    width: 100%;
    max-width: 760px;

    margin: 0 auto 36px;

    text-align: center;
}


.contact-page-main .contact-page-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
========================================================= */

.contact-page-main .contact-page-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;
}


.contact-page-main
.contact-page-heading-decor::before,
.contact-page-main
.contact-page-heading-decor::after {
    content: "";

    width: 54px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.contact-page-main
.contact-page-heading-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   6. INTRO
========================================================= */

.contact-page-main .contact-page-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;
}


/* =========================================================
   7. GRID 4 CARD
========================================================= */

.contact-page-main .contact-info-grid {
    display: grid !important;

    grid-template-columns:
        repeat(4, minmax(0, 1fr)) !important;

    gap: 16px;

    width: 100%;

    align-items: stretch;
}


/* =========================================================
   8. CARD
========================================================= */

.contact-page-main .contact-info-card {
    position: relative;

    display: flex !important;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;

    min-width: 0;
    min-height: 225px;

    padding: 27px 18px 25px;

    text-align: center;

    color: #444 !important;

    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);

    text-decoration: none !important;

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* thanh nhấn trên */

.contact-page-main .contact-info-card::before {
    content: "";

    position: absolute;

    top: 0;
    left: 50%;

    width: 52px;
    height: 3px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.contact-page-main .contact-info-card:hover {
    transform: translateY(-4px);

    border-color: rgba(123, 17, 40, .27);

    box-shadow:
        0 10px 24px rgba(71, 20, 32, .085);

    color: #444 !important;
}


/* =========================================================
   9. ICON
========================================================= */

.contact-page-main .contact-info-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 58px;
    height: 58px;

    margin: 0 0 16px;

    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);

    transition:
        background .22s ease,
        border-color .22s ease;
}


.contact-page-main .contact-info-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


.contact-page-main
.contact-info-card:hover
.contact-info-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   10. TITLE
========================================================= */

.contact-page-main .contact-info-title {
    margin: 0 0 6px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 17px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    text-transform: none !important;
}


/* =========================================================
   11. LABEL
========================================================= */

.contact-page-main .contact-info-label {
    margin: 0 0 7px !important;

    color: #888 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 12px !important;
    font-weight: 400 !important;
    line-height: 1.4 !important;
}


/* =========================================================
   12. VALUE
========================================================= */

.contact-page-main .contact-info-value {
    display: block;

    margin: auto 0 0;

    color: #444 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 700 !important;
    line-height: 1.45 !important;

    word-break: break-word;
}


/* link card hover */

.contact-page-main a.contact-info-card:hover
.contact-info-value {
    color: #7b1128 !important;
}


/* =========================================================
   13. ACCENT DƯỚI CARD
========================================================= */

.contact-page-main .contact-info-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;
}


.contact-page-main
.contact-info-card:hover::after {
    width: 40%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.contact-page-main {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .contact-page-main
    > .section-content
    > .contact-page-container {
        width: calc(100% - 24px) !important;
    }


    .contact-page-main .contact-page-heading {
        margin-bottom: 28px;
    }


    .contact-page-main
    .contact-page-heading-title {
        font-size: 24px !important;
    }


    /* 2 x 2 */

    .contact-page-main .contact-info-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;

        gap: 14px;
    }


    .contact-page-main .contact-info-card {
        min-height: 205px;

        padding: 24px 18px 22px;
    }


    .contact-page-main .contact-info-icon {
        width: 54px;
        height: 54px;

        margin-bottom: 14px;
    }


    .contact-page-main .contact-info-icon svg {
        width: 26px;
        height: 26px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.contact-page-main {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }


    .contact-page-main
    > .section-content
    > .contact-page-container {
        width: calc(100% - 20px) !important;
    }


    .contact-page-main .contact-page-heading {
        margin-bottom: 22px;
    }


    .contact-page-main
    .contact-page-heading-title {
        font-size: 22px !important;
    }


    .contact-page-main .contact-page-intro {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* 1 card mỗi hàng */

    .contact-page-main .contact-info-grid {
        grid-template-columns: 1fr !important;

        gap: 10px;
    }


    .contact-page-main .contact-info-card {
        display: grid !important;

        grid-template-columns:
            48px
            minmax(0, 1fr);

        grid-template-areas:
            "icon title"
            "icon label"
            "icon value";

        column-gap: 14px;

        min-height: 0;

        padding: 17px 18px;

        text-align: left;

        align-items: center;
    }


    .contact-page-main .contact-info-card::before {
        left: 0;

        width: 3px;
        height: 100%;

        transform: none;

        background:
            linear-gradient(
                180deg,
                #7b1128,
                #c8a24b
            );
    }


    .contact-page-main .contact-info-icon {
        grid-area: icon;

        width: 46px;
        height: 46px;

        margin: 0;
    }


    .contact-page-main .contact-info-icon svg {
        width: 22px;
        height: 22px;
    }


    .contact-page-main .contact-info-title {
        grid-area: title;

        margin-bottom: 2px !important;

        font-size: 16px !important;
    }


    .contact-page-main .contact-info-label {
        grid-area: label;

        margin-bottom: 2px !important;

        font-size: 11px !important;
    }


    .contact-page-main .contact-info-value {
        grid-area: value;

        margin: 0;

        font-size: 13px !important;
    }

}

/* =========================================================
   CONTACT PAGE - SUPPORT
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.contact-page-support {
    position: relative !important;

    margin: 0 !important;

    padding-top: 56px !important;
    padding-bottom: 56px !important;

    background: #ffffff !important;

    overflow: hidden;
}


/* background trang trí rất nhẹ */

.contact-page-support > .section-bg {
    background:
        radial-gradient(
            circle at 10% 20%,
            rgba(123, 17, 40, .03) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 90% 80%,
            rgba(200, 162, 75, .045) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.contact-page-support
> .section-content
> .contact-page-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.contact-page-support
> .section-content
> .contact-page-container
> .col {
    padding-bottom: 0 !important;
}


.contact-page-support
> .section-content
> .contact-page-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. CONTENT
========================================================= */

.contact-support-content {
    width: 100%;
}


/* =========================================================
   4. HEADING
========================================================= */

.contact-page-support .contact-page-heading {
    width: 100%;
    max-width: 760px;

    margin: 0 auto 36px;

    text-align: center;
}


.contact-page-support .contact-page-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
========================================================= */

.contact-page-support .contact-page-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;
}


.contact-page-support
.contact-page-heading-decor::before,
.contact-page-support
.contact-page-heading-decor::after {
    content: "";

    width: 54px;
    height: 1px;

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b
        );
}


.contact-page-support
.contact-page-heading-decor::after {
    background:
        linear-gradient(
            90deg,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   6. INTRO
========================================================= */

.contact-page-support .contact-page-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
========================================================= */

.contact-support-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(0, 1fr)) !important;

    gap: 20px;

    width: 100%;

    align-items: stretch;
}


/* =========================================================
   8. CARD
========================================================= */

.contact-support-card {
    position: relative;

    display: flex;
    flex-direction: column;
    align-items: center;

    min-width: 0;
    min-height: 285px;

    padding: 29px 25px 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 */

.contact-support-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 */

.contact-support-card:hover {
    transform: translateY(-4px);

    border-color: rgba(123, 17, 40, .27);

    box-shadow:
        0 10px 24px rgba(71, 20, 32, .085);
}


/* =========================================================
   9. ICON
========================================================= */

.contact-support-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);

    transition:
        background .22s ease,
        border-color .22s ease;
}


.contact-support-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;
}


.contact-support-card:hover
.contact-support-icon {
    background:
        linear-gradient(
            135deg,
            #fff8e8 0%,
            #f3dfaa 100%
        );

    border-color: rgba(123, 17, 40, .20);
}


.contact-support-card:hover
.contact-support-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   10. TITLE
========================================================= */

.contact-support-title {
    margin: 0 0 9px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 18px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    letter-spacing: 0 !important;

    text-transform: none !important;
}


/* =========================================================
   11. TEXT
========================================================= */

.contact-support-text {
    max-width: 310px;

    margin: 0 auto 18px !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. LINK
========================================================= */

.contact-support-link {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    gap: 7px;

    margin-top: auto;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1.3 !important;

    text-decoration: none !important;

    transition:
        color .2s ease,
        transform .2s ease;
}


/* mũi tên */

.contact-support-link::after {
    content: "→";

    color: #c8a24b;

    font-size: 16px;
    line-height: 1;

    transition: transform .2s ease;
}


.contact-support-link:hover {
    color: #b58926 !important;
}


.contact-support-link:hover::after {
    transform: translateX(4px);
}


/* =========================================================
   13. ACCENT DƯỚI CARD
========================================================= */

.contact-support-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;
}


.contact-support-card:hover::after {
    width: 38%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.contact-page-support {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .contact-page-support
    > .section-content
    > .contact-page-container {
        width: calc(100% - 24px) !important;
    }


    .contact-page-support .contact-page-heading {
        margin-bottom: 28px;
    }


    .contact-page-support
    .contact-page-heading-title {
        font-size: 24px !important;
    }


    .contact-support-grid {
        gap: 14px;
    }


    .contact-support-card {
        min-height: 275px;

        padding: 25px 18px 23px;
    }


    .contact-support-icon {
        width: 54px;
        height: 54px;

        margin-bottom: 14px;
    }


    .contact-support-icon svg {
        width: 26px;
        height: 26px;
    }


    .contact-support-title {
        font-size: 16px !important;
    }


    .contact-support-text {
        font-size: 13px !important;
    }


    .contact-support-link {
        font-size: 12.5px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.contact-page-support {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }


    .contact-page-support
    > .section-content
    > .contact-page-container {
        width: calc(100% - 20px) !important;
    }


    .contact-page-support .contact-page-heading {
        margin-bottom: 22px;
    }


    .contact-page-support
    .contact-page-heading-title {
        font-size: 22px !important;
    }


    .contact-page-support
    .contact-page-intro {
        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* 1 card mỗi hàng */

    .contact-support-grid {
        grid-template-columns: 1fr !important;

        gap: 12px;
    }


    .contact-support-card {
        min-height: 0;

        padding: 22px 18px 20px;

        border-radius: 8px;
    }


    .contact-support-icon {
        width: 50px;
        height: 50px;

        margin-bottom: 13px;
    }


    .contact-support-icon svg {
        width: 24px;
        height: 24px;
    }


    .contact-support-title {
        margin-bottom: 7px !important;

        font-size: 16px !important;
    }


    .contact-support-text {
        max-width: 340px;

        margin-bottom: 13px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    .contact-support-link {
        margin-top: 0;

        font-size: 13px !important;
    }

}

/* =========================================================
   CONTACT PAGE - STORE
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.contact-page-store {
    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ẹ */

.contact-page-store > .section-bg {
    background:
        radial-gradient(
            circle at 8% 20%,
            rgba(123, 17, 40, .04) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 92% 80%,
            rgba(200, 162, 75, .055) 0%,
            transparent 30%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.contact-page-store
> .section-content
> .contact-page-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.contact-page-store
> .section-content
> .contact-page-container
> .col {
    padding-bottom: 0 !important;
}


.contact-page-store
> .section-content
> .contact-page-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. STORE BOX
========================================================= */

.contact-store-box {
    position: relative;

    display: grid;

    grid-template-columns:
        92px
        minmax(0, 1fr);

    gap: 28px;

    width: 100%;

    padding: 34px 38px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fdfbf9 100%
        );

    border: 1px solid #eadfe1;
    border-radius: 12px;

    box-shadow:
        0 6px 22px rgba(71, 20, 32, .055);

    overflow: hidden;

    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


/* accent phía trên */

.contact-store-box::before {
    content: "";

    position: absolute;

    top: 0;
    left: 38px;

    width: 66px;
    height: 3px;

    background:
        linear-gradient(
            90deg,
            #7b1128,
            #c8a24b
        );

    border-radius: 0 0 4px 4px;
}


/* hover */

.contact-store-box:hover {
    transform: translateY(-2px);

    border-color: rgba(123, 17, 40, .22);

    box-shadow:
        0 10px 28px rgba(71, 20, 32, .075);
}


/* =========================================================
   4. ICON CHÍNH
========================================================= */

.contact-store-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 76px;
    height: 76px;

    margin-top: 2px;

    background:
        linear-gradient(
            135deg,
            #fff8e8 0%,
            #f3dfaa 100%
        );

    border: 1px solid rgba(200, 162, 75, .52);
    border-radius: 50%;

    box-shadow:
        0 5px 14px rgba(173, 130, 35, .08);
}


.contact-store-icon svg {
    width: 34px;
    height: 34px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;

    transition:
        stroke .22s ease,
        transform .22s ease;
}


.contact-store-box:hover
.contact-store-icon svg {
    stroke: #7b1128;

    transform: scale(1.06);
}


/* =========================================================
   5. CONTENT
========================================================= */

.contact-store-content {
    min-width: 0;
}


/* =========================================================
   6. LABEL
========================================================= */

.contact-store-label {
    display: inline-block;

    margin: 0 0 6px;

    color: #b58926;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 11px;
    font-weight: 700;
    line-height: 1.3;

    letter-spacing: 1.2px;

    text-transform: uppercase;
}


/* =========================================================
   7. TITLE
========================================================= */

.contact-store-title {
    margin: 0 0 9px !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: -.2px !important;

    text-transform: none !important;
}


/* =========================================================
   8. DESCRIPTION
========================================================= */

.contact-store-text {
    max-width: 760px;

    margin: 0 0 22px !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 14px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
}


/* =========================================================
   9. STORE DETAILS - GRID 2 x 2
========================================================= */

.contact-store-details {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;

    width: 100%;
    max-width: 780px;

    margin: 0 0 18px;
}


/* =========================================================
   10. STORE ITEM
========================================================= */

.contact-store-item {
    display: flex;
    align-items: center;

    gap: 12px;

    min-width: 0;
    min-height: 70px;

    padding: 12px 15px;

    background:
        linear-gradient(
            135deg,
            #fffdf9 0%,
            #faf6ee 100%
        );

    border: 1px solid #eadfca;
    border-radius: 8px;

    transition:
        transform .2s ease,
        border-color .2s ease,
        background .2s ease;
}


.contact-store-item:hover {
    transform: translateY(-2px);

    border-color: rgba(200, 162, 75, .55);

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #f8efda 100%
        );
}


/* =========================================================
   11. STORE ITEM ICON
========================================================= */

.contact-store-item-icon {
    flex: 0 0 40px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 40px;
    height: 40px;

    background: #ffffff;

    border: 1px solid rgba(200, 162, 75, .35);
    border-radius: 50%;

    box-shadow:
        0 3px 8px rgba(173, 130, 35, .06);
}


.contact-store-item-icon svg {
    width: 20px;
    height: 20px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   12. STORE ITEM CONTENT
========================================================= */

.contact-store-item-content {
    min-width: 0;
}


.contact-store-item-content span {
    display: block;

    margin: 0 0 3px;

    color: #8b8177;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 11px;
    font-weight: 400;
    line-height: 1.3;
}


.contact-store-item-content strong {
    display: block;

    margin: 0;

    color: #444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;

    word-break: break-word;
}


/* =========================================================
   13. NOTE
========================================================= */

.contact-store-note {
    display: flex;
    align-items: flex-start;

    gap: 10px;

    max-width: 780px;

    margin: 0 0 20px;

    padding: 13px 15px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #fbf3df 100%
        );

    border: 1px solid rgba(200, 162, 75, .35);
    border-left: 3px solid #c8a24b;

    border-radius: 7px;
}


/* note icon */

.contact-store-note-icon {
    flex: 0 0 30px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 30px;
    height: 30px;

    background: rgba(200, 162, 75, .11);

    border: 1px solid rgba(200, 162, 75, .28);
    border-radius: 50%;
}


.contact-store-note-icon svg {
    width: 16px;
    height: 16px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.contact-store-note p {
    margin: 3px 0 0 !important;

    color: #5e5544 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 12.5px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
}


/* =========================================================
   14. ACTIONS
========================================================= */

.contact-store-actions {
    margin: 0;
}


/* =========================================================
   15. BUTTON
========================================================= */

.contact-store-button {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 0 23px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #7b1128 0%,
            #5e0b1d 100%
        ) !important;

    border: 1px solid #6c0d22 !important;
    border-radius: 6px !important;

    box-shadow:
        0 5px 14px rgba(94, 11, 29, .16);

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    letter-spacing: .1px;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


/* mũi tên */

.contact-store-button::after {
    content: "→";

    margin-left: 9px;

    color: #d8b65d;

    font-size: 16px;
    line-height: 1;

    transition: transform .2s ease;
}


.contact-store-button:hover {
    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #8c1630 0%,
            #680c21 100%
        ) !important;

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(94, 11, 29, .22);
}


.contact-store-button:hover::after {
    transform: translateX(3px);
}


/* =========================================================
   16. ACCENT DƯỚI BOX
========================================================= */

.contact-store-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;
}


.contact-store-box:hover::after {
    width: 35%;
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.contact-page-store {
        padding-top: 42px !important;
        padding-bottom: 42px !important;
    }


    .contact-page-store
    > .section-content
    > .contact-page-container {
        width: calc(100% - 24px) !important;
    }


    .contact-store-box {
        grid-template-columns:
            72px
            minmax(0, 1fr);

        gap: 20px;

        padding: 28px;
    }


    .contact-store-box::before {
        left: 28px;

        width: 56px;
    }


    .contact-store-icon {
        width: 64px;
        height: 64px;
    }


    .contact-store-icon svg {
        width: 29px;
        height: 29px;
    }


    .contact-store-title {
        font-size: 24px !important;
    }


    .contact-store-details {
        gap: 10px;
    }


    .contact-store-item {
        padding: 11px 12px;
    }


    .contact-store-item-content strong {
        font-size: 13px;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.contact-page-store {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }


    .contact-page-store
    > .section-content
    > .contact-page-container {
        width: calc(100% - 20px) !important;
    }


    .contact-store-box {
        display: block;

        padding: 22px 18px 24px;

        border-radius: 9px;
    }


    .contact-store-box::before {
        left: 18px;

        width: 48px;
    }


    .contact-store-icon {
        width: 56px;
        height: 56px;

        margin: 0 0 14px;
    }


    .contact-store-icon svg {
        width: 26px;
        height: 26px;
    }


    .contact-store-label {
        font-size: 10px;

        letter-spacing: 1px;
    }


    .contact-store-title {
        margin-bottom: 8px !important;

        font-size: 22px !important;
    }


    .contact-store-text {
        margin-bottom: 17px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* 1 cột */

    .contact-store-details {
        grid-template-columns: 1fr;

        gap: 9px;

        max-width: none;

        margin-bottom: 15px;
    }


    .contact-store-item {
        min-height: 62px;

        padding: 10px 12px;
    }


    .contact-store-item-icon {
        flex-basis: 36px;

        width: 36px;
        height: 36px;
    }


    .contact-store-item-icon svg {
        width: 18px;
        height: 18px;
    }


    .contact-store-item-content strong {
        font-size: 13px;
    }


    /* note */

    .contact-store-note {
        max-width: none;

        margin-bottom: 17px;

        padding: 11px 12px;
    }


    .contact-store-note-icon {
        flex-basis: 28px;

        width: 28px;
        height: 28px;
    }


    .contact-store-note p {
        margin-top: 1px !important;

        font-size: 12px !important;
        line-height: 1.5 !important;
    }


    /* button full width */

    .contact-store-button {
        width: 100% !important;

        min-height: 44px;
    }

}

/* =========================================================
   CONTACT PAGE - CTA
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.contact-page-cta {
    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;
}


/* =========================================================
   2. BACKGROUND TRANG TRÍ
========================================================= */

.contact-page-cta > .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;
}


/* =========================================================
   3. ĐƯỜNG GOLD PHÍA TRÊN
========================================================= */

section.section.contact-page-cta::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
        );
}


/* =========================================================
   4. CONTAINER
========================================================= */

.contact-page-cta
> .section-content
> .contact-page-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.contact-page-cta
> .section-content
> .contact-page-container
> .col {
    padding-bottom: 0 !important;
}


.contact-page-cta
> .section-content
> .contact-page-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   5. CTA BOX
========================================================= */

.contact-cta-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ẹ */

.contact-cta-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;
}


/* accent dưới */

.contact-cta-box::after {
    content: "";

    position: absolute;

    bottom: 0;
    left: 50%;

    width: 120px;
    height: 2px;

    transform: translateX(-50%);

    background:
        linear-gradient(
            90deg,
            transparent,
            #c8a24b,
            transparent
        );
}


/* =========================================================
   6. ICON CHÍNH
========================================================= */

.contact-cta-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);
}


.contact-cta-icon svg {
    width: 35px;
    height: 35px;

    fill: none;

    stroke: #4f0a19;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   7. CONTENT
========================================================= */

.contact-cta-content {
    position: relative;
    z-index: 2;

    min-width: 0;
}


/* =========================================================
   8. LABEL
========================================================= */

.contact-cta-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;
}


/* =========================================================
   9. TITLE
========================================================= */

.contact-cta-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;
}


/* =========================================================
   10. DESCRIPTION
========================================================= */

.contact-cta-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;
}


/* =========================================================
   11. CONTACT DETAILS
========================================================= */

.contact-cta-details {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 12px;

    max-width: 680px;

    margin: 0 0 20px;
}


/* =========================================================
   12. CONTACT ITEM
========================================================= */

.contact-cta-item {
    display: flex !important;

    align-items: center;

    gap: 12px;

    min-width: 0;
    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;
}


.contact-cta-item:hover {
    transform: translateY(-2px);

    color: #ffffff !important;

    background:
        rgba(255, 255, 255, .085);

    border-color:
        rgba(200, 162, 75, .40);
}


/* =========================================================
   13. ITEM ICON
========================================================= */

.contact-cta-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%;
}


.contact-cta-item-icon svg {
    width: 19px;
    height: 19px;

    fill: none;

    stroke: #d4b35c;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   14. ITEM CONTENT
========================================================= */

.contact-cta-item-content {
    min-width: 0;
}


.contact-cta-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;
}


.contact-cta-item-content strong {
    display: block;

    color: #ffffff;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 14px;
    font-weight: 700;
    line-height: 1.35;

    word-break: break-word;
}


/* =========================================================
   15. ACTION
========================================================= */

.contact-cta-actions {
    margin: 0;
}


/* =========================================================
   16. BUTTON
========================================================= */

.contact-cta-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 */

.contact-cta-button::after {
    content: "→";

    margin-left: 9px;

    font-size: 16px;
    line-height: 1;

    transition:
        transform .2s ease;
}


.contact-cta-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);
}


.contact-cta-button:hover::after {
    transform: translateX(3px);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.contact-page-cta {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .contact-page-cta
    > .section-content
    > .contact-page-container {
        width: calc(100% - 24px) !important;
    }


    .contact-cta-box {
        grid-template-columns:
            72px
            minmax(0, 1fr);

        gap: 20px;

        padding: 28px;
    }


    .contact-cta-icon {
        width: 64px;
        height: 64px;
    }


    .contact-cta-icon svg {
        width: 29px;
        height: 29px;
    }


    .contact-cta-title {
        font-size: 24px !important;
    }


    .contact-cta-text {
        font-size: 13.5px !important;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.contact-page-cta {
        padding-top: 32px !important;
        padding-bottom: 32px !important;
    }


    .contact-page-cta
    > .section-content
    > .contact-page-container {
        width: calc(100% - 20px) !important;
    }


    .contact-cta-box {
        display: block;

        padding: 22px 18px 24px;

        border-radius: 9px;

        text-align: center;
    }


    .contact-cta-icon {
        width: 58px;
        height: 58px;

        margin:
            0
            auto
            15px;
    }


    .contact-cta-icon svg {
        width: 27px;
        height: 27px;
    }


    .contact-cta-label {
        font-size: 10px;

        letter-spacing: 1px;
    }


    .contact-cta-title {
        margin-bottom: 8px !important;

        font-size: 22px !important;
    }


    .contact-cta-text {
        margin-bottom: 18px !important;

        font-size: 13px !important;
        line-height: 1.6 !important;
    }


    /* contact item 1 cột */

    .contact-cta-details {
        grid-template-columns: 1fr;

        gap: 9px;

        max-width: none;

        margin-bottom: 17px;

        text-align: left;
    }


    .contact-cta-item {
        min-height: 62px;

        padding: 10px 13px;
    }


    .contact-cta-item-icon {
        flex-basis: 36px;

        width: 36px;
        height: 36px;
    }


    .contact-cta-item-icon svg {
        width: 18px;
        height: 18px;
    }


    .contact-cta-item-content strong {
        font-size: 13px;
    }


    /* button full width */

    .contact-cta-button {
        width: 100% !important;

        min-height: 44px;
    }

}

/* =========================================================
   CONTACT PAGE - MAIN
   FORM + GOOGLE MAP
========================================================= */


/* =========================================================
   1. SECTION
========================================================= */

section.section.contact-page-main {
    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 !important;
}


/* background trang trí nhẹ */

.contact-page-main > .section-bg {
    background:
        radial-gradient(
            circle at 8% 18%,
            rgba(123, 17, 40, .04) 0%,
            transparent 32%
        ),
        radial-gradient(
            circle at 92% 82%,
            rgba(200, 162, 75, .055) 0%,
            transparent 32%
        ) !important;
}


/* =========================================================
   2. CONTAINER
========================================================= */

.contact-page-main
> .section-content
> .contact-page-container {
    width: min(calc(100% - 30px), 1180px) !important;
    max-width: 1180px !important;

    margin-left: auto !important;
    margin-right: auto !important;
}


/* reset Flatsome */

.contact-page-main
> .section-content
> .contact-page-container
> .col {
    padding-bottom: 0 !important;
}


.contact-page-main
> .section-content
> .contact-page-container
> .col
> .col-inner {
    padding: 0 !important;

    background: transparent !important;
}


/* =========================================================
   3. MAIN CONTENT
   DESKTOP: FORM 50% + MAP 50%
========================================================= */

.contact-main-content {
    display: grid !important;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 22px;

    width: 100%;

    align-items: stretch;
}


/* =========================================================
   4. FORM BOX + MAP BOX
========================================================= */

.contact-main-form-box,
.contact-main-map-box {
    position: relative;

    min-width: 0;

    padding: 30px;

    background:
        linear-gradient(
            180deg,
            #ffffff 0%,
            #fdfbf9 100%
        );

    border: 1px solid #eadfe1;

    border-radius: 12px;

    box-shadow:
        0 6px 22px rgba(71, 20, 32, .055);

    overflow: hidden;
}


/* accent phía trên */

.contact-main-form-box::before,
.contact-main-map-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;
}


/* =========================================================
   5. LABEL
========================================================= */

.contact-main-label {
    display: inline-block;

    margin: 0 0 6px;

    color: #b58926;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 10.5px;
    font-weight: 700;
    line-height: 1.3;

    letter-spacing: 1.2px;

    text-transform: uppercase;
}


/* =========================================================
   6. FORM TITLE
========================================================= */

.contact-main-title,
.contact-map-title {
    margin: 0 0 9px !important;

    color: #7b1128 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 26px !important;
    font-weight: 700 !important;
    line-height: 1.25 !important;

    letter-spacing: -.2px !important;

    text-transform: none !important;
}


/* =========================================================
   7. DESCRIPTION
========================================================= */

.contact-main-text,
.contact-map-text {
    margin: 0 0 22px !important;

    color: #666 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13.5px !important;
    font-weight: 400 !important;
    line-height: 1.7 !important;
}


/* =========================================================
   8. FORM
========================================================= */

.contact-main-form {
    width: 100%;
}


/* =========================================================
   9. FORM GRID 2 CỘT
========================================================= */

.contact-form-grid {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 15px;

    width: 100%;

    margin-bottom: 15px;
}


/* =========================================================
   10. FORM GROUP
========================================================= */

.contact-form-group {
    min-width: 0;
}


.contact-form-group > label {
    display: block;

    margin: 0 0 7px;

    color: #4c4543;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 12px;
    font-weight: 700;
    line-height: 1.35;
}


/* dấu * */

.contact-form-group > label span {
    color: #7b1128;

    margin-left: 2px;
}


/* =========================================================
   11. FORM CONTROL
========================================================= */

.contact-form-control {
    position: relative;

    width: 100%;
}


/* =========================================================
   12. INPUT ICON
========================================================= */

.contact-form-icon {
    position: absolute;

    top: 50%;
    left: 13px;

    z-index: 2;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 19px;
    height: 19px;

    transform: translateY(-50%);

    pointer-events: none;
}


.contact-form-icon svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.6;

    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   13. INPUT + SELECT
========================================================= */

.contact-form-control input,
.contact-form-control select {
    width: 100% !important;
    height: 46px !important;

    margin: 0 !important;

    padding:
        0
        38px
        0
        42px !important;

    color: #444 !important;

    background: #ffffff !important;

    border: 1px solid #e5dcda !important;
    border-radius: 7px !important;

    box-shadow: none !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;
    font-weight: 400 !important;

    outline: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


/* placeholder */

.contact-form-control input::placeholder,
.contact-form-message textarea::placeholder {
    color: #aaa !important;

    opacity: 1;
}


/* focus */

.contact-form-control input:focus,
.contact-form-control select:focus,
.contact-form-message textarea:focus {
    background: #fffdfb !important;

    border-color:
        rgba(123, 17, 40, .45) !important;

    box-shadow:
        0 0 0 3px rgba(123, 17, 40, .055) !important;
}


/* =========================================================
   14. SELECT
========================================================= */

.contact-form-control select {
    cursor: pointer;

    appearance: auto;
}


/* =========================================================
   15. MESSAGE
========================================================= */

.contact-form-message {
    margin: 0 0 15px;
}


.contact-form-message textarea {
    display: block;

    width: 100% !important;
    min-height: 138px !important;

    margin: 0 !important;

    padding: 13px 14px !important;

    resize: vertical;

    color: #444 !important;

    background: #ffffff !important;

    border: 1px solid #e5dcda !important;
    border-radius: 7px !important;

    box-shadow: none !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;

    outline: none !important;

    transition:
        border-color .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


/* =========================================================
   16. PRIVACY / POLICY NOTE
========================================================= */

.contact-form-policy {
    display: flex;
    align-items: flex-start;

    gap: 9px;

    margin: 0 0 18px;

    padding: 11px 12px;

    background:
        linear-gradient(
            135deg,
            #fffaf0 0%,
            #fbf3df 100%
        );

    border:
        1px solid rgba(200, 162, 75, .32);

    border-left:
        3px solid #c8a24b;

    border-radius: 7px;
}


.contact-form-policy-icon {
    flex: 0 0 28px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 28px;
    height: 28px;

    background:
        rgba(200, 162, 75, .11);

    border:
        1px solid rgba(200, 162, 75, .25);

    border-radius: 50%;
}


.contact-form-policy-icon svg {
    width: 15px;
    height: 15px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.contact-form-policy p {
    margin: 3px 0 0 !important;

    color: #665e51 !important;

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 11.5px !important;
    font-weight: 400 !important;
    line-height: 1.5 !important;
}


/* =========================================================
   17. FORM BUTTON
========================================================= */

.contact-form-actions {
    margin: 0;
}


.contact-form-submit {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    margin: 0 !important;

    padding: 0 23px !important;

    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #7b1128 0%,
            #5e0b1d 100%
        ) !important;

    border:
        1px solid #6b0d21 !important;

    border-radius: 6px !important;

    box-shadow:
        0 5px 14px rgba(94, 11, 29, .15);

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-transform: none !important;

    cursor: pointer;

    transition:
        transform .2s ease,
        box-shadow .2s ease,
        background .2s ease;
}


.contact-form-submit::after {
    content: "→";

    margin-left: 9px;

    color: #d8b65d;

    font-size: 16px;
    line-height: 1;
}


.contact-form-submit:hover {
    color: #ffffff !important;

    background:
        linear-gradient(
            135deg,
            #8b1731 0%,
            #680c21 100%
        ) !important;

    transform: translateY(-2px);

    box-shadow:
        0 8px 18px rgba(94, 11, 29, .21);
}


/* =========================================================
   18. MAP BOX
========================================================= */

.contact-main-map-box {
    display: flex;
    flex-direction: column;
}


/* =========================================================
   19. MAP HEADER
========================================================= */

.contact-map-header {
    margin: 0;
}


/* =========================================================
   20. MAP FRAME
========================================================= */

.contact-map-frame {
    position: relative;

    width: 100%;
    min-height: 315px;

    margin: 0 0 15px;

    background:
        linear-gradient(
            135deg,
            #f7f1e7 0%,
            #eee3d0 100%
        );

    border:
        1px solid #e1d6c5;

    border-radius: 9px;

    overflow: hidden;
}


/* iframe Google Maps thật */

.contact-map-frame iframe {
    display: block;

    width: 100% !important;
    height: 315px !important;

    margin: 0 !important;

    border: 0 !important;
}


/* =========================================================
   21. MAP PLACEHOLDER
========================================================= */

.contact-map-placeholder {
    position: absolute;

    inset: 0;

    display: flex;
    flex-direction: column;

    align-items: center;
    justify-content: center;

    padding: 25px;

    text-align: center;

    background:
        radial-gradient(
            circle at center,
            rgba(200, 162, 75, .13) 0%,
            rgba(255, 255, 255, .30) 45%,
            transparent 75%
        );
}


.contact-map-placeholder-icon {
    display: flex;
    align-items: center;
    justify-content: center;

    width: 60px;
    height: 60px;

    margin: 0 0 13px;

    background:
        linear-gradient(
            135deg,
            #d6b761 0%,
            #bb8e2d 100%
        );

    border-radius: 50%;

    box-shadow:
        0 6px 16px rgba(105, 72, 15, .14);
}


.contact-map-placeholder-icon svg {
    width: 28px;
    height: 28px;

    fill: none;

    stroke: #5b0c1d;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.contact-map-placeholder strong {
    display: block;

    margin: 0 0 4px;

    color: #7b1128;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 15px;
    font-weight: 700;
    line-height: 1.4;
}


.contact-map-placeholder span {
    display: block;

    color: #8d806d;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 11px;
    font-weight: 400;
}


/* =========================================================
   22. MAP DETAILS
========================================================= */

.contact-map-details {
    display: grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap: 10px;

    margin: 0 0 17px;
}


/* =========================================================
   23. MAP DETAIL ITEM
========================================================= */

.contact-map-detail-item {
    display: flex;
    align-items: center;

    gap: 10px;

    min-width: 0;
    min-height: 62px;

    padding: 10px 12px;

    background:
        linear-gradient(
            135deg,
            #fffdf9 0%,
            #faf5eb 100%
        );

    border:
        1px solid #eadfca;

    border-radius: 7px;
}


.contact-map-detail-icon {
    flex: 0 0 36px;

    display: flex;
    align-items: center;
    justify-content: center;

    width: 36px;
    height: 36px;

    background: #ffffff;

    border:
        1px solid rgba(200, 162, 75, .35);

    border-radius: 50%;
}


.contact-map-detail-icon svg {
    width: 18px;
    height: 18px;

    fill: none;

    stroke: #b58926;
    stroke-width: 1.7;

    stroke-linecap: round;
    stroke-linejoin: round;
}


.contact-map-detail-item > div:last-child {
    min-width: 0;
}


.contact-map-detail-item span {
    display: block;

    margin: 0 0 3px;

    color: #8c8177;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 10.5px;
    font-weight: 400;
    line-height: 1.3;
}


.contact-map-detail-item strong {
    display: block;

    color: #444;

    font-family: Arial, Helvetica, sans-serif;

    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.4;

    word-break: break-word;
}


/* =========================================================
   24. MAP ACTION
========================================================= */

.contact-map-actions {
    margin-top: auto;
}


/* =========================================================
   25. MAP BUTTON
========================================================= */

.contact-map-button {
    display: inline-flex !important;

    align-items: center;
    justify-content: center;

    min-height: 44px;

    padding: 0 22px !important;

    color: #7b1128 !important;

    background:
        linear-gradient(
            135deg,
            #fff8e9 0%,
            #f2dfac 100%
        ) !important;

    border:
        1px solid rgba(200, 162, 75, .58) !important;

    border-radius: 6px !important;

    box-shadow:
        0 4px 12px rgba(173, 130, 35, .08);

    font-family: Arial, Helvetica, sans-serif !important;

    font-size: 13px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    text-decoration: none !important;

    transition:
        transform .2s ease,
        background .2s ease,
        border-color .2s ease,
        box-shadow .2s ease;
}


.contact-map-button::after {
    content: "→";

    margin-left: 9px;

    color: #b58926;

    font-size: 16px;
    line-height: 1;

    transition:
        transform .2s ease;
}


.contact-map-button:hover {
    color: #7b1128 !important;

    background:
        linear-gradient(
            135deg,
            #fff3d8 0%,
            #ecd28d 100%
        ) !important;

    border-color: #c8a24b !important;

    transform: translateY(-2px);

    box-shadow:
        0 7px 16px rgba(173, 130, 35, .13);
}


.contact-map-button:hover::after {
    transform: translateX(3px);
}


/* =========================================================
   26. HOVER BOX
========================================================= */

.contact-main-form-box,
.contact-main-map-box {
    transition:
        transform .22s ease,
        border-color .22s ease,
        box-shadow .22s ease;
}


.contact-main-form-box:hover,
.contact-main-map-box:hover {
    transform: translateY(-2px);

    border-color:
        rgba(123, 17, 40, .20);

    box-shadow:
        0 10px 28px rgba(71, 20, 32, .075);
}


/* =========================================================
   TABLET
========================================================= */

@media (max-width: 849px) {

    section.section.contact-page-main {
        padding-top: 44px !important;
        padding-bottom: 44px !important;
    }


    .contact-page-main
    > .section-content
    > .contact-page-container {
        width: calc(100% - 24px) !important;
    }


    .contact-main-content {
        gap: 16px;
    }


    .contact-main-form-box,
    .contact-main-map-box {
        padding: 24px;
    }


    .contact-main-form-box::before,
    .contact-main-map-box::before {
        left: 24px;

        width: 54px;
    }


    .contact-main-title,
    .contact-map-title {
        font-size: 22px !important;
    }


    .contact-form-grid {
        grid-template-columns: 1fr;

        gap: 12px;
    }


    .contact-map-frame,
    .contact-map-frame iframe {
        min-height: 300px;
        height: 300px !important;
    }


    .contact-map-details {
        grid-template-columns: 1fr;
    }

}


/* =========================================================
   MOBILE
========================================================= */

@media (max-width: 549px) {

    section.section.contact-page-main {
        padding-top: 34px !important;
        padding-bottom: 34px !important;
    }


    .contact-page-main
    > .section-content
    > .contact-page-container {
        width: calc(100% - 20px) !important;
    }


    /* FORM TRÊN - MAP DƯỚI */

    .contact-main-content {
        grid-template-columns: 1fr;

        gap: 14px;
    }


    .contact-main-form-box,
    .contact-main-map-box {
        padding: 21px 17px 22px;

        border-radius: 9px;
    }


    .contact-main-form-box::before,
    .contact-main-map-box::before {
        left: 17px;

        width: 48px;
    }


    .contact-main-label {
        font-size: 9.5px;

        letter-spacing: 1px;
    }


    .contact-main-title,
    .contact-map-title {
        margin-bottom: 7px !important;

        font-size: 21px !important;
    }


    .contact-main-text,
    .contact-map-text {
        margin-bottom: 17px !important;

        font-size: 12.5px !important;
        line-height: 1.6 !important;
    }


    .contact-form-grid {
        grid-template-columns: 1fr;

        gap: 11px;

        margin-bottom: 11px;
    }


    .contact-form-group > label {
        margin-bottom: 6px;

        font-size: 11.5px;
    }


    .contact-form-control input,
    .contact-form-control select {
        height: 44px !important;

        padding-left: 40px !important;

        font-size: 12.5px !important;
    }


    .contact-form-icon {
        left: 12px;
    }


    .contact-form-icon svg {
        width: 17px;
        height: 17px;
    }


    .contact-form-message textarea {
        min-height: 125px !important;

        font-size: 12.5px !important;
    }


    .contact-form-policy {
        padding: 10px 11px;

        margin-bottom: 15px;
    }


    .contact-form-policy p {
        font-size: 11px !important;
    }


    .contact-form-submit {
        width: 100% !important;
    }


    /* MAP */

    .contact-map-frame {
        min-height: 260px;

        margin-bottom: 12px;
    }


    .contact-map-frame iframe {
        height: 260px !important;
        min-height: 260px;
    }


    .contact-map-placeholder-icon {
        width: 52px;
        height: 52px;
    }


    .contact-map-placeholder-icon svg {
        width: 25px;
        height: 25px;
    }


    .contact-map-placeholder strong {
        font-size: 13px;
    }


    .contact-map-details {
        grid-template-columns: 1fr;

        gap: 8px;

        margin-bottom: 14px;
    }


    .contact-map-detail-item {
        min-height: 58px;

        padding: 9px 11px;
    }


    .contact-map-detail-item strong {
        font-size: 12px;
    }


    .contact-map-button {
        width: 100% !important;
    }

}