/* Alty Seasons v2 - styles decors modernes */
.alty-seasons-canvas, .alty-deco {
  position: fixed;
  pointer-events: none;
  z-index: 900; /* sous le header (1000) : ne gene jamais la navigation */
}
.alty-seasons-canvas { inset: 0; width: 100%; height: 100%; }

/* Soleil (ete) */
.alty-sun {
  top: 140px; right: 28px; width: 64px; height: 64px; border-radius: 50%;
  background: radial-gradient(circle, #ffe9a3 0%, #fbbf24 55%, rgba(251,191,36,0) 72%);
  box-shadow: 0 0 42px 14px rgba(251, 191, 36, 0.45);
  animation: alty-sunpulse 5s ease-in-out infinite;
  opacity: 0.9;
}

/* Bande de silhouettes en bas de page */
.alty-strip { left: 0; right: 0; bottom: 0; height: 118px; }
.alty-strip svg { position: absolute; bottom: 0; left: 0; width: 100%; }
.alty-strip svg.alty-palm-sil { width: auto; left: auto; animation: alty-swaysoft 7s ease-in-out infinite; transform-origin: 50% 100%; }
.alty-strip svg.alty-palm-sil--r { transform: scaleX(-1); animation-name: alty-swaysoft-r; }

/* Halos de couleur flottants */
.alty-orb {
  width: 430px; height: 430px; border-radius: 50%;
  transform: translate(-50%, -50%);
  animation: alty-float 16s ease-in-out infinite;
}
.alty-orb--2 { animation-duration: 21s; animation-delay: -7s; width: 360px; height: 360px; }
.alty-orb--3 { animation-duration: 26s; animation-delay: -13s; width: 300px; height: 300px; }

/* Lumieres bokeh */
.alty-bokeh-wrap { left: 0; right: 0; bottom: 0; height: 170px; }
.alty-bokeh-wrap span {
  position: absolute; border-radius: 50%;
  box-shadow: 0 0 12px 2px rgba(255, 255, 255, 0.14);
  animation: alty-twinkle 3s ease-in-out infinite;
}

/* Fanions (21 juillet) */
.alty-bunting { top: 0; left: 0; right: 0; height: 70px; opacity: 0.9; }
.alty-bunting svg { width: 100%; height: 100%; }

@keyframes alty-sunpulse { 0%, 100% { transform: scale(1); opacity: 0.85; } 50% { transform: scale(1.08); opacity: 1; } }
@keyframes alty-twinkle { 0%, 100% { opacity: 0.9; } 50% { opacity: 0.25; } }
@keyframes alty-float { 0%, 100% { margin-top: 0; } 50% { margin-top: -26px; } }
@keyframes alty-swaysoft { 0%, 100% { transform: rotate(-1.6deg); } 50% { transform: rotate(1.6deg); } }
@keyframes alty-swaysoft-r { 0%, 100% { transform: scaleX(-1) rotate(-1.6deg); } 50% { transform: scaleX(-1) rotate(1.6deg); } }

@media (max-width: 767px) {
  .alty-strip, .alty-bokeh-wrap { height: 104px; }
  .alty-sun { width: 44px; height: 44px; top: 150px; right: 12px; }
  .alty-orb { width: 240px; height: 240px; }
  .alty-orb--2 { width: 200px; height: 200px; }
  .alty-orb--3 { display: none; }
  .alty-bunting { height: 46px; }
}
@media print { .alty-seasons-canvas, .alty-deco { display: none !important; } }
@media (prefers-reduced-motion: reduce) { .alty-deco, .alty-deco svg, .alty-bokeh-wrap span { animation: none !important; } }

/* ==== Scenes de fond par theme (hero accueil, bandeaux de page, en-tete compte) ==== */
body[class*="alty-deco-"] [class*="bg-[radial-gradient"] { background-image: none !important; }

body.alty-deco-summer .bg-ink, body.alty-deco-summer .ac-hero, body.alty-deco-summer .ap-hero, body.alty-deco-summer .aap-hero {
  background: radial-gradient(circle at 82% 18%, rgba(253,224,71,.4), rgba(253,224,71,0) 32%),
    linear-gradient(180deg, #0b2a45 0%, #10486e 45%, #0f6b8e 72%, #0a3d5c 100%) !important;
}
body.alty-deco-leaves .bg-ink, body.alty-deco-leaves .ac-hero, body.alty-deco-leaves .ap-hero, body.alty-deco-leaves .aap-hero {
  background: radial-gradient(circle at 20% 85%, rgba(234,88,12,.30), transparent 45%),
    radial-gradient(circle at 78% 20%, rgba(245,158,11,.22), transparent 40%),
    linear-gradient(180deg, #17100b 0%, #2c1810 55%, #3b2012 100%) !important;
}
body.alty-deco-snow .bg-ink, body.alty-deco-snow .ac-hero, body.alty-deco-snow .ap-hero, body.alty-deco-snow .aap-hero {
  background: radial-gradient(circle at 75% 15%, rgba(255,255,255,.18), transparent 35%),
    linear-gradient(180deg, #071c30 0%, #0d3350 60%, #0a2740 100%) !important;
}
body.alty-deco-snow_noel .bg-ink, body.alty-deco-snow_noel .ac-hero, body.alty-deco-snow_noel .ap-hero, body.alty-deco-snow_noel .aap-hero {
  background: radial-gradient(circle at 78% 18%, rgba(251,191,36,.20), transparent 34%),
    radial-gradient(circle at 15% 72%, rgba(251,191,36,.10), transparent 30%),
    radial-gradient(circle at 40% 30%, rgba(239,68,68,.08), transparent 35%),
    linear-gradient(180deg, #0a1424 0%, #122036 55%, #0b1728 100%) !important;
}
body.alty-deco-fireworks .bg-ink, body.alty-deco-fireworks .ac-hero, body.alty-deco-fireworks .ap-hero, body.alty-deco-fireworks .aap-hero {
  background: radial-gradient(circle at 50% 0%, rgba(253,224,71,.14), transparent 45%),
    linear-gradient(180deg, #050510 0%, #0d0d24 60%, #080818 100%) !important;
}
body.alty-deco-confetti_be .bg-ink, body.alty-deco-confetti_be .ac-hero, body.alty-deco-confetti_be .ap-hero, body.alty-deco-confetti_be .aap-hero {
  background: linear-gradient(100deg, rgba(0,0,0,.55) 0%, transparent 45%),
    linear-gradient(260deg, rgba(239,51,64,.30) 0%, transparent 45%),
    radial-gradient(circle at 50% 15%, rgba(253,218,36,.16), transparent 45%),
    linear-gradient(180deg, #16120a 0%, #241a10 60%, #191208 100%) !important;
}
body.alty-deco-halloween .bg-ink, body.alty-deco-halloween .ac-hero, body.alty-deco-halloween .ap-hero, body.alty-deco-halloween .aap-hero {
  background: radial-gradient(circle at 80% 22%, rgba(249,163,77,.38), transparent 28%),
    linear-gradient(180deg, #0d0714 0%, #1d0f26 60%, #150a1c 100%) !important;
}
body.alty-deco-easter .bg-ink, body.alty-deco-easter .ac-hero, body.alty-deco-easter .ap-hero, body.alty-deco-easter .aap-hero {
  background: radial-gradient(circle at 25% 80%, rgba(244,114,182,.22), transparent 40%),
    radial-gradient(circle at 75% 20%, rgba(252,211,77,.22), transparent 40%),
    linear-gradient(180deg, #231433 0%, #33204a 60%, #251636 100%) !important;
}
body.alty-deco-petals .bg-ink, body.alty-deco-petals .ac-hero, body.alty-deco-petals .ap-hero, body.alty-deco-petals .aap-hero {
  background: radial-gradient(circle at 75% 25%, rgba(244,114,182,.24), transparent 40%),
    linear-gradient(180deg, #0c2018 0%, #14382a 60%, #0e2a1f 100%) !important;
}
body.alty-deco-hearts .bg-ink, body.alty-deco-hearts .ac-hero, body.alty-deco-hearts .ap-hero, body.alty-deco-hearts .aap-hero {
  background: radial-gradient(circle at 78% 20%, rgba(251,113,133,.26), transparent 40%),
    linear-gradient(180deg, #2a0a14 0%, #4a0f22 60%, #33091a 100%) !important;
}

/* --- Ete v1 : palmiers cartoon + vagues --- */
.alty-palm { bottom: 0; width: 120px; height: 160px; opacity: 0.92; transform-origin: 50% 100%; }
.alty-palm svg { width: 100%; height: 100%; }
.alty-palm--left { left: 0; animation: alty-swaysoft 6s ease-in-out infinite; }
.alty-palm--right { right: 0; transform: scaleX(-1); animation: alty-swaysoft-r 7s ease-in-out infinite; }
.alty-waves { left: 0; right: 0; bottom: 0; height: 26px; opacity: 0.18; display: flex; }
.alty-waves svg { width: 50%; height: 100%; }

/* --- Motifs disperses le long de la page --- */
.alty-page-motifs { position: absolute; top: 0; left: 0; right: 0; z-index: 1; pointer-events: none; overflow: hidden; }
.alty-page-motifs span { position: absolute; display: block; }
.alty-page-motifs svg { width: 100%; height: 100%; }

@media (max-width: 767px) {
  .alty-palm { width: 78px; height: 104px; }
  .alty-page-motifs { display: none; }
}

.alty-strip--snow { filter: drop-shadow(0 -3px 8px rgba(15, 23, 42, 0.18)); }
.alty-bokeh-wrap { height: 130px; }

/* --- Objets de coins (sapins, arbres, cadeaux, etc.) --- */
.alty-corner { bottom: 0; width: 118px; height: 148px; opacity: 0.95; }
.alty-corner svg { width: 100%; height: 100%; }
.alty-corner--left { left: 10px; }
.alty-corner--right { right: 10px; }
.alty-flip svg { transform: scaleX(-1); }
.alty-c-tree { animation: alty-bobsoft 7s ease-in-out infinite; }
.alty-c-snowman { width: 92px; height: 124px; }
.alty-c-stars { width: 118px; height: 100px; animation: alty-twinkle 3.4s ease-in-out infinite; }
.alty-c-flag { width: 80px; height: 132px; animation: alty-swaysoft 5s ease-in-out infinite; transform-origin: 12% 100%; }
.alty-c-pumpkin { width: 88px; height: 80px; }
.alty-c-eggs { width: 132px; height: 58px; }
.alty-c-balloons { width: 108px; height: 134px; animation: alty-bobsoft 6s ease-in-out infinite; }
.alty-c-flowers { width: 126px; height: 98px; }
.alty-gifts { bottom: 0; left: 128px; width: 108px; height: 66px; opacity: 0.95; }
.alty-gifts svg, .alty-bunny svg { width: 100%; height: 100%; }
.alty-bunny { bottom: 0; left: 142px; width: 72px; height: 88px; opacity: 0.95; }
@keyframes alty-bobsoft { 0%, 100% { transform: translateY(0); } 50% { transform: translateY(-4px); } }
@media (max-width: 767px) {
  .alty-corner { width: 78px; height: 98px; }
  .alty-corner--right { display: none; }
  .alty-gifts { left: 84px; width: 74px; height: 45px; }
  .alty-bunny { display: none; }
  .alty-c-snowman { width: 64px; height: 86px; }
}
