@import url('https://fonts.googleapis.com/css2?family=Sora:wght@400;500;600;700&family=Manrope:wght@400;500;600;700&display=swap');

.lang-switch summary::-webkit-details-marker {
    display: none;
}

.lang-switch[open] summary {
    border-color: rgba(220, 38, 38, 0.55);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
}

/* Typography and readability */
html,
body {
    font-family: 'Manrope', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

body {
    line-height: 1.6;
    letter-spacing: 0.004em;
    font-weight: 500;
}

h1,
h2,
h3,
h4,
h5,
h6,
.section-title {
    font-family: 'Sora', 'Manrope', sans-serif;
    line-height: 1.18;
    letter-spacing: -0.018em;
    font-weight: 700;
}

.section-title {
    font-size: clamp(1.9rem, 3.7vw, 2.6rem);
}

p {
    max-width: 66ch;
    margin: 0;
}

/* Remove excessive vertical gaps between sections */
#about,
#live-stream,
#socials,
#schedule,
#contact {
    padding-top: 5rem !important;
    padding-bottom: 5rem !important;
}

@media (min-width: 768px) {
    #about,
    #live-stream,
    #socials,
    #schedule,
    #contact {
        padding-top: 6rem !important;
        padding-bottom: 6rem !important;
    }
}

/* Hero video positioning fix */
.video-bg {
    object-position: center 12%;
}

/* About media refinement */
.about-media-shell {
    position: relative;
    isolation: isolate;
}

.about-media-shell::before {
    content: "";
    position: absolute;
    inset: 12% 10% 10% 10%;
    z-index: -1;
    border-radius: 28px;
    background: radial-gradient(circle at 50% 50%, rgba(220, 38, 38, 0.32), rgba(220, 38, 38, 0.14) 42%, rgba(220, 38, 38, 0) 72%);
    filter: blur(8px);
}

.about-media-image {
    border-radius: 22px;
    box-shadow: 0 16px 46px rgba(0, 0, 0, 0.46);
}

#about .space-y-4 {
    gap: 0.9rem;
}

#about .text-gray-300 {
    font-size: 1.02rem;
    line-height: 1.72;
}

/* Footer spacing */
footer {
    margin-top: 3rem !important;
}

footer .footer-shell {
    width: min(100%, 88rem);
}

footer ul li a {
    line-height: 1.45;
}

/* Legal pages */
.legal-page header {
    max-width: 44rem;
    margin-left: auto;
    margin-right: auto;
}

.legal-page .legal-content {
    font-size: 1.03rem;
}

.legal-page .legal-content p,
.legal-page .legal-content li {
    max-width: none;
    color: #d1d5db;
}

.legal-page .legal-content h2 {
    font-size: 1.2rem;
    line-height: 1.35;
    margin: 0;
}
