/*
 Theme Name:   GeneratePress Child
 Theme URI:    https://generatepress.com
 Description:  Default GeneratePress child theme
 Author:       Tom Usborne
 Author URI:   https://tomusborne.com
 Template:     generatepress
 Version:      0.1
*/

/* ==================================================
   KOI EDUCATION TYPOGRAPHY
   Giống font trong file thiết kế desktop và mobile
================================================== */

@import url('https://fonts.googleapis.com/css2?family=Paytone+One&family=Quicksand:wght@400;500;600;700&display=swap');

:root {
    --koi-font-primary: 'Quicksand', system-ui, -apple-system,
        BlinkMacSystemFont, 'Segoe UI', sans-serif;

    --koi-font-heading: 'Paytone One', system-ui, sans-serif;
--red: #202B7B;
    --red-deep: #161D58;
    --red-bright: #2E3DA6;
    --hero-deep: #151B55;
    --coral: #5C68C9;
    --blush: #AEB6E4;
    --blush-soft: #EEF0FA;
    --blush-tint: #F6F7FC;
    --cta-soft: #6B76D4;
    --white: #FFFFFF;
    --ink: #141A3B;
    --ink-soft: #474E79;
    --muted: #7A80A8;
    --line: #E2E5F2;
    --bg: #FFFFFF;
    --bg-soft: #F8F9FD;
    --bg-section: #F2F4FA;
    --media-bg: #ECEEF8;
    --media-line: #DEE1F0;
    --media-label: #969CC2;
    --footer-bg: #101536;
    --scrim: rgba(16, 21, 54, .45);
    --scrim-2: rgba(16, 21, 54, .2);
    --scrim-3: rgba(16, 21, 54, .05);
    --scrim-4: rgba(16, 21, 54, .86);
    --glow: rgba(32, 43, 123, .22);
    --glow-strong: rgba(32, 43, 123, .32);
    --font-h1: 'Paytone One', system-ui, sans-serif;
    --font: 'Quicksand', system-ui, sans-serif;
    --max: 1200px;
    --gutter: 40px;
    --header: 80px;
    --r: 16px;
    --r-lg: 24px;
    --r-sm: 10px;
    --sh: 0 8px 28px rgba(16, 21, 54, .06);
    --sh2: 0 14px 40px rgba(16, 21, 54, .1);
    --ease: cubic-bezier(.22, 1, .36, 1);
    --group-green: #2DAA50;
    --group-green-soft: #E4F3E9;
    --group-red: #E51732;
}
.sec-vi-sao .sec{
    padding-top:0px;
}
.form-note.field-note {
    display: block;
    text-align: left;
    margin-top: 6px;
    font-size: 12px;
    color: var(--muted);
    line-height: 1.5;
}
.w-1200 .sec-head.wide{
    max-width: 100%;
}
.koi-highlight-text__content{
    margin:0px 40px;
    text-align: center;
}
.elementor-widget-koi-age-tabs .sec-soft, .bg-unset .sec-soft{
    background: unset !important;
}
.sec-head-680 .sec-head{
    max-width: 680px !important;
}
.w-1100{}
.h2-w-643 h2{max-width:643px;margin:auto}
.sec-about-intro .lead-c{
    width: 100%;
    max-width: 100%;
}
.p-15 p{
	font-size:15px !important;
}
.tim-moi-truong a:nth-child(2){
    color: white !important;
    align-self: flex-start;
    font-size: 13px;
    background: var(--red);
    padding: 0 16px;
    min-height: 40px;
}
.dpn{
	display:none !important;
}
.sec-tit-red h2{
     color: var(--red) !important;
}
.asepct-unset .mf-4-3{
	aspect-ratio: unset;
}
.koi-review-card__avatar{
	display:none;
}
.sec-a-red a{
  color: var(--red) !important;
}
 .img-16-9 .icon-card .card-media{    aspect-ratio: 16 / 9 !important;

    height: auto !important;
    min-height: 0 !important;}
.white-space h2{
	white-space:nowrap;
}
body {
    max-width: 100%;
    overflow-x: clip;
}
.rev-media-tag, .koi-news-card__tag, .koi-core-value__tag, .mf-tag, .koi-news-archive__image-tag{display:none;}
.bk-xam{
    background: #F2F4FA;
}
.sec-soft, .sec-moments{
    background: var(--bg-soft);
}
.sec-white{
    background: white
}

.sec-blush {
    background: var(--bg-section);
}
.elementor-element {
    --widgets-spacing: 0px !important;
    --widgets-spacing-row: 0px !important;
    --widgets-spacing-column:0px !important;
    padding:0px !important;
}
[data-e-type="container"] {
  padding:80px 0px !important;
}
.bottom-unset{
    padding-bottom: 0 !important;
}
.top-unset{
    padding-top:unset !important;
}
.koi-hero-chung{
  padding:0px !important;
}
@supports not (overflow: clip) {
    html,
    body {
        overflow-x: hidden;
    }
}

/* Font mặc định toàn website */
html,
body,
button,
input,
select,
textarea {
    font-family: var(--koi-font-primary);
}

/* GeneratePress */
body,
.site,
.site-content,
.inside-article,
.entry-content,
.entry-summary,
.widget,
.main-navigation,
.koi-header {
    font-family: var(--koi-font-primary);
}

