@media screen and (max-width: 1366px) {
    .container { max-width: min(1320px, calc(100% - 6vw)); }
}

@media screen and (max-width: 1199px) {
    .container { max-width: 100%; }
    /* Font-size scaling */
    .fs-40 { font-size: 36px; }
    .fs-36 { font-size: 32px; }
    .fs-32 { font-size: 28px; }
    .fs-24 { font-size: 22px; }
    .fs-20 { font-size: 19px; }
    .fs-18 { font-size: 17px; }
    .fs-14 { font-size: 14px; }
    .fs-12 { font-size: 12px; }
    .content-slider .desc { font-size: 34px !important; }
    .content-slider .name { font-size: 22px !important; }
    .title-slider { font-size: 32px !important; }
}

@media screen and (max-width: 992px) {
    /* Font-size scaling */
    .fs-40 { font-size: 32px; }
    .fs-36 { font-size: 28px; }
    .fs-32 { font-size: 24px; }
    .fs-24 { font-size: 20px; }
    .fs-20 { font-size: 18px; }
    .fs-18 { font-size: 16px; }
    .fs-14 { font-size: 14px; }
    .fs-12 { font-size: 12px; }
    .table-wishlist { min-width: 900px; }
    [data-aos] { opacity: 1 !important; transform: none !important; transition: none !important; }
    .content-slider .desc { font-size: 26px !important; line-height: 1.25 !important; }
    .content-slider .name { font-size: 18px !important; margin-bottom: 4px !important; }
    .content-slider .content-ckeditor { font-size: 16px !important; padding-top: 4px !important; padding-bottom: 4px !important; }
    .content-slider .wrapper-criteria { font-size: 13px; }
    .content-slider .wrapper-criteria img { max-width: 22px; }
    .content-slider .button-slider a { font-size: 16px !important; padding: 4px 14px !important; }

    .banner { height: 260px; }
    .banner h2 { font-size: 26px !important; }

    .content-service { font-size: 18px !important; padding: 10px 12px !important; }
    .title-slider { font-size: 26px !important; }

    /* Container register over footer */
    .container-register { position: static !important; margin-bottom: 25px; top: 0 !important; }
    .pb-10 { padding-bottom: 3rem !important; }
    .pt-8 { padding-top: 2rem !important; }

    /* Footer responsiveness */
    footer .row.flex-nowrap { flex-wrap: wrap !important; gap: 1.5rem 0; }
    footer .row.flex-nowrap > .col-auto { display: none !important; }
    footer .row.flex-nowrap > div[class*="col-"] { width: 50% !important; }
}

@media screen and (max-width: 768px) {
    body, .fs-18 { font-size: 15px; }
    /* Font-size scaling */
    .fs-40 { font-size: 28px; }
    .fs-36 { font-size: 24px; }
    .fs-32 { font-size: 22px; }
    .fs-24 { font-size: 18px; }
    .fs-20 { font-size: 16px; }
    .fs-14 { font-size: 13px; }
    .fs-12 { font-size: 11px; }

    .widget-desktop-items__icon { width: 30px; height: 30px; }
    .content-ckeditor table { display: block; }
    .widget-cart { font-size: 14px; }
    .cart-item { padding: 12px !important; }
    .cart-image { width: 75px; }
    .cart-image img { width: 75px; height: 65px; }
    .cart-product-info h6 { font-size: 14px; }

    .content-slider .desc { font-size: 20px !important; line-height: 1.25 !important; margin-bottom: 3px !important; }
    .content-slider .name { font-size: 14px !important; margin-bottom: 3px !important; }
    .content-slider .content-ckeditor { font-size: 13px !important; padding: 2px 0 !important; line-height: 1.3 !important; }
    .content-slider .wrapper-criteria { display: none !important; }
    .content-slider .button-slider a { font-size: 13px !important; padding: 4px 12px !important; }

    .swiper-button-next, .swiper-button-prev { width: 36px !important; height: 36px !important; }
    .swiper-button-next:after, .swiper-button-prev:after { font-size: 16px !important; }

    .banner { height: 220px; }
    .banner h2 { font-size: 22px !important; }

    .content-service { font-size: 15px !important; padding: 8px 10px !important; }
    .title-slider { font-size: 20px !important; }
    .table th, .table td { padding: 0.6rem 0.75rem !important; font-size: 14px; }
    .p-left{padding-left: 1rem;}
}

