
/* SignalNids - thème Octobre Rose 2026 - correctif lisibilité + icônes */
:root {
  --sn-rose-50: #fff4fa;
  --sn-rose-100: #ffe5f2;
  --sn-rose-200: #ffcde5;
  --sn-rose-300: #ffb1d6;
  --sn-rose-400: #ff86be;
  --sn-rose-500: #f653a6;
  --sn-rose-600: #e2338d;
  --sn-rose-700: #bc1f6f;
  --sn-rose-800: #8f1756;
  --sn-violet-700: #681b66;
  --sn-violet-800: #4f124d;
  --sn-ink-soft: #5d4f63;
  --sn-ink-mid: #3d3042;
  --sn-ink-dark: #221826;
  --sn-card-bg: #fff9fc;
}

body,
.sn-home-v210 {
  background:
    radial-gradient(circle at top left, rgba(255, 196, 226, 0.42), transparent 35%),
    radial-gradient(circle at top right, rgba(246, 83, 166, 0.18), transparent 28%),
    linear-gradient(180deg, #fff8fc 0%, #fff6fb 22%, #ffffff 100%);
}

.sn-octobre-rose-banner {
  margin: 22px auto 8px;
  padding: 22px 24px;
  border-radius: 24px;
  background: linear-gradient(135deg, #fff0f8 0%, #ffd8ea 45%, #f9cae8 100%);
  border: 1px solid rgba(188, 31, 111, 0.14);
  box-shadow: 0 18px 44px rgba(168, 39, 107, 0.12);
  display: grid;
  grid-template-columns: 1.15fr .95fr .8fr;
  gap: 18px;
  align-items: center;
}

.sn-or-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: fit-content;
  padding: 10px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--sn-rose-700), var(--sn-rose-500));
  color: #fff;
  font-weight: 800;
  letter-spacing: .08em;
  font-size: .84rem;
}

.sn-or-copy h2 {
  margin: 0 0 8px;
  color: var(--sn-violet-800);
  font-size: clamp(1.5rem, 2vw, 2rem);
}

.sn-or-copy p {
  margin: 0;
  color: #6c2456;
  line-height: 1.65;
}

