/* =========================
   PARTNER CONTACT
========================= */

.partner-contact {
    --partner-space: clamp(16px, 2.22vw, 32px);
    --partner-radius: clamp(10px, 0.84vw, 12px);
    border-radius: var(--partner-radius);
}
/* =========================
   INTRO
========================= */

.partner-contact__intro .text-inner {
    width: 100%;
    padding: 0;
    background: transparent;
    text-align: left;
}

.partner-contact__eyebrow {
    width: 100%;
    margin-bottom: clamp(18px, 1.8vw, 36px);
}

.partner-contact__eyebrow p {
    margin: 0;
    color: rgba(255, 255, 255, 0.94);
    font-size: clamp(var(--fs-body), 1.6vw, var(--fs-body-lg));
    font-weight: var(--fw-medium);
    line-height: 1.5;
    text-align: left;
}

.partner-contact__title.page-hero__title{
    max-width: 530px;
}
/* =========================
   FORM CARD
========================= */

.partner-contact__form-card > .col-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: clamp(22px, 2.22vw, 32px);
    background: rgba(255, 255, 255);
    border-radius: clamp(8px, 0.84vw, 12px);
    text-align: left;
}

.partner-contact__form-title {
    flex: 0 0 auto;
    width: 100%;
    margin: 0 0 clamp(14px, 1.4vw, 20px);
}

.partner-contact__form-title h2 {
    margin: 0;
    color: var(--color-heading) !important;
    font-size: clamp(32px, 2.78vw, 42px);
    font-weight: var(--fw-bold);
    line-height: 1;
    letter-spacing: var(--ls-heading);
    text-align: left;
}

.partner-contact__form-card .wpcf7 {
    flex: 1;
    width: 100%;
    min-height: 0;
}

.partner-contact__form-card .wpcf7 form {
    height: 100%;
    margin: 0;
}

/* =========================
   FORM GRID
========================= */

.partner-contact-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-rows: auto auto auto auto auto 1fr;
    gap: clamp(10px, 0.84vw, 12px)
    clamp(12px, 1.12vw, 16px);
    width: 100%;
    height: 100%;
}

.wpcf7 .partner-contact-form__field {
    display: flex;
    flex-direction: column;
    gap: clamp(6px, 0.56vw, 12px);
    min-width: 0;
    margin: 0;
    color: var(--color-text);
    font-size: var(--fs-body);
    font-weight: var(--fw-medium);
    line-height: 1.3;
}

.wpcf7 .partner-contact-form__field--full,
.wpcf7 .partner-contact-form__consent,
.wpcf7 .partner-contact-form__submit {
    grid-column: 1 / -1;
}

.wpcf7 .partner-contact-form__field .wpcf7-form-control-wrap {
    display: block;
    width: 100%;
}

.wpcf7 .partner-contact-form__field input,
.wpcf7 .partner-contact-form__field select,
.wpcf7 .partner-contact-form__field input[type=text],
.wpcf7 .partner-contact-form__field input[type=email],
.wpcf7 .partner-contact-form__field input[type=tel],
.wpcf7 .partner-contact-form__field textarea {
    width: 100%;
    margin: 0;
    color: var(--color-text);
    background: #fbf7f1;
    border: 1px solid transparent;
    border-radius: 4px;
    box-shadow: none;
    font-weight: var(--fw-regular);
    transition:
            background-color 0.25s ease,
            border-color 0.25s ease;
}

.partner-contact-form__field input,
.partner-contact-form__field select {
    height: clamp(36px, 2.92vw, 42px);
    padding: 0 clamp(10px, 1vw, 14px);
}

.partner-contact-form__field select {
    padding-right: 36px;
    cursor: pointer;
}

.partner-contact-form__field textarea {
    min-height: clamp(80px, 7vw, 100px);
    padding: clamp(10px, 0.84vw, 12px)
    clamp(10px, 1vw, 14px);
    line-height: 1.45;
    resize: vertical;
}

