/**
 * Homepage — mobile-first responsive system
 * Content/SEO unchanged: layout, spacing, touch, RTL, overflow only.
 */

/* ── Base: prevent horizontal scroll ── */
html:has(body.is-home-page) {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body.is-home-page {
    overflow-x: clip;
    max-width: 100%;
    -webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}

body.is-home-page #app,
body.is-home-page .main-content,
body.is-home-page main,
body.is-home-page .premium-home-bg-accent {
    max-width: 100%;
    overflow-x: clip;
}

body.is-home-page img,
body.is-home-page video,
body.is-home-page svg:not(.premium-hero-ref__svg-defs) {
    max-width: 100%;
    height: auto;
}

body.is-home-page .premium-hero-ref__circle-clip .premium-hero-ref__image,
body.is-home-page .premium-hero-ref__circle-clip .imt-hero-main-photo {
    height: 100%;
}

/* ── Mobile-first spacing tokens ── */
body.is-home-page {
    --home-gutter: clamp(1rem, 4.2vw, 1.5rem);
    --home-section-y: clamp(2rem, 7vw, 2.75rem);
    --home-touch: 44px;
}

/* ── Section containers ── */
body.is-home-page .home-sections.section-premium,
body.is-home-page section.home-sections {
    padding-block: var(--home-section-y) !important;
}

body.is-home-page section.container,
body.is-home-page .home-sections.container,
body.is-home-page .container.premium-features-section__contain,
body.is-home-page .container.premium-flagship-diploma__container,
body.is-home-page .premium-latest-section.container {
    width: 100%;
    max-width: 100%;
    padding-inline: var(--home-gutter) !important;
    margin-inline: auto;
    box-sizing: border-box;
}

/* ── Typography (clamp) ── */
body.is-home-page .section-title,
body.is-home-page .premium-latest-title,
body.is-home-page .premium-features-section__title,
body.is-home-page .premium-flagship-diploma__title {
    font-size: clamp(1.35rem, 4.5vw, 1.95rem) !important;
    line-height: 1.28 !important;
}

body.is-home-page .premium-latest-eyebrow,
body.is-home-page .premium-features-section__eyebrow,
body.is-home-page .premium-flagship-diploma__eyebrow {
    font-size: clamp(0.78rem, 2.8vw, 0.88rem) !important;
}

body.is-home-page .premium-mock-course-card__title {
    font-size: clamp(0.88rem, 3.2vw, 1rem) !important;
}

body.is-home-page .premium-mock-course-card__desc {
    font-size: clamp(0.78rem, 2.6vw, 0.86rem) !important;
}

/* ── Touch-friendly controls ── */
body.is-home-page .btn,
body.is-home-page a.btn,
body.is-home-page button.btn,
body.is-home-page .premium-hero-ref__btn,
body.is-home-page .premium-latest-cta,
body.is-home-page .btn-premium-spotlight,
body.is-home-page .premium-flagship-diploma__btn-primary,
body.is-home-page .premium-flagship-diploma__btn-secondary,
body.is-home-page .nav-auth-login-btn,
body.is-home-page .premium-home-conversion-banner__btn {
    min-height: var(--home-touch);
    touch-action: manipulation;
    -webkit-tap-highlight-color: rgba(87, 134, 199, 0.15);
}

body.is-home-page #navbar .navbar-toggler {
    min-width: var(--home-touch);
    min-height: var(--home-touch);
    touch-action: manipulation;
}

/* ── Hero: overflow + responsive ── */
body.is-home-page .premium-hero-banner-mock--ref-layout {
    overflow-x: clip !important;
    padding-inline: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
}

body.is-home-page .premium-hero-ref__outer,
body.is-home-page .premium-hero-ref__card,
body.is-home-page .premium-hero-ref__body,
body.is-home-page .premium-hero-ref__split {
    overflow-x: clip;
    max-width: 100%;
}

body.is-home-page .premium-hero-ref__visual {
    overflow-x: clip;
    max-width: 100%;
}

body.is-home-page .premium-hero-ref__visual-composition {
    max-width: min(620px, 100%);
    margin-inline: auto;
}

