/* Thèmes saisonniers. Le fond entier et les accents changent de couleur, et des décorations
   (dégradés, ombres, lumière) sont ajoutées dans les marges, fixées et sans interaction.
   La mise en page et les textes restent identiques. */

html[data-theme="halloween"] {
  --wine-950: #0d0712; --wine-900: #170b20; --wine-800: #241233; --wine-700: #34194a;
  --gold-500: #ff7a1a; --gold-400: #ff9a45; --gold-300: #ffc08a;
  --venise-600: #6a2fa0; --venise-500: #7d40b8; --venise-400: #9a63cc;
}

html[data-theme="halloween"]::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background-repeat: no-repeat; opacity: .9;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cg stroke='%23e8e2f5' stroke-width='1.2' fill='none' opacity='.55'%3E%3Cpath d='M0 0 L200 36 M0 0 L168 200 M0 0 L200 112 M0 0 L112 200 M0 0 L200 196 M0 0 L58 200 M0 0 L26 200'/%3E%3Cpath d='M22 0 Q34 44 66 62 Q96 80 116 116'/%3E%3Cpath d='M54 0 Q74 92 136 108 T200 186'/%3E%3Cpath d='M0 58 Q62 62 78 112 T124 200'/%3E%3Cpath d='M0 98 Q74 112 94 164 T150 200'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cdefs%3E%3CradialGradient id='m' cx='38%25' cy='36%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23fffbe6'/%3E%3Cstop offset='.6' stop-color='%23f1d98a'/%3E%3Cstop offset='1' stop-color='%23c79a3c'/%3E%3C/radialGradient%3E%3C/defs%3E%3Ccircle cx='50' cy='50' r='46' fill='%23f1d98a' opacity='.18'/%3E%3Ccircle cx='50' cy='50' r='40' fill='url(%23m)'/%3E%3Ccircle cx='36' cy='40' r='7' fill='%23b8893a' opacity='.35'/%3E%3Ccircle cx='62' cy='64' r='5' fill='%23b8893a' opacity='.3'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 60'%3E%3Cpath fill='%232a1a3a' d='M60 20 C52 10 40 4 26 8 C18 10 12 16 8 24 C16 20 22 22 28 26 C34 32 42 36 52 38 L60 52 L68 38 C78 36 86 32 92 26 C98 22 104 20 112 24 C108 16 102 10 94 8 C80 4 68 10 60 20 Z'/%3E%3C/svg%3E");
  background-size: 230px 230px, 130px 130px, 120px 60px;
  background-position: left top, right 34px top 26px, right 170px top 150px;
}

html[data-theme="halloween"]::after {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background-repeat: no-repeat;
  background-image:
    radial-gradient(ellipse at 50% 115%, rgba(255, 122, 26, .22), rgba(255, 122, 26, 0) 60%),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cdefs%3E%3CradialGradient id='p' cx='40%25' cy='34%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23ffc070'/%3E%3Cstop offset='.55' stop-color='%23ff7a1a'/%3E%3Cstop offset='1' stop-color='%238a3006'/%3E%3C/radialGradient%3E%3Cfilter id='g' x='-50%25' y='-50%25' width='200%25' height='200%25'%3E%3CfeGaussianBlur stdDeviation='5'/%3E%3C/filter%3E%3C/defs%3E%3Cellipse cx='60' cy='72' rx='54' ry='46' fill='%23ff9a1a' opacity='.35' filter='url(%23g)'/%3E%3Cellipse cx='36' cy='70' rx='30' ry='38' fill='url(%23p)'/%3E%3Cellipse cx='84' cy='70' rx='30' ry='38' fill='url(%23p)'/%3E%3Cellipse cx='60' cy='72' rx='30' ry='40' fill='url(%23p)'/%3E%3Cpath d='M54 36 Q56 22 64 18 Q62 30 66 36 Z' fill='%233b7a2a'/%3E%3Cpath d='M42 60 L52 70 L42 80 Z M78 60 L68 70 L78 80 Z' fill='%23fff1a8' opacity='.95'/%3E%3Cpath d='M38 92 Q60 108 82 92 Q72 100 60 100 Q48 100 38 92 Z' fill='%23140a06'/%3E%3C/svg%3E");
  background-size: 100% 100%, 150px 150px;
  background-position: center, left 12px bottom 12px;
}