.partner-contact-form__field input:focus,
.partner-contact-form__field input[type=email]:focus,
.wpcf7 .partner-contact-form__field input[type=tel]:focus,
.wpcf7 .partner-contact-form__field input[type=text]:focus,
.partner-contact-form__field select:focus,
.partner-contact-form__field textarea:focus {
    background: #fffaf3;
    border-color: rgba(102, 52, 37, 0.45);
    box-shadow: none;
    outline: none;
}

.partner-contact-form__field input::placeholder,
.partner-contact-form__field textarea::placeholder {
    color: rgba(32, 32, 28, 0.38);
}

/* =========================
   CONSENT
========================= */

.wpcf7 .partner-contact-form__consent {
    color: rgba(32, 32, 28, 0.7);
    font-size: var(--fs-body-sm);
    font-weight: var(--fw-regular);
    line-height: 1.4;
}

.wpcf7 .partner-contact-form__consent .wpcf7-list-item {
    margin: 0;
}

.wpcf7 .partner-contact-form__consent label {
    display: flex;
    align-items: flex-start;
    gap: 7px;
    cursor: pointer;
    font-weight: var(--fw-regular);
}

.wpcf7 .partner-contact-form__consent input[type="checkbox"] {
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    margin: 1px 0 0;
    accent-color: var(--color-primary);
}

/* =========================
   SUBMIT
========================= */

.partner-contact-form__submit {
    align-self: end;
}

.partner-contact-form__button.wpcf7-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: fit-content;
    min-height: var(--btn-height);
    padding: 0 var(--btn-padding-x) !important;
    color: var(--color-white) !important;
    background: linear-gradient(90deg, var(--btn-gradient-start) 0%, var(--btn-gradient-end) 100%);
    border: 1px solid var(--color-primary);
    border-radius: 999px;
    font-size: var(--fs-button);
    font-weight: var(--fw-semibold);
    line-height: 1;
    text-transform: uppercase;
}

.partner-contact-form__button.wpcf7-submit:hover {
    color: var(--color-white) !important;
    background: var(--color-secondary);
    border-color: var(--color-secondary);
}

.partner-contact-form__submit .wpcf7-spinner {
    margin: 0 0 0 10px;
}

/* =========================
   CF7 VALIDATION
========================= */

