/* ── Custom overrides & tweaks ── */

/* Smooth focus outlines for keyboard users */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible {
    outline: 2px solid #fbbf24;
    outline-offset: 2px;
    border-radius: 0.5rem;
}

/* Subtle selection color */
::selection {
    background-color: #e9d5ff;
    color: #3b0764;
}

/* Custom scrollbar */
::-webkit-scrollbar {
    width: 8px;
}
::-webkit-scrollbar-track {
    background: #faf5ff;
}
::-webkit-scrollbar-thumb {
    background: #d8b4fe;
    border-radius: 9999px;
}
::-webkit-scrollbar-thumb:hover {
    background: #a855f7;
}

/* Ensure hero image doesn't overflow on small viewports */
img {
    max-width: 100%;
    height: auto;
}

/* Prevent layout shift on images with aspect-ratio */
.aspect-\[4\/3\] {
    aspect-ratio: 4 / 3;
}
.aspect-\[3\/2\] {
    aspect-ratio: 3 / 2;
}

/* Mobile menu transition */
#mobile-menu {
    animation: slideDown 0.25s ease-out;
}
@keyframes slideDown {
    from {
        opacity: 0;
        transform: translateY(-8px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Prevent content flash on scroll reveal */
.reveal {
    will-change: opacity, transform;
}
