/* Homepage themes are scoped to the public home page body only. */
.homepage-theme {
    --home-ink: #172033;
    --home-muted: #5D697B;
    --home-line: rgba(23, 32, 51, 0.12);
    --home-card: #FFFFFF;
    --home-radius: 12px;
    --home-shadow: 0 18px 42px rgba(23, 32, 51, 0.08);
    --home-primary: #173D36;
    --home-accent: #D4970A;
    --home-surface: #FCFAF5;
    background: var(--home-surface);
}

.homepage-theme .public-main {
    background: var(--home-surface);
}

.homepage-theme .section-shell:not(.premium-hero) {
    border-top: 1px solid rgba(23, 32, 51, 0.06);
}

.homepage-theme .section-header {
    max-width: 740px;
    margin-inline: auto;
}

.homepage-theme .section-title-mod {
    color: var(--home-ink);
    letter-spacing: -0.025em;
}

.homepage-theme .section-desc-mod,
.homepage-theme .text-muted,
.homepage-theme .text-secondary {
    color: var(--home-muted) !important;
}

.homepage-theme .sec-kicker {
    color: var(--home-primary) !important;
    font-size: 0.78rem;
    letter-spacing: 0;
}

.homepage-theme .premium-hero {
    background: var(--home-primary) !important;
    border-radius: 0 0 28px 28px;
    padding-block: clamp(64px, 8vw, 112px);
}

.homepage-theme .premium-hero h1 {
    font-size: clamp(2.2rem, 4.6vw, 4.2rem) !important;
    letter-spacing: -0.045em;
    max-width: 16ch;
}

.homepage-theme .premium-hero .row {
    align-items: center;
}

.homepage-theme .premium-hero .fs-5 {
    max-width: 58ch;
    color: rgba(255, 255, 255, 0.84);
}

.homepage-theme .premium-hero .hero-btn-primary {
    background: var(--home-accent);
    color: #172033 !important;
    border-radius: 9px;
    box-shadow: none;
}

.homepage-theme .premium-hero .hero-btn-secondary {
    border-radius: 9px;
}

.homepage-theme .premium-hero .hero-visual-wrapper > img {
    border-radius: var(--home-radius) !important;
    border-width: 2px !important;
    box-shadow: 0 26px 60px rgba(0, 0, 0, 0.22) !important;
}

.homepage-theme .premium-hero .hero-support-card {
    border-radius: 9px !important;
    box-shadow: 0 16px 32px rgba(0, 0, 0, 0.16) !important;
}

.homepage-theme .premium-hero .text-warning,
.homepage-theme .premium-hero .text-teal,
.homepage-theme .premium-hero .text-info {
    color: var(--home-accent) !important;
}

.homepage-theme .course-card,
.homepage-theme .service-card,
.homepage-theme .blog-card,
.homepage-theme .team-card,
.homepage-theme .stat-engine-card,
.homepage-theme .card {
    border-radius: var(--home-radius) !important;
    border-color: var(--home-line) !important;
    box-shadow: none !important;
}

.homepage-theme .course-card,
.homepage-theme .service-card,
.homepage-theme .blog-card,
.homepage-theme .team-card {
    background: var(--home-card);
}

.homepage-theme .course-card:hover,
.homepage-theme .service-card:hover,
.homepage-theme .blog-card:hover,
.homepage-theme .team-card:hover {
    transform: translateY(-4px);
    box-shadow: var(--home-shadow) !important;
}

.homepage-theme .rounded-pill {
    border-radius: 9px !important;
}

.homepage-theme .hero-btn-primary.rounded-pill,
.homepage-theme .btn.rounded-pill {
    border-radius: 9px !important;
}

.homepage-theme .hover-float:hover,
.homepage-theme .hover-zoom:hover {
    transform: translateY(-4px) !important;
}

.homepage-theme .hover-glow:hover {
    box-shadow: var(--home-shadow) !important;
}

.homepage-theme .site-header .public-navbar {
    border-color: var(--home-line);
}

