/* ==========================================================================
   Ambiances saisonnières — chargé uniquement quand une ambiance est active.
   Chaque ambiance recolore les variables du thème (html[data-amb="…"]).
   ========================================================================== */

:root { --amb-header: rgba(250, 249, 246, .94); }
.site-header { background: var(--amb-header); }

/* Bandeau de message */
.amb-band {
    background: var(--mauve-dark); color: #fff; text-align: center;
    padding: 7px 16px; font-size: .92rem; font-weight: 600; line-height: 1.4;
}
.amb-band span { display: inline-block; }

/* Calque des décors animés */
.amb-layer {
    position: fixed; inset: 0; z-index: 40; pointer-events: none; overflow: hidden;
}
.amb-p {
    position: absolute; top: -8vh; left: 0; line-height: 1; will-change: transform;
    user-select: none; opacity: 0;
    animation-timing-function: linear; animation-iteration-count: infinite;
}
.amb-fall { animation-name: amb-fall; }
.amb-rise { animation-name: amb-rise; top: auto; bottom: -8vh; }
.amb-cross { animation-name: amb-cross; }

@keyframes amb-fall {
    0%   { transform: translate3d(0, 0, 0) rotate(0deg); opacity: 0; }
    8%   { opacity: var(--o, .9); }
    50%  { transform: translate3d(var(--dx, 40px), 55vh, 0) rotate(calc(var(--rot, 180deg) / 2)); }
    92%  { opacity: var(--o, .9); }
    100% { transform: translate3d(calc(var(--dx, 40px) * -.4), 112vh, 0) rotate(var(--rot, 180deg)); opacity: 0; }
}
@keyframes amb-rise {
    0%   { transform: translate3d(0, 0, 0) scale(.7); opacity: 0; }
    10%  { opacity: var(--o, .8); }
    50%  { transform: translate3d(var(--dx, 30px), -55vh, 0) scale(1); }
    90%  { opacity: var(--o, .8); }
    100% { transform: translate3d(calc(var(--dx, 30px) * -.5), -112vh, 0) scale(1.1); opacity: 0; }
}
@keyframes amb-cross {
    0%   { transform: translate3d(-12vw, 0, 0) rotate(-6deg); opacity: 0; }
    6%   { opacity: var(--o, .85); }
    50%  { transform: translate3d(55vw, var(--dy, 6vh), 0) rotate(6deg); }
    94%  { opacity: var(--o, .85); }
    100% { transform: translate3d(112vw, calc(var(--dy, 6vh) * -1), 0) rotate(-6deg); opacity: 0; }
}

@media (prefers-reduced-motion: reduce) {
    .amb-layer { display: none; }
}

/* --- Printemps : cerisier, vert tendre ---------------------------------- */
html[data-amb="printemps"] {
    --mauve: #d27a9c; --mauve-dark: #a24c70; --rose: #f2c6d5; --rose-soft: #fde6ee; --rose-pale: #fff3f7;
    --cream: #fffafb; --line: #f3dde5; --footer: #5a4a55;
    --amb-header: rgba(255, 250, 251, .94);
}
/* --- Été : soleil, abricot ---------------------------------------------- */
html[data-amb="ete"] {
    --mauve: #e08a3c; --mauve-dark: #b25d17; --rose: #f7d3a0; --rose-soft: #fdebd0; --rose-pale: #fff6e6;
    --cream: #fffdf7; --line: #f5e3c8; --footer: #5b4a3a;
    --amb-header: rgba(255, 253, 247, .94);
}
/* --- Automne : feuilles, cuivre ----------------------------------------- */
html[data-amb="automne"] {
    --mauve: #c0713a; --mauve-dark: #8f4a1e; --rose: #ebc59a; --rose-soft: #f6e0c8; --rose-pale: #fbf0e4;
    --cream: #fbf6ef; --line: #ecdac6; --footer: #583a28; --ink: #52403a;
    --amb-header: rgba(251, 246, 239, .94);
}
/* --- Hiver : givre, bleu glacier ---------------------------------------- */
html[data-amb="hiver"] {
    --mauve: #6f93b8; --mauve-dark: #3f6489; --rose: #cfe0ee; --rose-soft: #e6f0f8; --rose-pale: #f0f6fb;
    --cream: #f7fafc; --line: #dce8f1; --footer: #34495e; --ink: #43525f; --muted: #75869a;
    --amb-header: rgba(247, 250, 252, .94);
}
/* --- Halloween : parchemin, orange citrouille, violet nuit -------------- */
html[data-amb="halloween"] {
    --mauve: #e2661a; --mauve-dark: #a9460a; --rose: #f0c79c; --rose-soft: #f6e1cb; --rose-pale: #faeedf;
    --cream: #f7ede1; --line: #e8d3bd; --footer: #2a1840; --ink: #3e2d44; --muted: #7d6a80;
    --amb-header: rgba(42, 24, 64, .96);
}
html[data-amb="halloween"] .site-header { border-bottom-color: #e2661a; }
html[data-amb="halloween"] .site-header .brand,
html[data-amb="halloween"] .site-header .nav-links a,
html[data-amb="halloween"] .site-header .cart-link,
html[data-amb="halloween"] .site-header .nav-toggle,
html[data-amb="halloween"] .site-header .social-links a { color: #f6e9d8; }
html[data-amb="halloween"] .site-header .nav-links a:hover,
html[data-amb="halloween"] .site-header .cart-link:hover { color: #ff9a4d; }
html[data-amb="halloween"] .amb-band { background: #e2661a; color: #fff; }
/* --- Noël : rouge, sapin, neige ----------------------------------------- */
html[data-amb="noel"] {
    --mauve: #bb2d36; --mauve-dark: #8a1c23; --rose: #f1c9c4; --rose-soft: #fbe5e1; --rose-pale: #fdf1ee;
    --cream: #fcf8f4; --line: #f0dcd6; --footer: #1f4d36;
    --amb-header: rgba(252, 248, 244, .94);
}
html[data-amb="noel"] .amb-band { background: #1f6a47; }
/* --- Jour de l'An : champagne, or, nuit --------------------------------- */
html[data-amb="nouvelan"] {
    --mauve: #b8912f; --mauve-dark: #856512; --rose: #ecdcae; --rose-soft: #f7edd0; --rose-pale: #fbf5e4;
    --cream: #fbf9f2; --line: #eee3c4; --footer: #1c2340; --ink: #3f3d4d;
    --amb-header: rgba(251, 249, 242, .94);
}
html[data-amb="nouvelan"] .amb-band { background: #1c2340; color: #f3d98a; }
/* --- Pâques : pastels, vert tendre, jaune poussin ----------------------- */
html[data-amb="paques"] {
    --mauve: #6fae7e; --mauve-dark: #3f7a53; --rose: #cfe6c8; --rose-soft: #f6efc4; --rose-pale: #fbf8e0;
    --cream: #fdfcf3; --line: #e8eccb; --footer: #4a5b49;
    --amb-header: rgba(253, 252, 243, .94);
}
/* --- Saint-Valentin : rose vif, rouge baiser ---------------------------- */
html[data-amb="valentin"] {
    --mauve: #d6456b; --mauve-dark: #a52a4d; --rose: #f6bccb; --rose-soft: #fde0e7; --rose-pale: #fff0f3;
    --cream: #fff8f9; --line: #f6d9e0; --footer: #6a2a3d;
    --amb-header: rgba(255, 248, 249, .94);
}
