/**
 * TTMenus v2 - Hero Section Styles
 * Modern, user-friendly hero section with logo and background
 */

/* ============================================
   HERO LOGO CONTAINER
   ============================================ */

.hero_logo_container {
    position: relative;
    width: 100%;
    min-height: 50vh;
    max-height: 70vh;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--hero-bg-color, #000);
}

/* Background Image */
#bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    z-index: 1;
    opacity: 0.4;
    transition: opacity 0.5s ease;
}

.hero_logo_container:hover #bg {
    opacity: 0.5;
}

/* Overlay Gradient */
.hero_logo_container::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 0.6) 0%,
        rgba(0, 0, 0, 0.4) 40%,
        rgba(0, 0, 0, 0.3) 60%,
        rgba(0, 0, 0, 0.2) 80%,
        transparent 100%
    );
    z-index: 2;
    pointer-events: none;
}

/* Logo Container */
.logo_container {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    padding: 2em 1em;
    box-shadow: inset 0 -2em 2em -1em var(--hero-bg-color, #000);
}

.logo_container a {
    display: block;
    transition: all 0.3s ease;
    text-decoration: none;
}

.logo_container a:hover {
    transform: scale(1.05);
}

.logo_container a:active {
    transform: scale(0.98);
}

/* Logo Image */
#logo {
    display: block;
    width: auto;
    height: auto;
    max-width: min(40vw, 320px);
    max-height: min(40vh, 320px);
    min-width: 120px;
    min-height: 120px;
    margin-inline: auto;
    object-fit: contain;
    filter: drop-shadow(0 8px 24px rgba(0, 0, 0, 0.6));
    transition: all 0.3s ease;
    animation: logoFloat 3s ease-in-out infinite;
}

.logo_container a:hover #logo {
    filter: drop-shadow(0 12px 32px rgba(0, 0, 0, 0.8));
    transform: scale(1.05);
}

/* Subtle floating animation for logo */
@keyframes logoFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(-10px);
    }
}

/* Smooth pulse for logo on load */
@keyframes logoPulse {
    0%, 100% {
        opacity: 1;
        transform: scale(1);
    }
    50% {
        opacity: 0.9;
        transform: scale(1.02);
    }
}

#logo {
    animation: logoFloat 3s ease-in-out infinite, logoPulse 4s ease-in-out infinite;
}

/* ============================================
   RESPONSIVE DESIGN
   ============================================ */

/* Mobile */
@media (max-width: 480px) {
    .hero_logo_container {
        min-height: 40vh;
        max-height: 50vh;
    }

    #logo {
        max-width: min(50vw, 240px);
        max-height: min(40vh, 240px);
        min-width: 100px;
        min-height: 100px;
    }

    .logo_container {
        padding: 1.5em 1em;
    }
}

/* Tablet */
@media (min-width: 481px) and (max-width: 768px) {
    .hero_logo_container {
        min-height: 45vh;
        max-height: 60vh;
    }

    #logo {
        max-width: min(35vw, 280px);
        max-height: min(35vh, 280px);
    }
}

/* Desktop */
@media (min-width: 769px) {
    .hero_logo_container {
        min-height: 50vh;
        max-height: 70vh;
    }

    #logo {
        max-width: min(30vw, 400px);
        max-height: min(40vh, 400px);
    }

    /* Larger logo on bigger screens */
    @media (min-width: 1440px) {
        #logo {
            max-width: 480px;
            max-height: 480px;
        }
    }
}

/* Landscape orientation - reduce height */
@media (orientation: landscape) and (max-height: 600px) {
    .hero_logo_container {
        min-height: 60vh;
        max-height: 80vh;
    }

    #logo {
        max-width: min(25vw, 200px);
        max-height: min(50vh, 200px);
    }
}

/* Reduce motion for accessibility */
@media (prefers-reduced-motion: reduce) {
    #logo {
        animation: none;
    }

    .logo_container a:hover #logo {
        transform: none;
    }

    #bg {
        transition: none;
    }
}