.partner-contact__form-card .wpcf7-not-valid-tip {
    margin-top: 3px;
    color: var(--color-alert, #b20000);
    font-size: 9px;
    line-height: 1.3;
}

.partner-contact__form-card .wpcf7-response-output {
    margin: 8px 0 0 !important;
    padding: 6px 10px !important;
    border-radius: 4px;
    font-size: 10px;
}

/* =========================
   TABLET
========================= */

@media (max-width: 849px) {
    .partner-contact {
        --partner-space: 20px;
    }

    .partner-contact__banner .bg {
        background-position: 42% center;
    }

    .partner-contact__banner .banner-bg::after {
        background:
                linear-gradient(
                        180deg,
                        rgba(8, 15, 12, 0.7) 0%,
                        rgba(8, 15, 12, 0.46) 34%,
                        rgba(8, 15, 12, 0.18) 60%,
                        rgba(8, 15, 12, 0.28) 100%
                );
    }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {
    .partner-contact {
        --partner-space: 16px;
    }

    .banner .partner-contact__title h1 {
        font-size: clamp(34px, 10vw, 42px);
        line-height: 1;
    }

    .partner-contact__title h1 br {
        display: none;
    }

    .partner-contact__form-card > .text-inner {
        padding: 22px 18px;
    }

    .partner-contact-form__grid {
        grid-template-columns: minmax(0, 1fr);
        grid-template-rows: none;
        height: auto;
        gap: 12px;
    }

    .partner-contact-form__field,
    .partner-contact-form__field--full,
    .partner-contact-form__consent,
    .partner-contact-form__submit {
        grid-column: 1;
    }

    .partner-contact-form__submit {
        margin-top: 6px;
    }
}

/* =========================
   PARTNER OPPORTUNITY
========================= */

.partner-opportunity {
    --partner-opportunity-space: clamp(16px, 2.22vw, 32px);
    --partner-opportunity-radius: clamp(10px, 0.84vw, 12px);
    --partner-opportunity-brown: var(--color-secondary, #663425);
    border-radius: var(--partner-opportunity-radius);
}

/* =========================
   ROW
========================= */

.partner-opportunity__row {
    align-items: stretch;
    min-height: clamp(320px, 30.56vw, 440px);
    padding-top: 30px;
    overflow: hidden;
}

/* =========================
   CONTENT COLUMN
========================= */

.partner-opportunity__content-column > .col-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.partner-opportunity__description{
    max-width: 540px;
}

.partner-opportunity__description--secondary {
    margin-top: clamp(12px, 1.25vw, 16px);
}

.partner-opportunity__description p {
    margin: 0;
    color: rgba(255, 255, 255, 0.92);
    font-size: clamp(12px, 1.3vw, var(--fs-body));
    line-height: 1.55;
    text-align: left;
}

/* =========================
   QR COLUMN
========================= */

.partner-opportunity__qr-column > .col-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
}

.partner-opportunity__qr {
    max-width: clamp(190px, 28vw, 350px);
}

.partner-opportunity__qr .img-inner {
    width: 100%;
    padding: clamp(8px, 0.84vw, 12px);
    background: var(--color-white);
    border-radius: clamp(12px, 1.12vw, 16px);
    overflow: hidden;
}

.partner-opportunity__qr img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
}

/* =========================
   QR CAPTION
========================= */

.partner-opportunity__qr-caption {
    width: 100%;
    margin: clamp(8px, 0.7vw, 10px) 0 0;
}

.partner-opportunity__qr-caption p {
    margin: 0;
    color: rgba(255, 255, 255, 0.9);
    font-size: clamp(8px, 1.3vw, var(--fs-body-sm));
    font-weight: var(--fw-regular);
    line-height: 1.4;
    text-align: center;
}

/* =========================
   TABLET
========================= */

@media (max-width: 849px) {
    .partner-opportunity {
        --partner-opportunity-space: 20px;
    }

    .partner-opportunity__qr {
        max-width: clamp(200px, 36vw, 260px);
    }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {
    .partner-opportunity {
        --partner-opportunity-space: 16px;
    }

    .partner-opportunity__row {
        padding: 28px 22px;
        border-radius: 10px;
    }

    .partner-opportunity__title h2 br {
        display: none;
    }

    .partner-opportunity__description p {
        font-size: 13px;
    }

    .partner-opportunity__qr-column {
        margin-top: 34px;
    }

    .partner-opportunity__qr {
        width: min(220px, 72vw) !important;
    }
}

/* =========================
   PARTNER ADVANTAGES
========================= */

.partner-advantages {
    --partner-advantages-space: clamp(16px, 2.22vw, 32px);
    --partner-advantages-radius: clamp(10px, 0.84vw, 12px);
    background-color: #f4f0e8;
    border-radius: var(--partner-advantages-radius);
}

.partner-advantages .section-bg {
    border-radius: inherit;
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.partner-advantages .section-content {
    position: relative;
    z-index: 2;
}


/* =========================
   IMAGE
========================= */

.partner-advantages__image-column > .col-inner {
    width: 100%;
}

.partner-advantages__image .img-inner {
    width: 100%;
    aspect-ratio: 1;
    border-radius: var(--partner-advantages-radius);
    overflow: hidden;
}

.partner-advantages__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

/* =========================
   CONTENT COLUMN
========================= */

.partner-advantages__content-column > .col-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    width: 100%;
}

/* =========================
   LABEL
========================= */

/* =========================
   CONTENT TEXT
========================= */
.partner-advantages__description {
    width: 100%;
    max-width: 720px;
}

.partner-advantages__description {
    margin: clamp(16px, 1.4vw, 20px) 0 0;
}

.partner-advantages__description--last {
    margin-top: clamp(10px, 0.84vw, 12px);
}

.partner-advantages__description p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(12px, 1.4vw, var(--fs-body));
    font-weight: var(--fw-regular);
    line-height: 1.55;
    text-align: left;
}

.partner-advantages__lead p {
    font-weight: var(--fw-medium);
}

/* =========================
   BOTTOM HEADING
========================= */



.partner-advantages__subtitle h3 {
    margin: 0;
    color: var(--color-secondary);
    font-size: clamp(26px, 3.33vw, 38px);
    font-weight: var(--fw-bold);
    line-height: 1.15;
    text-align: center;
}

/* =========================
   ADVANTAGE ITEMS
========================= */

.partner-advantages__item {
    position: relative;
    min-width: 0;
}

/* Đường phân cách */

.partner-advantages__item:not(:last-child)::after {
    position: absolute;
    top: 50%;
    right: 0;
    width: 1px;
    height: clamp(82px, 7.64vw, 110px);
    content: "";
    background: rgba(102, 52, 37, 0.58);
    transform: translateY(-38%);
}

.partner-advantages__item-box {
    width: 100%;
    margin: 0;
}

.partner-advantages__item-box .icon-box-img {
    max-width: clamp(36px, 3.34vw, 48px);
    margin: 0 auto clamp(16px, 1.4vw, 20px);
}

.partner-advantages__item-box .icon-inner {
    width: 100%;
}

.partner-advantages__item-box .icon-inner img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: contain;
}