body.is-home-page .premium-hero-ref__circle-wrap {
    max-width: min(580px, 100%);
    margin-inline: auto;
}

body.is-home-page .premium-hero-ref__stats {
    width: 100%;
    max-width: 100%;
    margin-inline: auto;
    box-sizing: border-box;
}

body.is-home-page .premium-hero-ref__stats-grid {
    gap: clamp(0.65rem, 3vw, 1.1rem);
}

/* ── RTL alignment (mobile + tablet) ── */
@media (max-width: 991.98px) {
    body.is-home-page.rtl .premium-hero-ref__content {
        text-align: right !important;
    }

    body.is-home-page.rtl .premium-hero-ref__badge,
    body.is-home-page.rtl .premium-hero-ref__lead,
    body.is-home-page.rtl .premium-hero-banner-mock--ref-layout .premium-hero-ref__lead.premium-hero-mock-sub {
        text-align: right !important;
        margin-inline: 0 !important;
        margin-inline-start: 0 !important;
        margin-inline-end: 0 !important;
        max-width: 100% !important;
    }

    body.is-home-page.rtl .premium-hero-ref__title,
    body.is-home-page.rtl .premium-hero-banner-mock--ref-layout .premium-hero-ref__title {
        text-align: center !important;
        margin-inline: auto !important;
        width: 100% !important;
        justify-content: center !important;
    }

    body.is-home-page.rtl .premium-hero-ref__badge {
        margin-inline-start: auto !important;
        margin-inline-end: 0 !important;
    }

    body.is-home-page.rtl .premium-hero-ref__actions {
        justify-content: flex-start !important;
    }

    body.is-home-page.rtl .premium-hero-ref__stat {
        justify-content: flex-start !important;
        text-align: right !important;
    }

    body.is-home-page.rtl .premium-hero-ref__stat .premium-hero-academic-stat__body {
        text-align: right !important;
    }

    body.is-home-page.rtl .premium-hero-ref__feature-card {
        text-align: right !important;
        direction: rtl;
    }

    body.is-home-page.rtl .premium-latest-header__text,
    body.is-home-page.rtl .premium-features-section__intro,
    body.is-home-page .premium-latest-header__text,
    body.is-home-page .premium-features-section__intro {
        text-align: right !important;
    }

    body.is-home-page .premium-hero-ref__circle-wrap {
        max-width: min(520px, 92vw);
    }

    body.is-home-page .premium-hero-ref__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.is-home-page .premium-hero-ref__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
    }

    body.is-home-page .premium-hero-ref__btn {
        width: 100%;
        justify-content: center;
    }

    body.is-home-page .premium-latest-head-row {
        align-items: stretch !important;
        gap: 1rem;
    }

    body.is-home-page .premium-latest-cta {
        width: 100%;
        justify-content: center;
    }

    body.is-home-page .premium-flagship-diploma__actions {
        flex-direction: column;
        align-items: stretch;
        gap: 0.65rem;
    }

    body.is-home-page .premium-flagship-diploma__btn-primary,
    body.is-home-page .premium-flagship-diploma__btn-secondary {
        width: 100%;
        justify-content: center;
    }
}

