/* Shared finish layer for all 925LMS public academy themes. */
.theme-shell {
    --theme-accent: #12a594;
    --theme-ink: #0b1930;
    --theme-surface: #ffffff;
    --theme-muted: #667085;
    --theme-radius: 16px;
    background: #f8fafc;
    color: var(--theme-ink);
    -webkit-font-smoothing: antialiased;
    text-rendering: optimizeLegibility;
}

.theme-925-executive { --theme-accent: #e0ad45; --theme-ink: #0a1830; }
.theme-925-campus { --theme-accent: #ef765e; --theme-ink: #12285b; }
.theme-925-horizon { --theme-accent: #12a594; --theme-ink: #0b1930; }
.theme-925-creator { --theme-accent: #d54c8b; --theme-ink: #251238; }
.theme-925-heritage { --theme-accent: #c75e42; --theme-ink: #17243b; }

.theme-shell a,
.theme-shell button,
.theme-shell input,
.theme-shell select,
.theme-shell textarea {
    transition: border-color .2s ease, box-shadow .2s ease, color .2s ease, background-color .2s ease, transform .2s ease;
}

.theme-shell h1,
.theme-shell h2,
.theme-shell h3,
.theme-shell h4,
.theme-shell h5,
.theme-shell h6 {
    color: var(--theme-ink);
    letter-spacing: -.025em;
}

.theme-shell .btn,
.theme-shell button[type="submit"],
.theme-shell input[type="submit"] {
    border-radius: 12px;
    font-weight: 700;
}

.theme-shell .btn:hover,
.theme-shell button[type="submit"]:hover,
.theme-shell input[type="submit"]:hover {
    transform: translateY(-1px);
}

.theme-shell input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]),
.theme-shell select,
.theme-shell textarea {
    border-radius: 12px;
}

.theme-shell .single-slider,
.theme-shell .slider-item,
.theme-shell .hero-area,
.theme-shell .hero-section,
.theme-shell .slider-area {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}

.theme-shell .card,
.theme-shell .single-courses,
.theme-shell .single-course,
.theme-shell .services-caption,
.theme-shell .single-services {
    border-radius: var(--theme-radius);
    overflow: hidden;
}

.theme-shell .header-area,
.theme-shell header,
.theme-shell .navbar-area {
    position: relative;
    z-index: 20;
}

.theme-shell .main-header,
.theme-shell .header-bottom,
.theme-shell .navbar-area {
    box-shadow: 0 8px 30px rgba(11, 25, 48, .06);
}

.theme-shell img {
    max-width: 100%;
}

.theme-shell .tenant-brand-logo--header {
    object-fit: contain;
}

@media (max-width: 767px) {
    .theme-shell h1 { line-height: 1.06; }
    .theme-shell .btn { min-height: 44px; }
}
