/* Galaxie Academy — site-specific overrides */

:root {
    --title-font: "Poppins", sans-serif;
    --subtitle-font: "Poppins", sans-serif;
    --body-font: "Poppins", sans-serif;
}

body,
input,
textarea,
select,
button {
    font-family: "Poppins", sans-serif;
}

/* Hide preloader without waiting for window.load (blocked images/fonts) */
html.galaxie-ready .preloader,
body.galaxie-ready .preloader,
.preloader.galaxie-preloader-hidden {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -1 !important;
}

html.galaxie-ready body {
    overflow: visible !important;
}

/* Placed Students slider — portrait cards (demo: story/story-1-*.jpg 384x450) */
.story-area-1 .story-card .box-img {
    aspect-ratio: 384 / 450;
    overflow: hidden;
}

.story-area-1 .story-card .box-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.galaxie-app-topbar {
    background: linear-gradient(90deg, #081933 0%, #d3224d 100%);
    color: #fff;
    font-size: 14px;
    padding: 8px 12px;
}

.galaxie-app-topbar-link {
    color: #fff;
    font-weight: 600;
    text-decoration: none;
}

.galaxie-app-topbar-link:hover {
    color: var(--theme-color2, #ffec40);
}

.galaxie-app-topbar-link .fa-android {
    margin-right: 6px;
}

.galaxie-apk-link a {
    color: var(--theme-color2, #ffec40);
    font-weight: 600;
}

.galaxie-apk-link a:hover {
    color: #fff;
}

.galaxie-apk-btn {
    white-space: nowrap;
}

.galaxie-apk-btn .fa-android {
    margin-right: 6px;
}

.galaxie-promo-modal .modal-content {
    border: 0;
    border-radius: 16px;
    overflow: hidden;
    background-color: #fff;
    box-shadow: 0 24px 60px rgba(8, 25, 51, 0.2);
}

.galaxie-promo-modal .galaxie-promo-body,
.galaxie-promo-modal .galaxie-promo-content {
    background-color: #fff;
}

.galaxie-promo-modal .modal-dialog {
    max-width: 720px;
}

.galaxie-promo-close {
    position: absolute;
    top: 16px;
    right: 16px;
    z-index: 3;
    background-color: #fff;
    border-radius: 50%;
    opacity: 1;
    padding: 10px;
    box-shadow: 0 4px 16px rgba(8, 25, 51, 0.12);
}

.galaxie-promo-body {
    cursor: pointer;
}

.galaxie-promo-image {
    position: relative;
    max-height: 280px;
    overflow: hidden;
}

.galaxie-promo-image img {
    width: 100%;
    height: 280px;
    object-fit: cover;
    transition: transform 0.35s ease;
}

.galaxie-promo-body:hover .galaxie-promo-image img {
    transform: scale(1.03);
}

.galaxie-promo-tag {
    position: absolute;
    left: 20px;
    bottom: 20px;
    background: var(--theme-color);
    color: #fff;
    font-size: 13px;
    font-weight: 600;
    padding: 6px 14px;
    border-radius: 999px;
}

.galaxie-promo-content {
    padding: 28px 32px 32px;
}

.galaxie-promo-content .sub-title {
    display: block;
    margin-bottom: 8px;
}

.galaxie-promo-content .box-title {
    margin-bottom: 12px;
}

.galaxie-promo-content .box-text {
    margin-bottom: 20px;
}

.galaxie-promo-cta {
    pointer-events: none;
}

@media (max-width: 575px) {
    .galaxie-promo-content {
        padding: 20px 20px 24px;
    }

    .galaxie-promo-image img {
        height: 200px;
    }
}

/* ── Large-screen / zoom-stable layout (100%–130% on desktop) ── */
html {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    overflow-x: clip;
    max-width: 100%;
}

img,
video,
svg {
    max-width: 100%;
    height: auto;
}

/* SplitText fallback — normal readable headings if JS has not reverted yet */
.text-anim,
.text-anim2 {
    opacity: 1 !important;
}

.text-anim .split-line,
.text-anim2 .split-line {
    display: block !important;
    overflow: visible !important;
}

.text-anim [class*="char"],
.text-anim2 [class*="char"] {
    display: inline !important;
    transform: none !important;
    opacity: 1 !important;
    letter-spacing: inherit !important;
    word-spacing: inherit !important;
}

/* Header — prevent decorative overflow and keep nav + buttons on one row */
.th-header.header-layout3 .menu-area {
    overflow: hidden;
}

.th-header.header-layout3 .header-logo::before {
    display: none !important;
}

.th-header.header-layout3 .menu-area .row {
    flex-wrap: nowrap;
    gap: 0.75rem;
}

.th-header.header-layout3 .header-logo img {
    max-height: 52px;
    width: auto;
    max-width: min(160px, 28vw);
}

@media (min-width: 992px) {
    .th-header.header-layout3 .header-action.d-lg-flex {
        display: flex !important;
        flex-wrap: wrap;
        justify-content: flex-end;
        gap: 0.5rem;
        flex-shrink: 0;
    }

    .th-header.header-layout3 .main-menu {
        flex-shrink: 1;
        min-width: 0;
    }

    .th-header.header-layout3 .main-menu > ul {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        row-gap: 0.25rem;
    }

    .th-header.header-layout3 .main-menu > ul > li {
        margin: 0 clamp(6px, 0.9vw, 14px);
    }

    .th-header.header-layout3 .main-menu a {
        font-size: clamp(14px, 0.85vw, 17px);
        white-space: nowrap;
    }

    .th-header.header-layout3 .th-btn {
        padding-left: clamp(14px, 1.2vw, 22px);
        padding-right: clamp(14px, 1.2vw, 22px);
        font-size: clamp(13px, 0.8vw, 15px);
    }
}

@media (min-width: 992px) and (max-width: 1499px) {
    .th-header.header-layout3 .galaxie-apk-btn {
        display: none;
    }
}

/* Hero */
.hero-3 .hero-style3 {
    padding-left: clamp(0px, 3vw, 72px) !important;
    padding-right: clamp(0px, 2vw, 24px);
}

.hero-3 .hero-style3 .hero-title {
    font-size: clamp(1.75rem, 2.6vw, 2.8125rem);
    line-height: 1.2;
}

.hero-3 .hero-style3 .btn-wrap {
    flex-wrap: wrap;
    gap: 0.75rem;
}

/* Feature strip under hero */
.short-services-wrap1 {
    height: auto !important;
    min-height: 0;
    padding: 1.25rem 0;
}

.short-services-items {
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: clamp(1rem, 2.5vw, 2.5rem) !important;
}

.short-services-items::before {
    display: none !important;
}

.short-services-item {
    flex: 1 1 220px;
    max-width: 100%;
}

/* Counters */
@media (max-width: 1499px) {
    .counter-area1 .counter-wrap1 {
        flex-wrap: wrap;
        justify-content: center;
        gap: 1.25rem 2rem;
    }

    .counter-area1 .counter-wrap1 .divider {
        display: none !important;
    }

    .counter-area1 .counter-card {
        flex: 1 1 200px;
        max-width: 280px;
        justify-content: center;
        text-align: center;
    }
}

/* Testimonials — contain coverflow overflow */
.testi-area3 .container.th-container4 {
    overflow: hidden;
}

.testi-area3 .testi-thumb {
    overflow: hidden;
    max-width: 100%;
}

.testi-area3 .testi-thumb-slider {
    max-width: 100%;
}

/* Event cards stack cleanly when zoomed */
@media (max-width: 1499px) {
    .event-area-1 .event-card {
        flex-wrap: wrap;
    }

    .event-area-1 .event-content {
        min-width: 0;
    }
}

/* Course grid — 4 columns only when there is room */
@media (min-width: 992px) and (max-width: 1399px) {
    .popular-course-area-1 .col-xxl-3 {
        flex: 0 0 auto;
        width: 50%;
    }
}

/* Placed students slider */
.story-area-1 .container-fluid {
    overflow: hidden;
    max-width: 100%;
}