/* ── Phone ── */
@media (max-width: 767.98px) {
    body.is-home-page .premium-hero-banner-mock--ref-layout {
        padding-block: 0.35rem !important;
    }

    body.is-home-page .premium-hero-ref__body {
        padding: 0.45rem var(--home-gutter) 0.3rem !important;
    }

    body.is-home-page .premium-hero-ref__split.g-4,
    body.is-home-page .premium-hero-ref__split.g-xl-5 {
        --bs-gutter-y: 0.45rem;
        row-gap: 0.45rem !important;
    }

    body.is-home-page .premium-hero-ref__visual {
        padding-block: 0.2rem !important;
        padding-inline: 0.35rem !important;
    }

    body.is-home-page .premium-hero-ref__visual-composition {
        margin-block: 0 !important;
    }

    body.is-home-page .premium-hero-ref__circle-wrap {
        margin-block: 0 !important;
    }

    body.is-home-page .premium-hero-ref__circle-glow {
        inset: -3%;
    }

    body.is-home-page .premium-hero-ref__stats {
        margin-block: 0.35rem 0.45rem !important;
        padding: 0.55rem var(--home-gutter) !important;
        width: calc(100% - (var(--home-gutter) * 0.5));
    }

    body.is-home-page .premium-hero-ref__stats-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.is-home-page .premium-hero-ref__title .premium-hero-mock-title__line--1,
    body.is-home-page .premium-hero-ref__title .premium-hero-mock-title__line--2,
    body.is-home-page .premium-hero-ref__title .premium-hero-mock-title__line--3 {
        font-size: clamp(1rem, 4.5vw, 1.65rem) !important;
        white-space: nowrap;
    }

    body.is-home-page .premium-hero-ref__lead {
        font-size: clamp(0.86rem, 3.8vw, 0.98rem) !important;
    }

    /* Swipers: full width, no overflow */
    body.is-home-page .premium-latest-swiper-wrapper,
    body.is-home-page .premium-latest-swiper-frame,
    body.is-home-page .premium-latest-classes-swiper,
    body.is-home-page .premium-graduate-videos-swiper,
    body.is-home-page .premium-instructors-swiper,
    body.is-home-page .premium-products-swiper {
        overflow: hidden;
        max-width: 100%;
    }

    body.is-home-page .premium-course-slide,
    body.is-home-page .swiper-slide {
        min-width: 0;
        box-sizing: border-box;
    }

    body.is-home-page .premium-course-card-shell,
    body.is-home-page .premium-mock-course-card {
        min-width: 0;
        max-width: 100%;
    }

    body.is-home-page .premium-latest-classes-swiper .swiper-button-prev,
    body.is-home-page .premium-latest-classes-swiper .swiper-button-next {
        display: none !important;
    }

    /* Feature / bento grids */
    body.is-home-page .premium-feature-glass,
    body.is-home-page .premium-bento-row > [class*='col-'],
    body.is-home-page .premium-mock-testimonial-card {
        min-width: 0;
    }

    body.is-home-page .premium-bento-row {
        margin-inline: 0;
    }

    /* Mobile nav — delegated to premium-navbar.css */
    #navbar .premium-nav-search-form--mobile {
        width: 100%;
        max-width: 100%;
    }

    /* Below-fold paint optimization */
    body.is-home-page .home-sections.section-premium:nth-of-type(n+2) {
        content-visibility: auto;
        contain-intrinsic-size: auto 420px;
    }
}

@media (max-width: 575.98px) {
    body.is-home-page .premium-hero-ref__stats-grid {
        grid-template-columns: 1fr 1fr;
        gap: 0.75rem 0.5rem;
    }

    body.is-home-page .premium-hero-ref__stat-ico {
        width: 42px;
        height: 42px;
    }

    body.is-home-page .premium-home-nav-ctas .nav-auth-login-btn {
        padding-inline: 1rem !important;
        font-size: clamp(0.78rem, 3.2vw, 0.88rem) !important;
    }
}

@media (max-width: 359.98px) {
    body.is-home-page .premium-hero-ref__stats-grid {
        grid-template-columns: 1fr;
    }
}

/* ── Tablet ── */
@media (min-width: 768px) and (max-width: 991.98px) {
    body.is-home-page {
        --home-gutter: clamp(1.25rem, 3vw, 2rem);
        --home-section-y: clamp(2.5rem, 5vw, 3.25rem);
    }

    body.is-home-page .premium-hero-ref__cards {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

/* ── Desktop enhancements ── */
@media (min-width: 992px) {
    body.is-home-page {
        --home-gutter: clamp(1.5rem, 2.5vw, 2.5rem);
        --home-section-y: clamp(3rem, 4.5vw, 4.25rem);
    }

    body.is-home-page section.container,
    body.is-home-page .home-sections.container {
        max-width: 1140px;
    }
}

@media (min-width: 1200px) {
    body.is-home-page section.container,
    body.is-home-page .home-sections.container {
        max-width: 1320px;
    }
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
    body.is-home-page .home-sections.section-premium:nth-of-type(n+2) {
        content-visibility: visible;
    }
}
