/* ==============================================
   RESPONSIVE MEDIA QUERIES
   ============================================== */


@media (max-width: 991px) {
    .info-dt {
        padding: 40px 0px !important;
    }

    .field-title {
        font-size: 24px;
    }

    .field-row__body {
        padding: 40px 30px;
    }

    .field-row__num {
        font-size: 28px;
    }

    .field-row__title {
        font-size: 20px;
    }

    .why-radial-col--right .why-radial-card {
        margin-left: 0px;
    }

    .why-radial-col--left .why-radial-card {
        margin-right: 0px;
    }

    .home-news-video {
        grid-template-columns: 1fr;
        --home-news-panel-height: 360px;
    }

    .home-news-video .title-main--left {
        min-height: auto;
    }

    .newsnb--vertical .splide__track {
        height: var(--home-news-panel-height) !important;
    }

    .news-detail-layout {
        grid-template-columns: 1fr;
    }

    .home-customer-contact {
        grid-template-columns: 1fr;
        gap: 26px;
    }

    .customer-card {
        min-height: 0;
    }

    .title-list {
        display: block;
        padding: 14px;
        text-align: center;
    }

    .title-list h2 {
        justify-content: center;
        font-size: 26px;
    }

    .title-list h2:after {
        display: none;
    }

    .home-product-cats {
        justify-content: center;
        margin-top: 12px;
    }

    .home-product-ajax-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 15px;
    }

    .prodetail__detail-layout {
        grid-template-columns: 1fr;
    }

    .prodetail__hot {
        padding: 16px;
    }

    .title-main h1,
    .title-main h2,
    .title-about h2,
    .fields-title,
    .dt-title {
        font-size: 26px;
    }

    .info-blog {
        padding: 50px 0 !important;
    }

    .blog-container {
        grid-template-columns: 1fr;
        gap: 30px;
    }

    .blog-left-panel {
        text-align: center;
        align-items: center;
    }

    .blog-section-tag {
        font-size: 28px;
        margin-bottom: 12px;
    }

    .blog-section-title {
        font-size: 36px;
        line-height: 46px;
    }

    .blog-section-subtitle {
        font-size: 18px;
        line-height: 1.4;
        letter-spacing: 5px;
        margin-top: 5px;
    }

    .blog-slider-controls {
        margin-top: 20px;
        justify-content: center;
    }

    .splide__arrow {
        display: none
    }

    .header-wrap,
    .menu-main {
        display: none !important
    }

    .menu-res {
        display: flex !important;
        align-items: center;
        justify-content: space-between;
    }

    .logo-mb {
        display: inline-block;
        text-align: center;
        max-width: 200px
    }

    .menu_baophu {
        background: #000;
        opacity: .8;
        z-index: 998;
        left: 0;
        top: 0;
        position: fixed;
        width: 100%;
        height: 100%;
        display: none
    }

    .icon_menu_mobi {
        color: #fff;
        font-size: 32px;
        text-decoration: none;
        width: 35px;
        display: block;
        cursor: pointer;
        margin: 0;
        text-align: center
    }

    .logo-mobi {
        display: inline-block;
    }

    .menu_mobi {
        background: #0b1c3f;
        padding: 10px;
        width: 100%;
        height: 100%;
        cursor: pointer;
        position: sticky;
        top: 0;
        z-index: 10;
        box-shadow: rgba(100, 100, 111, .2) 0 5px 20px;
    }

    .search-mobi-wrap {
        position: relative;
        display: flex;
        align-items: center;
    }

    .icon-search {
        color: #fff;
        font-size: 20px;
        cursor: pointer;
        width: 35px;
        height: 35px;
        display: flex;
        align-items: center;
        justify-content: center;
        z-index: 2;
    }

    .search-grid {
        position: absolute;
        right: 35px;
        top: 50%;
        transform: translateY(-50%);
        width: 0;
        opacity: 0;
        overflow: hidden;
        z-index: 1;
    }

    .search-grid form {
        display: flex;
        align-items: center;
        width: 230px;
        height: 35px;
        padding: 0 12px;
        border: 1px solid #ef0000;
        background: #fff;
        border-radius: 20px;
    }

    .search-grid input {
        border: none;
        outline: none;
        background: transparent;
        width: 100%;
        font-size: 14px;
        color: #333;
        padding-right: 8px;
    }

    .search-grid button {
        border: none;
        background: transparent;
        color: #ef0000;
        cursor: pointer;
        font-size: 16px;
        padding: 0;
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .menu_mobi_add {
        position: fixed;
        top: 0;
        left: -100%;
        bottom: 0;
        width: 350px;
        max-width: 85%;
        background: #fff;
        box-shadow: 0 0 10px rgba(0, 0, 0, .05);
        transition: .5s;
        z-index: 9999999
    }

    .menures_inner {
        display: flex;
        flex-direction: column;
        position: absolute;
        top: 0;
        bottom: 0;
        height: 100%;
        width: 100%
    }

    .menures_header {
        padding: 10px;
        position: relative;
        background: #0565bf;
        filter: drop-shadow(0 4px 3px rgba(0, 0, 0, .07)) drop-shadow(0 2px 2px rgba(0, 0, 0, .06))
    }

    .menures_content {
        padding: 5px;
        position: relative;
        overflow-y: scroll;
        height: 100%;
        -webkit-overflow-scrolling: touch;
        -ms-scroll-chaining: none;
        overscroll-behavior: none
    }

    .menu_mobi_active {
        left: 0;
        transition: .5s
    }

    .menu_mobi_add ul {
        list-style: none;
        padding: 0;
        margin: 0
    }

    .icon_menu_mobi .menu_mobi_add ul>li {
        border-bottom: 1px solid #f1f1f1;
    }

    .menu_mobi_add ul ul>li {
        border-bottom: none;
    }

    .menu_mobi_add ul li.li-tim {
        display: none
    }

    .menu_mobi_add ul li h2 {
        font-size: 17px;
        margin-bottom: 0
    }

    .menu_mobi_add ul li b {
        display: inline-block;
        vertical-align: top;
        margin-right: 8px
    }

    .menu_mobi_add ul li b img {
        display: inline-block;
        vertical-align: top
    }

    .menu_mobi_add ul li {
        border-bottom: 1px solid #f1f1f1;
    }

    .menu_mobi_add ul li a {
        color: #191919;
        padding: 8px 30px 8px 5px;
        position: relative;
        font-size: 16px;
        transition: .3s !important;
        border-radius: 10px;
        display: flex;
        align-items: center;
        gap: 12px;
        font-family: 'Hanken-Grotesk-M';
        text-transform: uppercase;
    }

    .menu_mobi_add ul li a svg {
        display: none
    }

    .menu_mobi_add ul li a i {
        position: absolute;
        right: 5px;
        transform: rotate(0);
        width: 25px;
        height: 25px;
        display: flex;
        align-items: center;
        justify-content: center;
        font-size: 12px;
        color: var(--color-main);
        border-radius: 50%;
        top: calc(50% - 25px / 2)
    }

    .menu_mobi_add ul li a.active2 i {
        transform: rotate(90deg);
        color: #fff;
        box-shadow: 0 0 0 25px var(--color-main) inset
    }

    .menu_mobi_add ul ul {
        display: none;
        padding-left: 15px;
        margin: 5px 0 10px 0
    }

    .menu_mobi_active .menu_lvl2>ul {
        padding: 0
    }

    .menu_mobi_add ul li ul li a {
        padding-left: 20px;
        color: #6f6f6f
    }

    .menu_mobi_add ul li ul li ul li a {
        padding-left: 20px
    }

    .menu_mobi_add ul li:last-child a {
        margin-bottom: 0
    }

    .thongtin-mb ul li {
        list-style: none;
        color: #000;

        margin-bottom: 15px
    }

    .thongtin-mb ul li:last-child {
        margin-bottom: 0
    }

    .thongtin-mb ul li i {
        font-size: 19px;
        margin-right: 10px;
        color: var(--color-main)
    }

    .close_menu {
        display: inline-block;
        cursor: pointer;
        position: absolute;
        top: 5px;
        right: 5px;
        width: 25px
    }

    .menures_footer {
        padding: 10px;
        margin-top: auto;
        background: #f7f7f7;
        border-top: solid 1px #e4e8ed
    }

    .service-item__info h3 {
        font-size: 25px;
    }

    .footer-main {
        padding-top: 32px;
    }

    .footer-main__left {
        width: 100%;
    }

    .footer-main__map {
        min-height: 420px;
    }

    .wrap-about:after {
        display: none;
    }

    .flex-about {
        padding-right: 0px;
    }

    .about-right {
        width: 100%;
    }

    .about-left {
        width: 100%;
        margin-top: 10px;
    }

    .wr-statistical {
        margin-top: 18px;
    }

    .statistical-card {
        min-height: 96px;
        padding: 14px;
    }

    .statistical-card__number {
        font-size: 24px;
    }

    .news-detail-gallery {
        grid-template-columns: repeat(3, 1fr);
    }

    .video-list-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .menu-page__head {
        align-items: flex-start;
        flex-direction: column;
    }

    .menu-page__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .prodetail__header {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .prodetail__info {
        padding: 24px;
    }

    .header-contact-row {
        flex-direction: column;
        align-items: flex-start;
        gap: 5px;
    }

    .header-search-consult-row {
        flex-direction: column;
        align-items: stretch;
        gap: 15px;
    }

    .header-booking-pill {
        width: 100%;
    }

    .product-layout {
        flex-direction: column;
        gap: 20px;
    }

    .left-product {
        position: fixed;
        left: -320px;
        top: 0;
        bottom: 0;
        width: 300px;
        z-index: 9999;
        margin: 0;
        border-radius: 0;
        border: none;
        box-shadow: 10px 0 30px rgba(0, 0, 0, 0.15);
        overflow-y: auto;
        transition: left 0.35s cubic-bezier(0.4, 0, 0.2, 1);
    }

    .left-product.show {
        left: 0;
    }

    .sidebar-filter__mobile-header {
        display: flex;
    }

    .filter-mobile-btn-wrap {
        display: block;
    }

    .restaurant-footer__primary {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .restaurant-footer__secondary {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .restaurant-footer__form-inputs {
        flex-direction: column;
        gap: 12px;
    }

    .info-cs__container {
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .info-cs__title-group {
        flex-direction: column;
        gap: 8px;
    }

    .info-cs__buttons {
        flex-direction: column;
        width: 100%;
    }

    .info-cs__button {
        width: 100%;
        max-width: 320px;
    }

    .info-ts-qs__container {
        grid-template-columns: 1fr;
        gap: 50px;
    }

    .why-radial-layout {
        display: flex;
        flex-direction: column;
        gap: 20px;
        min-height: auto;
    }

    .why-radial-circle {
        position: relative;
        left: 0;
        top: 0;
        transform: none;
        margin: 0 auto 20px auto;
        width: 140px;
        height: 140px;
    }

    .why-radial-col {
        padding: 0;
        gap: 20px;
    }

    .why-radial-col--left .why-radial-card:nth-child(2),
    .why-radial-col--right .why-radial-card:nth-child(2) {
        margin: 0;
    }

    .why-radial-card--left {
        text-align: left;
    }

    .tab-news-grid {
        flex-direction: column;
        gap: 40px;
    }

    .tab-news-left,
    .tab-news-right {
        flex: 1 1 100%;
        max-width: 100%;
    }

    .tab-news-main-img-wrap {
        height: 340px;
    }

    .info-tk-content {
        max-width: 100%;
    }

    .info-tk-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .info-tk-doctor {
        position: static;
        width: 280px;
        margin: 30px auto 0;
        display: block;
        pointer-events: auto;
    }

    .info-tk-doctor__img {
        transform: none;
    }

    .service-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .service-category-title {
        font-size: 18px;
    }

    .about-middle-row {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .about-right-col {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .doctor-profile-image-container {
        max-width: 380px;
        margin-bottom: -40px;
        z-index: 2;
    }

    .doctor-profile-card {
        margin-left: 0;
        padding: 60px 30px 40px 30px;
        width: 100%;
        border-radius: 30px;
    }

    .about-welcome-sub {
        font-size: 28px;
    }

    .about-welcome-title-pill {
        font-size: 28px;
        padding: 8px 30px;
    }

    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: 30px;
    }

}

@media (max-width: 870px) {

    .scrollToTop {
        bottom: 140px
    }

}

@media (max-width: 767px) {
    .field-title {
        font-size: 20px;
    }

    .field-row,
    .field-row--reverse {
        grid-template-columns: 1fr;
        direction: ltr;
    }

    .field-row__body {
        padding: 25px 20px;
        align-items: flex-start;
        text-align: left;
    }

    .field-row--reverse .field-row__body {
        align-items: flex-start;
        text-align: left;
    }

    .field-row__num {
        font-size: 24px;
        padding-left: 60px;
    }

    .field-row__num::before {
        width: 45px;
    }

    .field-row--reverse .field-row__num {
        padding-left: 60px;
        padding-right: 0;
    }

    .field-row--reverse .field-row__num::before {
        left: 0;
        right: auto;
    }

    .field-row__img-wrap {
        aspect-ratio: 16 / 10;
        height: auto;
    }

    .fields-cap2-nav {
        gap: 10px;
        padding: 15px 0;
    }

    .fields-cap2-nav-item {
        font-size: 13px;
    }

    .fields-cap2-nav-item::after {
        margin-left: 10px;
    }

    .contact-flex {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .info-news {
        padding: 28px 0;
    }

    .home-news-video {
        --home-news-panel-height: 270px;
    }

    .newsnb--vertical .splide__track {
        height: var(--home-news-panel-height) !important;
    }

    .home-news-card.news-side-item {
        grid-template-columns: 92px minmax(0, 1fr);
    }

    .home-video-player {
        padding: 10px;
    }

    .main-widget {
        bottom: 85px
    }


    .restaurant-footer__primary,
    .restaurant-footer__secondary {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .restaurant-footer__primary {
        padding: 32px 0 24px;
    }

    .restaurant-footer__heading--brand {
        font-size: 21px;
    }

    .restaurant-footer__hotline,
    .restaurant-footer__zalo {
        min-height: 78px;
    }

    .restaurant-footer__secondary,
    .restaurant-footer__branches {
        padding: 24px 0;
    }

    .restaurant-footer__branch-map {
        min-height: 320px;
    }

    .restaurant-footer__branch-tabs {
        top: 34px;
        left: 10px;
        right: 10px;
        gap: 8px;
        max-height: 112px;
        padding: 8px;
        justify-content: flex-start;
    }

    .restaurant-footer__branch-name {
        min-height: 34px;
        padding: 7px 10px;
        font-size: 13px;
    }

    .restaurant-footer__heading {
        font-size: 18px;
    }

    .home-contact-form .grid {
        grid-template-columns: 1fr;
    }

    .info-custommer {
        padding: 34px 0;
    }

    .home-customer-contact .splide__pagination {
        justify-content: center;
    }

    .home-contact-form {
        padding: 16px;
    }

    .customer-card {
        min-height: 0;
        padding: 22px 18px 20px;
    }

    .customer-card__text {
        -webkit-line-clamp: 3;
        font-size: 14px;
    }

    .customer-card__avatar {
        flex-basis: 60px;
        width: 60px;
        height: 60px;
    }

    .home-product-ajax-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .title-list h2 {
        font-size: 22px;
    }

    .title-list h2:after {
        left: 0px;
    }

    .title-main h1,
    .title-main h2,
    .title-about h2,
    .fields-title,
    .dt-title {
        font-size: 22px;
    }

    .info-blog {
        padding: 40px 0 !important;
    }

    .blog-section-tag {
        font-size: 24px;
        margin-bottom: 8px;
    }

    .blog-section-title {
        font-size: 28px;
        line-height: 38px;
    }

    .blog-section-subtitle {
        font-size: 15px;
        letter-spacing: 3px;
    }

    .grid-news {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px 14px;
    }

    .news-item__name {
        min-height: auto;
        font-size: 15px;
        line-height: 1.45;
    }

    .news-item__next {
        margin-top: 16px;
    }

    .news-detail-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    .video-card__title {
        font-size: 14px;
    }

    .f-flipbook button {
        display: none;
    }

    .album-grid {
        padding-top: 0;
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
        gap: 12px;
    }

    .menu-page__head h1 {
        font-size: 34px;
    }

    .menu-page__sort {
        width: 100%;
    }

    .menu-page__sort-toggle,
    .menu-page__sort-panel {
        width: 100%;
    }

    .menu-page__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 16px 12px;
    }

    .menu-product-card__body {
        padding: 12px;
    }

    .menu-product-card__name {
        min-height: 44px;
        font-size: 14px;
    }

    .menu-product-card__price-new {
        font-size: 15px;
    }

    .menu-product-card__price-old {
        font-size: 12px;
    }

    .prodetail {
        padding-top: 8px;
    }

    .prodetail__info,
    .prodetail__tabs {
        padding: 16px;
    }

    .prodetail__title {
        font-size: 24px;
        margin-bottom: 12px;
    }

    .prodetail__option {
        gap: 6px 10px;
    }

    .prodetail__option li.line {
        display: none;
    }

    .prodetail__price-new {
        font-size: 24px;
    }

    .prodetail__desc {
        padding: 12px;
        margin-bottom: 16px;
    }

    .prodetail__actions {
        grid-template-columns: 1fr;
        gap: 8px;
        margin: 16px 0;
    }

    .prodetail__btn {
        min-height: 46px;
    }

    .prodetail__qty-group {
        align-items: flex-start;
        flex-direction: column;
        gap: 8px;
        margin: 16px 0;
    }

    .prodetail__social {
        align-items: flex-start;
        flex-direction: column;
    }

    .prodetail__tab-header {
        gap: 18px;
        overflow-x: auto;
        white-space: nowrap;
    }

    .footer-main__map {
        min-height: 320px;
        border-radius: 16px;
    }

    .info-tab-main {
        padding: 40px 0;
    }

    .tab-news-section-title {
        font-size: 24px;
    }

    .tab-news-main-img-wrap {
        height: 250px;
    }

    .tab-news-main-content .tab-news-title {
        font-size: 20px;
    }

    .tab-news-sub-card {
        flex-direction: column;
        width: 100%;
    }

    .tab-news-sub-img-wrap {
        width: 100%;
        height: 180px;
        margin-bottom: 12px;
    }

    .tab-news-sub-content .tab-news-title {
        font-size: 15px;
    }

    /* Horizontal Splide on mobile */
    .splide.slider-tab-news {
        height: auto;
        overflow: visible;
    }

    .splide.slider-tab-news .splide__list {
        flex-direction: row;
        height: auto !important;
    }

    .splide.slider-tab-news .splide__slide {
        margin-bottom: 0;
    }

    .info-tk {
        padding: 40px 0;
    }

    .info-tk-wrapper {
        padding: 30px 20px;
    }

    .info-tk-grid {
        grid-template-columns: 1fr;
    }

    .info-tk-title {
        font-size: 24px;
    }

    .info-tk-subtitle {
        font-size: 14px;
        margin-bottom: 24px;
    }

    .info-video {
        padding: 40px 0;
    }

    .video-shorts-section-title {
        font-size: 22px;
    }

    .video-short-card__title {
        font-size: 14px;
        margin-top: 10px;
    }

    .fields-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
    }

    .info-fields {
        padding: 50px 0 !important;
    }

    .slideshow-text-overlay {
        display: none;
        /* Hide text on mobile for better visibility */
    }

    .about-bg-text {
        font-size: 50px;
        top: 10px;
    }

    .about-year-digit {
        font-size: 70px;
    }

    .about-year-label {
        font-size: 16px;
    }

    .about-info-bar {
        flex-direction: column;
        align-items: flex-start;
        padding: 15px;
        gap: 15px;
    }

    .about-info-divider {
        display: none;
    }

    .about-stats-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 15px;
    }

    .about-stat-digit {
        font-size: 35px;
    }

}

@media (max-width: 576px) {

    .title-list h2,
    .title-main h1,
    .title-main h2,
    .title-about h2,
    .fields-title,
    .dt-title {
        font-size: 20px;
    }

    .blog-section-tag {
        font-size: 20px;
    }

    .blog-section-title {
        font-size: 24px;
        line-height: 32px;
    }

    .blog-section-subtitle {
        font-size: 13px;
        letter-spacing: 2px;
    }

    .header-body-grid {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .header-logo-column {
        margin-bottom: 10px;
    }

    .header-contact-row {
        align-items: center;
    }

    .header-keywords-row {
        justify-content: center;
        display: none;
    }

    .service-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .service-section-title-pill {
        font-size: 14px;
        padding: 8px 20px;
    }

    .service-section-subtitle {
        font-size: 13px;
    }

    .service-card__image-wrapper {
        width: 160px;
        height: 180px;
    }

    .info-about {
        padding: 40px 0;
    }

    .about-welcome-sub {
        font-size: 22px;
    }

    .about-welcome-title-pill {
        font-size: 20px;
        padding: 6px 20px;
    }

    .about-welcome-quote {
        font-size: 18px;
    }

    .doctor-profile-name {
        font-size: 26px;
    }

    .doctor-profile-certificates {
        flex-direction: column;
        align-items: center;
    }

    .certificate-thumb-wrapper {
        width: 100%;
        max-width: 240px;
        height: 135px;
    }

    .doctor-profile-actions {
        flex-direction: column;
        gap: 10px;
    }

    .btn-doctor-more,
    .btn-doctor-consult {
        width: 100%;
        padding: 10px 20px;
    }

    .video-page {
        padding-top: 4px;
    }

    .video-list-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }

    .video-list-card__title {
        min-height: auto;
        font-size: 15px;
    }

    .album-grid {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        gap: 10px;
        position: relative;
    }

    .service-item__info img {
        display: none;
    }

    .booking-trigger {
        width: 48px;
        height: 48px;
        min-height: 48px;
        padding: 0;
        border-radius: 50%;
    }

    .booking-trigger span {
        display: none;
    }

    #booking .modal-body {
        padding: 16px;
    }

    #booking .grid-cols-2 {
        grid-template-columns: 1fr;
    }

    .info-tags {
        gap: 6px;
    }

    .info-tags a {
        padding: 6px 10px;
        font-size: 13px;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: 30px;
    }

}

@media (max-width: 480px) {

    .grid-news {
        grid-template-columns: 1fr;
    }


}

@media (max-width: 419px) {

    .service-item__info h3 {
        font-size: 18px;
    }

}