@media screen and (max-width: 576px) {
    body, .fs-18 { font-size: 14px; }
    input, textarea, select { font-size: 15px !important; }
    .scrollToTop { width: 35px; height: 35px; right: 10px; line-height: 35px; font-size: 13px; }

    /* Font-size scaling */
    .fs-40 { font-size: 22px; }
    .fs-36 { font-size: 20px; }
    .fs-32 { font-size: 18px; }
    .fs-24 { font-size: 16px; }
    .fs-20 { font-size: 15px; }
    .fs-14 { font-size: 13px; }
    .fs-12 { font-size: 11px; }

    .content-ckeditor span { font-size: inherit !important; }
    .pagination-page ul { gap: .3rem; }
    .page-link { width: 30px; height: 30px; font-size: 14px; min-width: 30px; }

    .content-slider .desc { font-size: 15px !important; line-height: 1.2 !important; margin-bottom: 2px !important; }
    .content-slider .name { font-size: 12px !important; margin-bottom: 2px !important; }
    .content-slider .content-ckeditor { display: none !important; }
    .content-slider .button-slider a { font-size: 11px !important; padding: 3px 10px !important; }

    .swiper-button-next, .swiper-button-prev { width: 28px !important; height: 28px !important; }
    .swiper-button-next:after, .swiper-button-prev:after { font-size: 12px !important; }

    .banner { height: 180px; }
    .banner h2 { font-size: 18px !important; }
    .breadcrumb-item, .banner .breadcrumb-item { font-size: 12px !important; }

    .content-service { font-size: 13px !important; padding: 6px 8px !important; }
    .title-slider { font-size: 16px !important; }
    .pb-10 { padding-bottom: 2rem !important; }
    .pt-8 { padding-top: 1.5rem !important; }
    .p-left { padding-left: 15px !important; }
    .p-right { padding-right: 15px !important; }
    .table th, .table td { padding: 0.5rem 0.5rem !important; font-size: 13px; }
    .container-register .p-4 { padding: 1.25rem 1rem !important; }
    .container-register .d-flex.gap-3 { gap: 0.5rem !important; flex-wrap: wrap; }
    .container-register a { font-size: 13px !important; }
}

@media screen and (max-width: 450px) {
    body, .fs-18 { font-size: 13px; }
    input, textarea, select { font-size: 14px !important; }

    /* Font-size scaling */
    .fs-40 { font-size: 20px; }
    .fs-36 { font-size: 18px; }
    .fs-32 { font-size: 16px; }
    .fs-24 { font-size: 15px; }
    .fs-20 { font-size: 14px; }
    .fs-14 { font-size: 12px; }
    .fs-12 { font-size: 10px; }

    .news-home-card { flex-direction: column; align-items: flex-start; }
    .news-home-card__img { width: 100%; height: 160px; }

    /* Content overlay on images */
    .content-slider .desc { font-size: 13px !important; }
    .content-slider .name { font-size: 11px !important; }
    .content-slider .button-slider a { font-size: 10px !important; padding: 2px 8px !important; }
    .swiper-button-next, .swiper-button-prev { display: none !important; }

    .banner { height: 120px; }
    .banner h2 { font-size: 16px !important; }
    .breadcrumb-item, .banner .breadcrumb-item { font-size: 11px !important; }

    .content-service { font-size: 12px !important; padding: 4px 6px !important; }
    .title-slider { font-size: 14px !important; }
}

@media screen and (max-width: 320px) {
    body { font-size: 13px; }
    /* Font-size scaling */
    .fs-40 { font-size: 18px; }
    .fs-36 { font-size: 16px; }
    .fs-32 { font-size: 15px; }
    .fs-24 { font-size: 14px; }
    .fs-20 { font-size: 13px; }
    .fs-18 { font-size: 12px; }
    .fs-14 { font-size: 11px; }
    .fs-12 { font-size: 10px; }

    .page-link { width: 25px; height: 25px; font-size: 12px; min-width: 25px; }
    .content-slider .desc { font-size: 12px !important; }
    .content-slider .name { font-size: 10px !important; }
    .banner { height: 90px; }
    .banner h2 { font-size: 14px !important; }
    .breadcrumb-item, .banner .breadcrumb-item { font-size: 10px !important; }
}