.sn-or-actions {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.h26-hero {
  background: linear-gradient(140deg, rgba(255,255,255,0.95) 0%, rgba(255,245,250,0.95) 48%, rgba(255,230,241,0.98) 100%);
  border: 1px solid rgba(226, 51, 141, 0.10);
  box-shadow: 0 22px 48px rgba(178, 60, 120, 0.10);
}

.h26-eyebrow,
.h26-card-kicker,
.h26-map-card small,
.h26-role small,
.h26-species-title span,
.h26-learning-card small,
.h26-live-details summary small,
.h26-faq-intro .h26-eyebrow,
.h26-final .h26-eyebrow,
.h26-nest-type small,
.h26-seo-grid article small {
  color: var(--sn-rose-700) !important;
}

.h26-hero h1,
.h26-section h2,
.h26-map-card h3,
.h26-role h3,
.h26-species h3,
.h26-seo-answer h2,
.h26-faq-intro h2,
.h26-final h2,
.h26-seo-grid h3,
.h26-data-grid h3,
.h26-nest-type h3,
.h26-understand-grid h3,
.h26-pedagogy-copy h2,
.h26-learning-card strong,
.h26-card-head strong,
.h26-choice strong,
.h26-observation-card strong {
  color: var(--sn-violet-800);
}

.h26-lead,
.h26-section p,
.h26-seo-answer p,
.h26-identification p,
.h26-safety p,
.h26-map-card p,
.h26-role p,
.h26-data-grid p,
.h26-seo-grid p,
.h26-understand-grid p,
.h26-choice em,
.h26-source-note p,
.h26-nest-type p,
.h26-process p,
.h26-faq-list p,
.h26-pwa-actions small {
  color: var(--sn-ink-soft);
}

.h26-lead strong,
.h26-section p strong,
.h26-seo-answer p strong,
.h26-identification strong,
.h26-safety strong,
.h26-process strong,
.h26-source-note strong,
.h26-understand-grid strong,
.h26-nest-type > strong {
  color: var(--sn-violet-800);
}

.h26-keywords span,
.h26-trust span,
.h26-pedagogy-points span {
  background: #fff;
  border: 1px solid rgba(226, 51, 141, 0.15);
  color: var(--sn-violet-700);
}

.button.h26-primary,
.h26-main-actions .button.h26-primary,
.h26-map-actions .button.h26-primary,
.h26-seo-links .button.h26-primary,
.h26-final-actions .button.h26-primary {
  background: linear-gradient(135deg, var(--sn-rose-700), var(--sn-rose-500));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 14px 30px rgba(188, 31, 111, 0.24);
}

.button.h26-primary:hover,
.h26-main-actions .button.h26-primary:hover,
.h26-map-actions .button.h26-primary:hover,
.h26-seo-links .button.h26-primary:hover,
.h26-final-actions .button.h26-primary:hover {
  transform: translateY(-1px);
  filter: brightness(1.03);
}

.button.outline,
.h26-main-actions .button.outline,
.h26-seo-links .button.outline,
.h26-map-actions .button.outline,
.h26-final-actions .button.outline {
  border: 1px solid rgba(188, 31, 111, 0.28);
  color: var(--sn-violet-800);
  background: rgba(255,255,255,0.92);
}

.h26-text-link,
.h26-role a,
.h26-map-card b,
.h26-data-grid a,
.h26-seo-grid a,
.h26-species-body a,
.h26-nest-type a,
.h26-pwa-actions strong,
.h26-jump a {
  color: var(--sn-rose-700);
}

.h26-observation-card,
.h26-seo-answer,
.h26-seo-steps,
.h26-map-card,
.h26-role,
.h26-species,
.h26-data-grid article,
.h26-live-details,
.h26-identification,
.h26-faq-list details,
.h26-final,
.h26-learning-card,
.h26-understand-grid article,
.h26-seo-grid article,
.h26-nest-type,
.h26-source-note,
.h26-pwa-actions a {
  border-color: rgba(226, 51, 141, 0.12);
  box-shadow: 0 14px 34px rgba(168, 39, 107, 0.08);
}

.h26-choice,
.h26-understand-grid article,
.h26-seo-grid article,
.h26-data-grid article,
.h26-map-card,
.h26-role,
.h26-nest-type,
.h26-pwa-actions a,
.h26-learning-card {
  background: linear-gradient(180deg, #ffffff 0%, var(--sn-card-bg) 100%);
  border: 1px solid rgba(226, 51, 141, 0.10);
}

.h26-safety,
.h26-identification,
.h26-source-note,
.h26-live-details summary {
  background: linear-gradient(135deg, #fff4fb, #ffe9f4);
}

/* Dark sections */
.h26-territory,
.h26-pedagogy {
  background: linear-gradient(135deg, #7b1756 0%, #9b1e74 42%, #5e1a73 100%);
}

.h26-section-head-light h2,
.h26-section-head-light p,
.h26-section-head-light .h26-eyebrow,
.h26-pedagogy-copy h2,
.h26-pedagogy-copy p,
.h26-pedagogy-points span,
.h26-pedagogy-copy .h26-eyebrow {
  color: #fff !important;
}

.h26-territory .h26-map-card,
.h26-pedagogy-board .h26-learning-card,
.h26-pedagogy .h26-main-actions .button.outline {
  background: rgba(255,255,255,0.12);
  border-color: rgba(255,255,255,0.16);
}

.h26-territory .h26-map-card small,
.h26-territory .h26-map-card h3,
.h26-territory .h26-map-card p,
.h26-territory .h26-map-card b,
.h26-pedagogy-board .h26-learning-card small,
.h26-pedagogy-board .h26-learning-card strong,
.h26-pedagogy-board .h26-learning-card span {
  color: #fff !important;
}

.h26-pedagogy .button.outline {
  color: #fff;
  background: rgba(255,255,255,0.08);
}

/* Bigger centered icons */
.h26-choice-icon,
.h26-understand-icon,
.h26-map-icon,
.h26-role > span,
.h26-data-grid article > span,
.h26-seo-grid article > span,
.h26-nest-icon,
.h26-pwa-actions a > span {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  margin: 0 auto 16px;
  border-radius: 20px;
  background: linear-gradient(135deg, #ffe6f1 0%, #ffd2e8 100%);
  color: var(--sn-rose-700);
  box-shadow: inset 0 1px 0 rgba(255,255,255,0.75);
  font-size: 2rem;
  line-height: 1;
}

.h26-map-card,
.h26-role,
.h26-data-grid article,
.h26-seo-grid article,
.h26-understand-grid article,
.h26-nest-type,
.h26-pwa-actions a {
  text-align: left;
}

.h26-map-card .h26-map-icon,
.h26-role > span,
.h26-data-grid article > span,
.h26-seo-grid article > span,
.h26-understand-grid .h26-understand-icon,
.h26-nest-icon,
.h26-pwa-actions a > span {
  margin-left: auto;
  margin-right: auto;
}

.h26-choice {
  align-items: start;
}

.h26-choice .h26-choice-icon {
  margin-top: 2px;
  margin-bottom: 0;
}

.h26-pwa-actions a {
  background: linear-gradient(180deg, #ffffff 0%, #fff0f7 100%);
  text-align: center;
}

.h26-pwa-actions a strong,
.h26-pwa-actions a small {
  display: block;
}

.h26-jump a {
  background: #fff;
  border: 1px solid rgba(226, 51, 141, 0.12);
  color: var(--sn-violet-800);
}

.h26-map-caption .legend.confirmed,
#map-status,
.legend.confirmed,
.legend.neutralized {
  color: var(--sn-violet-800);
}

.h26-final {
  background: linear-gradient(135deg, #fff0f7 0%, #ffdce8 100%);
}

/* extra contrast tweaks */
.h26-choice small,
.h26-map-card small,
.h26-role small,
.h26-seo-grid a,
.h26-map-card b,
.h26-role a,
.h26-data-grid a,
.h26-pwa-actions strong {
  font-weight: 800;
}

.h26-understand-grid .h26-number {
  color: rgba(79, 18, 77, 0.42);
}

.h26-faq-list summary,
.h26-live-details summary,
.h26-map-actions .button,
.h26-final-actions .button,
.h26-main-actions .button,
.h26-seo-links .button {
  font-weight: 800;
}

@media (max-width: 980px) {
  .sn-octobre-rose-banner {
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 18px;
    margin-top: 14px;
  }
  .sn-or-actions {
    flex-direction: column;
  }
}

@media (max-width: 640px) {
  .sn-or-copy h2 {
    font-size: 1.28rem;
  }
  .sn-or-badge {
    font-size: .78rem;
  }
  .h26-choice-icon,
  .h26-understand-icon,
  .h26-map-icon,
  .h26-role > span,
  .h26-data-grid article > span,
  .h26-seo-grid article > span,
  .h26-nest-icon,
  .h26-pwa-actions a > span {
    width: 62px;
    height: 62px;
    font-size: 1.85rem;
  }
}
