:root {
    --accent: #FF8A00;
    --bg-black: #030303; /* Un noir très légèrement moins profond pour le contraste */
    --text-muted: #888888;
}

/* 1. RESET PRO */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
}

body {
    background-color: var(--bg-black);
    color: white;
    font-family: 'Space Grotesk', sans-serif;
    /* 100dvh prend en compte la vraie taille de l'écran mobile (barre d'adresse incluse) */
    min-height: 100dvh;
    display: flex;
    justify-content: center;
    align-items: center;
    overflow-x: hidden;
}

/* 2. LE CONTENEUR PRINCIPAL (Parfaitement centré) */
.main-container {
    position: relative;
    z-index: 10;
    width: 90%;
    max-width: 650px; /* Taille max sur PC */
    display: flex;
    flex-direction: column;
    align-items: center;
    /* C'est ici la magie : un espacement vertical proportionnel, sans écraser */
    gap: clamp(2rem, 5vh, 4rem);
    padding: 2rem 0;
}

/* 3. HEADER ET LOGO */
header {
    width: 100%;
    text-align: center;
}

.logo-image {
    width: clamp(100px, 15vw, 150px); /* S'agrandit doucement sur PC */
    height: auto;
    filter: drop-shadow(0 0 15px rgba(255, 138, 0, 0.3));
}

/* 4. ZONE DE TEXTE */
main {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    /* Espacement interne entre le titre, le compteur et le formulaire */
    gap: clamp(1.5rem, 3vh, 2.5rem);
}

.glitch-wrapper {
    text-align: center;
    width: 100%;
}

h1.glitch {
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(1.8rem, 7vw, 3.5rem);
    font-weight: 900;
    text-transform: uppercase;
    line-height: 1.1;
    letter-spacing: -1px;
    margin-bottom: 0.5rem;
}

.subtitle {
    font-size: clamp(0.85rem, 2.5vw, 1rem);
    color: var(--text-muted);
    text-align: center;
    max-width: 80%;
}

/* 5. LE COMPTEUR (LA MÉTHODE PRO : CSS GRID) */
#countdown {
    width: 100%;
    display: grid;
    /* Crée mathématiquement 4 colonnes identiques, plus de chevauchement */
    grid-template-columns: repeat(4, 1fr);
    gap: clamp(8px, 2vw, 15px);
}

.time-block {
    background: rgba(255, 255, 255, 0.03);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 12px; /* Coins un peu plus ronds, plus moderne */
    padding: clamp(15px, 3vw, 25px) 5px; /* Respire en hauteur */
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    backdrop-filter: blur(5px); /* Effet verre dépoli pro */
}

    .time-block span {
        font-size: clamp(1.4rem, 5vw, 2.5rem);
        font-weight: 800;
        line-height: 1;
        margin-bottom: 4px;
    }

    .time-block label {
        font-size: clamp(0.5rem, 1.5vw, 0.65rem);
        text-transform: uppercase;
        letter-spacing: 1px;
        color: var(--text-muted);
    }

/* 6. FORMULAIRE WHATSAPP */
.mystery-box {
    width: 100%;
    max-width: 500px; /* Empêche le champ d'être trop long sur PC */
}

.input-group {
    display: flex;
    flex-direction: column;
    gap: 12px;
    width: 100%;
}

    .input-group input {
        padding: 16px 20px;
        background: rgba(255, 255, 255, 0.05);
        border: 1px solid rgba(255, 255, 255, 0.1);
        border-radius: 8px;
        color: white;
        font-size: 0.95rem;
        outline: none;
        transition: border-color 0.3s ease;
        text-align: center;
    }

        .input-group input:focus {
            border-color: var(--accent);
        }

    .input-group button {
        padding: 16px 24px;
        background: var(--accent);
        color: #000;
        border: none;
        border-radius: 8px;
        font-weight: 800;
        text-transform: uppercase;
        letter-spacing: 0.5px;
        cursor: pointer;
        transition: transform 0.2s ease, background-color 0.2s ease;
    }

        .input-group button:hover {
            background: #fff;
            transform: translateY(-2px); /* Petit effet de soulèvement pro au survol */
        }

/* 7. AJUSTEMENT BUREAU (ÉCRANS LARGES) */
@media (min-width: 600px) {
    .input-group {
        flex-direction: row;
        gap: 0;
    }

        .input-group input {
            border-radius: 8px 0 0 8px;
            text-align: left;
            flex: 1; /* Prend l'espace restant */
        }

        .input-group button {
            border-radius: 0 8px 8px 0;
        }
}
