/* ==========================================================================
   Habillages saisonniers — mairie de La Croix-en-Brie
   Chargés uniquement lorsque le corps porte .season-* (voir functions.php).
   Principe : la palette institutionnelle est décalée, un bandeau discret
   rappelle l’événement, rien d’autre ne bouge.
   ========================================================================== */

.season-strip {
  position: relative;
  overflow: hidden;
  background-color: var(--season-deep, var(--bleu-fonce));
  border-bottom: 2px solid var(--or);
  color: #fff;
}
.season-strip__inner {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: .5rem 0;
}
.season-strip__inner { gap: .8rem; }
.season-strip__text {
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  text-align: center;
  color: #fff;
  text-decoration: none;
}
a.season-strip__text { border-bottom: 1px solid rgba(255, 255, 255, .4); padding-bottom: 1px; }
a.season-strip__text:hover { color: var(--or-clair); border-bottom-color: currentColor; }
.season-strip::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--season-pattern, none);
  background-size: var(--season-pattern-size, auto);
  opacity: .35;
}
.season-strip__motif {
  flex: 0 0 auto;
  width: 21px;
  height: 21px;
  background: center / contain no-repeat var(--season-motif, none);
}

/* --------------------------------------------------------------------------
   Halloween — orangé brûlé, aubergine, ambiance feutrée
   -------------------------------------------------------------------------- */