/* Menu */
.main-navigation a,
.koi-menu a,
.koi-hotline,
.koi-header-button,
.koi-menu-toggle,
.koi-menu-close {
    font-family: var(--koi-font-primary);
}

/* Tiêu đề thông thường */
h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.widget-title {
    font-family: var(--koi-font-primary);
    font-weight: 600;
}
.sec-page-title {       padding: 48px 0 28px !important;
    background: var(--bg-soft);
    border-bottom: 1px solid var(--line);}
.sec-page-title .elementor-heading-title{
        font-family: var(--koi-font-heading) !important;
    font-weight: 400 !important;;
    font-size: clamp(34px, 4vw, 40px) !important;;
    line-height: 1.14 !important;;
    letter-spacing: -.01em !important;;
    color: var(--koi-red) !important;;
}
.koi-footer__booking .koi-consult-open{background: white !important; color: var(--red) !important; font-weight: 600 !important}
/* =========================================================
   KOI CAMPUS SIMPLE
   ========================================================= */

.koi-campus-simple {
    width: 100%;
}

.koi-campus-simple__title {
    margin: 0 0 24px;
    font-family: var(--koi-font-primary);
    color: var(--red);
    font-size: 16px;
    font-weight: 700;
    line-height: 1.4;
}

.koi-campus-simple__list {
    width: 100%;
}

.koi-campus-simple__item {
    margin: 0 0 18px;
    padding: 0 0 18px;

    border-bottom: 1px solid var(--line);
}

.koi-campus-simple__item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;

    border-bottom: 0;
}

/* Tên cơ sở */
.koi-campus-simple__name {
    display: block;
    width: fit-content;

    margin: 0 0 6px;

    color: var(--red);
    font-size: 15px;
    font-weight: bolder;
    line-height: 1.45;

    text-decoration: none;
}

a.koi-campus-simple__name:hover {
    color: var(--koi-red-deep);
}

/* Địa chỉ */
.koi-campus-simple__address {
    margin-bottom: 2px;

    color: var(--koi-ink-soft);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.5;
}

/* Điện thoại */
.koi-campus-simple__phone {
    display: flex;
    align-items: flex-start;
    gap: 6px;

    color: var(--ink);
    font-size: 13.5px;
    font-weight: 500;
    line-height: 1.5;
}

.koi-campus-simple__phone svg {
    width: 16px;
    height: 16px;

    flex: 0 0 16px;

    margin-top: 2px;

    color: #e83e8c;
}