.partner-advantages__item-box .icon-box-text {
    width: 100%;
    text-align: center;
}

/* =========================
   ITEM TITLE
========================= */

.partner-advantages__item-title {
    width: 100%;
    margin: 0;
}

.partner-advantages__item-title h4 {
    margin: 0;
    color: var(--color-heading);
    font-size: clamp(14px, 1.2vw, 20px);
    font-weight: var(--fw-bold);
    line-height: 1.2;
    text-align: center;
    text-wrap: balance;
}

/* =========================
   ITEM DESCRIPTION
========================= */

.partner-advantages__item-description {
    width: 100%;
    max-width: 210px;
    margin: clamp(12px, 1.12vw, 16px) auto 0;
}

.partner-advantages__item-description p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(10px, 1.3vw, var(--fs-body));
    font-weight: var(--fw-regular);
    line-height: 1.45;
    text-align: center;
	text-wrap: balance;
}

/* =========================
   BUTTON
========================= */

.partner-advantages__action-row {
    margin-top: clamp(34px, 3.34vw, 48px);
}

.partner-advantages__action-row > .col {
    text-align: center;
}


/* =========================
   TABLET
========================= */

@media (max-width: 849px) {
    .partner-advantages {
        --partner-advantages-space: 20px;
    }

    .partner-advantages__item:not(:last-child)::after {
        top: auto;
        right: 12%;
        bottom: 0;
        left: 12%;
        width: auto;
        height: 1px;
        transform: none;
    }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {
    .partner-advantages {
        --partner-advantages-space: 16px;
        border-radius: 10px;
    }

    .partner-advantages__title h2 {
        font-size: clamp(34px, 10vw, 42px);
    }

    .partner-advantages__subtitle h3 {
        font-size: clamp(26px, 8vw, 32px);
    }

    .partner-advantages__items {
        grid-template-columns: minmax(0, 1fr);
    }

    .partner-advantages__item,
    .partner-advantages__item:last-child {
        grid-column: auto;
    }

    .partner-advantages__item-title h4 br {
        display: none;
    }

    .partner-advantages__item-description {
        max-width: 270px;
    }
}

/* =========================
   PARTNER MODEL
========================= */

.partner-model {
    --partner-model-brown: var(--color-secondary, #663425);
    --partner-model-green: var(--color-primary, #0a231e);
    --partner-model-gold: #efc77e;
    --partner-model-line: #EEE9E2;
}

/* =========================
   HEADER
========================= */

.partner-model__description {
    width: 100%;
    max-width: 820px;
    margin: clamp(18px, 1.67vw, 24px) auto 0;
}

.partner-model__description p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(12px, 1.25vw, var(--fs-body));
    font-weight: var(--fw-regular);
    line-height: 1.55;
    text-align: center;
}

/* =========================
   STEPS
========================= */

.partner-model__steps {
    position: relative;
    margin-top: clamp(48px, 5vw, 72px);
}

/* Đường tiến trình */

.partner-model__steps::before {
    position: absolute;
    z-index: 0;
    width: 100%;
    max-width: 1024px;
    top: clamp(17px, 1.53vw, 22px);
    left: 50%;
    transform: translate(-50%, -50%);
    height: clamp(8px, 0.7vw, 10px);
    content: "";
    background: var(--partner-model-line);
    border-radius: 999px;
}

/* =========================
   STEP
========================= */
.partner-model__step {
    position: relative;
    z-index: 1;
    min-width: 0;
}

.partner-model__step > .col-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%;
    height: 100%;
}

/* =========================
   NUMBER
========================= */

.partner-model__number {
    position: relative;
    z-index: 2;
    width: clamp(36px, 3.06vw, 44px);
    height: clamp(36px, 3.06vw, 44px);
    margin: 0 auto;
}

.partner-model__number p {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    border-radius: 50%;
}

.partner-model__step--brown .partner-model__number p {
    background: var(--partner-model-brown);
}

.partner-model__step--green .partner-model__number p {
    background: var(--partner-model-green);
}

.partner-model__number p {
    margin: 0;
    color: var(--partner-model-gold);
    font-family: var(--font-heading);
    font-size: clamp(16px, 2vw, 20px);
    font-weight: var(--fw-bold);
    line-height: 1;
    text-align: center;
}

/* =========================
   IMAGE
========================= */

.partner-model__image {
	width: 100%;
    max-height: clamp(128px, 16.4vw, 164px);
    margin: clamp(28px, 2.78vw, 40px) auto 0 !important;
}

.partner-model__image .img-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
	height: 100%;
    background: transparent;
    overflow: visible;
}

