/* Custom styles to augment Tailwind */

/* ===== Global Mobile Overflow Fix ===== */
html {
    overflow-x: hidden;
    max-width: 100vw;
}

body {
    overflow-x: hidden;
    max-width: 100vw;
    position: relative;
}

main {
    overflow-x: hidden;
    max-width: 100%;
}

/* Long text break for footer links */
.break-anywhere {
    word-break: break-all;
    overflow-wrap: anywhere;
}

/* Custom scrollbar for speaker modal */
.custom-scrollbar::-webkit-scrollbar {
    width: 4px;
}
.custom-scrollbar::-webkit-scrollbar-track {
    background: transparent;
}
.custom-scrollbar::-webkit-scrollbar-thumb {
    background: rgba(139, 92, 246, 0.3);
    border-radius: 2px;
}

/* Glassmorphism utility classes */
.glass-panel {
    background: rgba(255, 255, 255, 0.03);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.1);
}

.glass-card {
    background: linear-gradient(135deg, rgba(255, 255, 255, 0.05) 0%, rgba(255, 255, 255, 0.01) 100%);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border: 1px solid rgba(255, 255, 255, 0.08);
    transition: all 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.glass-card:hover {
    border-color: rgba(139, 92, 246, 0.5); /* accent-purple */
    transform: translateY(-5px);
    box-shadow: 0 10px 40px -10px rgba(139, 92, 246, 0.3);
}

/* Scroll reveal animations */
.reveal-up {
    opacity: 0;
    transform: translateY(40px);
    transition: opacity 0.8s ease-out, transform 0.8s ease-out;
}

.reveal-up.active {
    opacity: 1;
    transform: translateY(0);
}

/* Custom glowing text */
.text-glow {
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.5);
}

.text-glow-accent {
    text-shadow: 0 0 20px rgba(139, 92, 246, 0.8);
}

/* Hide scrollbar for tabs */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}
.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}