/* Mobile */
@media (max-width: 767px) {

    .koi-campus-simple__title {
        margin-bottom: 20px;

        font-size: 17px;
    }

    .koi-campus-simple__item {
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .koi-campus-simple__name {
        margin-bottom: 5px;

        font-size: 14px;
    }

    .koi-campus-simple__address,
    .koi-campus-simple__phone {
        font-size: 12.5px;
    }

    .koi-campus-simple__phone svg {
        width: 15px;
        height: 15px;

        flex-basis: 15px;
    }

}

.sec-page-lien-he .koi-consult-inline{
    max-width: 100%;
}
.sec-page-lien-he .sec-mail p{
    color: #2b1214;
}
.sec-page-lien-he .sec-mail strong{
     color: var(--red);
}
/* Tiêu đề lớn theo đúng file mẫu */
h1,
.h1,
.koi-h1,
.hero-copy .h1 {
    font-family: var(--koi-font-heading);
    font-weight: 400;
    letter-spacing: -0.01em;
}

/* Các class tiêu đề trong file HTML */
.h2 {
    font-family: var(--koi-font-primary);
    font-weight: 600;
}

.h3 {
    font-family: var(--koi-font-primary);
    font-weight: 600;
}

/* Nội dung */
p,
li,
a,
span,
label {
    font-family: inherit;
}

/* Nút */
button,
.button,
.wp-block-button__link,
.elementor-button {
    font-family: var(--koi-font-primary);
    font-weight: 600;
}

/* Form */
input,
textarea,
select,
option {
    font-family: var(--koi-font-primary);
    font-weight: 500;
}

/* Một số thành phần dùng Paytone One trong bản mẫu */
.stat-n,
.t-year,
.age-b,
.pct {
    font-family: var(--koi-font-heading);
    font-weight: 400;
}
.icon-li ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.icon-li ul li {
    position: relative;
    min-height: 18px;
    margin: 0 0 8px;
    padding-left: 28px;
    list-style: none;
    line-height: 1.5;
}

/* Vòng tròn nền hồng 18px */
.icon-li ul li::before {
    content: "";
    position: absolute;
    top: 2px;
    left: 0;

    width: 18px;
    height: 18px;

        background: var(--group-green-soft);
    border-radius: 50%;
}

/* Chấm đỏ 9px ở giữa */
.icon-li ul li::after {
    content: "";
    position: absolute;
top: 9px;
    left: 7px;
    width: 4px;
    height: 4px;

    background:  var(--group-green);
    border-radius: 50%;
}
.elementor-widget-koi-age-tabs .sec {
    padding-bottom: 24px;;
}

.button-koi-v2 .koi-center-button__link{background: #fff !important;
    color: var(--red) !important;
    border: 1.5px solid var(--red) !important;}
.icon-li ul li:last-child {
    margin-bottom: 0;
}
.page-id-506 .img-16-9 .icon-card .card-media{    aspect-ratio: 16 / 9 !important;}
.icon-li ul li p {
    margin: 0;
}

/* =====================================================
   CTA CỐ ĐỊNH DESKTOP
===================================================== */

.koi-hero-layout .koi-consult-open {
    border:1px solid white;
}
.elementor-widget-koi-cta .koi-consult-open{ background: var(--red) !important;
    color: #fff !important;
    border: 1.5px solid var(--red);
   /* box-shadow: 0 4px 14px var(--glow);*/}
 .elementor-widget-koi-cta .koi-cta-find-button{color:white !important} 
.koi-floating-cta {
    position: fixed;
    top: 50%;
    right: 24px;
    z-index: 999;
    display: flex;
    flex-direction: column;
    gap: 12px;
    transform: translateY(-50%);
}
.icon-card-about{}
.icon-card-about svg{    stroke-width: 1.8;}
.icon-card-about h3{font-weight: bold}
.mf-4-3 .mf {    aspect-ratio: 4 / 3 !important;}
.koi-floating-cta__item {
    width: 60px;
    height: 60px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 10px 28px rgba(43, 18, 20, .20);
    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.koi-floating-cta__item:hover {
    color: #fff;
    transform: translateY(-2px) scale(1.04);
    box-shadow: 0 14px 34px rgba(43, 18, 20, .26);
}

.koi-floating-cta__zalo {
    background: #0868ff;
    font-family: Arial, sans-serif;
    font-size: 14px;
    font-weight: 700;
}

.koi-floating-cta__messenger {
    background: #0787f8;
}

.koi-floating-cta__phone {
    background: var(--red);
}

.koi-floating-cta__item svg {
    width: 27px;
    height: 27px;
}

.koi-floating-cta__phone svg {
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}


/* =========================================================
   KOI NEWS ARCHIVE
   ========================================================= */

.koi-news-archive__wrap {
    width: calc(100% - 48px);
    max-width: 1200px;
    margin: 0 auto;
}

/* Header */
.koi-news-archive__header {
    padding: 38px 0 30px;

    background: var(--bg-soft);
    border-bottom: 1px solid var(--line);
}

.koi-news-archive__heading {
    margin: 0;

    color: var(--red);

    font-size: clamp(27px, 3vw, 38px);
    font-weight: 700;
    line-height: 1.2;
}

.koi-news-archive__lead {
    max-width: 650px;
    margin: 8px 0 0;

    color: var(--ink-soft);
    font-size: 14px;
    line-height: 1.6;
}

/* Content */
.koi-news-archive__section {
    padding: 62px 0 70px;
	background:white
}
.category-cta{
	    background: #f8f9fd;
}
.koi-news-archive__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}

/* Card */
.koi-news-archive__card {
    min-width: 0;
    height: 100%;

    overflow: hidden;

    display: flex;
    flex-direction: column;

    background: #fff;

    border: 1px solid var(--line);
    border-radius: 16px;

    transition:
        transform .3s ease,
        box-shadow .3s ease,
        border-color .3s ease;
}

.koi-news-archive__card:hover {
    transform: translateY(-4px);
    border-color: #e8d5d3;
    box-shadow: 0 12px 32px rgba(43, 18, 20, .08);
}

/* Image */
.koi-news-archive__media {
    position: relative;

    display: block;
    aspect-ratio: 16 / 9;

    overflow: hidden;

    background: var(--media-bg);

    border-bottom: 1px dashed var(--media-line);
}

.koi-news-archive__image {
    width: 100%;
    height: 100%;

    display: block;

    object-fit: cover;

    transition: transform .4s ease;
}

.koi-news-archive__card:hover
.koi-news-archive__image {
    transform: scale(1.035);
}

.koi-news-archive__image-tag {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 2;

    padding: 4px 8px;

    background: rgba(255, 255, 255, .94);

    border: 1px solid var(--media-line);
    border-radius: 6px;

    color: var(--muted);

    font-size: 9px;
    font-weight: 700;
    line-height: 1.3;

    letter-spacing: .07em;
    text-transform: uppercase;
}

.koi-news-archive__placeholder {
    width: 100%;
    height: 100%;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 7px;

    color: var(--media-label, #9a8585);

    font-size: 10px;
    font-weight: 600;

    letter-spacing: .06em;
    text-transform: uppercase;
}

.koi-news-archive__placeholder svg {
    width: 27px;
    height: 27px;

    opacity: .45;
}

/* Body */
.koi-news-archive__body {
    flex: 1;

    padding: 19px 18px 18px;

    display: flex;
    flex-direction: column;
}

.koi-news-archive__meta {
    margin-bottom: 9px;

    color: var(--red);

    font-size: 10px;
    font-weight: 600;

    letter-spacing: .04em;
    text-transform: uppercase;
}

.koi-news-archive__title {
    margin: 0 0 9px;

    font-size: 16px;
    font-weight: 650;
    line-height: 1.45;
}

.koi-news-archive__title a {
    color: var(--ink);
    text-decoration: none;
}

.koi-news-archive__title a:hover {
    color: var(--red);
}

.koi-news-archive__excerpt {
    margin: 0 0 16px;

    color: var(--ink-soft);

    font-size: 13px;
    font-weight: 500;
    line-height: 1.65;
}

.koi-news-archive__readmore {
    width: fit-content;
    margin-top: auto;

    color: var(--red);

    font-size: 12.5px;
    font-weight: 600;

    text-decoration: none;
}

.koi-news-archive__readmore:hover {
    color: var(--red-deep);
}

/* =========================================================
   PAGINATION
   ========================================================= */

.koi-news-pagination {
    margin-top: 38px;

    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;

    gap: 7px;
}

.koi-news-pagination .page-numbers {
    min-width: 38px;
    height: 38px;

    padding: 0 11px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    background: #fff;

    border: 1px solid var(--line);
    border-radius: 999px;

    color: var(--ink-soft);

    font-size: 13px;
    font-weight: 600;

    text-decoration: none;

    transition: .2s ease;
}

.koi-news-pagination a.page-numbers:hover {
    border-color: var(--red);
    color: var(--red);
}

.koi-news-pagination .page-numbers.current {
    background: var(--red);

    border-color: var(--red);

    color: #fff;
}
/* =========================================================
   CTA
   ========================================================= */

.koi-news-archive__cta {
    padding: 65px 0;

    background: var(--bg-soft);
}

.koi-news-archive__cta-box {
    padding: 38px 44px;

    display: grid;
    grid-template-columns: 1.15fr .85fr;
    gap: 45px;
    align-items: center;

    overflow: hidden;

    background:
        linear-gradient(
            120deg,
            #e31320 0%,
            #ed2830 55%,
            #fb686a 100%
        );

    border-radius: 22px;

    color: #fff;
}

.koi-news-archive__cta-content h2 {
    max-width: 500px;

    margin: 0 0 9px;

    color: #fff;

    font-size: 25px;
    font-weight: 700;
    line-height: 1.3;
}

.koi-news-archive__cta-content p {
    max-width: 540px;

    margin: 0;

    color: rgba(255,255,255,.9);

    font-size: 13px;
    line-height: 1.6;
}

.koi-news-archive__cta-buttons {
    margin-top: 18px;

    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.koi-news-archive__cta-buttons a {
    min-height: 40px;

    padding: 0 17px;

    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: 999px;

    font-size: 12px;
    font-weight: 600;

    text-decoration: none;
}

.koi-news-archive__cta-primary {
    background: #fff;
    color: var(--red);
}

.koi-news-archive__cta-secondary {
    border: 1px solid rgba(255,255,255,.75);

    color: #fff;
}

.koi-news-archive__cta-media {
    min-height: 180px;

    display: grid;
    place-items: center;

    border: 1.5px dashed rgba(255,255,255,.5);
    border-radius: 14px;

    color: rgba(255,255,255,.85);

    font-size: 10px;
    font-weight: 600;

    letter-spacing: .06em;
    text-transform: uppercase;
}

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

@media (max-width: 1024px) {

    .koi-news-archive__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .koi-news-archive__cta-box {
        gap: 30px;
        padding: 32px;
    }
}

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

@media (max-width: 767px) {

    .koi-news-archive__wrap {
        width: calc(100% - 30px);
    }

    .koi-news-archive__header {
        padding: 28px 0 24px;
    }

    .koi-news-archive__heading {
        font-size: 21px;
    }

    .koi-news-archive__lead {
        font-size: 14px;
    }

    .koi-news-archive__section {
        padding: 38px 0 48px;
    }

    .koi-news-archive__grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .koi-news-archive__body {
        padding: 16px 15px;
    }

    .koi-news-archive__title {
        font-size: 15px;
    }

    .koi-news-archive__excerpt {
        font-size: 12.5px;
    }

    .koi-news-pagination {
        margin-top: 28px;
    }

    .koi-news-pagination .page-numbers {
        min-width: 34px;
        height: 34px;

        font-size: 12px;
    }

    .koi-news-archive__cta {
        padding: 38px 0;
    }

    .koi-news-archive__cta-box {
        grid-template-columns: 1fr;

        gap: 22px;

        padding: 28px 20px;

        border-radius: 18px;
    }

    .koi-news-archive__cta-content h2 {
        font-size: 21px;
    }

    .koi-news-archive__cta-media {
        min-height: 150px;
    }
}
/* =====================================================
   CTA CỐ ĐỊNH MOBILE
===================================================== */

.koi-mobile-cta {
    display: none;
}

@media (max-width: 1100px) {

    body {
        padding-bottom: 82px;
    }

    .koi-floating-cta__phone{
       display: none;
    }
    .koi-floating-cta{top:68%;        right: 10px;}

    .koi-mobile-cta {
        position: fixed;
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 1400;
        display: grid;
        grid-template-columns:
            minmax(0, 1fr)
            minmax(0, 1fr);
        gap: 10px;
        padding: 10px 14px;
        padding-bottom:
            calc(10px + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, .98);
        border-top: 1px solid #ede4e4;
        box-shadow: 0 -8px 28px rgba(43, 18, 20, .10);
        backdrop-filter: blur(12px);
        -webkit-backdrop-filter: blur(12px);
    }

    .koi-mobile-cta__phone,
    .koi-fluent-booking-button {
        width: 100%;
        min-height: 50px;
        display: inline-flex !important;
        align-items: center;
        justify-content: center;
        gap: 8px;
        margin: 0 !important;
        padding: 0 14px !important;
        border-radius: 16px !important;
        font-family: 'Quicksand', system-ui, sans-serif !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 1.2 !important;
        text-align: center;
        text-decoration: none !important;
        white-space: nowrap;
        box-shadow: none !important;
    }

    .koi-mobile-cta__phone {
color: var(--red) !important;
        background: #fff0ed !important;
        border: 1px solid #f2c9c5 !important;
        border-radius: 12px !important;
        font-size: 11.5px !important;
            color: var(--red) !important;
    background: var(--blush-tint) !important;
    border: 1px solid var(--blush) !important;
    box-shadow: none !important;
    }

    .koi-mobile-cta__phone:hover {
        color: #d4151f;
    }

    .koi-mobile-cta__phone svg {
        width: 20px;
        height: 20px;
        fill: none;
        stroke: currentColor;
        stroke-width: 2;
        stroke-linecap: round;
        stroke-linejoin: round;
    }

    .koi-mobile-cta__booking,
    .koi-mobile-cta__booking > div,
    .koi-mobile-cta__booking .ff-el-group,
    .koi-mobile-cta__booking .fluentform-popup-button-wrap {
        width: 100%;
        height: 100%;
        margin: 0 !important;
    }

    .koi-fluent-booking-button {
        color: #fff !important;
        background: #e3131b !important;
        border: 1px solid #e3131b !important;
    }

    .koi-fluent-booking-button:hover {
        color: #fff !important;
        background: #b80f17 !important;
    }

    .koi-mobile-cta__notice {
        min-height: 50px;
        display: flex;
        align-items: center;
        justify-content: center;
        padding: 8px;
        color: #d4151f;
        border: 1px dashed #d4151f;
        border-radius: 16px;
        font-size: 11px;
        text-align: center;
    }
}

@media (max-width: 380px) {

    .koi-mobile-cta {
        gap: 7px;
        padding-right: 8px;
        padding-left: 8px;
    }

    .koi-mobile-cta__phone,
    .koi-fluent-booking-button {
        padding-right: 8px !important;
        padding-left: 8px !important;
        font-size: 12px !important;
    }
}

/* ==================================================
   KOI FOOTER
================================================== */
.w-1200 .stats-v2{
    max-width: 1200px;
}
.koi-footer {
    background: #101536;
    color: rgba(255, 255, 255, .72);
    font-family: 'Quicksand', system-ui, sans-serif;
}

.koi-footer *,
.koi-footer *::before,
.koi-footer *::after {
    box-sizing: border-box;
}

.koi-footer a {
    color: inherit;
    text-decoration: none;
}

.koi-footer__container {
    width: min(100% - 48px, 1120px);
    margin: 0 auto;
    padding: 54px 0 26px;
}

.koi-footer__top {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 495px;
    gap: 70px;
    align-items: start;
    padding-bottom: 42px;
}

.koi-footer__brand-link {
    display: inline-flex;
    align-items: center;
    gap: 14px;
}

.koi-footer__logo {
    background: #fff;
    border-radius: 12px;
    padding: 10px 14px;
    box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
    width: fit-content;
    min-width: 0;
    max-width: 100%;
    height: 60px;

}

.koi-footer__brand-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}

.koi-footer__brand-text strong {
    color: #fff;
    font-size: 16px;
    font-weight: 700;
}

.koi-footer__brand-text small {
    font-size: 11px;
}

.koi-footer__intro {
    max-width: 320px;
    margin: 16px 0 0;
    color: rgba(255, 255, 255, .78);
    font-size: 13px;
    line-height: 1.65;
}

.koi-footer__consult {
    min-height: 104px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 28px;
    padding: 24px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 16px;
    background: rgba(255, 255, 255, .035);
}

.koi-footer__consult-info {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.koi-footer__consult-info span {
    font-size: 12px;
}

.koi-footer__consult-info a {
    color: #fff;
    font-family: 'Paytone One', system-ui, sans-serif;
    font-size: 24px;
    line-height: 1;
}

.koi-footer-booking-button {
    min-height: 50px !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    margin: 0 !important;
    padding: 0 28px !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: #fff !important;
    color: #d4151f !important;
    font-weight: 600 !important;
    white-space: nowrap;
}

.koi-footer__menus {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 48px;
    padding: 34px 0 38px;
    border-top: 1px solid rgba(255, 255, 255, .12);
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.koi-footer h3,
.koi-footer h4 {
    color: #fff;
}

.koi-footer__menu-column h3,
.koi-footer__campus-section > h3 {
    margin: 0 0 16px;
    font-size: 14px;
    font-weight: 700;
}

.koi-footer__menu-column ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.koi-footer__menu-column li + li {
    margin-top: 8px;
}

.koi-footer__menu-column a {
    font-size: 13px;
    transition: color .2s;
}

.koi-footer__menu-column a:hover {
    color: #fff;
}

.koi-footer__campus-section {
    padding: 32px 0 28px;
    border-bottom: 1px solid rgba(255, 255, 255, .12);
}

.koi-footer__campus-track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.koi-footer__campus-card {
    min-width: 0;
    padding: 14px;
    border: 1px solid rgba(255, 255, 255, .14);
    border-radius: 11px;
    background: rgba(255, 255, 255, .035);
}

.koi-footer__campus-card h4 {
    margin: 0 0 6px;
    font-size: 12px;
    font-weight: 700;
}

.koi-footer__campus-card p,
.koi-footer__campus-phone {
    display: block;
    margin: 0;
    font-size: 11px;
    line-height: 1.45;
}

.koi-footer__map-link {
    display: inline-block;
    margin-top: 8px;
       color: var(--blush) !important;
    font-size: 11px;
    font-weight: 600;
}


.koi-footer__contact-meta a {
    text-decoration: underline;
}

.koi-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    gap: 20px;
    padding: 20px 0;
}

.koi-footer__contact-meta {
    display: flex;
    align-items: center;
    gap: 24px;
    margin-right: 0;
    font-size: 11px;
    white-space: nowrap;
}

.koi-footer__socials {
    display: flex;
    align-items: center;
    gap: 8px;
    flex: 0 0 auto;
}

.koi-footer__social {
    width: 38px;
    height: 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .45);
    border-radius: 50%;
    color: #fff !important;
    font-size: 11px;
    font-weight: 700;
}

.koi-footer__social--facebook,
.koi-footer__social--zalo {
    background: #0878f9;
    border-color: #0878f9;
}

.koi-footer__social--youtube {
    background: #f20f20;
    border-color: #f20f20;
}

.koi-footer__social--tiktok {
    background: #111;
}

.koi-footer__copyright {
    padding-top: 7px;
    font-size: 11px;
}
.koi-footer__social--facebook{font-size:27px;}
.koi-footer__social--tiktok{font-size:27px;}
.icon-hide-icon .icon-badge{display: none;}
.icon-des-red p{color: var(--red) !important;
    font-weight: 700;
    font-size: 13px;margin-top: 12px;
    margin-bottom: 0px;}
.sec-chuong-trinh-hoc-cta .koi-consult-open:nth-of-type(2), .maps-edc .koi-consult-open:nth-of-type(2){
background: unset !important;
   color: var(--red) !important;
    border: 1px solid var(--red);
}
.img-1-1 .icon-card .card-media, .img-1-1 .mf-4-3{
        width: 100%;
        aspect-ratio: 1 / 1;
        min-height: 0;
    }
/* ==================================================
   MOBILE
================================================== */

@media (max-width: 767px) {
    .sec-page-lien-he{    display: table-cell !important;
    padding: 10px !important;}
    .elementor-widget-koi-section-heading h2,.koi-campus-desktop-title, .koi-news-section__title, .elementor-widget-koi-section-heading p{text-align: left !important;}
    .elementor-widget-koi-section-heading h2,.sec-head {margin-bottom:0px !important;}
    .elementor-widget-koi-section-heading p{font-size:14px;}
    .bottom-unset .sec-head{margin-bottom:unset}
    .koi-widget.sec, .elementor-widget-koi-logos .koi-widget .logo-marquee{
        padding:0px;
    }
    .koi-widget .koi-cta-buttons{
               display: block !important;
    }
    #menu-item-27 .sub-menu{
        display: grid !important;
    }
    .koi-hero-layout .koi-consult-open{ 
    min-height: 40px;
    padding-right: 10px !important;
    padding-left: 10px !important;
    font-size: 11px !important;
    width: 100%;}
   .koi-widget .koi-cta-buttons .koi-consult-open {width: 100%;margin-bottom:8px; font-size:12.5px !important}
   .koi-widget .koi-cta-buttons .koi-cta-find-button{width: 100%;font-size:12.5px;padding: 7px 14px;}
    .padding-unset .koi-widget.sec{
        padding:0px !important;
    }
    .cta p{
        font-size:13px !important;
    }
    .cta {
        grid-template-columns: 1fr;
        padding: 20px 16px !important;
    }
    .gallery-bento .g-item:nth-child(n+7){display: none !important;}
    .elementor-widget-koi-statistics .stat-headline{        flex-wrap: nowrap;}
    .elementor-widget-koi-statistics .stat-headline .txt{        text-align: left;}
    .elementor-widget-koi-statistics .stats-v2 .stat-v2{
            padding: 14px 10px !important;
    }

    .elementor-widget-koi-statistics .stat-n, .elementor-widget-koi-statistics .stat-v2 .stat-n{
        font-size: 28px !important;
    }
    .koi-mobile-cta__booking .koi-consult-open {
        color: #fff !important;
    background: #d4151f !important;
    border: 1px solid var(--red) !important;
    /*box-shadow: 0 6px 16px rgba(212, 21, 31, .22) !important;*/
    font-size:11.5px !important;
        border-radius: 12px !important;
        width: 100%;
        color: #fff !important;
    background: var(--red) !important;
    border: 1px solid var(--red) !important;
    }
    .koi-mobile-cta__booking .koi-mobile-cta__booking .koi-consult-open{
        background: #d4151f !important;
    }
    .icon-card-slide .g4,
    .icon-card-slide .g3,
    .icon-card-slide .g5,
    .icon-card-slide .koi-location-cards__grid,
    .icon-card-slide .koi-review-cards__grid,
    .icon-card-slide .koi-campus-intro-cards__grid,
    .elementor-widget-koi-day-activities .g2,
    .elementor-widget-koi-day-activities .g3,
    .elementor-widget-koi-day-activities .g4,
    .elementor-widget-koi-day-activities .g5,
    .elementor-widget-koi-day-activities .day-blocks,
    .elementor-widget-koi-testimonials .reviews,
    .koi-news-grid,
    .koi-campus-desktop-grid,.koi-core-values__grid{
        display: flex !important;
        grid-template-columns: none !important;
        gap: 14px;
        width: auto;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x mandatory;
        scroll-padding-left: 12px;
        padding: 0 12px 14px;
        margin-right: -12px;
        margin-left: -12px;
        -webkit-overflow-scrolling: touch;
        overscroll-behavior-inline: contain;
        scrollbar-width: none;
    }

    .icon-card-slide::-webkit-scrollbar,
    .elementor-widget-koi-brand-cards .g2::-webkit-scrollbar,
    .elementor-widget-koi-brand-cards .g3::-webkit-scrollbar,
    .elementor-widget-koi-brand-cards .g4::-webkit-scrollbar,
    .elementor-widget-koi-brand-cards .g5::-webkit-scrollbar,
    .elementor-widget-koi-day-activities .g2::-webkit-scrollbar,
    .elementor-widget-koi-day-activities .g3::-webkit-scrollbar,
    .elementor-widget-koi-day-activities .g4::-webkit-scrollbar,
    .elementor-widget-koi-day-activities .g5::-webkit-scrollbar,
    .elementor-widget-koi-testimonials .reviews::-webkit-scrollbar,
    .koi-campus-desktop-grid::-webkit-scrollbar,.koi-core-values__grid ::-webkit-scrollbar{
        display: none;
    }
.icon-card-thiet-ke .g3, .icon-card-thiet-ke .g4, .icon-card-slide .g5{        grid-template-columns: repeat(2, 1fr) !important; gap:8px;}
.icon-card-thiet-ke .g3 .icon-badge, .icon-card-thiet-ke .g4 .icon-badge{display: none;}
.icon-card-thiet-ke .g3 h3, .icon-card-thiet-ke .g4 h3{
    font-size:14px !important;
}
.icon-card-thiet-ke .g3 p, .icon-card-thiet-ke .g4 p{
    display: none;
}
	.show-p-mobi p{display:block !important;}
.icon-card-show-text p{
    display: block !important;
}
.icon-card-thiet-ke .g3 .ic-body, .icon-card-thiet-ke .g4 .ic-body{
    padding: 12px 10px 14px !important;
}
    /*
     * Mỗi card nhỏ hơn chiều rộng màn hình
     * để lộ một phần card tiếp theo.
     */
    .icon-card-slide .koi-campus-intro-cards__grid .koi-campus-intro-card, .icon-card-slide .koi-review-cards__grid .koi-review-card, .koi-location-cards__grid .koi-location-card, .koi-core-values__grid .koi-core-value, .koi-campus-desktop-grid article,.koi-news-grid .koi-news-card,.elementor-widget-koi-testimonials .reviews .rev, .icon-card-slide .icon-card,.elementor-widget-koi-brand-cards .brand-card, .elementor-widget-koi-day-activities .day-b{
        flex: 0 0 86%;
        width: 86%;
        min-width: 0;
        scroll-snap-align: start;
        scroll-snap-stop: always;
        height: auto;
    }
    .elementor-widget-koi-brand-cards .brand-card{padding: 12px;
        padding-top: 16px;
        min-height: unset;}
    .elementor-widget-koi-brand-cards .brand-card h3 {
    font-size: 16px !important;
    margin-bottom: 5px !important;
}
.elementor-widget-koi-brand-cards .brand-card p{    font-size: 12.5px !important;
    line-height: 1.45 !important;
    margin-bottom: 9px !important;}
 .elementor-widget-koi-brand-cards .brand-card .btn{
        min-height: 34px !important;
            padding: 0 12px !important;
    font-size: 11.5px !important;
 }
.elementor-widget-koi-split-content .split{
    gap:12px;
}
.elementor-widget-koi-section-heading h2, .elementor-widget-koi-split-content h2,.koi-news-section__title,.koi-campus-desktop-title, .elementor-widget-koi-cta h2{
    font-size:21px !important;         line-height: 1.24 !important;
        letter-spacing: -.025em !important;
}
.elementor-widget-koi-split-content p{
    font-size:13px !important;
}
.elementor-widget-koi-split-content .lead{
    font-size:14px !important;
}
.border-bottom{border-bottom: 1px solid rgba(0, 0, 0, .04);}
.elementor-widget-koi-section-heading{
        padding-left: 16px !important;
    padding-right: 16px !important;
}
    /*
     * Giữ media trên card có chiều cao gần giống demo.
     */
    .elementor-widget-koi-icon-cards .icon-card .card-media, .img-1-1 .icon-card .card-media{
        width: 100%;
        aspect-ratio: 1 / 1;
        min-height: 0;
    }
    .elementor-widget-koi-icon-cards .icon-card .card-media img {
        width: 100%;
        height: 100%;
        display: block;
        object-fit: cover;
    }

    /*
     * Phần nội dung card.
     */
    .elementor-widget-koi-icon-cards .icon-card .ic-body {
        padding: 24px 18px 26px;
    }

    .elementor-widget-koi-icon-cards .icon-card .icon-badge {
        margin-bottom: 14px;
    }

    .elementor-widget-koi-icon-cards .icon-card h3 {
        margin-bottom: 6px;
        font-size: 17px;
        line-height: 1.35;
    }

    .elementor-widget-koi-icon-cards .icon-card p {
        font-size: 14px;
        line-height: 1.6;
    }

    .koi-footer__container {
        width: min(100% - 32px, 100%);
        padding-top: 28px;
    }

    .koi-footer__top {
        display: block;
        padding-bottom: 16px;
    }

    .koi-footer__logo {
 
    }

    .koi-footer__brand-text strong {
        font-size: 13px;
    }

    .koi-footer__brand-text small {
        font-size: 9px;
    }

    .koi-footer__intro {
        margin-top: 10px;
        font-size: 11px;
    }

    .koi-footer__consult {
        min-height: 64px;
        margin-top: 14px;
        padding: 12px;
        border-radius: 11px;
    }

    .koi-footer__consult-info {
        gap: 3px;
    }

    .koi-footer__consult-info span {
        font-size: 9px;
    }

    .koi-footer__consult-info a {
        font-size: 17px;
    }

    .koi-footer-booking-button {
        min-height: 34px !important;
        padding: 0 14px !important;
        font-size: 10px !important;
    }

    .koi-footer__menus {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 18px;
        padding: 22px 0;
    }

    .koi-footer__menu-column h3,
    .koi-footer__campus-section > h3 {
        margin-bottom: 10px;
        font-size: 11px;
    }

    .koi-footer__menu-column li + li {
        margin-top: 5px;
    }

    .koi-footer__menu-column a {
        font-size: 10px;
    }

    .koi-footer__campus-section {
        padding: 20px 0;
        overflow: hidden;
    }
     .koi-footer__bottom {
        display: flex;
        flex-wrap: nowrap;
        align-items: center;
        gap: 10px;
        padding: 16px 0;
    }

    .koi-footer__contact-meta {
        display: flex;
        align-items: center;
        gap: 12px;
        min-width: 0;
        margin-right: 0;
        font-size: 8px;
        white-space: nowrap;
    }

    .koi-footer__socials {
        width: auto;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        gap: 6px;
        flex: 0 0 auto;
    }

    .koi-footer__social {
        width: 30px;
        height: 30px;
        font-size: 8px;
    }

    /*
     * Cho phép kéo ngang danh sách cơ sở.
     */
    .koi-footer__campus-track {
        display: flex;
        gap: 8px;
        margin-right: -16px;
        padding-right: 16px;
        padding-bottom: 7px;
        overflow-x: auto;
        overflow-y: hidden;
        scroll-snap-type: x proximity;
        overscroll-behavior-inline: contain;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .koi-footer__campus-track::-webkit-scrollbar {
        display: none;
    }

    .koi-footer__campus-card {
        flex: 0 0 166px;
        width: 166px;
        scroll-snap-align: start;
        padding: 10px;
    }

    .koi-footer__campus-card h4 {
        font-size: 10px;
    }

    .koi-footer__campus-card p,
    .koi-footer__campus-phone,
    .koi-footer__map-link {
        font-size: 9px;
    }

    .koi-footer__bottom {
        flex-wrap: wrap;
        gap: 16px;
        padding: 16px 0;
    }

    .koi-footer__contact-meta {
        gap: 18px;
        font-size: 9px;
    

    .koi-footer__social {
        width: 34px;
        height: 34px;
        font-size: 9px;
    }

    .koi-footer__copyright {
        font-size: 9px;
    }
}
/* =========================================================
   KOI HIGHLIGHT TEXT
   ========================================================= */

.elementor-widget-koi-highlight-text {
    width: 100%;
}

.koi-highlight-text {
    width: 100%;
    display: flex;
    justify-content: center;
}

.koi-highlight-text__content {
    width: 100%;
    max-width: 100%;

    padding: 18px 24px;

    background: var(--blush-tint);
    border-radius: 10px;

    color: var(--ink-soft);
    font-size: 14px;
    font-weight: 500;
    line-height: 1.65;
    text-align: center;
}

@media (max-width: 767px) {
    .koi-highlight-text__content {
        padding: 16px 18px;

        font-size: 13px;
        line-height: 1.6;
    }
    [data-e-type="container"] {
    padding: 28px 0px !important;
}
.elementor-element {
    padding: unset !important;
}
    .sec-page-lien-he{
        padding:10px !important;
    }
.koi-footer__booking .koi-consult-open{
    min-height: 34px !important;
    padding: 0 11px !important;
    font-size: 10.8px !important;
    }
    .sec-page-title .elementor-heading-title{    font-size: 21px !important;
    line-height: 1.24 !important;
    letter-spacing: -.025em !important; padding: 48px 10px 28px;}
	.koi-review-cards, .koi-location-cards{
		width:95% !important
	}
	.koi-schedule-infographic .sched-infographic{
		padding:0px !important;
	}
}