.partner-model__image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
    transition: transform 0.35s ease;
}

/* =========================
   STEP TITLE
========================= */

.partner-model__step-title {
    width: 100%;
    margin: clamp(14px, 1.4vw, 20px) 0 0;
}

.partner-model__step-title h3 {
    margin: 0;
    color: var(--color-secondary);
    font-size: clamp(18px, 2vw, 20px);
    font-weight: var(--fw-semibold);
    line-height: 1.2;
    text-align: center;
    text-wrap: balance;
}

/* =========================
   STEP DESCRIPTION
========================= */

.partner-model__step-description {
    width: 100%;
    max-width: 210px;
    margin: clamp(12px, 1.12vw, 16px) auto 0;
}

.partner-model__step-description p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(10px, 1.4vw, var(--fs-body));
    font-weight: var(--fw-regular);
    line-height: 1.45;
    text-align: center;
	text-wrap: balance;
}

/* =========================
   BUTTON
========================= */

.partner-model__action-row {
    margin-top: clamp(54px, 5.56vw, 80px);
}

.partner-model__action-row > .col {
    text-align: center;
}

/* =========================
   TABLET
========================= */

@media (max-width: 849px) {


    .partner-model__steps::before {
        display: none;
    }

    .partner-model__step::before {
        position: absolute;
        z-index: 0;
        top: clamp(18px, 1.53vw, 22px);
        right: 0;
        left: 0;
        height: 8px;
        content: "";
        background: var(--partner-model-line);
        border-radius: 999px;
        transform: translateY(-50%);
    }

}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {



    .partner-model__description p br {
        display: none;
    }


    .partner-model__step-description {
        max-width: 280px;
    }

    .partner-model__action-row {
        margin-top: 28px;
    }

    .partner-model__button.button {
        width: 100%;
        max-width: 300px;
    }
}
/* =========================
   PARTNER BRAND BANNER
========================= */