/* 1. Arabic contemporary academy — editorial, calm and credible. */
.homepage-theme--academic_atelier {
    --home-ink: #1B2A28;
    --home-muted: #5F6B67;
    --home-line: rgba(28, 50, 44, 0.13);
    --home-card: #FFFFFF;
    --home-primary: #173D36;
    --home-accent: #D4970A;
    --home-surface: #FCFAF5;
    --home-radius: 10px;
}

.homepage-theme--academic_atelier .premium-hero::after {
    content: '';
    position: absolute;
    inset: auto -8% -42% auto;
    width: min(42vw, 620px);
    aspect-ratio: 1;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 50%;
    pointer-events: none;
}

.homepage-theme--academic_atelier .section-shell:nth-of-type(odd):not(.premium-hero) {
    background: rgba(255, 255, 255, 0.46);
}

.homepage-theme--academic_atelier .service-icon-box,
.homepage-theme--academic_atelier .bg-teal-light {
    background: #E5F0EA !important;
    color: var(--home-primary) !important;
}

/* 2. Guided path — ordered progression and clear next actions. */
.homepage-theme--guided_path {
    --home-ink: #143437;
    --home-muted: #557074;
    --home-line: rgba(15, 92, 92, 0.16);
    --home-card: #FFFFFF;
    --home-primary: #0F5C5C;
    --home-accent: #E46D3A;
    --home-surface: #F4FAF8;
    --home-radius: 14px;
}

.homepage-theme--guided_path .premium-hero {
    background: #0F5C5C !important;
}

.homepage-theme--guided_path .premium-hero::before {
    content: '';
    display: block;
    position: absolute;
    inset: 0;
    opacity: 0.22;
    pointer-events: none;
    background-image: radial-gradient(circle at 1px 1px, #fff 1px, transparent 0);
    background-size: 24px 24px;
}

.homepage-theme--guided_path .section-shell:not(.premium-hero) .section-header {
    position: relative;
}

.homepage-theme--guided_path .section-shell:not(.premium-hero) .section-header::after {
    content: '';
    display: block;
    width: 42px;
    height: 3px;
    border-radius: 3px;
    background: var(--home-accent);
    margin: 14px auto 0;
}

.homepage-theme--guided_path .course-card,
.homepage-theme--guided_path .service-card,
.homepage-theme--guided_path .stat-engine-card {
    border-top: 4px solid var(--home-primary) !important;
}

.homepage-theme--guided_path .course-card:nth-child(3n+2),
.homepage-theme--guided_path .service-card:nth-child(3n+2),
.homepage-theme--guided_path .stat-engine-card:nth-child(3n+2) {
    border-top-color: var(--home-accent) !important;
}

/* 3. Learning studio — warm, human, and story-forward. */
.homepage-theme--learning_studio {
    --home-ink: #303A2F;
    --home-muted: #6B6B5C;
    --home-line: rgba(83, 72, 50, 0.14);
    --home-card: #FFFDF8;
    --home-primary: #3F5547;
    --home-accent: #C45C36;
    --home-surface: #FFF8EE;
    --home-radius: 18px;
}

.homepage-theme--learning_studio .premium-hero {
    background: #3F5547 !important;
    border-radius: 0 0 42px 42px;
}

.homepage-theme--learning_studio .premium-hero .hero-visual-wrapper > img {
    border-radius: 46% 46% 12px 12px !important;
}

.homepage-theme--learning_studio .course-card,
.homepage-theme--learning_studio .service-card,
.homepage-theme--learning_studio .blog-card,
.homepage-theme--learning_studio .team-card,
.homepage-theme--learning_studio .card {
    background: var(--home-card);
}

.homepage-theme--learning_studio .team-card img.rounded-circle {
    border-color: #F4E2C2 !important;
}

.homepage-theme--learning_studio .section-shell:nth-of-type(even):not(.premium-hero) {
    background: rgba(255, 255, 255, 0.5);
}

.homepage-theme--learning_studio .bg-warning-light {
    background: #FBE0D4 !important;
    color: #9B4324 !important;
}

/* 4. Smart platform — structured, crisp, and evidence-led. */
.homepage-theme--smart_platform {
    --home-ink: #17233A;
    --home-muted: #56657B;
    --home-line: rgba(29, 53, 87, 0.14);
    --home-card: #FFFFFF;
    --home-primary: #13233D;
    --home-accent: #149A9A;
    --home-surface: #F4F7FC;
    --home-radius: 8px;
}

.homepage-theme--smart_platform .premium-hero {
    background: #13233D !important;
    border-radius: 0;
}

.homepage-theme--smart_platform .site-header .public-navbar,
.homepage-theme--smart_platform .course-card,
.homepage-theme--smart_platform .service-card,
.homepage-theme--smart_platform .blog-card,
.homepage-theme--smart_platform .team-card,
.homepage-theme--smart_platform .stat-engine-card,
.homepage-theme--smart_platform .card {
    border-radius: 8px !important;
}

.homepage-theme--smart_platform .premium-hero .hero-btn-primary {
    color: #fff !important;
}

.homepage-theme--smart_platform .course-card,
.homepage-theme--smart_platform .service-card,
.homepage-theme--smart_platform .stat-engine-card {
    border-inline-start: 3px solid var(--home-accent) !important;
}

.homepage-theme--smart_platform .section-shell:nth-of-type(odd):not(.premium-hero) {
    background: #FFFFFF;
}

/* Shared display controls selected by the administrator. */
.homepage-theme .hero-trust-strip {
    margin-top: 6px;
}

.homepage-theme.homepage-density--airy .section-shell:not(.premium-hero) {
    padding-block: 5.5rem !important;
}

.homepage-theme.homepage-density--compact .section-shell:not(.premium-hero) {
    padding-block: 2.5rem !important;
}

.homepage-theme.homepage-density--compact .section-header {
    margin-bottom: 2rem !important;
}

.homepage-theme.homepage-motion--none *,
.homepage-theme.homepage-motion--none *::before,
.homepage-theme.homepage-motion--none *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
}

