/* Desktop: kein Scrollen – alles in 100svh */
.page-layout {
    display: flex;
    flex-direction: column;
    height: 100svh;
    overflow: hidden;
}

/* Hero-Bereich mit Logo-Overlay */
.hero-wrapper {
    position: relative;
    flex-shrink: 0;
}

.hero-image {
    width: 100%;
    height: 40vh;
    object-fit: cover;
    object-position: center calc(100% + 100px);
    display: block;
}

/* Dunkles Gradient-Overlay über dem Bild */
.hero-wrapper::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0.45) 0%, rgba(0,0,0,0.1) 60%, rgba(14,8,5,0.8) 100%);
}

/* Logo zentriert über dem Bild – nur Desktop */
.hero-logo {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -55%);
    z-index: 1;
    height: clamp(196px, 36vh, 308px);
    width: auto;
    filter: drop-shadow(0 2px 16px rgba(0,0,0,0.7));
}

/* Marken-Regenbogenlinie als Trenner */
.brand-bar {
    height: 4px;
    background: linear-gradient(135deg,
        rgba(17,197,255,1)  0%,
        rgba(150,255,34,1) 25%,
        rgba(246,255,56,1) 50%,
        rgba(255,179,1,1)  75%,
        rgba(241,45,22,1) 100%
    );
    flex-shrink: 0;
}

/* Countdown boxes */
.box {
    background: rgba(255, 255, 255, 0.06);
    padding: 20px 24px;
    border-radius: 14px;
    min-width: 90px;
    backdrop-filter: blur(8px);
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
    border: 1px solid rgba(255, 255, 255, 0.12);
}

/* Countdown-Zahlen – Farbe wird per JS aus dem Brand-Verlauf gesetzt */
.number {
    font-size: clamp(2.4rem, 7vw, 3.5rem);
    font-weight: bold;
}

.label {
    font-size: 0.8rem;
    margin-top: 6px;
    opacity: 0.6;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}

@media (max-width: 640px) {
    .page-layout {
        height: auto;
        min-height: 100svh;
        overflow: visible;
    }

    .hero-image {
        height: 38vh;
        object-position: center center;
    }

    /* .hero-logo {
        display: none;
    } */

    .box {
        padding: 14px 16px;
        min-width: 68px;
    }

    .number {
        font-size: 1.9rem;
    }
}

/* Fade-in animation */
@keyframes fadeIn {
    from { opacity: 0; transform: translateY(15px); }
    to   { opacity: 1; transform: translateY(0); }
}

.fade-in {
    animation: fadeIn 1s ease;
}