.partner-brand-banner {
    --partner-brand-space: clamp(16px, 2.22vw, 32px);
    --partner-brand-radius: clamp(10px, 0.84vw, 12px);
    position: relative;
    background: var(--color-background);
}

/* =========================
   BANNER
========================= */

.partner-brand-banner__banner {
    position: relative;
    border-radius: var(--partner-brand-radius);
    overflow: hidden;
    isolation: isolate;
}

/* =========================
   PARTNER SHOWCASE
========================= */

.partner-showcase {
    --partner-showcase-space: clamp(16px, 2.22vw, 32px);
    --partner-showcase-gap: clamp(8px, 0.84vw, 12px);
    --partner-showcase-radius: clamp(8px, 0.84vw, 12px);
    position: relative;
}

.partner-showcase__description {
    width: 100%;
    max-width: 780px;
    margin: 0 auto ;
}

.partner-showcase__description p {
    color: var(--color-text);
    font-size: clamp(12px, 1.4vw, var(--fs-body));
    line-height: 1.5;
    text-align: center;
}


/* =========================
   FLATSOME GRIDS
========================= */

.partner-showcase__grid--top {
    margin-top: clamp(22px, 2.08vw, 30px);
}

.partner-showcase__grid--middle {
    margin-top: var(--partner-showcase-gap);
}

.partner-showcase__grid--bottom {
    margin-top: var(--partner-showcase-gap);
}

/* =========================
   GRID ITEMS
========================= */

.partner-showcase__item {
    height: 100%;
}

.partner-showcase__item > .col-inner,
.partner-showcase__item > .grid-col-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    padding: 0;
}

.partner-showcase__spacer {
    pointer-events: none;
}

/* Ảnh phòng sáng thấp hơn và căn dưới */

.partner-showcase__item--02 > .col-inner,
.partner-showcase__item--02 > .grid-col-inner {
    justify-content: flex-end;
}

.partner-showcase__item--02 > .col-inner .banner{
	top: auto;
}

.partner-showcase__item--02 .partner-showcase__banner {
    height: 82% !important;
}

/* Ảnh mặt tiền khách sạn thấp hơn */

.partner-showcase__item--03 .partner-showcase__banner {
    height: 84% !important;
}

/* Ảnh phòng ngủ cuối thấp hơn */

.partner-showcase__item--06 .partner-showcase__banner {
    height: 75% !important;
}
/* =========================
   BANNERS
========================= */

.partner-showcase__banner {
    position: relative;
    width: 100%;
    border-radius: var(--partner-showcase-radius);
    overflow: hidden;
    isolation: isolate;
}

.partner-showcase__banner .banner-inner,
.partner-showcase__banner .banner-bg,
.partner-showcase__banner .fill,
.partner-showcase__banner .bg {
    width: 100%;
    height: 100%;
    border-radius: inherit;
}

.partner-showcase__banner .bg {
    background-repeat: no-repeat;
    background-size: cover;
    transition: transform 0.7s ease;
}
/* =========================
   IMAGE POSITIONS
========================= */

.partner-showcase__item--01 .bg {
    background-position: center;
}

.partner-showcase__item--02 .bg {
    background-position: center;
}

.partner-showcase__item--03 .bg {
    background-position: center top;
}

.partner-showcase__item--04 .bg {
    background-position: center;
}

.partner-showcase__item--05 .bg {
    background-position: center;
}

.partner-showcase__item--06 .bg {
    background-position: center;
}

/* =========================
   TABLET
========================= */

