/* BKTeach brand styles — blue / black theme from Elements/ */
[x-cloak] { display: none !important; }

.scrollbar-hide::-webkit-scrollbar { display: none; }
.scrollbar-hide { -ms-overflow-style: none; scrollbar-width: none; }

.snap-x-mandatory { scroll-snap-type: x mandatory; }
.snap-start { scroll-snap-align: start; }

.prose-dark h2, .prose-dark h3, .prose-dark h4 {
    color: #fafafa;
    font-weight: 600;
    margin-top: 1.25rem;
    margin-bottom: 0.5rem;
}

.prose-dark p { color: #d4d4d8; line-height: 1.7; margin-bottom: 0.75rem; }
.prose-dark ul, .prose-dark ol { color: #d4d4d8; padding-left: 1.25rem; margin-bottom: 0.75rem; }
.prose-dark a { color: #3388ff; text-decoration: underline; }

.safe-bottom { padding-bottom: env(safe-area-inset-bottom, 0); }

.gradient-bg {
    background:
        radial-gradient(ellipse 80% 50% at 50% -10%, rgba(0, 85, 255, 0.18), transparent 60%),
        radial-gradient(ellipse 60% 40% at 100% 100%, rgba(0, 85, 255, 0.08), transparent 50%),
        #000000;
}

.hero-glow {
    box-shadow: 0 0 80px rgba(0, 85, 255, 0.15), inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.feature-card {
    background: linear-gradient(145deg, rgba(15, 15, 15, 0.95), rgba(0, 0, 0, 0.9));
    border: 1px solid rgba(0, 85, 255, 0.15);
}

.feature-card:hover {
    border-color: rgba(0, 85, 255, 0.35);
    box-shadow: 0 8px 32px rgba(0, 85, 255, 0.1);
}

.accent-red { color: #ff4444; }
.accent-blue { color: #3388ff; }

.hero-info-image {
    border: 1px solid rgba(0, 85, 255, 0.2);
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.6), 0 0 40px rgba(0, 85, 255, 0.08);
}

.promo-banner { position: relative; overflow: hidden; }
.promo-banner img { transition: transform 0.5s ease; }
.promo-banner:hover img { transform: scale(1.03); }