.homepage-theme.homepage-motion--none .course-card:hover,
.homepage-theme.homepage-motion--none .service-card:hover,
.homepage-theme.homepage-motion--none .blog-card:hover,
.homepage-theme.homepage-motion--none .team-card:hover,
.homepage-theme.homepage-motion--none .hover-float:hover,
.homepage-theme.homepage-motion--none .hover-zoom:hover {
    transform: none !important;
}

.homepage-theme.homepage-motion--expressive .course-card:hover,
.homepage-theme.homepage-motion--expressive .service-card:hover,
.homepage-theme.homepage-motion--expressive .blog-card:hover,
.homepage-theme.homepage-motion--expressive .team-card:hover {
    transform: translateY(-7px) rotate(-0.25deg);
}

.homepage-theme.homepage-motion--expressive .hero-btn-primary:hover {
    transform: translateY(-3px) scale(1.02);
}

@media (max-width: 991.98px) {
    .homepage-theme .premium-hero {
        padding-block: 56px 48px;
    }

    .homepage-theme .premium-hero h1 {
        max-width: none;
    }
}

@media (max-width: 767.98px) {
    .homepage-theme .premium-hero {
        border-radius: 0 0 20px 20px;
    }

    .homepage-theme .premium-hero h1 {
        font-size: clamp(2rem, 9vw, 2.8rem) !important;
    }

    .homepage-theme .premium-hero .d-flex.gap-3 {
        gap: 10px !important;
    }

    .homepage-theme .premium-hero .hero-btn-primary,
    .homepage-theme .premium-hero .hero-btn-secondary {
        width: 100%;
    }

    .homepage-theme--learning_studio .premium-hero .hero-visual-wrapper > img {
        border-radius: 28px 28px 10px 10px !important;
    }
}