@media (max-width: 849px) {
    .partner-showcase {
        --partner-showcase-space: 20px;
        --partner-showcase-gap: 10px;
    }

}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {
    .partner-showcase {
        --partner-showcase-space: 16px;
        --partner-showcase-gap: 8px;
    }

    .partner-showcase__title h2 br {
        display: none;
    }

    /* Ẩn các Grid Item trống trên mobile */
    .partner-showcase__banner {
        border-radius: 8px;
    }

    .partner-showcase__item--02 .partner-showcase__banner {
        height: 84% !important;
    }

    .partner-showcase__item--03 .partner-showcase__banner {
        height: 86% !important;
    }

    .partner-showcase__item--06 .partner-showcase__banner {
        height: 78% !important;
    }
}

/* =========================
   PARTNER ECOSYSTEM
========================= */

.partner-ecosystem {
    --partner-ecosystem-space: clamp(16px, 2.22vw, 32px);
    --partner-ecosystem-radius: clamp(10px, 0.84vw, 12px);
    position: relative;
}
.partner-ecosystem__card{
    background: var(--color-white);
    border: 1px solid rgba(10, 35, 30, 0.06);
    border-radius: var(--partner-ecosystem-radius);
    box-shadow: 0 8px 26px rgba(10, 35, 30, 0.04);
}

/* =========================
   CARD
========================= */
.partner-ecosystem__card-column > .col-inner {
    width: 100%;
    min-height: clamp(210px, 18.06vw, 260px);
    padding:
            clamp(24px, 2.5vw, 36px)
            clamp(30px, 5.56vw, 80px)
            clamp(18px, 2.08vw, 30px);

}

/* =========================
   TOP BRANDS
========================= */

.partner-ecosystem__brands {
    align-items: center;
}

.partner-ecosystem__brand > .col-inner {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}

/* =========================
   LOGOS
========================= */

.partner-ecosystem__logo {
    margin: 0 auto !important;
}

.partner-ecosystem__logo .img-inner {
    width: 100%;
    background: transparent;
    overflow: visible;
}

.partner-ecosystem__logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.partner-ecosystem__logo--satis {
    max-width: clamp(78px, 16.8vw, 168px);
}

.partner-ecosystem__logo--amana {
    max-width: clamp(58px, 8.2vw, 82px);
}

.partner-ecosystem__logo--travel {
    max-width: clamp(105px, 17.2vw, 172px);
}

/* =========================
   MESSAGE
========================= */

.partner-ecosystem__message {
    width: 100%;
    margin: 0;
}

.partner-ecosystem__message p {
    margin: 0;
    color: var(--color-text);
    font-size: clamp(16px, 1.8vw,var(--fs-body-lg));
    font-weight: var(--fw-medium);
    line-height: 1.5;
    text-align: left;
}

/* =========================
   BRAND BRANCHES
========================= */

.partner-ecosystem__branches {
    padding-top: clamp(18px, 2vw, 24px) !important;
    border-top: 1px solid rgba(10, 35, 30, 0.28);
}

.partner-ecosystem__branch-name p {
    margin: 0;
    color: var(--color-secondary);
    font-family: var(--font-heading);
    font-size: var(--fs-h6);
    font-weight: var(--fw-medium);
    line-height: 1.35;
    text-align: center;
}

/* =========================
   TABLET
========================= */

@media (max-width: 849px) {
    .partner-ecosystem {
        --partner-ecosystem-space: 20px;
    }
}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {
    .partner-ecosystem {
    }

    .partner-ecosystem__title h2 {
        font-size: clamp(32px, 9vw, 40px);
    }

    .partner-ecosystem__card-column > .col-inner {
        padding: 26px 20px 22px;
        border-radius: 10px;
    }

    .partner-ecosystem__brand > .col-inner {
        min-height: 90px;
    }

    .partner-ecosystem__branch-name p {
        font-size: 13px;
    }
}

/* =========================
   PARTNER CONTACT SUMMARY
========================= */

.partner-contact-summary {
    --partner-summary-height: clamp(470px, 41.67vw, 600px);
    --partner-summary-radius: clamp(10px, 0.84vw, 12px);
    --partner-summary-inset: clamp(10px, 1.12vw, 16px);
    position: relative;
    background: var(--color-secondary);
    border-radius: var(--partner-summary-radius);
    overflow: hidden;
}

