/* Thème hiver Déneigement Excellence */
:root {
  --winter-deep: #06182d;
  --winter-blue: #0f3a62;
  --winter-ice: #dff5ff;
  --winter-card: rgba(255, 255, 255, 0.88);
}

html { background: var(--winter-deep); }

body {
  background:
    radial-gradient(circle at 8% 8%, rgba(143, 193, 227, 0.35), transparent 24rem),
    radial-gradient(circle at 92% 18%, rgba(91, 164, 217, 0.25), transparent 26rem),
    linear-gradient(180deg, #eef9ff 0%, #d9efff 38%, #f7fbff 100%) !important;
  position: relative;
}

body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: 3;
  opacity: 0.34;
  background-image:
    radial-gradient(circle, rgba(255,255,255,0.95) 0 2px, transparent 3px),
    radial-gradient(circle, rgba(255,255,255,0.72) 0 1.5px, transparent 3px),
    radial-gradient(circle, rgba(210,240,255,0.65) 0 2px, transparent 4px);
  background-size: 120px 120px, 180px 180px, 260px 260px;
  background-position: 0 0, 55px 35px, 110px 80px;
  animation: winterSnowDrift 18s linear infinite;
}

body::after {
  content: "❄";
  position: fixed;
  right: clamp(12px, 3vw, 42px);
  top: clamp(95px, 16vh, 170px);
  z-index: 4;
  pointer-events: none;
  color: rgba(255,255,255,0.78);
  font-size: clamp(3.5rem, 9vw, 8rem);
  text-shadow: 0 0 28px rgba(77,166,255,0.95), 0 0 60px rgba(255,255,255,0.6);
  animation: winterIcePulse 4s ease-in-out infinite;
}

@keyframes winterSnowDrift {
  from { background-position: 0 -120px, 55px -180px, 110px -260px; }
  to { background-position: 0 100vh, 55px 100vh, 110px 100vh; }
}

@keyframes winterIcePulse {
  0%, 100% { transform: rotate(-8deg) scale(1); opacity: 0.55; }
  50% { transform: rotate(8deg) scale(1.08); opacity: 0.9; }
}

/* Donne du relief aux grandes zones blanches */
section:not(.hero):not(.promo-prix):not(.meteo-bar):not(.operation-banner),
main > div,
.article-content,
.blog-content,
.content,
.container,
.card,
.service-card,
.faq-item,
.contact-item,
.form-container,
.gallery-card,
.blog-card {
  border-radius: 22px;
  box-shadow: 0 14px 40px rgba(6, 24, 45, 0.10);
}

section:not(.hero):not(.promo-prix):not(.meteo-bar):not(.operation-banner) {
  background:
    linear-gradient(135deg, rgba(255,255,255,0.94), rgba(224,245,255,0.82)) !important;
  border-top: 1px solid rgba(143, 193, 227, 0.35);
  border-bottom: 1px solid rgba(143, 193, 227, 0.25);
  position: relative;
  overflow: hidden;
}

section:not(.hero):not(.promo-prix):not(.meteo-bar):not(.operation-banner)::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(115deg, transparent 0 42%, rgba(255,255,255,0.45) 49%, transparent 56%),
    radial-gradient(circle at 12% 0%, rgba(91,164,217,0.16), transparent 18rem);
  opacity: 0.75;
}

section:not(.hero):not(.promo-prix):not(.meteo-bar):not(.operation-banner) > * {
  position: relative;
  z-index: 1;
}

.section-title h1,
.section-title h2,
h1, h2 {
  text-shadow: 0 2px 0 rgba(255,255,255,0.75), 0 0 24px rgba(143,193,227,0.22);
}

.section-title h2::after,
h1::after {
  content: " ❄";
  color: #5ba4d9;
  text-shadow: 0 0 14px rgba(91,164,217,0.45);
  font-size: 0.72em;
}

.btn,
.button,
.cta,
.btn-submit,
.hero-call,
.header-cta,
a[class*="btn"] {
  box-shadow: 0 10px 28px rgba(255,107,53,0.28), 0 0 0 1px rgba(255,255,255,0.28) inset;
}

@media (max-width: 768px) {
  body::after { opacity: 0.35; top: 105px; }
  body::before { opacity: 0.22; }
  section:not(.hero):not(.promo-prix):not(.meteo-bar):not(.operation-banner) { border-radius: 14px; }
}
