/* Friendship College Boys — Modern, distinct design */

:root {
    --brand-primary: #1E5FA8;
    --brand-accent: #2F80ED;
    --brand-dark: #0F2F4A;
    --brand-teal: #0ea5a4;
}

/* Smooth scroll */
html { scroll-behavior: smooth; }

/* Responsive base — prevent horizontal overflow, improve touch */
body { overflow-x: hidden; }
button, a { touch-action: manipulation; }
/* Prevent images from overflowing on small screens */
.hero-swiper img, .prose-content img, .gallery-item img { max-width: 100%; height: auto; }

/* Scrollbar (webkit) */
::-webkit-scrollbar { width: 6px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: #1E5FA8; border-radius: 3px; }
::-webkit-scrollbar-thumb:hover { background: #2F80ED; }

/* Hero Swiper — full-height slides, pagination bullets */
.hero-slider .hero-swiper { min-height: 75vh; }
@media (min-width: 640px) { .hero-slider .hero-swiper { min-height: 80vh; } }
@media (min-width: 1024px) { .hero-slider .hero-swiper { min-height: 85vh; } }
.hero-swiper .swiper-slide { height: auto; display: flex; align-items: center; }
.hero-swiper .hero-swiper-pagination .hero-bullet,
.hero-swiper .swiper-pagination-bullet {
    display: inline-block; width: 8px; height: 8px;
    background: rgba(255,255,255,0.5); opacity: 0.8;
    border-radius: 50%; transition: all 0.3s ease; cursor: pointer;
}
.hero-swiper .hero-swiper-pagination .hero-bullet-active,
.hero-swiper .swiper-pagination-bullet-active {
    width: 24px; border-radius: 4px;
    background: #fff; opacity: 1;
}

/* Swiper pagination — dark bullets for light background */
.reviews-swiper .swiper-pagination-bullet { background: #94a3b8; opacity: 0.6; }
.reviews-swiper .swiper-pagination-bullet-active { background: #1E5FA8; opacity: 1; }

/* Prose content */
.prose-content {
    line-height: 1.8;
    color: #374151;
}
.prose-content h2 {
    font-size: 1.5rem;
    font-weight: 700;
    color: #0f172a;
    margin: 2rem 0 1rem;
}
.prose-content h3 {
    font-size: 1.25rem;
    font-weight: 600;
    color: #1E5FA8;
    margin: 1.5rem 0 0.75rem;
}
.prose-content p { margin-bottom: 1.25rem; }
.prose-content ul, .prose-content ol { margin: 1rem 0 1.25rem 1.5rem; }
.prose-content li { margin-bottom: 0.5rem; }
.prose-content blockquote {
    border-left: 4px solid #1E5FA8;
    padding-left: 1rem;
    color: #6b7280;
    font-style: italic;
    margin: 1.5rem 0;
}

/* Gallery grid */
.gallery-item { overflow: hidden; border-radius: 12px; cursor: pointer; }
.gallery-item img { transition: transform 0.4s ease; }
.gallery-item:hover img { transform: scale(1.08); }

/* Team card hover */
.team-card { transition: transform 0.3s ease, box-shadow 0.3s ease; }
.team-card:hover { transform: translateY(-4px); box-shadow: 0 20px 60px rgba(0,0,0,0.12); }

/* Badge status */
.badge-published { background: #dcfce7; color: #166534; }
.badge-pending   { background: #fef9c3; color: #854d0e; }
.badge-draft     { background: #f3f4f6; color: #374151; }

/* Stats section — scroll animations & micro-interactions */
@media (prefers-reduced-motion: reduce) {
    .stats-section .stat-card:hover { transform: none; }
    .stats-section .stat-card:hover .stat-icon { transform: none; }
    .stats-section .stat-card:hover .stat-value { transform: none; }
}
.stats-section .stat-card {
    transform: translateY(0);
    will-change: transform;
}
.stats-section .stat-card:hover {
    transform: translateY(-6px) scale(1.02);
    box-shadow: 0 24px 48px -12px rgba(30, 95, 168, 0.15), 0 0 0 1px rgba(30, 95, 168, 0.05);
}
.stats-section .stat-card-accent {
    background: linear-gradient(135deg, rgba(30, 95, 168, 0.06) 0%, transparent 60%);
}
.stats-section .stat-card-bar {
    background: linear-gradient(180deg, #1E5FA8 0%, rgba(30, 95, 168, 0.6) 100%);
}
.stats-section .stat-card:hover .stat-icon {
    transform: scale(1.1);
    background: linear-gradient(135deg, rgba(30, 95, 168, 0.2) 0%, rgba(47, 128, 237, 0.1) 100%);
}
.stats-section .stat-card:hover .stat-icon img {
    opacity: 1;
}
.stats-section .stat-card:hover .stat-value {
    transform: scale(1.05);
}
.stats-section .stat-card:hover h4 {
    color: #0f172a;
}

/* Fade in */
@keyframes fadeInUp {
    from { opacity: 0; transform: translateY(20px); }
    to   { opacity: 1; transform: translateY(0); }
}
.fade-in-up { animation: fadeInUp 0.6s ease forwards; }

/* Line clamp utilities */
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Reviews Swiper */
.reviews-swiper .swiper-slide { height: auto; }

/* Alpine x-cloak */
[x-cloak] { display: none !important; }
