/*
 * Scène des plans de salle. Convention : la scène est toujours en haut du plan.
 * La bande est dessinée dans la zone zoomée (.seat-map-zoom), au-dessus des places : elle zoome et défile
 * avec elles, et reste collée au premier rang au lieu de flotter sous la page.
 */
.seat-map-stage {
    margin: 0 auto 14px;
    padding: 10px 0;
    border-radius: 0 0 50% 50% / 0 0 18px 18px;
    background: linear-gradient(180deg, #482683, #6a3fb3);
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 6px;
    text-align: center;
    box-shadow: 0 4px 12px rgba(72, 38, 131, 0.35);
    user-select: none;
}

/* Rappel dans la barre de zoom : visible même quand la bande est hors écran (téléphone, plan zoomé) */
.seat-map-stage-hint {
    white-space: nowrap;
    font-weight: 600;
    color: #482683;
}

/*
 * Le conteneur des pages de réservation avait "overflow: auto" (feuilles de Wilfried) : il devenait la référence
 * des éléments "sticky" sans jamais défiler lui-même, et la barre de zoom ne restait pas collée. "clip" masque
 * le débordement de la même façon sans créer de zone de défilement. !important : une règle plus spécifique
 * de ces feuilles remet sinon overflow-x: auto.
 */
.seat-reservation-container {
    overflow: clip !important;
}

/* Barre de zoom des plans de réservation : reste visible sous l'en-tête quand on fait défiler un plan zoomé */
.seat-map-toolbar-sticky {
    position: sticky;
    top: var(--seat-map-sticky-top, 0px);
    z-index: 20;
    background: rgba(255, 255, 255, 0.95);
    border-radius: 12px;
    padding: 6px 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

@media (max-width: 767.98px) {
    /* Téléphone : la place sert au plan, pas au cadre autour */
    .seat-map-viewport.visual-canvas-container {
        padding: 4px;
    }
}