html[data-theme="noel"] {
  --wine-950: #0a1d13; --wine-900: #103022; --wine-800: #184531; --wine-700: #22593f;
  --gold-500: #f2b531; --gold-400: #ffcf5c; --gold-300: #ffe59a;
  --venise-600: #b8202c; --venise-500: #d1323e; --venise-400: #e35a63;
}

html[data-theme="noel"]::before {
  content: ''; position: fixed; inset: 0; pointer-events: none; z-index: -1;
  background-repeat: no-repeat; opacity: .95;
  background-image:
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 200'%3E%3Cdefs%3E%3ClinearGradient id='n' x1='0' y1='0' x2='1' y2='1'%3E%3Cstop offset='0' stop-color='%234fa36a'/%3E%3Cstop offset='1' stop-color='%23123d24'/%3E%3C/linearGradient%3E%3C/defs%3E%3Cpath d='M0 0 Q80 40 150 150' stroke='%23123d24' stroke-width='5' fill='none'/%3E%3Cg fill='url(%23n)'%3E%3Cpath d='M10 14 L50 4 L30 26 Z'/%3E%3Cpath d='M30 20 L80 16 L52 42 Z'/%3E%3Cpath d='M55 40 L110 40 L80 68 Z'/%3E%3Cpath d='M80 60 L130 62 L104 92 Z'/%3E%3Cpath d='M110 90 L160 96 L132 124 Z'/%3E%3Cpath d='M140 124 L186 136 L158 160 Z'/%3E%3C/g%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 70'%3E%3Cdefs%3E%3CradialGradient id='b' cx='35%25' cy='30%25' r='70%25'%3E%3Cstop offset='0' stop-color='%23ff9a9a'/%3E%3Cstop offset='.45' stop-color='%23d1323e'/%3E%3Cstop offset='1' stop-color='%23560810'/%3E%3C/radialGradient%3E%3C/defs%3E%3Crect x='25' y='2' width='10' height='8' fill='%23f2b531'/%3E%3Ccircle cx='30' cy='42' r='24' fill='url(%23b)'/%3E%3Cellipse cx='22' cy='32' rx='6' ry='9' fill='%23ffffff' opacity='.45'/%3E%3C/svg%3E"),
    url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100'%3E%3Cg stroke='%23f4f8ff' stroke-width='3' stroke-linecap='round' fill='none'%3E%3Cpath d='M50 6V94M6 50H94M18 18L82 82M82 18L18 82'/%3E%3Cpath d='M50 22L40 12M50 22L60 12M50 78L40 88M50 78L60 88M22 50L12 40M22 50L12 60M78 50L88 40M78 50L88 60'/%3E%3C/g%3E%3C/svg%3E");
  background-size: 200px 200px, 64px 75px, 90px 90px;
  background-position: left top, right 26px bottom 96px, right 26px top 30px;
}

html[data-theme="noel"]::after {
  content: ''; position: fixed; left: 0; right: 0; bottom: 0; height: 26px;
  pointer-events: none; z-index: 60; background-color: rgba(10, 29, 19, .9);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 60 26'%3E%3Cdefs%3E%3CradialGradient id='l'%3E%3Cstop offset='0' stop-color='%23fff3b0'/%3E%3Cstop offset='.45' stop-color='%23ffc94a' stop-opacity='.9'/%3E%3Cstop offset='1' stop-color='%23ffc94a' stop-opacity='0'/%3E%3C/radialGradient%3E%3C/defs%3E%3Cpath d='M0 6 Q30 22 60 6' stroke='%23062014' stroke-width='1.5' fill='none'/%3E%3Ccircle cx='15' cy='14' r='9' fill='url(%23l)'/%3E%3Ccircle cx='15' cy='14' r='2.6' fill='%23fff3b0'/%3E%3Ccircle cx='45' cy='14' r='9' fill='url(%23l)'/%3E%3Ccircle cx='45' cy='14' r='2.6' fill='%23ff6b6b'/%3E%3C/svg%3E");
  background-repeat: repeat-x; background-size: 60px 26px;
}