.partner-contact-summary__info-title h2 {
    color: var(--color-white) !important;
}

.partner-contact-summary__info-column {
    position: relative;
    overflow: hidden;
}

.partner-contact-summary__info-column > .col-inner {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    min-height: var(--partner-summary-height);
    overflow: hidden;
    isolation: isolate;
}
/* =========================
   CONTACT DETAILS
========================= */

.partner-contact-summary__details {
    position: relative;
    z-index: 2;
    width: 100%;
    margin: 0;
}

.partner-contact-summary__details .text-inner {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.partner-contact-summary__contact {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}

.partner-contact-summary__contact + .partner-contact-summary__contact {
    margin-top: clamp(18px, 2.8vw, 36px);
}

.partner-contact-summary__contact-label {
    margin: 0 0 clamp(8px, 1vw, 12px);
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    font-weight: var(--fw-medium);
    line-height: 1;
    letter-spacing: var(--ls-uppercase);
    text-transform: uppercase;
}

.partner-contact-summary__contact-value {
    color: rgba(255, 255, 255, 0.92);
    font-size: 14px;
    font-weight: var(--fw-regular);
    line-height: 1.4;
    text-decoration: none;
    overflow-wrap: anywhere;
    transition: opacity var(--btn-transition);
}

.partner-contact-summary__contact-value--phone {
    color: var(--color-white);
    font-size: clamp(18px, 2.8vw, var(--fs-h4));
    font-weight: var(--fw-bold);
}

.partner-contact-summary__contact-value:hover {
    color: var(--color-white);
    opacity: 0.75;
}

/* =========================
   FORM COLUMN
========================= */
.partner-contact-summary__form-column > .col-inner {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
    min-height:
            calc(
                    var(--partner-summary-height) -
                    var(--partner-summary-inset) * 2
            );
    padding: clamp(22px, 2.22vw, 32px);
    background: var(--color-white);
    border-radius:
            calc(
                    var(--partner-summary-radius) -
                    clamp(2px, 0.28vw, 4px)
            );
}

/* =========================
   FORM TITLE
========================= */

.partner-contact-summary__form-title {
    flex: 0 0 auto;
    width: 100%;
}

/* =========================
   REUSE EXISTING CF7 FORM
========================= */

.partner-contact-summary__form-column .wpcf7 {
    flex: 1;
    width: 100%;
    min-height: 0;
}

.partner-contact-summary__form-column .wpcf7 form {
    height: 100%;
    margin: 0;
}

/*
 * Các thành phần dưới đây đã dùng lại CSS của form cũ:
 *
 * .partner-contact-form__grid
 * .partner-contact-form__field
 * .partner-contact-form__field--full
 * .partner-contact-form__consent
 * .partner-contact-form__submit
 *
 * Không cần viết lại CSS input, select và textarea.
 */

/* =========================
   CF7 VALIDATION
========================= */

.partner-contact-summary__form-column .wpcf7-not-valid-tip {
    margin-top: 3px;
    color: var(--color-alert);
    font-size: 9px;
    line-height: 1.3;
}

.partner-contact-summary__form-column .wpcf7-response-output {
    margin: 8px 0 0 !important;
    padding: 6px 10px !important;
    border-radius: 4px;
    font-size: 10px;
}

/* =========================
   TABLET
========================= */

@media (max-width: 849px) {
    .partner-contact-summary {
        --partner-summary-height: auto;
    }

    .partner-contact-summary__row {
        flex-wrap: wrap;
        min-height: 0;
    }

}

/* =========================
   MOBILE
========================= */

@media (max-width: 575px) {

    .partner-contact-summary__info-column > .col-inner {
        padding: 28px 22px 36px;
    }

    .partner-contact-summary__info-title h2 {
        font-size: 32px;
    }

    .partner-contact-summary__form-column > .col-inner {
        padding: 24px 18px;
    }

}