body.season-halloween {
  --rouge: #b4451c;
  --rouge-fonce: #8c3313;
  --bleu: #3f2d52;
  --bleu-fonce: #231a2e;
  --or: #dd8f3c;
  --or-clair: #f0d9b8;
  --creme-2: #f2ece2;
  --filet: #e5d9c6;
  --season-deep: #231a2e;
  --season-glow: rgba(221, 143, 60, .22);
  --season-pattern: repeating-linear-gradient(135deg, rgba(255, 255, 255, .045) 0 10px, rgba(255, 255, 255, 0) 10px 20px);
  --season-motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 15c-1.6 0-2.7-.7-3.6-1.6-.1 1.8-1.7 2.9-3.9 2.4 1.1-1.1 1.2-2.6 1-4-1 .3-1.9-.2-2.5-1.2 1.9-.2 3-.9 3.7-2.2C7.8 6.3 9.7 5 12 5s4.2 1.3 5.3 3.4c.7 1.3 1.8 2 3.7 2.2-.6 1-1.5 1.5-2.5 1.2-.2 1.4-.1 2.9 1 4-2.2.5-3.8-.6-3.9-2.4-.9.9-2 1.6-3.6 1.6Z' fill='%23dd8f3c'/%3E%3C/svg%3E");
}
body.season-halloween .hero__veil {
  background:
    linear-gradient(90deg, rgba(20, 12, 26, .9) 0%, rgba(20, 12, 26, .58) 48%, rgba(221, 143, 60, .18) 100%),
    linear-gradient(0deg, rgba(20, 12, 26, .7), rgba(20, 12, 26, 0) 55%);
}
body.season-halloween .site-footer { background: #1a1222; }
body.season-halloween .site-header { border-bottom-color: #e5d9c6; }

/* --------------------------------------------------------------------------
   Noël — vert sapin, rouge houx, or
   -------------------------------------------------------------------------- */
body.season-noel {
  --rouge: #9d1c22;
  --rouge-fonce: #7c1419;
  --bleu: #14503a;
  --bleu-fonce: #0f3a2a;
  --or: #c9a227;
  --or-clair: #ecdfa8;
  --creme-2: #eef4ef;
  --filet: #dde8e0;
  --season-deep: #0f3a2a;
  --season-glow: rgba(201, 162, 39, .16);
  --season-pattern: radial-gradient(rgba(255, 255, 255, .17) 1px, rgba(255, 255, 255, 0) 1.6px);
  --season-pattern-size: 18px 18px;
  --season-motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23ffffff' stroke-width='1.4' stroke-linecap='round' fill='none'%3E%3Cpath d='M12 2.4v19.2M3.7 7.2l16.6 9.6M20.3 7.2 3.7 16.8'/%3E%3Cpath d='M9.7 5.3 12 7.6l2.3-2.3M9.7 18.7 12 16.4l2.3 2.3'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='1.7' fill='%23c8102e'/%3E%3C/svg%3E");
}
body.season-noel .hero__veil {
  background:
    linear-gradient(90deg, rgba(8, 30, 22, .9) 0%, rgba(8, 30, 22, .56) 48%, rgba(201, 162, 39, .16) 100%),
    linear-gradient(0deg, rgba(8, 30, 22, .68), rgba(8, 30, 22, 0) 55%);
}
body.season-noel .site-footer { background: #0c2c20; }
body.season-noel .site-header { border-bottom-color: #dde8e0; }
body.season-noel .site-header { background: linear-gradient(180deg, #ffffff 0%, #f8fbf9 100%); }

/* --------------------------------------------------------------------------
   Octobre rose — rose profond, or rose, fonds rosés
   -------------------------------------------------------------------------- */
body.season-octobre-rose {
  --rouge: #b3164e;
  --rouge-fonce: #8d0f3c;
  --or: #c48b9b;
  --or-clair: #f2d7e0;
  --creme-2: #fbeef3;
  --filet: #eedde4;
  --season-deep: #71112f;
  --season-glow: rgba(179, 22, 78, .20);
  --season-pattern: repeating-linear-gradient(90deg, rgba(255, 255, 255, .05) 0 2px, rgba(255, 255, 255, 0) 2px 14px);
  --season-motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 4c2.7 0 4.4 2 3.4 4.4-.7 1.7-2.4 2.9-3.4 4.8-1-1.9-2.7-3.1-3.4-4.8C7.6 6 9.3 4 12 4Z'/%3E%3Cpath d='M12 13.2 9.2 20M12 13.2 14.8 20'/%3E%3C/g%3E%3C/svg%3E");
}
body.season-octobre-rose .hero__veil {
  background:
    linear-gradient(90deg, rgba(50, 7, 20, .9) 0%, rgba(50, 7, 20, .55) 48%, rgba(179, 22, 78, .22) 100%),
    linear-gradient(0deg, rgba(50, 7, 20, .68), rgba(50, 7, 20, 0) 55%);
}
body.season-octobre-rose .site-footer { background: #4a0f26; }
body.season-octobre-rose .site-header { border-bottom-color: #eedde4; }


/* --------------------------------------------------------------------------
   Pâques — vert tendre, jaune œuf, ambiance printanière
   -------------------------------------------------------------------------- */
body.season-paques {
  --rouge: #b5722f;
  --rouge-fonce: #8f5620;
  --bleu: #3f7057;
  --bleu-fonce: #2c5343;
  --or: #d9b64a;
  --or-clair: #f6ebc4;
  --creme-2: #f3f7ee;
  --filet: #dfe8d8;
  --season-deep: #2c5343;
  --season-glow: rgba(217, 182, 74, .20);
  --season-pattern: radial-gradient(rgba(255, 255, 255, .16) 1.2px, rgba(255, 255, 255, 0) 1.8px);
  --season-pattern-size: 22px 22px;
  --season-motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23f6ebc4' stroke-width='1.5' stroke-linecap='round'%3E%3Cellipse cx='12' cy='13.5' rx='5.6' ry='7.2'/%3E%3Cpath d='M12 6.2c0-1.4.6-2.6 2-3.2'/%3E%3C/g%3E%3C/svg%3E");
}
body.season-paques .hero__veil {
  background:
    linear-gradient(90deg, rgba(28, 52, 40, .86) 0%, rgba(28, 52, 40, .40) 42%, rgba(28, 52, 40, .05) 74%, rgba(28, 52, 40, 0) 100%),
    linear-gradient(0deg, rgba(28, 52, 40, .30), rgba(28, 52, 40, 0) 42%);
}
body.season-paques .site-footer { background: #24463a; }
body.season-paques .site-header { border-bottom-color: #dfe8d8; }

/* --------------------------------------------------------------------------
   Fête de la musique — violet, framboise, or
   -------------------------------------------------------------------------- */
body.season-fete-musique {
  --rouge: #c2306b;
  --rouge-fonce: #9b2255;
  --bleu: #4a2f7a;
  --bleu-fonce: #35205a;
  --or: #e0b13f;
  --or-clair: #f4e3b6;
  --creme-2: #f5f1f8;
  --filet: #e4dcec;
  --season-deep: #35205a;
  --season-glow: rgba(194, 48, 107, .22);
  --season-pattern: repeating-linear-gradient(115deg, rgba(255, 255, 255, .06) 0 9px, rgba(255, 255, 255, 0) 9px 18px);
  --season-motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='%23f4e3b6' stroke-width='1.5' stroke-linejoin='round'%3E%3Cpath d='M9 17V6.5l8-1.8V15'/%3E%3C/g%3E%3Ccircle cx='7' cy='17.4' r='2.2' fill='%23f4e3b6'/%3E%3Ccircle cx='15' cy='15.2' r='2.2' fill='%23f4e3b6'/%3E%3C/svg%3E");
}
body.season-fete-musique .hero__veil {
  background:
    linear-gradient(90deg, rgba(35, 22, 56, .88) 0%, rgba(35, 22, 56, .42) 42%, rgba(35, 22, 56, .06) 74%, rgba(35, 22, 56, 0) 100%),
    linear-gradient(0deg, rgba(35, 22, 56, .32), rgba(35, 22, 56, 0) 42%);
}
body.season-fete-musique .site-footer { background: #2a1a45; }
body.season-fete-musique .site-header { border-bottom-color: #e4dcec; }

/* --------------------------------------------------------------------------
   Fête nationale — bleu, blanc, rouge
   -------------------------------------------------------------------------- */
body.season-14-juillet {
  --rouge: #c8102e;
  --rouge-fonce: #a20d25;
  --bleu: #1b4a8f;
  --bleu-fonce: #123a72;
  --or: #d4af37;
  --or-clair: #f0e2ae;
  --creme-2: #f2f5fa;
  --filet: #dde4ef;
  --season-deep: #123a72;
  --season-glow: rgba(200, 16, 46, .18);
  --season-pattern: radial-gradient(rgba(255, 255, 255, .18) 1px, rgba(255, 255, 255, 0) 1.5px);
  --season-pattern-size: 16px 16px;
  --season-motif: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cg stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round'%3E%3Cpath d='M12 3v4M12 17v4M3 12h4M17 12h4M6 6l2.5 2.5M15.5 15.5 18 18M18 6l-2.5 2.5M8.5 15.5 6 18'/%3E%3C/g%3E%3Ccircle cx='12' cy='12' r='1.7' fill='%23f0e2ae'/%3E%3C/svg%3E");
}
body.season-14-juillet .season-strip { border-bottom: 3px solid #c8102e; box-shadow: inset 0 -3px 0 rgba(255, 255, 255, .9); }
body.season-14-juillet .hero__veil {
  background:
    linear-gradient(90deg, rgba(14, 34, 68, .88) 0%, rgba(14, 34, 68, .42) 42%, rgba(14, 34, 68, .06) 74%, rgba(14, 34, 68, 0) 100%),
    linear-gradient(0deg, rgba(14, 34, 68, .30), rgba(14, 34, 68, 0) 42%);
}
body.season-14-juillet .site-footer { background: #0f2e5c; }
body.season-14-juillet .site-header { border-bottom-color: #dde4ef; }

/* --------------------------------------------------------------------------
   Effets communs aux six habillages
   -------------------------------------------------------------------------- */
body[class*="season-"] .header-utility { background: var(--season-deep); }
body[class*="season-"] .hero { position: relative; }
body[class*="season-"] .hero::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(58% 78% at 86% 18%, var(--season-glow), transparent 70%);
}
body[class*="season-"] .page-head {
  background:
    linear-gradient(180deg, var(--creme-2) 0%, var(--creme-2) 70%, var(--creme) 100%);
}
body[class*="season-"] .contact-card,
body[class*="season-"] .info-card {
  border-top-color: var(--or);
}
body[class*="season-"] .btn--primary { box-shadow: 0 2px 0 rgba(0, 0, 0, .08); }

@media (max-width: 620px) {
  .season-strip__inner { padding: .42rem 0; gap: .55rem; }
  .season-strip__text { font-size: .68rem; letter-spacing: .08em; line-height: 1.35; }
  .season-strip__motif { width: 17px; height: 17px; }
}

@media print {
  .season-strip { display: none; }
}
