/* === Take Your Seat — Animated grid background === */

.tys-grid-wrap {
    position: relative;
    isolation: isolate;
    overflow: hidden;

    /* Palette modifiable par container (override via attributs Elementor) */
    --tys-bg:            #FAF7F2;
    --tys-accent:        #FF562E; /* orange vif */
    --tys-accent-soft:   #FBD9C9; /* pêche */
    --tys-accent-softer: #FDEEE6; /* pêche très clair */
    --tys-lilac-soft:    #EBDEFB; /* accent lilas (optionnel) */
    --tys-rule:          rgba(58, 20, 16, 0.06);

    background: var(--tys-bg);
}

.tys-grid {
    position: absolute;
    inset: 0;
    display: grid;
    grid-template-columns: repeat(var(--tys-cols, 1), var(--tys-cell-size, 56px));
    grid-auto-rows: var(--tys-cell-size, 56px);
    overflow: hidden;
    pointer-events: none;
    z-index: 0;
    contain: strict; /* perf : isole le sous-arbre */
}

.tys-grid__cell {
    border-right: 1px solid var(--tys-rule);
    border-bottom: 1px solid var(--tys-rule);
    background: transparent;
    transition: background 900ms cubic-bezier(.4, 0, .2, 1);
    will-change: background-color;
}

.tys-grid__cell[data-c="1"] { background: var(--tys-accent); }
.tys-grid__cell[data-c="2"] { background: var(--tys-accent-soft); }
.tys-grid__cell[data-c="3"] { background: var(--tys-accent-softer); }
.tys-grid__cell[data-c="4"] { background: var(--tys-lilac-soft); }

/* Force tout le contenu Elementor au-dessus de la grille */
.tys-grid-wrap > :not(.tys-grid) {
    position: relative;
    z-index: 1;
}

/* Accessibilité — désactive les transitions si l'utilisateur le demande */
@media (prefers-reduced-motion: reduce) {
    .tys-grid__cell { transition: none; }
}