/*
 * papa-noel.net — Rich Christmas V5
 * Deployment target: /css9/rich.css
 *
 * V5 = "Féérie immersive"
 * - Le système éditorial reste sous .pnoel-rich.
 * - Exceptions volontairement ultra-ciblées à #event-content pour habiller
 *   l'image EventNextGen, le H1, les boutons de partage et les listes annuelles.
 * - Aucun style global sur le menu, le slideshow, le footer ou le sidebar.
 */

/* =========================================================
   00. TOKENS
   ========================================================= */

.pnoel-rich{
  --pn-night-1000:#061224;
  --pn-night-950:#08192f;
  --pn-night-900:#0c2340;
  --pn-night-800:#12365e;

  --pn-forest-950:#06352c;
  --pn-forest-900:#08483a;
  --pn-forest-800:#0d5d4b;
  --pn-forest-700:#14735d;

  --pn-red-950:#670c17;
  --pn-red-900:#8b101f;
  --pn-red-800:#ad1728;
  --pn-red-700:#d02539;
  --pn-red-600:#ed4050;

  --pn-gold-800:#9d6c20;
  --pn-gold-700:#b9872f;
  --pn-gold-600:#d2a94e;
  --pn-gold-500:#e8c36d;
  --pn-gold-400:#f7dda0;

  --pn-cream:#fff7e7;
  --pn-cream-2:#f8ead0;
  --pn-paper:#fffdf8;
  --pn-snow:#ffffff;
  --pn-ice:#eef8ff;

  --pn-ink:#13293d;
  --pn-muted:#5d6f7f;
  --pn-line:rgba(12,35,64,.13);

  --pn-radius-s:16px;
  --pn-radius:26px;
  --pn-radius-l:36px;
  --pn-radius-xl:46px;

  --pn-shadow-s:0 10px 26px rgba(4,18,36,.11);
  --pn-shadow:0 20px 50px rgba(4,18,36,.16);
  --pn-shadow-l:0 30px 85px rgba(4,18,36,.25);

  position:relative;
  isolation:isolate;
  width:100%;
  max-width:1180px;
  margin:18px auto 34px;
  padding:18px;
  color:var(--pn-ink);
  line-height:1.72;
  overflow:hidden;

  /*
   * Le wrapper entier devient un décor de nuit de Noël :
   * il doit être perçu comme "l'univers" de la page et non comme une suite
   * de cartes blanches posées sur le template legacy.
   */
  border:1px solid rgba(247,221,160,.58);
  border-radius:var(--pn-radius-xl);
  background:
    radial-gradient(circle at 7% 6%, rgba(255,255,255,.94) 0 1.2px, transparent 1.8px) 0 0/38px 38px,
    radial-gradient(circle at 63% 13%, rgba(255,255,255,.72) 0 1px, transparent 1.7px) 0 0/57px 57px,
    radial-gradient(circle at 93% 8%, rgba(247,221,160,.22), transparent 24%),
    radial-gradient(circle at 8% 92%, rgba(208,37,57,.20), transparent 28%),
    linear-gradient(145deg,var(--pn-night-1000) 0%,var(--pn-night-900) 38%,var(--pn-forest-950) 74%,#092c27 100%);
  box-shadow:
    0 0 0 4px rgba(255,255,255,.62),
    0 0 0 7px rgba(185,135,47,.40),
    var(--pn-shadow-l);
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.pnoel-rich::before,
.pnoel-rich::after{
  content:"";
  position:absolute;
  pointer-events:none;
  z-index:0;
}

.pnoel-rich::before{
  inset:0;
  background:
    radial-gradient(circle at 22% 11%, rgba(255,255,255,.92) 0 1.5px, transparent 2.3px) 0 0/81px 81px,
    radial-gradient(circle at 76% 32%, rgba(247,221,160,.55) 0 1.2px, transparent 2px) 0 0/113px 113px;
  opacity:.48;
  mix-blend-mode:screen;
}

.pnoel-rich::after{
  width:420px;
  height:420px;
  right:-210px;
  top:300px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(247,221,160,.16),rgba(247,221,160,0) 67%);
  filter:blur(5px);
}

.pnoel-rich,
.pnoel-rich *,
.pnoel-rich *::before,
.pnoel-rich *::after{box-sizing:border-box}

.pnoel-rich > *{
  position:relative;
  z-index:1;
}

.pnoel-rich img,
.pnoel-rich svg,
.pnoel-rich video{
  max-width:100%;
  height:auto;
}

/* =========================================================
   01. TYPOGRAPHIE
   ========================================================= */

.pnoel-rich h2,
.pnoel-rich h3,
.pnoel-rich h4{
  margin:0;
  padding:0;
  border:0;
  background:none;
  background-image:none;
  box-shadow:none;
  text-shadow:none;
  text-transform:none;
  letter-spacing:normal;
  color:var(--pn-ink);
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;
}

.pnoel-rich h2{
  position:relative;
  margin:0 0 20px;
  padding:0 0 13px 0;
  font-size:clamp(1.78rem,3vw,2.58rem);
  line-height:1.08;
  font-weight:900;
  letter-spacing:-.025em;
  text-wrap:balance;
}

.pnoel-rich h2::after{
  content:"";
  display:block;
  width:92px;
  height:4px;
  margin-top:13px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--pn-red-700),var(--pn-gold-400),var(--pn-forest-700));
  box-shadow:0 0 16px rgba(232,195,109,.24);
}

.pnoel-rich h3{
  margin:0 0 10px;
  font-size:clamp(1.2rem,2vw,1.52rem);
  line-height:1.16;
  font-weight:900;
  letter-spacing:-.015em;
  text-wrap:balance;
}

.pnoel-rich h4{
  margin:0 0 9px;
  font-size:1.07rem;
  line-height:1.25;
  font-weight:850;
}

.pnoel-rich p{
  margin:0 0 1.04em;
  font-size:clamp(1rem,.98rem + .13vw,1.08rem);
  color:inherit;
}

.pnoel-rich strong{font-weight:900;color:inherit}
.pnoel-rich em{color:inherit}

.pnoel-rich a:not(.pn-btn):not(.pn-card-link){
  color:var(--pn-red-800);
  font-weight:800;
  text-decoration-color:rgba(173,23,40,.28);
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.pnoel-rich a:not(.pn-btn):not(.pn-card-link):hover{
  color:var(--pn-red-600);
  text-decoration-color:currentColor;
}

/* =========================================================
   02. SHELL / INTRO LEGACY-COMPAT
   ========================================================= */

.pnoel-rich .pn-shell{
  position:relative;
  margin:0 0 28px;
  padding:clamp(24px,4vw,44px);
  border-radius:var(--pn-radius-l);
  border:1px solid rgba(247,221,160,.44);
  background:
    radial-gradient(circle at 95% 7%,rgba(232,195,109,.22),transparent 25%),
    linear-gradient(180deg,#fffefb 0%,#fff7e8 100%);
  box-shadow:var(--pn-shadow);
  overflow:hidden;
}

.pnoel-rich .pn-shell::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  background:linear-gradient(90deg,var(--pn-red-700),var(--pn-gold-400),var(--pn-forest-700),var(--pn-gold-400),var(--pn-red-700));
}

.pnoel-rich .pn-intro{
  position:relative;
  margin:0 0 24px;
  padding:clamp(30px,5vw,58px);
  color:#fff;
  border:1px solid rgba(247,221,160,.62);
  border-radius:var(--pn-radius-l);
  background:
    radial-gradient(circle at 14% 14%,rgba(255,255,255,.95) 0 1.6px,transparent 2.5px) 0 0/39px 39px,
    radial-gradient(circle at 74% 28%,rgba(255,255,255,.72) 0 1.1px,transparent 1.9px) 0 0/63px 63px,
    radial-gradient(circle at 85% 12%,rgba(247,221,160,.22),transparent 26%),
    linear-gradient(145deg,var(--pn-night-950),var(--pn-night-800) 48%,var(--pn-forest-900));
  box-shadow:var(--pn-shadow-l);
  overflow:hidden;
}

.pnoel-rich .pn-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 14px;
  color:var(--pn-gold-400);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.15em;
  text-transform:uppercase;
}

.pnoel-rich .pn-kicker::before{content:"✦"}

.pnoel-rich .pn-title{
  display:block;
  max-width:920px;
  margin:0 0 15px;
  color:#fff;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;
  font-size:clamp(2.2rem,5vw,4.6rem);
  line-height:.98;
  font-weight:950;
  letter-spacing:-.045em;
  text-wrap:balance;
}

.pnoel-rich .pn-lead{
  max-width:850px;
  color:rgba(255,255,255,.92);
  font-size:clamp(1.04rem,1.5vw,1.2rem);
}

/* =========================================================
   03. HERO MAGIQUE — VRAIE ENTRÉE DANS L'UNIVERS
   ========================================================= */

.pnoel-rich .pn-magical-hero{
  position:relative;
  min-height:330px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0 0 22px;
  padding:clamp(34px,6vw,72px) clamp(26px,5vw,62px);
  color:#fff;
  border:1px solid rgba(247,221,160,.72);
  border-radius:40px;
  background:
    radial-gradient(circle at 11% 14%,rgba(255,255,255,.98) 0 1.5px,transparent 2.5px) 0 0/36px 36px,
    radial-gradient(circle at 68% 22%,rgba(255,255,255,.82) 0 1.2px,transparent 2px) 0 0/61px 61px,
    radial-gradient(circle at 87% 17%,rgba(247,221,160,.30),transparent 24%),
    radial-gradient(circle at 16% 110%,rgba(208,37,57,.38),transparent 38%),
    linear-gradient(135deg,#071a32 0%,#102f57 42%,#0b4b3e 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.20),
    inset 0 -22px 46px rgba(0,0,0,.12),
    0 26px 60px rgba(0,0,0,.23);
  overflow:hidden;
}

.pnoel-rich .pn-magical-hero::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    radial-gradient(circle at 90% 20%,rgba(247,221,160,.72) 0 3px,rgba(247,221,160,.18) 4px 18px,transparent 19px),
    radial-gradient(circle at 78% 31%,rgba(255,255,255,.82) 0 2px,transparent 3px),
    radial-gradient(circle at 88% 48%,rgba(255,255,255,.56) 0 1.5px,transparent 2.5px);
  opacity:.82;
}

.pnoel-rich .pn-magical-hero::after{
  content:"";
  position:absolute;
  left:-4%;
  right:-4%;
  bottom:-42px;
  height:92px;
  background:
    radial-gradient(78px 36px at 8% 0,#fff 98%,transparent 100%),
    radial-gradient(110px 44px at 28% 4%,#f8fcff 98%,transparent 100%),
    radial-gradient(95px 40px at 52% 0,#fff 98%,transparent 100%),
    radial-gradient(115px 48px at 76% 5%,#f7fbff 98%,transparent 100%),
    radial-gradient(88px 38px at 96% 0,#fff 98%,transparent 100%);
  filter:drop-shadow(0 -9px 16px rgba(191,225,247,.20));
  pointer-events:none;
}

.pnoel-rich .pn-magical-hero > *{
  position:relative;
  z-index:2;
}

.pnoel-rich .pn-magical-hero h2{
  max-width:950px;
  margin:0 0 18px;
  padding:0;
  color:#fff;
  font-size:clamp(2.25rem,5.2vw,4.45rem);
  line-height:.98;
  letter-spacing:-.045em;
  text-shadow:0 4px 24px rgba(0,0,0,.26);
}

.pnoel-rich .pn-magical-hero h2::after{
  width:130px;
  height:5px;
  background:linear-gradient(90deg,var(--pn-gold-400),#fff,var(--pn-red-600));
}

.pnoel-rich .pn-magical-hero p{
  max-width:860px;
  color:rgba(255,255,255,.94);
  font-size:clamp(1.05rem,1.5vw,1.22rem);
  text-shadow:0 2px 14px rgba(0,0,0,.16);
}

.pnoel-rich .pn-ribbon{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  gap:9px;
  min-height:40px;
  margin:0 0 20px;
  padding:9px 20px;
  color:#6c4308;
  background:linear-gradient(180deg,#fff4c8,var(--pn-gold-400));
  border:1px solid rgba(255,255,255,.82);
  border-radius:6px;
  box-shadow:
    0 8px 22px rgba(0,0,0,.20),
    inset 0 1px 0 rgba(255,255,255,.95);
  font-size:.76rem;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  clip-path:polygon(0 0,93% 0,100% 50%,93% 100%,0 100%,6% 50%);
}

.pnoel-rich .pn-ribbon::before{
  content:"✦";
  font-size:1rem;
  color:var(--pn-red-800);
}

/* =========================================================
   04. ANSWER-FIRST / GEO
   ========================================================= */

.pnoel-rich .pn-answer{
  position:relative;
  margin:0 0 22px;
  padding:30px 30px 27px 86px;
  color:#3c2e22;
  border:1px solid rgba(185,135,47,.40);
  border-radius:30px;
  background:
    linear-gradient(90deg,rgba(208,37,57,.055) 0 1px,transparent 1px 100%) 0 0/24px 100%,
    radial-gradient(circle at 92% 12%,rgba(232,195,109,.24),transparent 24%),
    linear-gradient(180deg,#fffdfa,#fff3da);
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.75),
    0 16px 34px rgba(5,18,36,.14);
  overflow:hidden;
}

.pnoel-rich .pn-answer::before{
  content:"✦";
  position:absolute;
  left:24px;
  top:25px;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  border-radius:50%;
  color:#fff;
  background:
    radial-gradient(circle at 35% 30%,rgba(255,255,255,.34),transparent 32%),
    linear-gradient(145deg,var(--pn-red-700),var(--pn-red-900));
  border:3px solid var(--pn-gold-400);
  box-shadow:0 0 0 5px rgba(208,37,57,.08),0 9px 20px rgba(103,12,23,.22);
}

.pnoel-rich .pn-answer::after{
  content:"À retenir";
  position:absolute;
  right:20px;
  top:18px;
  padding:5px 10px;
  border-radius:999px;
  color:#6d4b10;
  background:rgba(247,221,160,.58);
  font-size:.66rem;
  font-weight:950;
  letter-spacing:.11em;
  text-transform:uppercase;
}

.pnoel-rich .pn-answer > :last-child{margin-bottom:0}

/* =========================================================
   05. FACTS — CARTES "BOULES / ÉTIQUETTES"
   ========================================================= */

.pnoel-rich .pn-facts{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  margin:0 0 24px;
}

.pnoel-rich .pn-fact{
  position:relative;
  min-height:116px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:25px 18px 18px;
  text-align:center;
  color:#fff;
  border:1px solid rgba(247,221,160,.52);
  border-radius:24px;
  background:
    radial-gradient(circle at 50% 5%,rgba(255,255,255,.22),transparent 24%),
    linear-gradient(145deg,var(--pn-red-800),var(--pn-red-950));
  box-shadow:0 15px 30px rgba(0,0,0,.15);
  overflow:visible;
}

.pnoel-rich .pn-fact:nth-child(2n){
  background:
    radial-gradient(circle at 50% 5%,rgba(255,255,255,.20),transparent 24%),
    linear-gradient(145deg,var(--pn-forest-800),var(--pn-forest-950));
}

.pnoel-rich .pn-fact:nth-child(3n){
  color:#684510;
  background:
    radial-gradient(circle at 50% 5%,rgba(255,255,255,.80),transparent 26%),
    linear-gradient(145deg,#fff8dc,var(--pn-gold-400));
}

.pnoel-rich .pn-fact::before{
  content:"";
  position:absolute;
  left:50%;
  top:-8px;
  width:17px;
  height:14px;
  border:3px solid var(--pn-gold-400);
  border-bottom:0;
  border-radius:10px 10px 0 0;
  transform:translateX(-50%);
  background:transparent;
}

.pnoel-rich .pn-fact-label{
  display:block;
  margin-bottom:7px;
  font-size:.71rem;
  line-height:1.15;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  opacity:.88;
}

.pnoel-rich .pn-fact-value{
  display:block;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;
  font-size:clamp(1.08rem,2vw,1.48rem);
  line-height:1.12;
  font-weight:950;
}

/* =========================================================
   06. SECTIONS — CHAPITRES DE CONTE
   ========================================================= */

.pnoel-rich .pn-section{
  position:relative;
  margin:0 0 24px;
  padding:clamp(26px,4vw,42px);
  color:var(--pn-ink);
  border:1px solid rgba(232,195,109,.42);
  border-radius:34px;
  background:
    radial-gradient(circle at 94% 8%,rgba(232,195,109,.20),transparent 24%),
    radial-gradient(circle at 7% 92%,rgba(208,37,57,.07),transparent 27%),
    linear-gradient(180deg,#fffdf8 0%,#fff6e4 100%);
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.72),
    var(--pn-shadow);
  overflow:hidden;
}

.pnoel-rich .pn-section::before,
.pnoel-rich .pn-section::after{
  content:"✦";
  position:absolute;
  color:rgba(185,135,47,.36);
  font-size:1.2rem;
  line-height:1;
}

.pnoel-rich .pn-section::before{top:15px;right:18px}
.pnoel-rich .pn-section::after{bottom:15px;left:18px}

.pnoel-rich .pn-section--snow{
  border-color:rgba(116,171,207,.26);
  background:
    radial-gradient(circle at 12% 12%,rgba(255,255,255,.95) 0 1.4px,transparent 2.2px) 0 0/35px 35px,
    radial-gradient(circle at 88% 10%,rgba(167,215,244,.28),transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#eef8ff 62%,#fff8ea 100%);
}

.pnoel-rich .pn-section--snow::before{
  content:"❄";
  color:rgba(81,151,196,.30);
  font-size:1.5rem;
}

.pnoel-rich .pn-section--snow::after{
  content:"❄";
  color:rgba(81,151,196,.22);
  font-size:1.2rem;
}

.pnoel-rich .pn-section--forest{
  color:#fff;
  border-color:rgba(247,221,160,.50);
  background:
    radial-gradient(circle at 13% 11%,rgba(255,255,255,.90) 0 1.2px,transparent 2px) 0 0/42px 42px,
    radial-gradient(circle at 85% 15%,rgba(247,221,160,.20),transparent 25%),
    radial-gradient(circle at 7% 96%,rgba(208,37,57,.23),transparent 31%),
    linear-gradient(145deg,var(--pn-night-950) 0%,var(--pn-night-800) 44%,var(--pn-forest-900) 100%);
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.035),
    0 24px 55px rgba(0,0,0,.22);
}

.pnoel-rich .pn-section--forest h2,
.pnoel-rich .pn-section--forest h3,
.pnoel-rich .pn-section--forest h4,
.pnoel-rich .pn-section--forest strong{color:#fff}

.pnoel-rich .pn-section--forest h2::after{
  background:linear-gradient(90deg,var(--pn-gold-400),#fff,var(--pn-red-600));
}

.pnoel-rich .pn-section--forest p,
.pnoel-rich .pn-section--forest li{
  color:rgba(255,255,255,.93);
}

.pnoel-rich .pn-section--forest a:not(.pn-btn):not(.pn-card-link){
  color:#ffe5a8;
  text-decoration-color:rgba(255,229,168,.42);
}

/* =========================================================
   07. GRIDS / CARDS
   ========================================================= */

.pnoel-rich .pn-grid,
.pnoel-rich .pn-wonder-grid,
.pnoel-rich .pn-hub-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:18px 0 0;
}

.pnoel-rich .pn-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}
.pnoel-rich .pn-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}

.pnoel-rich .pn-card,
.pnoel-rich .pn-enchanted-card,
.pnoel-rich .pn-hub-card{
  position:relative;
  min-width:0;
  padding:25px 22px 22px;
  border:1px solid rgba(232,195,109,.36);
  border-radius:27px;
  background:
    radial-gradient(circle at 92% 8%,rgba(232,195,109,.22),transparent 24%),
    linear-gradient(180deg,#fffefa,#fff2d9);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 14px 28px rgba(4,18,36,.12);
  overflow:hidden;
  transition:transform .22s ease,box-shadow .22s ease;
}

.pnoel-rich .pn-card::before,
.pnoel-rich .pn-enchanted-card::before,
.pnoel-rich .pn-hub-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:6px;
  background:linear-gradient(90deg,var(--pn-red-700),var(--pn-gold-400),var(--pn-forest-700));
}

.pnoel-rich .pn-card::after,
.pnoel-rich .pn-enchanted-card::after,
.pnoel-rich .pn-hub-card::after{
  content:"✦";
  position:absolute;
  right:14px;
  top:14px;
  color:rgba(185,135,47,.30);
  font-size:1rem;
}

.pnoel-rich .pn-card:hover,
.pnoel-rich .pn-enchanted-card:hover,
.pnoel-rich .pn-hub-card:hover{
  transform:translateY(-5px);
  box-shadow:0 22px 42px rgba(4,18,36,.17);
}

.pnoel-rich .pn-card > :last-child,
.pnoel-rich .pn-enchanted-card > :last-child,
.pnoel-rich .pn-hub-card > :last-child{margin-bottom:0}

.pnoel-rich .pn-card--red{
  color:#fff;
  border-color:rgba(247,221,160,.48);
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.16),transparent 25%),
    linear-gradient(145deg,var(--pn-red-700),var(--pn-red-950));
}

.pnoel-rich .pn-card--forest{
  color:#fff;
  border-color:rgba(247,221,160,.48);
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.16),transparent 25%),
    linear-gradient(145deg,var(--pn-forest-800),var(--pn-night-950));
}

.pnoel-rich .pn-card--gold{
  color:#5c3d0f;
  border-color:rgba(185,135,47,.48);
  background:
    radial-gradient(circle at 90% 10%,rgba(255,255,255,.72),transparent 25%),
    linear-gradient(145deg,#fffdf5,#f5d997);
}

.pnoel-rich .pn-card--red h3,
.pnoel-rich .pn-card--red h4,
.pnoel-rich .pn-card--forest h3,
.pnoel-rich .pn-card--forest h4,
.pnoel-rich .pn-card--red strong,
.pnoel-rich .pn-card--forest strong{color:#fff}

.pnoel-rich .pn-card--red p,
.pnoel-rich .pn-card--forest p{color:rgba(255,255,255,.92)}

.pnoel-rich .pn-card-icon{
  display:grid;
  place-items:center;
  width:64px;
  height:64px;
  margin:0 auto 17px;
  border:2px solid rgba(247,221,160,.74);
  border-radius:50%;
  color:#6a430b;
  background:
    radial-gradient(circle at 32% 25%,rgba(255,255,255,.96),transparent 30%),
    linear-gradient(145deg,#fff8d9,var(--pn-gold-400));
  box-shadow:
    0 0 0 5px rgba(247,221,160,.12),
    0 12px 22px rgba(83,53,7,.15);
  font-size:1.65rem;
}

.pnoel-rich .pn-card-link{
  position:absolute;
  inset:0;
  z-index:3;
  border-radius:inherit;
  text-indent:-9999px;
  overflow:hidden;
}

/* cards de type "vitrine" */
.pnoel-rich .pn-enchanted-card{
  min-height:220px;
  padding-top:32px;
  background:
    radial-gradient(circle at 16% 15%,rgba(255,255,255,.98) 0 1.1px,transparent 1.8px) 0 0/38px 38px,
    radial-gradient(circle at 92% 8%,rgba(232,195,109,.24),transparent 25%),
    linear-gradient(180deg,#fffefa 0%,#fff2dc 100%);
}

.pnoel-rich .pn-enchanted-card:nth-child(3n+1)::before{
  background:linear-gradient(90deg,var(--pn-red-700),var(--pn-gold-400));
}
.pnoel-rich .pn-enchanted-card:nth-child(3n+2)::before{
  background:linear-gradient(90deg,var(--pn-forest-700),var(--pn-gold-400));
}
.pnoel-rich .pn-enchanted-card:nth-child(3n)::before{
  background:linear-gradient(90deg,var(--pn-night-800),var(--pn-gold-400));
}

/* =========================================================
   08. LISTES
   ========================================================= */

.pnoel-rich ul:not(.pn-plain):not(.telcofeedsonic_fie_tags),
.pnoel-rich ol:not(.pn-plain):not(.telcofeedsonic_fie_tags){
  margin:16px 0 22px;
  padding:0;
  list-style:none;
}

.pnoel-rich ul:not(.pn-plain):not(.telcofeedsonic_fie_tags)>li,
.pnoel-rich ol:not(.pn-plain):not(.telcofeedsonic_fie_tags)>li{
  position:relative;
  margin:10px 0;
  padding-left:36px;
  list-style:none!important;
}

.pnoel-rich ul:not(.pn-plain):not(.telcofeedsonic_fie_tags)>li::marker,
.pnoel-rich ol:not(.pn-plain):not(.telcofeedsonic_fie_tags)>li::marker{
  content:"";
}

.pnoel-rich ul:not(.pn-plain):not(.telcofeedsonic_fie_tags)>li::before{
  content:"✦";
  position:absolute;
  left:5px;
  top:.15em;
  color:var(--pn-gold-600);
  font-size:.96rem;
  text-shadow:0 0 10px rgba(232,195,109,.24);
}

.pnoel-rich ol:not(.pn-plain):not(.telcofeedsonic_fie_tags){counter-reset:pnol}

.pnoel-rich ol:not(.pn-plain):not(.telcofeedsonic_fie_tags)>li{
  counter-increment:pnol;
  min-height:33px;
  padding-left:46px;
}

.pnoel-rich ol:not(.pn-plain):not(.telcofeedsonic_fie_tags)>li::before{
  content:counter(pnol);
  position:absolute;
  left:0;
  top:-1px;
  display:grid;
  place-items:center;
  width:31px;
  height:31px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,var(--pn-red-700),var(--pn-red-950));
  border:2px solid var(--pn-gold-400);
  box-shadow:0 7px 16px rgba(103,12,23,.20);
  font-size:.77rem;
  font-weight:950;
}

/* =========================================================
   09. TABLE
   ========================================================= */

.pnoel-rich .pn-table-wrap{
  position:relative;
  margin:20px 0 26px;
  overflow-x:auto;
  border:2px solid rgba(232,195,109,.52);
  border-radius:24px;
  background:#fff;
  box-shadow:
    inset 0 0 0 4px rgba(255,255,255,.72),
    var(--pn-shadow-s);
}

.pnoel-rich .pn-table-wrap::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:5px;
  z-index:2;
  background:linear-gradient(90deg,var(--pn-red-700),var(--pn-gold-400),var(--pn-forest-700));
}

.pnoel-rich table{
  width:100%;
  min-width:600px;
  margin:0;
  border-collapse:collapse;
  color:var(--pn-ink);
  background:#fff;
}

.pnoel-rich th,
.pnoel-rich td{
  padding:15px 17px;
  border:0;
  border-bottom:1px solid rgba(12,35,64,.09);
  text-align:left;
  vertical-align:top;
}

.pnoel-rich th{
  color:#fff;
  background:
    radial-gradient(circle at 90% 10%,rgba(247,221,160,.17),transparent 26%),
    linear-gradient(135deg,var(--pn-night-800),var(--pn-forest-900));
  font-weight:950;
}

.pnoel-rich tbody tr:nth-child(even) td{background:#fff8e9}
.pnoel-rich tbody tr:hover td{background:#eef9ff}
.pnoel-rich tbody tr:last-child td{border-bottom:0}

/* =========================================================
   10. CALLOUTS
   ========================================================= */

.pnoel-rich .pn-callout{
  position:relative;
  margin:0 0 22px;
  padding:25px 25px 23px 72px;
  color:#3b3024;
  border:1px solid rgba(185,135,47,.42);
  border-radius:27px;
  background:
    radial-gradient(circle at 94% 8%,rgba(232,195,109,.24),transparent 25%),
    linear-gradient(145deg,#fffdf7,#fff1d1);
  box-shadow:var(--pn-shadow-s);
}

.pnoel-rich .pn-callout::before{
  content:"✦";
  position:absolute;
  left:20px;
  top:20px;
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,var(--pn-red-700),var(--pn-red-950));
  border:2px solid var(--pn-gold-400);
  box-shadow:0 8px 18px rgba(103,12,23,.18);
}

.pnoel-rich .pn-callout--gold{
  background:
    radial-gradient(circle at 94% 8%,rgba(247,221,160,.34),transparent 25%),
    linear-gradient(145deg,#fffdf6,#f7e0a8);
}

.pnoel-rich .pn-callout--red{
  color:#fff;
  border-color:rgba(247,221,160,.48);
  background:
    radial-gradient(circle at 94% 8%,rgba(255,255,255,.13),transparent 25%),
    linear-gradient(145deg,var(--pn-red-700),var(--pn-red-950));
}

.pnoel-rich .pn-callout--red strong,
.pnoel-rich .pn-callout--red a{color:#fff}

.pnoel-rich .pn-callout--red::before{
  color:#7a510f;
  background:linear-gradient(145deg,#fff5c8,var(--pn-gold-400));
}

/* =========================================================
   11. CTA — GROS BLOC SANTA LAND
   ========================================================= */

.pnoel-rich .pn-cta{
  position:relative;
  min-height:250px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  margin:0;
  padding:clamp(32px,5vw,58px);
  color:#fff;
  border:2px solid rgba(247,221,160,.72);
  border-radius:36px;
  background:
    radial-gradient(circle at 12% 15%,rgba(255,255,255,.90) 0 1.3px,transparent 2px) 0 0/40px 40px,
    radial-gradient(circle at 82% 19%,rgba(247,221,160,.25),transparent 28%),
    radial-gradient(circle at 8% 102%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(135deg,var(--pn-red-800) 0%,var(--pn-red-700) 45%,var(--pn-night-800) 100%);
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.18),
    0 28px 64px rgba(88,8,20,.30);
  overflow:hidden;
}

.pnoel-rich .pn-cta::before{
  content:"";
  position:absolute;
  right:-55px;
  bottom:-68px;
  width:210px;
  height:210px;
  border:2px solid rgba(247,221,160,.24);
  border-radius:50%;
  box-shadow:
    0 0 0 28px rgba(247,221,160,.05),
    0 0 0 58px rgba(247,221,160,.025);
}

.pnoel-rich .pn-cta::after{
  content:"✦  ❄  ✦";
  position:absolute;
  top:20px;
  right:24px;
  color:rgba(255,255,255,.52);
  letter-spacing:.45em;
}

.pnoel-rich .pn-cta h2,
.pnoel-rich .pn-cta h3,
.pnoel-rich .pn-cta strong{color:#fff}

.pnoel-rich .pn-cta h2{
  max-width:820px;
  font-size:clamp(2rem,4vw,3.2rem);
  text-shadow:0 4px 18px rgba(0,0,0,.22);
}

.pnoel-rich .pn-cta h2::after{
  background:linear-gradient(90deg,var(--pn-gold-400),#fff,var(--pn-gold-400));
}

.pnoel-rich .pn-cta p{
  max-width:780px;
  color:rgba(255,255,255,.93);
}

.pnoel-rich .pn-actions{
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  align-items:center;
  margin-top:16px;
}

.pnoel-rich .pn-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:49px;
  padding:12px 21px;
  border:1px solid rgba(255,255,255,.72);
  border-radius:999px;
  color:#69440b;
  background:linear-gradient(180deg,#fff7d7,var(--pn-gold-400));
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,.95),
    0 9px 20px rgba(68,42,5,.20);
  font-weight:950;
  text-decoration:none;
  transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;
}

.pnoel-rich .pn-btn::before{content:"✦";font-size:.8rem}

.pnoel-rich .pn-btn:hover{
  color:#69440b;
  transform:translateY(-2px);
  filter:brightness(1.03);
  box-shadow:0 14px 26px rgba(68,42,5,.23);
}

.pnoel-rich .pn-btn--snow{
  color:var(--pn-red-900);
  background:rgba(255,255,255,.96);
  border-color:rgba(255,255,255,.92);
}

.pnoel-rich .pn-btn--forest{
  color:#fff;
  background:linear-gradient(145deg,var(--pn-forest-800),var(--pn-night-950));
  border-color:rgba(247,221,160,.56);
}

/* =========================================================
   12. TIMELINE
   ========================================================= */

.pnoel-rich .pn-timeline{
  position:relative;
  margin:20px 0 6px;
  padding-left:46px;
}

.pnoel-rich .pn-timeline::before{
  content:"";
  position:absolute;
  left:14px;
  top:8px;
  bottom:8px;
  width:4px;
  border-radius:99px;
  background:linear-gradient(var(--pn-gold-400),var(--pn-red-700),var(--pn-forest-700));
  box-shadow:0 0 0 5px rgba(232,195,109,.08);
}

.pnoel-rich .pn-timeline-item{
  position:relative;
  margin:0 0 18px;
  padding:20px 22px;
  border:1px solid rgba(232,195,109,.30);
  border-radius:22px;
  background:rgba(255,255,255,.83);
  box-shadow:0 8px 20px rgba(4,18,36,.08);
}

.pnoel-rich .pn-timeline-item::before{
  content:"";
  position:absolute;
  left:-40px;
  top:25px;
  width:18px;
  height:18px;
  border:3px solid var(--pn-gold-400);
  border-radius:50%;
  background:var(--pn-red-700);
  box-shadow:0 0 0 4px #fff;
}

/* =========================================================
   13. SHOWCASE / SHOP / HUB
   ========================================================= */

.pnoel-rich .pn-showcase{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  margin:0 0 24px;
}

.pnoel-rich .pn-showcase__content,
.pnoel-rich .pn-showcase__media{
  min-width:0;
  border-radius:32px;
  overflow:hidden;
  box-shadow:var(--pn-shadow);
}

.pnoel-rich .pn-showcase__content{
  padding:clamp(28px,4vw,48px);
  color:#fff;
  border:1px solid rgba(247,221,160,.50);
  background:
    radial-gradient(circle at 88% 10%,rgba(247,221,160,.20),transparent 25%),
    linear-gradient(145deg,var(--pn-night-950),var(--pn-forest-900));
}

.pnoel-rich .pn-showcase__content h2,
.pnoel-rich .pn-showcase__content h3{color:#fff}

.pnoel-rich .pn-showcase__media{
  border:2px solid rgba(247,221,160,.48);
  background:#fff;
}

.pnoel-rich .pn-showcase__media img{
  display:block;
  width:100%;
  height:100%;
  min-height:300px;
  object-fit:cover;
}

.pnoel-rich .pn-product-card{
  position:relative;
  display:flex;
  flex-direction:column;
  min-height:100%;
  padding:20px;
  border:1px solid rgba(232,195,109,.38);
  border-radius:27px;
  background:linear-gradient(180deg,#fff,#fff2d9);
  box-shadow:var(--pn-shadow-s);
}

.pnoel-rich .pn-product-media{
  display:grid;
  place-items:center;
  aspect-ratio:4/3;
  margin:-20px -20px 18px;
  padding:14px;
  background:linear-gradient(145deg,#eef8ff,#fff4d6);
  overflow:hidden;
  border-radius:27px 27px 0 0;
}

.pnoel-rich .pn-product-media img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.pnoel-rich .pn-price{
  margin-top:auto;
  padding-top:12px;
  color:var(--pn-red-800);
  font-size:1.25rem;
  font-weight:950;
}

/* =========================================================
   14. MEDIA / QUOTE / PILLS / DIVIDER
   ========================================================= */

.pnoel-rich .pn-media{
  margin:0 0 24px;
  border:3px solid rgba(247,221,160,.66);
  border-radius:30px;
  overflow:hidden;
  background:#fff;
  box-shadow:var(--pn-shadow);
}

.pnoel-rich .pn-media img{display:block;width:100%}

.pnoel-rich .pn-media figcaption{
  padding:12px 15px;
  color:var(--pn-muted);
  background:#fff8e9;
  font-size:.84rem;
}

.pnoel-rich blockquote{
  position:relative;
  margin:20px 0 24px;
  padding:25px 26px 23px 68px;
  color:#443321;
  border:1px solid rgba(185,135,47,.42);
  border-radius:25px;
  background:linear-gradient(145deg,#fffefa,#f7e3af);
  box-shadow:var(--pn-shadow-s);
}

.pnoel-rich blockquote::before{
  content:"“";
  position:absolute;
  left:19px;
  top:8px;
  color:var(--pn-red-700);
  font-family:Georgia,serif;
  font-size:3.7rem;
  line-height:1;
}

.pnoel-rich .pn-pills{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin:14px 0 22px;
  padding:0;
  list-style:none;
}

.pnoel-rich .pn-pills>*{
  display:inline-flex;
  align-items:center;
  min-height:36px;
  margin:0;
  padding:8px 13px;
  border:1px solid rgba(232,195,109,.38);
  border-radius:999px;
  color:#6a460c;
  background:linear-gradient(180deg,#fffdf5,#f5dfa9);
  box-shadow:0 6px 16px rgba(80,51,7,.08);
  font-size:.83rem;
  font-weight:850;
}

.pnoel-rich .pn-pills>*::before{display:none!important}

.pnoel-rich .pn-divider{
  display:flex;
  align-items:center;
  gap:13px;
  width:min(620px,88%);
  margin:32px auto;
  color:var(--pn-gold-400);
}

.pnoel-rich .pn-divider::before,
.pnoel-rich .pn-divider::after{
  content:"";
  flex:1;
  height:2px;
  background:linear-gradient(90deg,transparent,var(--pn-gold-400),transparent);
}

.pnoel-rich .pn-divider span{
  display:grid;
  place-items:center;
  width:40px;
  height:40px;
  border:1px solid rgba(247,221,160,.62);
  border-radius:50%;
  background:var(--pn-night-900);
  box-shadow:0 0 18px rgba(247,221,160,.14);
}

/* =========================================================
   15. CANDY / EXTRA COMPONENTS
   ========================================================= */

.pnoel-rich .pn-candy-panel{
  margin:0 0 24px;
  padding:8px;
  border-radius:30px;
  background:
    repeating-linear-gradient(
      135deg,
      var(--pn-red-700) 0 18px,
      #fff 18px 36px,
      var(--pn-forest-700) 36px 54px,
      #fff 54px 72px
    );
  box-shadow:var(--pn-shadow);
}

.pnoel-rich .pn-candy-panel__inner{
  padding:25px;
  border-radius:23px;
  background:linear-gradient(180deg,#fffefa,#fff4da);
}

/* =========================================================
   16. EVENTNEXTGEN — HABILLAGE AUTOUR DU WRAPPER
   Exception volontairement ciblée à #event-content.
   ========================================================= */

/* H1 EventNextGen : on neutralise le gros bandeau bleu legacy uniquement ici */
#event-content > main > article > h1{
  position:relative;
  margin:10px 0 18px!important;
  padding:17px 26px 18px!important;
  color:#fff!important;
  border:1px solid rgba(247,221,160,.62)!important;
  border-radius:22px!important;
  background:
    radial-gradient(circle at 92% 15%,rgba(247,221,160,.21),transparent 25%),
    linear-gradient(135deg,#8b101f,#d02539 48%,#0c2340)!important;
  box-shadow:0 14px 32px rgba(76,8,18,.22)!important;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif!important;
  font-size:clamp(2rem,4vw,3.2rem)!important;
  line-height:1.05!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  text-align:left!important;
  text-shadow:0 3px 16px rgba(0,0,0,.18)!important;
  overflow:hidden;
}

#event-content > main > article > h1::after{
  content:"✦  ❄  ✦";
  position:absolute;
  right:20px;
  top:50%;
  transform:translateY(-50%);
  color:rgba(255,255,255,.42);
  font-size:.7rem;
  letter-spacing:.35em;
}

/* Image principale : vraie affiche encadrée */
#event-content .event-main-image{
  display:block;
  width:100%!important;
  height:auto!important;
  margin:0 auto 22px!important;
  padding:7px!important;
  border:1px solid rgba(247,221,160,.72)!important;
  border-radius:34px!important;
  background:linear-gradient(145deg,#fff8d2,#c28c32,#fff1ba)!important;
  box-shadow:
    0 0 0 4px #fff,
    0 0 0 7px rgba(139,16,31,.84),
    0 25px 55px rgba(4,18,36,.24)!important;
  object-fit:cover;
}

/* Titres juste avant les listes annuelles */
#event-content h2:has(+ ul.eventeachyearlisting){
  position:relative!important;
  margin:24px 0 12px!important;
  padding:14px 18px 14px 48px!important;
  color:#fff!important;
  border:1px solid rgba(247,221,160,.54)!important;
  border-radius:18px!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(247,221,160,.19),transparent 24%),
    linear-gradient(135deg,#0c2340,#0d5d4b)!important;
  box-shadow:0 10px 24px rgba(4,18,36,.15)!important;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif!important;
  font-size:1.18rem!important;
  line-height:1.2!important;
  font-weight:900!important;
  text-shadow:none!important;
}

#event-content h2:has(+ ul.eventeachyearlisting)::before{
  content:"🎄";
  position:absolute;
  left:15px;
  top:50%;
  transform:translateY(-50%);
  font-size:1.2rem;
}

/* Prochains/past events : cartes calendrier */
#event-content ul.eventeachyearlisting{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:10px!important;
  margin:0 0 22px!important;
  padding:0!important;
  list-style:none!important;
}

#event-content ul.eventeachyearlisting > li{
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

#event-content ul.eventeachyearlisting > li::before{display:none!important}

#event-content ul.eventeachyearlisting > li > a{
  position:relative!important;
  display:flex!important;
  min-height:96px!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:flex-start!important;
  gap:8px!important;
  padding:17px 17px 15px 48px!important;
  color:var(--pn-ink,#13293d)!important;
  border:1px solid rgba(232,195,109,.44)!important;
  border-radius:19px!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(232,195,109,.22),transparent 25%),
    linear-gradient(180deg,#fffefb,#fff1d2)!important;
  box-shadow:0 9px 21px rgba(4,18,36,.10)!important;
  font-weight:950!important;
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease!important;
  overflow:hidden;
}

#event-content ul.eventeachyearlisting > li > a::before{
  content:"25";
  position:absolute;
  left:12px;
  top:18px;
  display:grid;
  place-items:center;
  width:28px;
  height:28px;
  color:#fff;
  border:2px solid #f7dda0;
  border-radius:8px;
  background:linear-gradient(145deg,#d02539,#8b101f);
  box-shadow:0 6px 12px rgba(103,12,23,.16);
  font-size:.72rem;
  font-weight:950;
}

/* Sur Saint-Nicolas les URLs contiennent saint-nicolas : on affiche 06 */
#event-content ul.eventeachyearlisting > li > a[href*="/saint-nicolas/"]::before{
  content:"06";
}

/* Sur veille de Noël : 24 */
#event-content ul.eventeachyearlisting > li > a[href*="/veille-de-noel/"]::before{
  content:"24";
}

#event-content ul.eventeachyearlisting > li > a:hover{
  transform:translateY(-3px)!important;
  box-shadow:0 15px 29px rgba(4,18,36,.15)!important;
}

#event-content ul.eventeachyearlisting .voirladate{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:5px 9px!important;
  color:#fff!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#0d5d4b,#06352c)!important;
  font-size:.65rem!important;
  line-height:1!important;
  font-weight:900!important;
  letter-spacing:.06em!important;
  text-transform:uppercase!important;
}

#event-content ul.eventeachyearlisting .voirladate::after{
  content:" →";
}

/* =========================================================
   17. ACCESSIBILITÉ / RESPONSIVE
   ========================================================= */

.pnoel-rich a:focus-visible,
.pnoel-rich button:focus-visible,
#event-content ul.eventeachyearlisting a:focus-visible{
  outline:3px solid var(--pn-gold-400,#f7dda0)!important;
  outline-offset:3px!important;
}

@media (max-width:980px){
  .pnoel-rich .pn-grid,
  .pnoel-rich .pn-wonder-grid,
  .pnoel-rich .pn-hub-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pnoel-rich .pn-grid--4{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .pnoel-rich .pn-facts{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .pnoel-rich .pn-showcase{
    grid-template-columns:1fr;
  }

  #event-content ul.eventeachyearlisting{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}

@media (max-width:700px){
  .pnoel-rich{
    margin:12px -2px 24px;
    padding:10px;
    border-radius:30px;
    box-shadow:
      0 0 0 3px rgba(255,255,255,.62),
      0 0 0 5px rgba(185,135,47,.38),
      0 20px 50px rgba(4,18,36,.20);
  }

  .pnoel-rich .pn-magical-hero,
  .pnoel-rich .pn-intro,
  .pnoel-rich .pn-section,
  .pnoel-rich .pn-cta,
  .pnoel-rich .pn-shell{
    border-radius:24px;
  }

  .pnoel-rich .pn-magical-hero{
    min-height:300px;
    padding:32px 21px 54px;
  }

  .pnoel-rich .pn-magical-hero h2{
    font-size:clamp(2rem,10vw,3rem);
  }

  .pnoel-rich .pn-answer{
    padding:71px 20px 21px;
  }

  .pnoel-rich .pn-answer::before{
    top:18px;
    left:20px;
  }

  .pnoel-rich .pn-answer::after{
    top:23px;
    right:20px;
  }

  .pnoel-rich .pn-grid,
  .pnoel-rich .pn-grid--2,
  .pnoel-rich .pn-grid--4,
  .pnoel-rich .pn-wonder-grid,
  .pnoel-rich .pn-hub-grid,
  .pnoel-rich .pn-facts{
    grid-template-columns:1fr;
  }

  .pnoel-rich .pn-actions{
    align-items:stretch;
  }

  .pnoel-rich .pn-btn{
    width:100%;
  }

  .pnoel-rich table{
    min-width:560px;
  }

  #event-content > main > article > h1{
    padding:15px 18px!important;
    border-radius:18px!important;
    font-size:2rem!important;
  }

  #event-content > main > article > h1::after{
    display:none;
  }

  #event-content .event-main-image{
    padding:5px!important;
    border-radius:23px!important;
    box-shadow:
      0 0 0 3px #fff,
      0 0 0 5px rgba(139,16,31,.76),
      0 18px 36px rgba(4,18,36,.20)!important;
  }

  #event-content ul.eventeachyearlisting{
    grid-template-columns:1fr!important;
  }

  #event-content ul.eventeachyearlisting > li > a{
    min-height:82px!important;
  }
}

/* =========================================================
   18. MOTION : LENT, PAS DE NEIGE QUI TOMBE / PAS DE CLIGNOTEMENT
   ========================================================= */

@media (prefers-reduced-motion:no-preference){
  .pnoel-rich .pn-magical-hero{
    animation:pn-magic-breathe 12s ease-in-out infinite alternate;
  }

  .pnoel-rich .pn-card,
  .pnoel-rich .pn-enchanted-card,
  .pnoel-rich .pn-fact{
    animation:pn-soft-rise .45s ease both;
  }

  @keyframes pn-magic-breathe{
    0%{background-position:0 0,0 0,0 0,0 0,0 0}
    100%{background-position:12px 8px,-10px 6px,0 0,0 0,0 0}
  }

  @keyframes pn-soft-rise{
    from{opacity:.01;transform:translateY(8px)}
    to{opacity:1;transform:translateY(0)}
  }
}

@media (prefers-reduced-motion:reduce){
  .pnoel-rich *,
  .pnoel-rich *::before,
  .pnoel-rich *::after{
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
}

/* =========================================================
   19. PRINT
   ========================================================= */

@media print{
  .pnoel-rich{
    color:#000;
    border:0;
    box-shadow:none;
    background:#fff;
  }

  .pnoel-rich .pn-magical-hero,
  .pnoel-rich .pn-section--forest,
  .pnoel-rich .pn-cta,
  .pnoel-rich .pn-card--red,
  .pnoel-rich .pn-card--forest{
    color:#000!important;
    border:1px solid #bbb!important;
    box-shadow:none!important;
    background:#fff!important;
  }

  .pnoel-rich .pn-magical-hero *,
  .pnoel-rich .pn-section--forest *,
  .pnoel-rich .pn-cta *,
  .pnoel-rich .pn-card--red *,
  .pnoel-rich .pn-card--forest *{
    color:#000!important;
    text-shadow:none!important;
  }

}


/* =====================================================================
   PAPA-NOEL.NET — PATCH V5.2
   Base requise : Rich Christmas V5 "Féérie immersive"
   But :
   1) supprimer uniquement les micro-points décoratifs du CSS
      (la neige animée est déjà gérée par le JS du site)
   2) donner aux panneaux une silhouette plus organique de "tas de neige"
   Ce bloc est volontairement un OVERRIDE : aucun retour à une ancienne V4.
   ===================================================================== */


/* ---------------------------------------------------------------------
   A. SUPPRESSION DES MICRO-POINTS / FAUX FLOCONS
   On conserve les halos, la profondeur, l'or, le rouge, la forêt et la nuit.
   --------------------------------------------------------------------- */

/* Décor global : on enlève les deux trames de micro-points. */
.pnoel-rich{
  background:
    radial-gradient(circle at 93% 8%, rgba(247,221,160,.22), transparent 24%),
    radial-gradient(circle at 8% 92%, rgba(208,37,57,.20), transparent 28%),
    linear-gradient(145deg,var(--pn-night-1000) 0%,var(--pn-night-900) 38%,var(--pn-forest-950) 74%,#092c27 100%);
}

/* La V5 avait une seconde couche de petits points sur le wrapper. */
.pnoel-rich::before{
  background:
    linear-gradient(135deg,
      rgba(255,255,255,.055) 0%,
      rgba(255,255,255,0) 42%,
      rgba(247,221,160,.045) 100%);
  opacity:1;
  mix-blend-mode:screen;
}

/* Intro sombre : halos oui, trame de points non. */
.pnoel-rich .pn-intro{
  background:
    radial-gradient(circle at 85% 12%,rgba(247,221,160,.22),transparent 26%),
    linear-gradient(145deg,var(--pn-night-950),var(--pn-night-800) 48%,var(--pn-forest-900));
}

/* Hero Event : même V5, sans petits points. */
.pnoel-rich .pn-magical-hero{
  background:
    radial-gradient(circle at 87% 17%,rgba(247,221,160,.30),transparent 24%),
    radial-gradient(circle at 16% 110%,rgba(208,37,57,.38),transparent 38%),
    linear-gradient(135deg,#071a32 0%,#102f57 42%,#0b4b3e 100%);
}

/* On garde la lueur haute du hero, mais aucun "point étoilé". */
.pnoel-rich .pn-magical-hero::before{
  background:
    radial-gradient(ellipse at 89% 18%,rgba(247,221,160,.22),transparent 21%),
    radial-gradient(ellipse at 74% 35%,rgba(255,255,255,.075),transparent 24%),
    linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,0) 58%);
  opacity:1;
}

/* Chapitre neige : plus aucune répétition de points. */
.pnoel-rich .pn-section--snow{
  background:
    radial-gradient(circle at 88% 10%,rgba(167,215,244,.28),transparent 26%),
    linear-gradient(180deg,#ffffff 0%,#eef8ff 62%,#fff8ea 100%);
}

/* Chapitre forêt : plus aucune répétition de points. */
.pnoel-rich .pn-section--forest{
  background:
    radial-gradient(circle at 85% 15%,rgba(247,221,160,.20),transparent 25%),
    radial-gradient(circle at 7% 96%,rgba(208,37,57,.23),transparent 31%),
    linear-gradient(145deg,var(--pn-night-950) 0%,var(--pn-night-800) 44%,var(--pn-forest-900) 100%);
}

/* Cartes "vitrine" : suppression de la trame de micro-points. */
.pnoel-rich .pn-enchanted-card{
  background:
    radial-gradient(circle at 92% 8%,rgba(232,195,109,.24),transparent 25%),
    linear-gradient(180deg,#fffefa 0%,#fff2dc 100%);
}

/* CTA : même V5, mais sans trame ponctuée. */
.pnoel-rich .pn-cta{
  background:
    radial-gradient(circle at 82% 19%,rgba(247,221,160,.25),transparent 28%),
    radial-gradient(circle at 8% 102%,rgba(255,255,255,.10),transparent 30%),
    linear-gradient(135deg,var(--pn-red-800) 0%,var(--pn-red-700) 45%,var(--pn-night-800) 100%);
}


/* ---------------------------------------------------------------------
   B. SILHOUETTES "TAS DE NEIGE"
   Pas un simple border-radius uniforme : les 4 coins sont asymétriques
   et elliptiques pour donner une forme plus molle / accumulée.
   --------------------------------------------------------------------- */

/* Gros panneaux : forme organique, comme une congère. */
.pnoel-rich .pn-magical-hero,
.pnoel-rich .pn-intro,
.pnoel-rich .pn-shell,
.pnoel-rich .pn-section,
.pnoel-rich .pn-cta{
  border-radius:
    46px 35px 58px 42px /
    34px 42px 52px 46px;
}

/* Les chapitres alternent légèrement leur silhouette :
   cela évite l'effet "même rectangle répété 8 fois". */
.pnoel-rich .pn-section:nth-of-type(even){
  border-radius:
    36px 49px 43px 61px /
    42px 32px 50px 55px;
}

/* Bloc réponse / callouts : petits amas de neige plus compacts. */
.pnoel-rich .pn-answer,
.pnoel-rich .pn-callout{
  border-radius:
    30px 24px 42px 34px /
    24px 31px 38px 43px;
}

/* Cartes : silhouette de petits tas individuels. */
.pnoel-rich .pn-card,
.pnoel-rich .pn-enchanted-card,
.pnoel-rich .pn-hub-card,
.pnoel-rich .pn-product-card{
  border-radius:
    27px 35px 43px 31px /
    31px 24px 42px 36px;
}

.pnoel-rich .pn-card:nth-child(even),
.pnoel-rich .pn-enchanted-card:nth-child(even),
.pnoel-rich .pn-hub-card:nth-child(even),
.pnoel-rich .pn-product-card:nth-child(even){
  border-radius:
    36px 25px 31px 44px /
    25px 34px 40px 31px;
}

/* Facts : petites formes bombées plutôt que mini-rectangles. */
.pnoel-rich .pn-fact{
  border-radius:
    31px 25px 39px 34px /
    24px 30px 42px 36px;
}

/* Tableau, média, timeline, showcase : même langage visuel. */
.pnoel-rich .pn-table-wrap,
.pnoel-rich .pn-media,
.pnoel-rich .pn-timeline-item,
.pnoel-rich .pn-showcase__content,
.pnoel-rich .pn-showcase__media,
.pnoel-rich .pn-candy-panel,
.pnoel-rich .pn-candy-panel__inner{
  border-radius:
    30px 25px 39px 34px /
    23px 31px 42px 36px;
}


/* ---------------------------------------------------------------------
   C. EFFET "POSÉ DANS LA NEIGE"
   On n'ajoute PAS de flocons. On crée seulement un bourrelet clair et doux
   sous les panneaux, comme s'ils reposaient dans une petite congère.
   --------------------------------------------------------------------- */

/* Panneaux clairs. */
.pnoel-rich .pn-answer,
.pnoel-rich .pn-section:not(.pn-section--forest),
.pnoel-rich .pn-callout:not(.pn-callout--red),
.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest),
.pnoel-rich .pn-enchanted-card,
.pnoel-rich .pn-hub-card,
.pnoel-rich .pn-table-wrap,
.pnoel-rich .pn-media,
.pnoel-rich .pn-timeline-item{
  box-shadow:
    0 9px 0 -4px rgba(255,255,255,.92),
    0 15px 0 -7px rgba(225,239,248,.72),
    0 24px 45px rgba(4,18,36,.13);
}

/* Panneaux sombres : la neige blanche se lit davantage sous eux. */
.pnoel-rich .pn-magical-hero,
.pnoel-rich .pn-intro,
.pnoel-rich .pn-section--forest,
.pnoel-rich .pn-cta,
.pnoel-rich .pn-card--red,
.pnoel-rich .pn-card--forest,
.pnoel-rich .pn-showcase__content{
  box-shadow:
    0 10px 0 -5px rgba(255,255,255,.94),
    0 17px 0 -9px rgba(217,235,246,.72),
    0 29px 58px rgba(0,0,0,.24);
}


/* ---------------------------------------------------------------------
   D. EVENTNEXTGEN HORS WRAPPER : forme cohérente avec la V5
   --------------------------------------------------------------------- */

#event-content > main > article > h1{
  border-radius:
    25px 34px 39px 29px /
    22px 27px 36px 31px !important;
}

/* On remplace seulement l'ornement de petits symboles du H1
   par une lueur simple : aucun pseudo-flocon. */
#event-content > main > article > h1::after{
  content:"";
  width:86px;
  height:14px;
  right:21px;
  border-radius:999px;
  background:linear-gradient(
    90deg,
    rgba(255,255,255,0),
    rgba(247,221,160,.46),
    rgba(255,255,255,0)
  );
}

#event-content .event-main-image{
  border-radius:
    31px 38px 49px 34px /
    25px 30px 42px 37px !important;
}

/* Cartes annuelles = mini-congères. */
#event-content ul.eventeachyearlisting > li > a{
  border-radius:
    23px 30px 36px 27px /
    19px 25px 34px 29px !important;
}


/* ---------------------------------------------------------------------
   E. MOBILE
   --------------------------------------------------------------------- */

@media (max-width:700px){
  .pnoel-rich .pn-magical-hero,
  .pnoel-rich .pn-intro,
  .pnoel-rich .pn-shell,
  .pnoel-rich .pn-section,
  .pnoel-rich .pn-cta{
    border-radius:
      30px 24px 38px 28px /
      25px 29px 36px 32px;
  }

  .pnoel-rich .pn-answer,
  .pnoel-rich .pn-callout,
  .pnoel-rich .pn-card,
  .pnoel-rich .pn-enchanted-card,
  .pnoel-rich .pn-hub-card,
  .pnoel-rich .pn-fact{
    border-radius:
      24px 20px 31px 26px /
      20px 24px 30px 27px;
  }
}

/* ======================= FIN PATCH V5.2 ======================= */



/* =====================================================================
   PAPA-NOEL.NET — PATCH V5.3 DATA HUB
   Base : PNOEL_RICH_V5_2_FULL_SANS_POINTS_CONGERES.css
   Scope : #geo-content (DataBuilder SSCMS)
   ===================================================================== */

#geo-content{
  --pnd-night:#071a32;
  --pnd-night2:#102f57;
  --pnd-forest:#0b4b3e;
  --pnd-forest2:#0d5d4b;
  --pnd-red:#d02539;
  --pnd-red2:#8b101f;
  --pnd-gold:#e8c36d;
  --pnd-gold2:#f7dda0;
  --pnd-cream:#fff5df;
  --pnd-paper:#fffdf8;
  --pnd-ice:#eef8ff;
  --pnd-ink:#13293d;
  --pnd-shadow:0 20px 48px rgba(4,18,36,.15);
}

/* H1 DATA */
#geo-content > main > article > h1{
  position:relative;
  margin:10px 0 20px!important;
  padding:20px 28px 21px!important;
  color:#fff!important;
  border:1px solid rgba(247,221,160,.68)!important;
  border-radius:31px 39px 48px 34px / 25px 31px 41px 37px!important;
  background:
    radial-gradient(circle at 91% 12%,rgba(247,221,160,.23),transparent 25%),
    linear-gradient(135deg,var(--pnd-red2),var(--pnd-red) 44%,var(--pnd-night2))!important;
  box-shadow:
    0 9px 0 -4px rgba(255,255,255,.93),
    0 16px 0 -9px rgba(220,237,247,.74),
    0 24px 50px rgba(78,8,18,.22)!important;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif!important;
  font-size:clamp(2rem,4vw,3.25rem)!important;
  line-height:1.04!important;
  font-weight:950!important;
  letter-spacing:-.035em!important;
  text-align:left!important;
  text-shadow:0 3px 15px rgba(0,0,0,.17)!important;
  overflow:hidden;
}
#geo-content > main > article > h1::after{
  content:"";
  position:absolute;
  right:24px;
  top:50%;
  width:92px;
  height:15px;
  border-radius:999px;
  transform:translateY(-50%);
  background:linear-gradient(90deg,rgba(255,255,255,0),rgba(247,221,160,.46),rgba(255,255,255,0));
}

/* INTRO DATA */
#geo-content #sscms-data-main-content{
  position:relative;
  isolation:isolate;
  margin:0 0 24px;
  padding:22px;
  color:var(--pnd-ink);
  border:1px solid rgba(232,195,109,.52);
  border-radius:44px 35px 56px 42px / 33px 42px 50px 46px;
  background:
    radial-gradient(circle at 94% 8%,rgba(232,195,109,.18),transparent 25%),
    linear-gradient(180deg,#fffdf9,#fff4dc);
  box-shadow:
    0 9px 0 -4px rgba(255,255,255,.94),
    0 16px 0 -9px rgba(221,238,248,.72),
    var(--pnd-shadow);
  overflow:hidden;
}
#geo-content #sscms-data-main-content::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:7px;
  z-index:0;
  background:linear-gradient(90deg,var(--pnd-red),var(--pnd-gold2),var(--pnd-forest2),var(--pnd-gold2),var(--pnd-red));
}
#geo-content #sscms-data-main-content > *{position:relative;z-index:1}

#geo-content #sscms-data-main-content > img:first-child{
  display:block!important;
  width:100%!important;
  height:auto!important;
  margin:3px auto 25px!important;
  padding:7px!important;
  border:1px solid rgba(247,221,160,.76)!important;
  border-radius:36px 43px 52px 39px / 27px 34px 45px 40px!important;
  background:linear-gradient(145deg,#fff4bd,#c89234,#fff0ad)!important;
  box-shadow:
    0 0 0 4px #fff,
    0 0 0 7px rgba(139,16,31,.72),
    0 23px 48px rgba(4,18,36,.22)!important;
}
#geo-content #sscms-data-main-content > p{
  margin:0 4px 1.05em;
  font-size:clamp(1rem,.98rem + .13vw,1.08rem);
  line-height:1.72;
}
#geo-content #sscms-data-main-content > p:first-of-type{
  font-size:clamp(1.06rem,1rem + .25vw,1.18rem);
  line-height:1.68;
}
#geo-content #sscms-data-main-content > ul{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin:20px 0 22px!important;
  padding:0!important;
  list-style:none!important;
}
#geo-content #sscms-data-main-content > ul > li{
  position:relative;
  min-width:0;
  margin:0!important;
  padding:19px 17px 18px 43px!important;
  list-style:none!important;
  border:1px solid rgba(232,195,109,.36);
  border-radius:25px 31px 37px 28px / 22px 27px 34px 31px;
  background:
    radial-gradient(circle at 92% 8%,rgba(232,195,109,.18),transparent 25%),
    linear-gradient(180deg,#fffefb,#fff0d3);
  box-shadow:0 10px 23px rgba(4,18,36,.09);
}
#geo-content #sscms-data-main-content > ul > li::before{
  content:"";
  position:absolute;
  left:15px;
  top:20px;
  width:14px;
  height:14px;
  border:3px solid var(--pnd-gold);
  border-radius:50%;
  background:var(--pnd-red);
  box-shadow:0 5px 10px rgba(139,16,31,.15);
}

/* MAP */
#geo-content #sscms-data-main-content ~ h2{
  position:relative;
  margin:28px 0 13px!important;
  padding:15px 20px 16px 50px!important;
  color:#fff!important;
  border:1px solid rgba(247,221,160,.54)!important;
  border-radius:25px 31px 35px 26px / 20px 26px 31px 29px!important;
  background:
    radial-gradient(circle at 91% 12%,rgba(247,221,160,.18),transparent 25%),
    linear-gradient(135deg,var(--pnd-night2),var(--pnd-forest))!important;
  box-shadow:0 13px 29px rgba(4,18,36,.16)!important;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif!important;
  font-size:clamp(1.3rem,2.2vw,1.75rem)!important;
  line-height:1.15!important;
  font-weight:950!important;
  text-shadow:none!important;
}
#geo-content #sscms-data-main-content ~ h2::before{
  content:"⌖";
  position:absolute;
  left:17px;
  top:50%;
  transform:translateY(-50%);
  color:var(--pnd-gold2);
  font-size:1.25rem;
}

#geo-content .geomap-block{
  position:relative;
  width:100%;
  margin:0 0 30px!important;
  padding:24px!important;
  border:1px solid rgba(247,221,160,.64)!important;
  border-radius:42px 34px 53px 39px / 31px 39px 48px 43px!important;
  background:
    radial-gradient(circle at 89% 12%,rgba(247,221,160,.18),transparent 25%),
    radial-gradient(circle at 9% 95%,rgba(208,37,57,.19),transparent 31%),
    linear-gradient(145deg,var(--pnd-night),var(--pnd-night2) 45%,var(--pnd-forest))!important;
  box-shadow:
    0 10px 0 -5px rgba(255,255,255,.94),
    0 17px 0 -9px rgba(218,236,247,.74),
    0 28px 60px rgba(4,18,36,.24)!important;
  overflow:hidden!important;
}
#geo-content .geomap-block::before{
  content:"Explorer la France";
  position:absolute;
  z-index:4;
  left:18px;
  top:17px;
  padding:7px 12px;
  color:#68450c;
  border:1px solid rgba(255,255,255,.76);
  border-radius:999px;
  background:linear-gradient(180deg,#fff6cf,var(--pnd-gold2));
  box-shadow:0 8px 18px rgba(0,0,0,.15);
  font-size:.68rem;
  line-height:1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
  pointer-events:none;
}
#geo-content .geomap-block .canvasMap,
#geo-content .geomap-block .geomap-canvas{
  display:block;
  max-width:100%!important;
  margin:23px auto 0!important;
  border-radius:24px!important;
}
#geo-content .geomap-block .legende{position:relative;z-index:5}

/* CHILD HUB */
#geo-content #sscms-data-list-child{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
  margin:8px 0 30px;
}
#geo-content #sscms-data-list-child > h2,
#geo-content #sscms-data-list-child > ul{grid-column:1 / -1}

#geo-content #sscms-data-list-child > h2{
  position:relative;
  margin:12px 0 2px!important;
  padding:17px 21px 17px 55px!important;
  color:#fff!important;
  border:1px solid rgba(247,221,160,.58)!important;
  border-radius:28px 36px 41px 29px / 22px 30px 37px 32px!important;
  background:
    radial-gradient(circle at 92% 12%,rgba(247,221,160,.19),transparent 25%),
    linear-gradient(135deg,var(--pnd-red2),var(--pnd-red) 48%,var(--pnd-night2))!important;
  box-shadow:
    0 8px 0 -4px rgba(255,255,255,.94),
    0 14px 0 -8px rgba(220,237,247,.70),
    0 18px 38px rgba(62,7,16,.18)!important;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif!important;
  font-size:clamp(1.35rem,2.5vw,1.9rem)!important;
  line-height:1.12!important;
  font-weight:950!important;
  text-shadow:none!important;
}
#geo-content #sscms-data-list-child > h2::before{
  content:"";
  position:absolute;
  left:19px;
  top:50%;
  width:20px;
  height:20px;
  border:3px solid var(--pnd-gold2);
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--pnd-forest2);
  box-shadow:0 0 0 4px rgba(255,255,255,.08);
}

/* Top villes + régions */
#geo-content #sscms-data-list-child > ul{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:9px 11px!important;
  margin:0 0 12px!important;
  padding:17px!important;
  list-style:none!important;
  border:1px solid rgba(232,195,109,.40);
  border-radius:34px 28px 43px 35px / 26px 33px 39px 37px;
  background:
    radial-gradient(circle at 93% 7%,rgba(232,195,109,.16),transparent 24%),
    linear-gradient(180deg,#fffefb,#fff4df);
  box-shadow:
    0 9px 0 -4px rgba(255,255,255,.94),
    0 15px 0 -8px rgba(222,239,248,.70),
    0 18px 38px rgba(4,18,36,.11);
}
#geo-content #sscms-data-list-child > ul > li{
  min-width:0;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
#geo-content #sscms-data-list-child > ul > li::before{display:none!important}
#geo-content #sscms-data-list-child > ul > li > a{
  position:relative;
  display:flex;
  align-items:center;
  min-height:54px;
  height:100%;
  padding:10px 13px 10px 34px;
  color:var(--pnd-ink)!important;
  border:1px solid rgba(12,35,64,.09);
  border-radius:17px 21px 24px 18px / 15px 19px 23px 20px;
  background:rgba(255,255,255,.78);
  box-shadow:0 5px 13px rgba(4,18,36,.055);
  font-size:.88rem;
  line-height:1.25;
  font-weight:850;
  text-decoration:none!important;
  transition:transform .17s ease,box-shadow .17s ease,background .17s ease;
}
#geo-content #sscms-data-list-child > ul > li > a::before{
  content:"";
  position:absolute;
  left:13px;
  top:50%;
  width:10px;
  height:10px;
  border:2px solid var(--pnd-gold);
  border-radius:50%;
  transform:translateY(-50%);
  background:var(--pnd-red);
}
#geo-content #sscms-data-list-child > ul > li:nth-child(even) > a::before{
  background:var(--pnd-forest2);
}
#geo-content #sscms-data-list-child > ul > li > a:hover{
  transform:translateY(-2px);
  background:#fff;
  box-shadow:0 9px 18px rgba(4,18,36,.09);
}

/* Départements = panneaux */
#geo-content #sscms-data-list-child > .sscms_geodim_dep{
  position:relative;
  min-width:0;
  margin:0!important;
  padding:0 0 15px!important;
  border:1px solid rgba(232,195,109,.40);
  border-radius:29px 35px 42px 31px / 24px 30px 39px 34px;
  background:
    radial-gradient(circle at 94% 8%,rgba(232,195,109,.16),transparent 25%),
    linear-gradient(180deg,#fffdf8,#fff1d4);
  box-shadow:
    0 8px 0 -4px rgba(255,255,255,.93),
    0 14px 0 -8px rgba(222,239,248,.66),
    0 16px 32px rgba(4,18,36,.105);
  overflow:hidden;
  transition:transform .18s ease,box-shadow .18s ease;
}
#geo-content #sscms-data-list-child > .sscms_geodim_dep:nth-of-type(even){
  border-radius:36px 27px 31px 43px / 27px 33px 39px 31px;
}
#geo-content #sscms-data-list-child > .sscms_geodim_dep:hover{
  transform:translateY(-3px);
  box-shadow:
    0 9px 0 -4px rgba(255,255,255,.95),
    0 16px 0 -8px rgba(222,239,248,.70),
    0 23px 39px rgba(4,18,36,.14);
}
#geo-content #sscms-data-list-child .sscms_geodim_dep > h3{
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}
#geo-content #sscms-data-list-child .sscms_geodim_dep > h3 > a{
  position:relative;
  display:block;
  padding:16px 42px 15px 17px;
  color:#fff!important;
  background:
    radial-gradient(circle at 91% 12%,rgba(247,221,160,.18),transparent 25%),
    linear-gradient(135deg,var(--pnd-night2),var(--pnd-forest))!important;
  font-family:"Trebuchet MS","Arial Rounded MT Bold",Arial,sans-serif;
  font-size:1rem;
  line-height:1.25;
  font-weight:950;
  text-decoration:none!important;
}
#geo-content #sscms-data-list-child .sscms_geodim_dep > h3 > a::after{
  content:"›";
  position:absolute;
  right:17px;
  top:50%;
  color:var(--pnd-gold2);
  transform:translateY(-52%);
  font-size:1.65rem;
  line-height:1;
}
#geo-content #sscms-data-list-child ul.sscms_geodim_ville{
  margin:0!important;
  padding:12px 15px 0!important;
  list-style:none!important;
}
#geo-content #sscms-data-list-child ul.sscms_geodim_ville > li{
  margin:0!important;
  padding:0!important;
  list-style:none!important;
  border-bottom:1px solid rgba(12,35,64,.075);
}
#geo-content #sscms-data-list-child ul.sscms_geodim_ville > li:last-child{border-bottom:0}
#geo-content #sscms-data-list-child ul.sscms_geodim_ville > li::before{display:none!important}
#geo-content #sscms-data-list-child ul.sscms_geodim_ville > li > a{
  display:block;
  padding:9px 3px 9px 20px;
  color:#284359!important;
  background:linear-gradient(var(--pnd-gold),var(--pnd-gold)) 4px 50% / 7px 7px no-repeat;
  border-radius:9px;
  font-size:.86rem;
  line-height:1.28;
  font-weight:750;
  text-decoration:none!important;
}
#geo-content #sscms-data-list-child ul.sscms_geodim_ville > li > a:hover{
  color:var(--pnd-red2)!important;
  background-color:rgba(255,255,255,.70);
}
#geo-content #sscms-data-list-child ul.sscms_geodim_ville > li:last-child > a[href*="/departement/"]{
  margin:7px 0 1px;
  padding:10px 12px!important;
  color:#6b470d!important;
  border:1px solid rgba(185,135,47,.34);
  border-radius:999px;
  background:linear-gradient(180deg,#fff7d0,var(--pnd-gold2))!important;
  box-shadow:0 5px 12px rgba(87,56,7,.08);
  font-size:.78rem;
  font-weight:950;
  text-align:center;
}

@media (max-width:980px){
  #geo-content #sscms-data-main-content > ul{grid-template-columns:1fr}
  #geo-content #sscms-data-list-child > ul{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }
}
@media (max-width:700px){
  #geo-content > main > article > h1{
    padding:17px 19px!important;
    font-size:clamp(1.8rem,9vw,2.6rem)!important;
    border-radius:24px 28px 34px 25px / 20px 24px 31px 27px!important;
  }
  #geo-content > main > article > h1::after{display:none}
  #geo-content #sscms-data-main-content{
    padding:14px;
    border-radius:28px 24px 34px 29px / 22px 27px 31px 30px;
  }
  #geo-content #sscms-data-main-content > img:first-child{
    padding:4px!important;
    border-radius:23px 27px 31px 24px / 19px 23px 29px 26px!important;
    box-shadow:
      0 0 0 3px #fff,
      0 0 0 5px rgba(139,16,31,.69),
      0 17px 34px rgba(4,18,36,.18)!important;
  }
  #geo-content .geomap-block{
    padding:14px!important;
    border-radius:28px 24px 35px 29px / 22px 28px 32px 30px!important;
  }
  #geo-content .geomap-block::before{
    position:relative;
    display:inline-flex;
    left:auto;
    top:auto;
    margin:0 0 7px;
  }
  #geo-content .geomap-block .canvasMap,
  #geo-content .geomap-block .geomap-canvas{margin-top:5px!important}
  #geo-content #sscms-data-list-child{
    grid-template-columns:1fr;
    gap:12px;
  }
  #geo-content #sscms-data-list-child > ul{
    grid-template-columns:1fr!important;
    padding:12px!important;
  }
  #geo-content #sscms-data-list-child > .sscms_geodim_dep{
    border-radius:25px 21px 30px 26px / 20px 24px 29px 27px;
  }
}
@media (prefers-reduced-motion:reduce){
  #geo-content *,
  #geo-content *::before,
  #geo-content *::after{
    transition:none!important;
    animation:none!important;
  }
}

/* ====================== FIN PATCH V5.3 DATA HUB ====================== */
/* =====================================================================
   PAPA-NOEL.NET — PATCH V5.5 STOREVISION
   Base requise : PNOEL_RICH_V5_4_FULL_DATA_SANS_SOCIAL.css
   Scope absolu : .pnoel-rich.pn-store-rich

   Objectifs :
   - rendre les composants pn-store-* réellement lisibles et premium ;
   - éviter le grand panneau sombre avec texte sombre du rendu non stylé ;
   - neutraliser les styles génériques de listes de .pnoel-rich sur le listicle ;
   - ne toucher à AUCUN composant natif StoreVision hors wrapper ;
   - ne toucher à AUCUN bouton / module social ;
   - ne créer aucune fausse neige : la neige animée reste gérée par le JS du site.
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. TOKENS + WRAPPER STORE
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich{
  --pns-night:#06182f;
  --pns-night-2:#0c2b4c;
  --pns-forest:#073b32;
  --pns-forest-2:#0b5144;
  --pns-red:#c91f2b;
  --pns-red-2:#9c1421;
  --pns-gold:#d7ad57;
  --pns-gold-2:#f0cf82;
  --pns-snow:#fffdf8;
  --pns-cream:#fff5df;
  --pns-cream-2:#f8ead0;
  --pns-ink:#13293d;
  --pns-muted:#53697a;
  --pns-line:rgba(12,35,64,.12);

  padding:clamp(14px,2.5vw,24px);
  color:var(--pns-ink);
  background:
    radial-gradient(ellipse at 91% 5%,rgba(240,207,130,.18),transparent 27%),
    radial-gradient(ellipse at 9% 98%,rgba(201,31,43,.18),transparent 30%),
    linear-gradient(145deg,var(--pns-night) 0%,#0b2948 42%,var(--pns-forest) 100%);
}

.pnoel-rich.pn-store-rich::before{
  background:
    linear-gradient(135deg,rgba(255,255,255,.045),rgba(255,255,255,0) 45%,rgba(240,207,130,.035));
  opacity:1;
}

/* Le store utilise ses propres panneaux ; on impose une base de typo lisible. */
.pnoel-rich.pn-store-rich .pn-store-section,
.pnoel-rich.pn-store-rich .pn-store-hero,
.pnoel-rich.pn-store-rich .pn-store-callout,
.pnoel-rich.pn-store-rich .pn-store-trust{
  position:relative;
  z-index:1;
  min-width:0;
}

.pnoel-rich.pn-store-rich .pn-store-section *,
.pnoel-rich.pn-store-rich .pn-store-hero *,
.pnoel-rich.pn-store-rich .pn-store-callout *,
.pnoel-rich.pn-store-rich .pn-store-trust *{
  box-sizing:border-box;
}

/* ---------------------------------------------------------------------
   2. HERO INTERNE — vitrine de l'atelier
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-hero{
  display:grid;
  grid-template-columns:minmax(0,1.55fr) minmax(140px,.65fr);
  gap:clamp(18px,3vw,34px);
  align-items:center;
  margin:0 0 24px;
  padding:clamp(28px,4vw,48px);
  color:#fff;
  border:1px solid rgba(240,207,130,.66);
  border-radius:48px 34px 58px 41px / 34px 43px 53px 46px;
  background:
    radial-gradient(ellipse at 83% 16%,rgba(240,207,130,.24),transparent 25%),
    radial-gradient(ellipse at 13% 115%,rgba(201,31,43,.38),transparent 39%),
    linear-gradient(135deg,#071a32 0%,#10365e 45%,#0b5144 100%);
  box-shadow:
    0 10px 0 -5px rgba(255,255,255,.95),
    0 17px 0 -9px rgba(218,236,247,.74),
    0 28px 58px rgba(0,0,0,.24);
  overflow:hidden;
}

.pnoel-rich.pn-store-rich .pn-store-hero::after{
  content:"";
  position:absolute;
  inset:auto -8% -62px 32%;
  height:116px;
  border-radius:50% 48% 0 0 / 72% 72% 0 0;
  background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(229,242,250,.88));
  opacity:.9;
  pointer-events:none;
}

.pnoel-rich.pn-store-rich .pn-store-hero__content{
  position:relative;
  z-index:3;
}

.pnoel-rich.pn-store-rich .pn-store-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  width:max-content;
  max-width:100%;
  margin:0 0 13px;
  padding:8px 12px;
  color:#68450c;
  border:1px solid rgba(255,255,255,.78);
  border-radius:999px;
  background:linear-gradient(180deg,#fff7d7,var(--pns-gold-2));
  box-shadow:0 8px 18px rgba(0,0,0,.11);
  font-size:.72rem;
  line-height:1.1;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.pnoel-rich.pn-store-rich .pn-store-eyebrow::before{
  content:"✦";
  color:var(--pns-red);
}

.pnoel-rich.pn-store-rich .pn-store-hero h2{
  margin:0 0 15px!important;
  padding:0!important;
  color:#fff!important;
  background:none!important;
  font-size:clamp(1.85rem,3.7vw,3.05rem)!important;
  line-height:1.04!important;
  letter-spacing:-.035em!important;
  text-shadow:0 3px 15px rgba(0,0,0,.18)!important;
}

.pnoel-rich.pn-store-rich .pn-store-hero h2::after{
  width:108px;
  background:linear-gradient(90deg,var(--pns-gold-2),#fff,var(--pns-red));
}

.pnoel-rich.pn-store-rich .pn-store-lead{
  max-width:760px;
  margin:0!important;
  color:rgba(255,255,255,.94)!important;
  font-size:clamp(1.04rem,1rem + .24vw,1.18rem)!important;
  line-height:1.68!important;
}

.pnoel-rich.pn-store-rich .pn-store-hero__visual{
  position:relative;
  z-index:2;
  min-height:190px;
  align-self:stretch;
}

.pnoel-rich.pn-store-rich .pn-store-hero__glow{
  position:absolute;
  width:156px;
  height:156px;
  right:6%;
  top:2%;
  border-radius:50%;
  background:radial-gradient(circle,rgba(255,248,210,.92) 0 8%,rgba(240,207,130,.38) 28%,rgba(240,207,130,0) 68%);
  filter:drop-shadow(0 0 18px rgba(240,207,130,.24));
}

.pnoel-rich.pn-store-rich .pn-store-hero__forest{
  position:absolute;
  left:0;
  right:0;
  bottom:18px;
  height:105px;
  opacity:.96;
  background:
    linear-gradient(62deg,transparent 43%,#0a392f 44% 56%,transparent 57%) 4% 100%/62px 88px repeat-x,
    linear-gradient(62deg,transparent 43%,#0d5142 44% 56%,transparent 57%) 22% 100%/78px 108px repeat-x;
  clip-path:polygon(0 100%,0 73%,7% 73%,13% 28%,19% 73%,26% 73%,34% 15%,42% 73%,49% 73%,57% 35%,64% 73%,71% 73%,79% 20%,87% 73%,94% 73%,100% 45%,100% 100%);
}

.pnoel-rich.pn-store-rich .pn-store-hero__gifts{
  position:absolute;
  right:9%;
  bottom:23px;
  width:82px;
  height:60px;
  border:4px solid rgba(240,207,130,.90);
  border-radius:8px 12px 9px 13px;
  background:linear-gradient(145deg,#d82c3d,#94111e);
  box-shadow:-54px 12px 0 -5px #0d6954,-54px 12px 0 -1px rgba(240,207,130,.82);
}

.pnoel-rich.pn-store-rich .pn-store-hero__gifts::before,
.pnoel-rich.pn-store-rich .pn-store-hero__gifts::after{
  content:"";
  position:absolute;
  background:var(--pns-gold-2);
}
.pnoel-rich.pn-store-rich .pn-store-hero__gifts::before{left:34px;top:0;bottom:0;width:8px}
.pnoel-rich.pn-store-rich .pn-store-hero__gifts::after{left:0;right:0;top:23px;height:8px}

/* ---------------------------------------------------------------------
   3. SECTIONS CLAIRES — corrige précisément le texte sombre sur fond sombre
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-section{
  margin:0 0 24px;
  padding:clamp(25px,4vw,40px);
  color:var(--pns-ink)!important;
  border:1px solid rgba(215,173,87,.44);
  border-radius:40px 31px 50px 38px / 30px 39px 46px 42px;
  background:
    radial-gradient(ellipse at 93% 8%,rgba(240,207,130,.18),transparent 26%),
    linear-gradient(180deg,#fffdf9 0%,#fff3dc 100%);
  box-shadow:
    0 9px 0 -4px rgba(255,255,255,.94),
    0 16px 0 -9px rgba(221,238,248,.70),
    0 22px 44px rgba(4,18,36,.13);
  overflow:hidden;
}

.pnoel-rich.pn-store-rich .pn-store-section:nth-of-type(even){
  border-radius:31px 44px 38px 53px / 39px 29px 47px 48px;
}

.pnoel-rich.pn-store-rich .pn-store-section__head{
  position:relative;
  z-index:2;
  max-width:880px;
  margin:0 0 20px;
}

.pnoel-rich.pn-store-rich .pn-store-section h2,
.pnoel-rich.pn-store-rich .pn-store-section h3{
  color:var(--pns-ink)!important;
  background:none!important;
  text-shadow:none!important;
}

.pnoel-rich.pn-store-rich .pn-store-section p,
.pnoel-rich.pn-store-rich .pn-store-section li{
  color:var(--pns-ink);
}

.pnoel-rich.pn-store-rich .pn-store-section__head > p:last-child{
  margin-bottom:0;
  color:var(--pns-muted);
}

/* ---------------------------------------------------------------------
   4. CARDS D'ORIENTATION
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-card-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:15px;
  margin:18px 0 0;
}

.pnoel-rich.pn-store-rich .pn-store-card{
  position:relative;
  min-width:0;
  padding:23px 20px 20px;
  color:var(--pns-ink);
  border:1px solid rgba(215,173,87,.38);
  border-radius:27px 34px 40px 30px / 31px 24px 39px 35px;
  background:linear-gradient(180deg,#fffefa,#fff0d4);
  box-shadow:0 12px 26px rgba(4,18,36,.105);
  overflow:hidden;
  transition:transform .2s ease,box-shadow .2s ease;
}

.pnoel-rich.pn-store-rich .pn-store-card:nth-child(even){
  border-radius:35px 24px 29px 42px / 24px 33px 38px 29px;
}

.pnoel-rich.pn-store-rich .pn-store-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:6px;
  background:linear-gradient(90deg,var(--pns-red),var(--pns-gold-2),var(--pns-forest-2));
}

.pnoel-rich.pn-store-rich .pn-store-card:hover{
  transform:translateY(-4px);
  box-shadow:0 20px 38px rgba(4,18,36,.16);
}

.pnoel-rich.pn-store-rich .pn-store-card h3{
  margin:0 0 9px!important;
  color:inherit!important;
}

.pnoel-rich.pn-store-rich .pn-store-card p{
  margin:0 0 14px;
  color:inherit!important;
  font-size:.96rem;
  line-height:1.58;
}

.pnoel-rich.pn-store-rich .pn-store-card__icon{
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin:0 0 15px;
  border:2px solid rgba(215,173,87,.62);
  border-radius:50%;
  background:linear-gradient(145deg,#fff9dc,#f0cf82);
  box-shadow:0 8px 18px rgba(87,56,7,.11);
  font-size:1.42rem;
}

.pnoel-rich.pn-store-rich .pn-store-card--red{
  color:#fff;
  border-color:rgba(240,207,130,.56);
  background:linear-gradient(145deg,#d72a3a,#7e0e19);
}

.pnoel-rich.pn-store-rich .pn-store-card--forest{
  color:#fff;
  border-color:rgba(240,207,130,.52);
  background:linear-gradient(145deg,#0d6653,#062d28);
}

.pnoel-rich.pn-store-rich .pn-store-card--night{
  color:#fff;
  border-color:rgba(240,207,130,.48);
  background:linear-gradient(145deg,#12365e,#06182f);
}

.pnoel-rich.pn-store-rich .pn-store-card--gold{
  color:#5b3b0c;
  background:linear-gradient(145deg,#fffef6,#f3d789);
}

.pnoel-rich.pn-store-rich .pn-store-card--snow{
  color:var(--pns-ink);
  background:linear-gradient(180deg,#fff,#edf8ff);
}

.pnoel-rich.pn-store-rich .pn-store-card--featured{
  grid-column:span 2;
  min-height:220px;
}

.pnoel-rich.pn-store-rich .pn-store-card--wide{grid-column:1 / -1}

.pnoel-rich.pn-store-rich .pn-store-card--red h3,
.pnoel-rich.pn-store-rich .pn-store-card--forest h3,
.pnoel-rich.pn-store-rich .pn-store-card--night h3,
.pnoel-rich.pn-store-rich .pn-store-card--red p,
.pnoel-rich.pn-store-rich .pn-store-card--forest p,
.pnoel-rich.pn-store-rich .pn-store-card--night p{
  color:#fff!important;
}

.pnoel-rich.pn-store-rich .pn-store-card__link{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-top:auto;
  color:var(--pns-red-2)!important;
  font-weight:900!important;
  text-decoration:none!important;
}

.pnoel-rich.pn-store-rich .pn-store-card__link::after{content:"→"}

.pnoel-rich.pn-store-rich .pn-store-card--red .pn-store-card__link,
.pnoel-rich.pn-store-rich .pn-store-card--forest .pn-store-card__link,
.pnoel-rich.pn-store-rich .pn-store-card--night .pn-store-card__link{
  color:#ffe5a6!important;
}

/* ---------------------------------------------------------------------
   5. CRITÈRES
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-criteria-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
  margin:18px 0 0;
}

.pnoel-rich.pn-store-rich .pn-store-criterion{
  position:relative;
  min-width:0;
  padding:20px 18px 18px 72px;
  border:1px solid rgba(12,35,64,.10);
  border-radius:23px 29px 34px 25px / 20px 26px 31px 28px;
  background:rgba(255,255,255,.82);
  box-shadow:0 8px 17px rgba(4,18,36,.065);
}

.pnoel-rich.pn-store-rich .pn-store-criterion__icon{
  position:absolute;
  left:16px;
  top:18px;
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  color:#68450c;
  border:1px solid rgba(215,173,87,.54);
  border-radius:50%;
  background:linear-gradient(145deg,#fff8d9,var(--pns-gold-2));
  font-size:1.08rem;
  font-weight:950;
}

.pnoel-rich.pn-store-rich .pn-store-criterion h3{font-size:1.08rem!important}
.pnoel-rich.pn-store-rich .pn-store-criterion p{margin:0!important;font-size:.93rem!important;line-height:1.55!important;color:#40596c!important}

/* ---------------------------------------------------------------------
   6. LISTICLE GEO — panneau nuit lisible + neutralisation des listes V5
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-section--listicle{
  color:#fff!important;
  border-color:rgba(240,207,130,.56);
  background:
    radial-gradient(ellipse at 90% 8%,rgba(240,207,130,.18),transparent 28%),
    radial-gradient(ellipse at 5% 100%,rgba(201,31,43,.22),transparent 31%),
    linear-gradient(145deg,#071a32 0%,#10345a 48%,#073b32 100%);
  box-shadow:
    0 10px 0 -5px rgba(255,255,255,.94),
    0 17px 0 -9px rgba(217,235,246,.72),
    0 29px 58px rgba(0,0,0,.22);
}

.pnoel-rich.pn-store-rich .pn-store-section--listicle h2,
.pnoel-rich.pn-store-rich .pn-store-section--listicle h3,
.pnoel-rich.pn-store-rich .pn-store-section--listicle p,
.pnoel-rich.pn-store-rich .pn-store-section--listicle li{
  color:#fff!important;
}

.pnoel-rich.pn-store-rich .pn-store-section--listicle .pn-store-section__head > p:last-child{
  color:rgba(255,255,255,.82)!important;
}

.pnoel-rich.pn-store-rich .pn-store-listicle{
  position:relative;
  display:grid;
  gap:13px;
  margin:24px 0 0!important;
  padding:0!important;
  list-style:none!important;
  counter-reset:none!important;
}

.pnoel-rich.pn-store-rich .pn-store-listicle::before{
  content:"";
  position:absolute;
  left:30px;
  top:26px;
  bottom:26px;
  width:2px;
  background:linear-gradient(180deg,var(--pns-gold-2),rgba(240,207,130,.20),var(--pns-red));
  box-shadow:0 0 13px rgba(240,207,130,.22);
}

/* Important : écrase les règles génériques .pnoel-rich ol > li. */
.pnoel-rich.pn-store-rich .pn-store-listicle > .pn-store-listicle__item{
  position:relative;
  display:grid;
  grid-template-columns:62px minmax(0,1fr);
  gap:16px;
  align-items:start;
  min-height:0!important;
  margin:0!important;
  padding:16px 18px 16px 0!important;
  border:1px solid rgba(255,255,255,.10);
  border-radius:22px 28px 31px 24px / 19px 25px 29px 27px;
  background:rgba(255,255,255,.055);
  backdrop-filter:blur(2px);
}

.pnoel-rich.pn-store-rich .pn-store-listicle > .pn-store-listicle__item::before{
  display:none!important;
  content:none!important;
}

.pnoel-rich.pn-store-rich .pn-store-listicle__number{
  position:relative;
  z-index:2;
  display:grid;
  place-items:center;
  width:54px;
  height:54px;
  margin-left:4px;
  color:#5f3e0c;
  border:2px solid rgba(255,255,255,.74);
  border-radius:50%;
  background:linear-gradient(145deg,#fff4bc,var(--pns-gold));
  box-shadow:0 8px 18px rgba(0,0,0,.22);
  font-size:.88rem;
  line-height:1;
  font-weight:950;
}

.pnoel-rich.pn-store-rich .pn-store-listicle__content{padding-top:3px}
.pnoel-rich.pn-store-rich .pn-store-listicle__content h3{margin-bottom:7px!important;font-size:1.12rem!important}
.pnoel-rich.pn-store-rich .pn-store-listicle__content p{margin:0!important;color:rgba(255,255,255,.88)!important;font-size:.94rem!important;line-height:1.58!important}

/* ---------------------------------------------------------------------
   7. CHECKLIST
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-section--checklist{
  padding:0;
  background:none;
  border:0;
  box-shadow:none;
  overflow:visible;
}

.pnoel-rich.pn-store-rich .pn-store-checklist{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);
  gap:24px;
  padding:clamp(25px,4vw,39px);
  color:var(--pns-ink);
  border:2px solid rgba(215,173,87,.55);
  border-radius:38px 30px 48px 35px / 29px 37px 44px 40px;
  background:
    radial-gradient(ellipse at 92% 8%,rgba(215,173,87,.22),transparent 27%),
    linear-gradient(145deg,#fffdf7,#f5dfae);
  box-shadow:
    0 9px 0 -4px rgba(255,255,255,.95),
    0 16px 0 -9px rgba(220,237,247,.71),
    0 22px 44px rgba(4,18,36,.13);
}

.pnoel-rich.pn-store-rich .pn-store-checklist h2{color:var(--pns-ink)!important}
.pnoel-rich.pn-store-rich .pn-store-checklist p{color:#40596c!important}

.pnoel-rich.pn-store-rich .pn-store-checklist__items{
  display:grid;
  gap:9px;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}

.pnoel-rich.pn-store-rich .pn-store-checklist__items > li{
  position:relative;
  margin:0!important;
  padding:12px 13px 12px 42px!important;
  color:var(--pns-ink)!important;
  border:1px solid rgba(12,35,64,.09);
  border-radius:15px 19px 18px 16px;
  background:rgba(255,255,255,.70);
  font-size:.92rem;
  line-height:1.48;
  list-style:none;
}

.pnoel-rich.pn-store-rich .pn-store-checklist__items > li::before{
  content:"✓"!important;
  display:grid!important;
  place-items:center;
  position:absolute;
  left:12px!important;
  top:50%!important;
  width:21px!important;
  height:21px!important;
  transform:translateY(-50%);
  color:#fff!important;
  border:0!important;
  border-radius:50%!important;
  background:linear-gradient(145deg,var(--pns-forest-2),#0a6d57)!important;
  box-shadow:0 4px 9px rgba(7,59,50,.16)!important;
  font-size:.74rem!important;
  font-weight:950!important;
}

/* ---------------------------------------------------------------------
   8. CALLOUTS
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-callout{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:15px;
  align-items:start;
  margin:0 0 24px;
  padding:21px 22px;
  color:#5a3b0c;
  border:1px solid rgba(215,173,87,.52);
  border-radius:27px 21px 36px 29px / 22px 27px 32px 31px;
  background:linear-gradient(145deg,#fff8d9,#efd184);
  box-shadow:
    0 8px 0 -4px rgba(255,255,255,.93),
    0 14px 0 -8px rgba(222,239,248,.67),
    0 16px 31px rgba(4,18,36,.10);
}

.pnoel-rich.pn-store-rich .pn-store-callout__icon{
  display:grid;
  place-items:center;
  width:48px;
  height:48px;
  border:1px solid rgba(156,20,33,.20);
  border-radius:50%;
  background:rgba(255,255,255,.72);
  font-size:1.25rem;
}

.pnoel-rich.pn-store-rich .pn-store-callout h3{color:#583909!important;margin-bottom:6px!important}
.pnoel-rich.pn-store-rich .pn-store-callout p{margin:0!important;color:#664814!important}
.pnoel-rich.pn-store-rich .pn-store-callout a{color:#8b101f!important}

.pnoel-rich.pn-store-rich .pn-store-callout--warning{
  color:#fff;
  border-color:rgba(240,207,130,.52);
  background:linear-gradient(145deg,#b91829,#73101a);
}
.pnoel-rich.pn-store-rich .pn-store-callout--warning h3,
.pnoel-rich.pn-store-rich .pn-store-callout--warning p,
.pnoel-rich.pn-store-rich .pn-store-callout--warning a{color:#fff!important}

.pnoel-rich.pn-store-rich .pn-store-callout--safety{
  color:#fff;
  background:linear-gradient(145deg,#0d6653,#06352c);
}
.pnoel-rich.pn-store-rich .pn-store-callout--safety h3,
.pnoel-rich.pn-store-rich .pn-store-callout--safety p,
.pnoel-rich.pn-store-rich .pn-store-callout--safety a{color:#fff!important}

/* ---------------------------------------------------------------------
   9. TABLEAUX
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-table-wrap{
  margin:18px 0 0;
  overflow-x:auto;
  border:2px solid rgba(215,173,87,.45);
  border-radius:24px 29px 32px 25px / 21px 25px 30px 27px;
  background:#fff;
  box-shadow:0 12px 26px rgba(4,18,36,.10);
}

.pnoel-rich.pn-store-rich .pn-store-table{
  width:100%;
  min-width:620px;
  margin:0!important;
  border-collapse:collapse!important;
  color:var(--pns-ink)!important;
  background:#fff!important;
}

.pnoel-rich.pn-store-rich .pn-store-table th{
  padding:13px 14px!important;
  color:#fff!important;
  border:0!important;
  border-right:1px solid rgba(255,255,255,.12)!important;
  background:linear-gradient(145deg,#0c3154,#073b32)!important;
  font-size:.9rem!important;
  text-align:left!important;
}

.pnoel-rich.pn-store-rich .pn-store-table td{
  padding:12px 14px!important;
  color:var(--pns-ink)!important;
  border:0!important;
  border-bottom:1px solid rgba(12,35,64,.08)!important;
  background:#fffdf8!important;
  font-size:.9rem!important;
}

.pnoel-rich.pn-store-rich .pn-store-table tbody tr:nth-child(even) td{background:#fff4df!important}
.pnoel-rich.pn-store-rich .pn-store-table tbody tr:last-child td{border-bottom:0!important}

/* ---------------------------------------------------------------------
   10. PARCOURS / SOUS-CATÉGORIES
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-pathways{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin:18px 0 0;
}

.pnoel-rich.pn-store-rich .pn-store-pathway{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  min-width:0;
  padding:15px 16px;
  color:var(--pns-ink)!important;
  border:1px solid rgba(12,35,64,.10);
  border-radius:18px 23px 24px 19px;
  background:rgba(255,255,255,.84);
  box-shadow:0 7px 15px rgba(4,18,36,.06);
  text-decoration:none!important;
  transition:transform .18s ease,box-shadow .18s ease;
}

.pnoel-rich.pn-store-rich .pn-store-pathway:hover{
  transform:translateY(-2px);
  box-shadow:0 11px 22px rgba(4,18,36,.10);
}

.pnoel-rich.pn-store-rich .pn-store-pathway__icon{
  display:grid;
  place-items:center;
  width:42px;
  height:42px;
  border-radius:50%;
  background:linear-gradient(145deg,#fff4bc,var(--pns-gold));
}

.pnoel-rich.pn-store-rich .pn-store-pathway__content strong{display:block;color:var(--pns-ink)!important}
.pnoel-rich.pn-store-rich .pn-store-pathway__content small{display:block;margin-top:2px;color:var(--pns-muted);font-size:.78rem;line-height:1.35}
.pnoel-rich.pn-store-rich .pn-store-pathway__arrow{color:var(--pns-red);font-size:1.25rem;font-weight:950}

/* ---------------------------------------------------------------------
   11. FAQ
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-faq{
  display:grid;
  gap:9px;
  margin:17px 0 0;
}

.pnoel-rich.pn-store-rich .pn-store-faq__item{
  border:1px solid rgba(12,35,64,.11);
  border-radius:18px 22px 21px 17px;
  background:rgba(255,255,255,.82);
  box-shadow:0 6px 15px rgba(4,18,36,.055);
  overflow:hidden;
}

.pnoel-rich.pn-store-rich .pn-store-faq__item summary{
  position:relative;
  padding:15px 48px 15px 16px;
  color:var(--pns-ink);
  cursor:pointer;
  list-style:none;
  font-weight:900;
}

.pnoel-rich.pn-store-rich .pn-store-faq__item summary::-webkit-details-marker{display:none}
.pnoel-rich.pn-store-rich .pn-store-faq__item summary::after{
  content:"+";
  position:absolute;
  right:16px;
  top:50%;
  transform:translateY(-50%);
  display:grid;
  place-items:center;
  width:25px;
  height:25px;
  border-radius:50%;
  color:#fff;
  background:var(--pns-red);
}
.pnoel-rich.pn-store-rich .pn-store-faq__item[open] summary::after{content:"−"}
.pnoel-rich.pn-store-rich .pn-store-faq__answer{padding:0 16px 15px}
.pnoel-rich.pn-store-rich .pn-store-faq__answer p{margin:0!important;color:#40596c!important}

/* ---------------------------------------------------------------------
   12. TRANSPARENCE COMMERCIALE
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich .pn-store-trust{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:18px;
  align-items:start;
  margin:3px 0 0;
  padding:clamp(24px,4vw,34px);
  color:#fff;
  border:1px solid rgba(240,207,130,.62);
  border-radius:35px 43px 49px 31px / 29px 34px 43px 39px;
  background:
    radial-gradient(ellipse at 90% 10%,rgba(240,207,130,.18),transparent 27%),
    linear-gradient(145deg,#0b5144,#073b32 52%,#071a32);
  box-shadow:
    0 10px 0 -5px rgba(255,255,255,.93),
    0 17px 0 -9px rgba(217,235,246,.70),
    0 25px 49px rgba(0,0,0,.20);
}

.pnoel-rich.pn-store-rich .pn-store-trust__icon{
  display:grid;
  place-items:center;
  width:58px;
  height:58px;
  border:2px solid rgba(255,255,255,.72);
  border-radius:50%;
  background:linear-gradient(145deg,#fff5c5,var(--pns-gold));
  box-shadow:0 8px 17px rgba(0,0,0,.16);
  font-size:1.35rem;
}

.pnoel-rich.pn-store-rich .pn-store-trust h2{
  margin:0 0 10px!important;
  color:#fff!important;
  background:none!important;
  font-size:clamp(1.38rem,2.4vw,1.85rem)!important;
}
.pnoel-rich.pn-store-rich .pn-store-trust h2::after{background:linear-gradient(90deg,var(--pns-gold-2),#fff,var(--pns-red))}
.pnoel-rich.pn-store-rich .pn-store-trust p{margin:0!important;color:rgba(255,255,255,.90)!important}

/* ---------------------------------------------------------------------
   13. MODIFICATEURS D'UNIVERS
   Ils changent seulement des accents ; aucune dépendance au template natif.
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich--decoration .pn-store-hero{
  background:
    radial-gradient(ellipse at 84% 12%,rgba(240,207,130,.28),transparent 26%),
    linear-gradient(135deg,#071a32 0%,#12365e 44%,#0b5144 100%);
}

.pnoel-rich.pn-store-rich--tree .pn-store-hero,
.pnoel-rich.pn-store-rich--elf .pn-store-hero{
  background:
    radial-gradient(ellipse at 84% 12%,rgba(240,207,130,.25),transparent 26%),
    linear-gradient(135deg,#062d28 0%,#0b5144 52%,#071a32 100%);
}

.pnoel-rich.pn-store-rich--advent .pn-store-hero,
.pnoel-rich.pn-store-rich--gift .pn-store-hero{
  background:
    radial-gradient(ellipse at 84% 12%,rgba(240,207,130,.27),transparent 26%),
    linear-gradient(135deg,#8a101c 0%,#c91f2b 48%,#0c2b4c 100%);
}

.pnoel-rich.pn-store-rich--costume .pn-store-hero,
.pnoel-rich.pn-store-rich--apparel .pn-store-hero,
.pnoel-rich.pn-store-rich--audience .pn-store-hero{
  background:
    radial-gradient(ellipse at 84% 12%,rgba(240,207,130,.24),transparent 26%),
    linear-gradient(135deg,#7e0e19 0%,#c91f2b 44%,#073b32 100%);
}

.pnoel-rich.pn-store-rich--book .pn-store-hero{
  background:
    radial-gradient(ellipse at 84% 12%,rgba(240,207,130,.26),transparent 26%),
    linear-gradient(135deg,#102f57 0%,#183f69 46%,#6f321a 100%);
}

.pnoel-rich.pn-store-rich--kitchen .pn-store-hero{
  background:
    radial-gradient(ellipse at 84% 12%,rgba(240,207,130,.27),transparent 26%),
    linear-gradient(135deg,#8b101f 0%,#bd2734 45%,#6f4515 100%);
}

.pnoel-rich.pn-store-rich--license .pn-store-hero{
  background:
    radial-gradient(ellipse at 84% 12%,rgba(240,207,130,.23),transparent 26%),
    linear-gradient(135deg,#071a32 0%,#193e68 50%,#6b1420 100%);
}

/* ---------------------------------------------------------------------
   14. FOCUS / ACCESSIBILITÉ — uniquement dans le wrapper Store
   --------------------------------------------------------------------- */

.pnoel-rich.pn-store-rich a:focus-visible,
.pnoel-rich.pn-store-rich summary:focus-visible{
  outline:3px solid var(--pns-gold-2)!important;
  outline-offset:3px!important;
}

/* ---------------------------------------------------------------------
   15. RESPONSIVE
   --------------------------------------------------------------------- */

@media (max-width:980px){
  .pnoel-rich.pn-store-rich .pn-store-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pnoel-rich.pn-store-rich .pn-store-card--featured{grid-column:span 1}
}

@media (max-width:700px){
  .pnoel-rich.pn-store-rich{padding:10px}

  .pnoel-rich.pn-store-rich .pn-store-hero{
    grid-template-columns:1fr;
    padding:25px 20px 31px;
    border-radius:30px 24px 38px 28px / 25px 29px 36px 32px;
  }
  .pnoel-rich.pn-store-rich .pn-store-hero__visual{min-height:125px}
  .pnoel-rich.pn-store-rich .pn-store-hero__glow{width:120px;height:120px}

  .pnoel-rich.pn-store-rich .pn-store-section{
    padding:22px 17px;
    border-radius:28px 23px 34px 27px / 23px 27px 31px 29px;
  }

  .pnoel-rich.pn-store-rich .pn-store-card-grid,
  .pnoel-rich.pn-store-rich .pn-store-criteria-grid,
  .pnoel-rich.pn-store-rich .pn-store-pathways,
  .pnoel-rich.pn-store-rich .pn-store-checklist{
    grid-template-columns:1fr;
  }

  .pnoel-rich.pn-store-rich .pn-store-card--wide,
  .pnoel-rich.pn-store-rich .pn-store-card--featured{grid-column:auto}

  .pnoel-rich.pn-store-rich .pn-store-criterion{padding:18px 15px 17px 66px}

  .pnoel-rich.pn-store-rich .pn-store-listicle::before{left:26px}
  .pnoel-rich.pn-store-rich .pn-store-listicle > .pn-store-listicle__item{
    grid-template-columns:52px minmax(0,1fr);
    gap:12px;
    padding-right:11px!important;
  }
  .pnoel-rich.pn-store-rich .pn-store-listicle__number{width:46px;height:46px;font-size:.78rem}

  .pnoel-rich.pn-store-rich .pn-store-callout,
  .pnoel-rich.pn-store-rich .pn-store-trust{
    grid-template-columns:1fr;
  }

  .pnoel-rich.pn-store-rich .pn-store-checklist{padding:22px 17px}
}

@media (prefers-reduced-motion:reduce){
  .pnoel-rich.pn-store-rich *,
  .pnoel-rich.pn-store-rich *::before,
  .pnoel-rich.pn-store-rich *::after{
    scroll-behavior:auto!important;
    animation:none!important;
    transition:none!important;
  }
}

/* ===================== FIN PATCH V5.5 STOREVISION ==================== */

/* =====================================================================
   V5.6 — STORE HOMEPAGE / LIGHT SECTION LEAD FIX
   ---------------------------------------------------------------------
   .pn-store-lead est blanc par défaut car il est principalement utilisé
   dans les heroes sombres. Lorsqu'il est utilisé à l'intérieur d'une
   .pn-store-section (fond crème), on force une couleur de texte sombre.
   Scope strict : aucun impact sur les heroes, les cards ou le social.
   ===================================================================== */

.pnoel-rich.pn-store-rich .pn-store-section .pn-store-lead{
  color:var(--pns-ink)!important;
}

/* Sécurise également le texte d'introduction d'un header de section
   lorsqu'il porte explicitement la classe pn-store-lead. */
.pnoel-rich.pn-store-rich .pn-store-section .pn-store-section__head > .pn-store-lead{
  color:var(--pns-ink)!important;
}

/* =====================================================================
   PAPA-NOEL.NET — V5.7 — EDITORIAL CATEGORIES
   =====================================================================
   Scope strict :
     .pnoel-rich.pn-editorial-top
     .pnoel-rich.pn-editorial-category

   Objectif :
   - chapeau léger AVANT la boucle native ;
   - dossier magazine premium APRÈS la boucle ;
   - aucun impact sur la boucle SSCMS, sidebar, header, footer, StoreVision
     natif ou boutons sociaux ;
   - aucune neige/particule CSS : la neige du site reste gérée en JS.
   ===================================================================== */


/* ---------------------------------------------------------------------
   0. VARIABLES / RESET LOCAL
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-top,
.pnoel-rich.pn-editorial-category{
  --pne-night:#07182e;
  --pne-night-2:#0d3151;
  --pne-forest:#073b32;
  --pne-forest-2:#0b5144;
  --pne-red:#c91f2b;
  --pne-red-2:#9c1421;
  --pne-gold:#d7ad57;
  --pne-gold-2:#f0cf82;
  --pne-snow:#fffdf8;
  --pne-cream:#fff7e7;
  --pne-cream-2:#f8ead0;
  --pne-ink:#172c3a;
  --pne-muted:#5c6c75;
  --pne-line:rgba(15,42,56,.13);
  --pne-shadow:0 16px 42px rgba(6,28,36,.13);
  --pne-shadow-soft:0 9px 24px rgba(6,28,36,.09);
  --pne-radius:22px;
  --pne-radius-sm:15px;
  box-sizing:border-box;
  max-width:100%;
  color:var(--pne-ink);
  font-size:15px;
  line-height:1.72;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

.pnoel-rich.pn-editorial-top *,
.pnoel-rich.pn-editorial-top *::before,
.pnoel-rich.pn-editorial-top *::after,
.pnoel-rich.pn-editorial-category *,
.pnoel-rich.pn-editorial-category *::before,
.pnoel-rich.pn-editorial-category *::after{
  box-sizing:border-box;
}

.pnoel-rich.pn-editorial-top h2,
.pnoel-rich.pn-editorial-top h3,
.pnoel-rich.pn-editorial-category h2,
.pnoel-rich.pn-editorial-category h3,
.pnoel-rich.pn-editorial-category h4{
  margin-top:0;
  font-family:inherit;
  text-wrap:balance;
}

.pnoel-rich.pn-editorial-top p,
.pnoel-rich.pn-editorial-category p{
  margin:0 0 1em;
}

.pnoel-rich.pn-editorial-top p:last-child,
.pnoel-rich.pn-editorial-category p:last-child{
  margin-bottom:0;
}

.pnoel-rich.pn-editorial-category ul:not(.telcofeedsonic_fie_tags),
.pnoel-rich.pn-editorial-category ol:not(.telcofeedsonic_fie_tags){
  padding-left:1.25rem;
}

.pnoel-rich.pn-editorial-category a{
  color:var(--pne-red-2);
  font-weight:750;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.pnoel-rich.pn-editorial-category a:hover{
  color:var(--pne-forest-2);
}

.pnoel-rich.pn-editorial-top :focus-visible,
.pnoel-rich.pn-editorial-category :focus-visible{
  outline:3px solid var(--pne-gold-2);
  outline-offset:3px;
}


/* ---------------------------------------------------------------------
   1. DESCRIPTION / CHAPEAU AVANT LA BOUCLE
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-top{
  position:relative;
  isolation:isolate;
  margin:10px 0 20px;
  padding:0;
  background:transparent;
}

.pnoel-rich.pn-editorial-top .pn-editorial-top__inner{
  position:relative;
  overflow:hidden;
  padding:18px 21px 19px;
  border:1px solid rgba(7,59,50,.13);
  border-left:5px solid var(--pne-red);
  border-radius:16px;
  background:
    linear-gradient(120deg,rgba(255,255,255,.98),rgba(255,248,232,.98));
  box-shadow:0 8px 22px rgba(8,45,42,.07);
}

.pnoel-rich.pn-editorial-top .pn-editorial-top__inner::after{
  content:"";
  position:absolute;
  width:105px;
  height:105px;
  right:-54px;
  top:-63px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,207,130,.33),rgba(240,207,130,0) 70%);
  pointer-events:none;
}

.pnoel-rich.pn-editorial-top .pn-editorial-top__lead{
  position:relative;
  z-index:1;
  margin:0!important;
  color:#243b34!important;
  font-size:1.02rem;
  line-height:1.72;
}

.pnoel-rich.pn-editorial-top .pn-editorial-top__lead strong{
  color:var(--pne-forest);
}


/* ---------------------------------------------------------------------
   2. WRAPPER DOSSIER BAS — GRAND MAGAZINE DE NOËL
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  margin:24px 0 28px;
  padding:22px;
  border:1px solid rgba(215,173,87,.22);
  border-radius:26px;
  background:
    radial-gradient(circle at 86% 4%,rgba(240,207,130,.18),transparent 24%),
    radial-gradient(circle at 4% 28%,rgba(11,81,68,.12),transparent 28%),
    linear-gradient(160deg,#071d34 0%,#092c3f 43%,#073b32 100%);
  box-shadow:0 24px 58px rgba(3,22,31,.22);
  color:#edf6f1;
}

.pnoel-rich.pn-editorial-category::before{
  content:"";
  position:absolute;
  left:-8%;
  right:-8%;
  top:-26px;
  height:62px;
  border-radius:50%;
  background:
    linear-gradient(180deg,rgba(255,255,255,.96),rgba(255,253,248,.94));
  box-shadow:0 8px 20px rgba(255,255,255,.08);
  pointer-events:none;
  z-index:0;
}

.pnoel-rich.pn-editorial-category::after{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-115px;
  bottom:-110px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(201,31,43,.16),rgba(201,31,43,0) 68%);
  pointer-events:none;
  z-index:0;
}

.pnoel-rich.pn-editorial-category > *{
  position:relative;
  z-index:1;
}


/* ---------------------------------------------------------------------
   3. HERO ÉDITORIAL
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:14px;
  margin:3px 0 22px;
  padding:30px 28px 27px;
  border:1px solid rgba(240,207,130,.30);
  border-radius:22px;
  background:
    linear-gradient(125deg,rgba(4,34,45,.98),rgba(8,76,61,.94));
  box-shadow:0 15px 34px rgba(1,17,27,.22);
}

.pnoel-rich.pn-editorial-category .pn-editorial-hero::before{
  content:"";
  position:absolute;
  width:220px;
  height:220px;
  right:-70px;
  top:-118px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(240,207,130,.32),rgba(240,207,130,0) 67%);
  pointer-events:none;
}

.pnoel-rich.pn-editorial-category .pn-editorial-hero::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:4px;
  background:linear-gradient(90deg,var(--pne-red),var(--pne-gold-2),var(--pne-forest-2));
}

.pnoel-rich.pn-editorial-category .pn-editorial-hero__content{
  position:relative;
  z-index:1;
  max-width:780px;
}

.pnoel-rich.pn-editorial-category .pn-editorial-eyebrow{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  padding:6px 10px;
  border:1px solid rgba(240,207,130,.33);
  border-radius:999px;
  background:rgba(240,207,130,.09);
  color:#ffe8a9!important;
  font-size:.73rem;
  font-weight:900;
  line-height:1.1;
  letter-spacing:.09em;
  text-transform:uppercase;
}

.pnoel-rich.pn-editorial-category .pn-editorial-eyebrow::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:50%;
  background:var(--pne-red);
  box-shadow:0 0 0 3px rgba(201,31,43,.16);
}

.pnoel-rich.pn-editorial-category .pn-editorial-hero h2{
  margin:0 0 12px;
  color:#fffdf8!important;
  font-size:clamp(1.55rem,3.5vw,2.25rem);
  line-height:1.12;
  font-weight:950;
  letter-spacing:-.025em;
}

.pnoel-rich.pn-editorial-category .pn-editorial-hero h2::after{
  content:"";
  display:block;
  width:82px;
  height:4px;
  margin-top:14px;
  border-radius:99px;
  background:linear-gradient(90deg,var(--pne-gold-2),#fff,var(--pne-red));
}

.pnoel-rich.pn-editorial-category .pn-editorial-lead,
.pnoel-rich.pn-editorial-category .pn-editorial-hero p{
  color:#e9f4ee!important;
  font-size:1.02rem;
  line-height:1.75;
}

.pnoel-rich.pn-editorial-category .pn-editorial-hero strong{
  color:#fff0b8;
}


/* ---------------------------------------------------------------------
   4. SECTIONS ÉDITORIALES CLAIRES
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-section{
  position:relative;
  overflow:hidden;
  margin:18px 0;
  padding:25px 24px;
  border:1px solid rgba(15,42,56,.10);
  border-radius:20px;
  background:
    linear-gradient(145deg,rgba(255,253,248,.99),rgba(255,246,225,.98));
  color:var(--pne-ink)!important;
  box-shadow:var(--pne-shadow-soft);
}

.pnoel-rich.pn-editorial-category .pn-editorial-section:nth-of-type(even){
  background:
    linear-gradient(145deg,rgba(250,255,252,.99),rgba(236,247,241,.98));
}

.pnoel-rich.pn-editorial-category .pn-editorial-section::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:5px;
  background:linear-gradient(180deg,var(--pne-red),var(--pne-gold),var(--pne-forest-2));
}

.pnoel-rich.pn-editorial-category .pn-editorial-section::after{
  content:"";
  position:absolute;
  width:115px;
  height:115px;
  right:-58px;
  top:-58px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,173,87,.14),rgba(215,173,87,0) 70%);
  pointer-events:none;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section > *{
  position:relative;
  z-index:1;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section__head{
  max-width:800px;
  margin-bottom:18px;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section h2{
  margin:0 0 10px;
  color:var(--pne-ink)!important;
  font-size:clamp(1.35rem,2.8vw,1.82rem);
  line-height:1.18;
  font-weight:950;
  letter-spacing:-.018em;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section h3{
  color:var(--pne-ink)!important;
  font-size:1.06rem;
  line-height:1.28;
  font-weight:900;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section p,
.pnoel-rich.pn-editorial-category .pn-editorial-section li{
  color:#314653!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section__head > p:last-child{
  color:var(--pne-muted)!important;
  font-size:.96rem;
}


/* ---------------------------------------------------------------------
   5. CARDS
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-card-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:15px;
}

.pnoel-rich.pn-editorial-category .pn-editorial-card{
  position:relative;
  overflow:hidden;
  min-width:0;
  padding:20px 18px 18px;
  border:1px solid rgba(7,59,50,.12);
  border-radius:17px;
  background:#fff;
  color:var(--pne-ink)!important;
  box-shadow:0 8px 20px rgba(8,42,47,.07);
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}

.pnoel-rich.pn-editorial-category .pn-editorial-card:nth-child(4n+1){
  background:linear-gradient(145deg,#fff,#fff5e3);
}

.pnoel-rich.pn-editorial-category .pn-editorial-card:nth-child(4n+2){
  background:linear-gradient(145deg,#fafffd,#eaf7f1);
}

.pnoel-rich.pn-editorial-category .pn-editorial-card:nth-child(4n+3){
  background:linear-gradient(145deg,#fffdf6,#fff0c6);
}

.pnoel-rich.pn-editorial-category .pn-editorial-card:nth-child(4n){
  background:linear-gradient(145deg,#fff,#f3f7fb);
}

.pnoel-rich.pn-editorial-category .pn-editorial-card::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:0;
  height:4px;
  background:linear-gradient(90deg,var(--pne-red),var(--pne-gold-2),var(--pne-forest-2));
}

.pnoel-rich.pn-editorial-category .pn-editorial-card:hover{
  transform:translateY(-2px);
  border-color:rgba(215,173,87,.36);
  box-shadow:0 13px 27px rgba(8,42,47,.11);
}

.pnoel-rich.pn-editorial-category .pn-editorial-card__icon{
  display:inline-grid;
  place-items:center;
  min-width:38px;
  height:38px;
  margin-bottom:11px;
  padding:0 9px;
  border-radius:12px;
  background:linear-gradient(145deg,#fff3bd,#f0cf82);
  box-shadow:inset 0 0 0 1px rgba(156,20,33,.08);
  color:var(--pne-red-2);
  font-size:1.15rem;
  font-weight:950;
}

.pnoel-rich.pn-editorial-category .pn-editorial-card h3{
  margin:0 0 7px;
  color:var(--pne-ink)!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-card p{
  margin-bottom:10px;
  color:#465966!important;
  font-size:.94rem;
  line-height:1.62;
}

.pnoel-rich.pn-editorial-category .pn-editorial-card__link{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin-top:2px;
  color:var(--pne-red-2)!important;
  font-size:.88rem;
  font-weight:900;
  text-decoration:none!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-card__link::after{
  content:"→";
  transition:transform .16s ease;
}

.pnoel-rich.pn-editorial-category .pn-editorial-card__link:hover::after{
  transform:translateX(3px);
}


/* ---------------------------------------------------------------------
   6. CRITÈRES
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-criteria-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}

.pnoel-rich.pn-editorial-category .pn-editorial-criterion{
  position:relative;
  padding:17px 17px 16px;
  border:1px solid rgba(15,42,56,.10);
  border-radius:15px;
  background:rgba(255,255,255,.78);
}

.pnoel-rich.pn-editorial-category .pn-editorial-criterion::before{
  content:"";
  position:absolute;
  left:16px;
  top:0;
  width:38px;
  height:3px;
  border-radius:0 0 6px 6px;
  background:var(--pne-gold);
}

.pnoel-rich.pn-editorial-category .pn-editorial-criterion h3{
  margin:0 0 5px;
  color:var(--pne-forest)!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-criterion p{
  margin:0;
  color:#4f606a!important;
  font-size:.92rem;
  line-height:1.58;
}


/* ---------------------------------------------------------------------
   7. LISTICLE GEO — SECTION SIGNATURE
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-listicle{
  position:relative;
  margin:14px 0 0;
  padding:0;
  list-style:none;
  counter-reset:none;
}

.pnoel-rich.pn-editorial-category .pn-editorial-listicle__item{
  display:grid;
  grid-template-columns:54px minmax(0,1fr);
  gap:14px;
  align-items:start;
  margin:0 0 10px;
  padding:16px 16px 15px;
  border:1px solid rgba(11,81,68,.11);
  border-radius:15px;
  background:rgba(255,255,255,.82);
  box-shadow:0 5px 14px rgba(8,42,47,.05);
}

.pnoel-rich.pn-editorial-category .pn-editorial-listicle__item:nth-child(even){
  background:rgba(248,253,250,.92);
}

.pnoel-rich.pn-editorial-category .pn-editorial-listicle__number{
  display:grid;
  place-items:center;
  width:46px;
  min-height:46px;
  padding:4px;
  border-radius:14px;
  background:
    linear-gradient(145deg,var(--pne-forest-2),var(--pne-forest));
  color:#fff!important;
  font-size:.83rem;
  font-weight:950;
  line-height:1;
  letter-spacing:.04em;
  box-shadow:0 7px 15px rgba(7,59,50,.18);
}

.pnoel-rich.pn-editorial-category .pn-editorial-listicle__content{
  min-width:0;
}

.pnoel-rich.pn-editorial-category .pn-editorial-listicle__content h3{
  margin:1px 0 5px;
  color:var(--pne-ink)!important;
  font-size:1.02rem;
}

.pnoel-rich.pn-editorial-category .pn-editorial-listicle__content p{
  margin:0;
  color:#455a66!important;
  font-size:.93rem;
  line-height:1.61;
}


/* ---------------------------------------------------------------------
   8. TABLEAUX
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-table-wrap{
  overflow-x:auto;
  margin-top:15px;
  border:1px solid rgba(7,59,50,.12);
  border-radius:16px;
  background:#fff;
  box-shadow:0 8px 18px rgba(8,42,47,.06);
  -webkit-overflow-scrolling:touch;
}

.pnoel-rich.pn-editorial-category .pn-editorial-table{
  width:100%;
  min-width:560px;
  border-collapse:collapse;
  border-spacing:0;
  background:#fff;
  color:var(--pne-ink);
  font-size:.91rem;
}

.pnoel-rich.pn-editorial-category .pn-editorial-table th,
.pnoel-rich.pn-editorial-category .pn-editorial-table td{
  padding:12px 13px;
  border-bottom:1px solid rgba(15,42,56,.09);
  text-align:left;
  vertical-align:top;
}

.pnoel-rich.pn-editorial-category .pn-editorial-table thead th{
  background:linear-gradient(145deg,var(--pne-forest),var(--pne-forest-2));
  color:#fff!important;
  font-size:.82rem;
  font-weight:900;
  letter-spacing:.02em;
}

.pnoel-rich.pn-editorial-category .pn-editorial-table tbody tr:nth-child(even){
  background:#fbf7ee;
}

.pnoel-rich.pn-editorial-category .pn-editorial-table tbody tr:last-child td{
  border-bottom:0;
}


/* ---------------------------------------------------------------------
   9. CALLOUTS
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-callout{
  position:relative;
  overflow:hidden;
  margin:18px 0;
  padding:20px 21px 19px 23px;
  border:1px solid rgba(215,173,87,.28);
  border-left:5px solid var(--pne-gold);
  border-radius:16px;
  background:linear-gradient(145deg,#fff7db,#fffdf8);
  color:var(--pne-ink)!important;
  box-shadow:var(--pne-shadow-soft);
}

.pnoel-rich.pn-editorial-category .pn-editorial-callout::after{
  content:"";
  position:absolute;
  width:95px;
  height:95px;
  right:-46px;
  top:-48px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(215,173,87,.20),rgba(215,173,87,0) 70%);
}

.pnoel-rich.pn-editorial-category .pn-editorial-callout--idea{
  border-left-color:var(--pne-forest-2);
  background:linear-gradient(145deg,#f2fbf7,#fffdf8);
}

.pnoel-rich.pn-editorial-category .pn-editorial-callout--tip{
  border-left-color:var(--pne-gold);
}

.pnoel-rich.pn-editorial-category .pn-editorial-callout--warning{
  border-left-color:var(--pne-red);
  background:linear-gradient(145deg,#fff2ef,#fffaf5);
}

.pnoel-rich.pn-editorial-category .pn-editorial-callout h3{
  position:relative;
  z-index:1;
  margin:0 0 6px;
  color:var(--pne-ink)!important;
  font-size:1.05rem;
}

.pnoel-rich.pn-editorial-category .pn-editorial-callout p{
  position:relative;
  z-index:1;
  margin:0;
  color:#435660!important;
}


/* ---------------------------------------------------------------------
   10. CHECKLIST
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-checklist{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);
  gap:18px;
  align-items:start;
  margin:18px 0;
  padding:22px;
  border:1px solid rgba(240,207,130,.25);
  border-radius:19px;
  background:
    linear-gradient(145deg,#fff9e4,#fffdf8);
  color:var(--pne-ink)!important;
  box-shadow:var(--pne-shadow-soft);
}

.pnoel-rich.pn-editorial-category .pn-editorial-checklist__content h2,
.pnoel-rich.pn-editorial-category .pn-editorial-checklist__content h3{
  margin:0 0 7px;
  color:var(--pne-forest)!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-checklist__content p{
  color:#53646d!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-checklist__items{
  margin:0;
  padding:0;
  list-style:none;
}

.pnoel-rich.pn-editorial-category .pn-editorial-checklist__items li{
  position:relative;
  margin:0 0 8px;
  padding:9px 10px 9px 36px;
  border:1px solid rgba(7,59,50,.09);
  border-radius:11px;
  background:rgba(255,255,255,.75);
  color:#334955!important;
  line-height:1.5;
}

.pnoel-rich.pn-editorial-category .pn-editorial-checklist__items li:last-child{
  margin-bottom:0;
}

.pnoel-rich.pn-editorial-category .pn-editorial-checklist__items li::before{
  content:"✓";
  position:absolute;
  left:10px;
  top:8px;
  display:grid;
  place-items:center;
  width:18px;
  height:18px;
  border-radius:50%;
  background:var(--pne-forest-2);
  color:#fff;
  font-size:.7rem;
  font-weight:950;
}


/* ---------------------------------------------------------------------
   11. PARCOURS / MAILLAGE ENTRE HUBS
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-pathways{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  margin-top:14px;
}

.pnoel-rich.pn-editorial-category .pn-editorial-pathway{
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
  padding:14px 15px;
  border:1px solid rgba(7,59,50,.12);
  border-radius:14px;
  background:#fff;
  color:var(--pne-ink)!important;
  text-decoration:none!important;
  box-shadow:0 6px 16px rgba(8,42,47,.06);
  transition:transform .17s ease,border-color .17s ease,box-shadow .17s ease;
}

.pnoel-rich.pn-editorial-category .pn-editorial-pathway:hover{
  transform:translateY(-2px);
  border-color:rgba(215,173,87,.42);
  box-shadow:0 10px 22px rgba(8,42,47,.10);
}

.pnoel-rich.pn-editorial-category .pn-editorial-pathway::after{
  content:"→";
  margin-left:auto;
  color:var(--pne-red);
  font-size:1.15rem;
  font-weight:950;
}

.pnoel-rich.pn-editorial-category .pn-editorial-pathway strong{
  color:var(--pne-ink)!important;
}


/* ---------------------------------------------------------------------
   12. FAQ
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-faq{
  display:grid;
  gap:10px;
  margin-top:14px;
}

.pnoel-rich.pn-editorial-category .pn-editorial-faq__item{
  padding:17px 18px;
  border:1px solid rgba(15,42,56,.10);
  border-radius:14px;
  background:rgba(255,255,255,.83);
}

.pnoel-rich.pn-editorial-category .pn-editorial-faq__item h3{
  margin:0 0 5px;
  color:var(--pne-forest)!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-faq__item p{
  margin:0;
  color:#475a64!important;
}


/* ---------------------------------------------------------------------
   13. VARIANTES D'UNIVERS — SUBTILES, PAS DE RECOLORISATION BRUTALE
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category--santa .pn-editorial-hero,
.pnoel-rich.pn-editorial-category--traditions .pn-editorial-hero{
  background:
    radial-gradient(circle at 88% 15%,rgba(240,207,130,.17),transparent 26%),
    linear-gradient(125deg,#6f111d,#a71926 48%,#073b32 100%);
}

.pnoel-rich.pn-editorial-category--decoration .pn-editorial-hero,
.pnoel-rich.pn-editorial-category--table .pn-editorial-hero{
  background:
    radial-gradient(circle at 88% 15%,rgba(240,207,130,.18),transparent 26%),
    linear-gradient(125deg,#073b32,#0b5144 60%,#7a1922 100%);
}

.pnoel-rich.pn-editorial-category--tree .pn-editorial-hero,
.pnoel-rich.pn-editorial-category--outdoor .pn-editorial-hero{
  background:
    radial-gradient(circle at 88% 15%,rgba(235,250,244,.11),transparent 25%),
    linear-gradient(125deg,#062f2a,#075546 58%,#0b2948 100%);
}

.pnoel-rich.pn-editorial-category--diy .pn-editorial-hero,
.pnoel-rich.pn-editorial-category--gifts .pn-editorial-hero{
  background:
    radial-gradient(circle at 86% 8%,rgba(240,207,130,.18),transparent 27%),
    linear-gradient(125deg,#8b1824,#c22531 48%,#123d35 100%);
}

.pnoel-rich.pn-editorial-category--advent .pn-editorial-hero{
  background:
    radial-gradient(circle at 86% 8%,rgba(240,207,130,.20),transparent 27%),
    linear-gradient(125deg,#143254,#294e70 50%,#8f1724 100%);
}

.pnoel-rich.pn-editorial-category--recipes .pn-editorial-hero{
  background:
    radial-gradient(circle at 86% 8%,rgba(240,207,130,.19),transparent 27%),
    linear-gradient(125deg,#4a2417,#7b3420 52%,#073b32 100%);
}

.pnoel-rich.pn-editorial-category--cinema .pn-editorial-hero,
.pnoel-rich.pn-editorial-category--stories .pn-editorial-hero,
.pnoel-rich.pn-editorial-category--music .pn-editorial-hero{
  background:
    radial-gradient(circle at 86% 8%,rgba(240,207,130,.17),transparent 27%),
    linear-gradient(125deg,#08182d,#183d60 55%,#6f1722 100%);
}

.pnoel-rich.pn-editorial-category--outings .pn-editorial-hero,
.pnoel-rich.pn-editorial-category--services .pn-editorial-hero{
  background:
    radial-gradient(circle at 86% 8%,rgba(240,207,130,.17),transparent 27%),
    linear-gradient(125deg,#0b2948,#0d4b5f 55%,#073b32 100%);
}


/* ---------------------------------------------------------------------
   14. PETITS ÉCRANS / COLONNE ÉDITORIALE ÉTROITE
   --------------------------------------------------------------------- */

@media (max-width:980px){
  .pnoel-rich.pn-editorial-category{
    padding:18px;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-card-grid,
  .pnoel-rich.pn-editorial-category .pn-editorial-criteria-grid,
  .pnoel-rich.pn-editorial-category .pn-editorial-pathways{
    grid-template-columns:1fr;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-checklist{
    grid-template-columns:1fr;
  }
}

@media (max-width:680px){
  .pnoel-rich.pn-editorial-top{
    margin:8px 0 16px;
  }

  .pnoel-rich.pn-editorial-top .pn-editorial-top__inner{
    padding:15px 16px 16px;
    border-radius:13px;
  }

  .pnoel-rich.pn-editorial-top .pn-editorial-top__lead{
    font-size:.97rem;
    line-height:1.65;
  }

  .pnoel-rich.pn-editorial-category{
    margin:18px 0 22px;
    padding:12px;
    border-radius:19px;
  }

  .pnoel-rich.pn-editorial-category::before{
    height:45px;
    top:-22px;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-hero{
    padding:23px 18px 21px;
    border-radius:17px;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-hero h2{
    font-size:1.48rem;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-section{
    margin:13px 0;
    padding:20px 16px 18px;
    border-radius:16px;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-card{
    padding:17px 15px 15px;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-listicle__item{
    grid-template-columns:42px minmax(0,1fr);
    gap:10px;
    padding:13px 12px;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-listicle__number{
    width:38px;
    min-height:38px;
    border-radius:11px;
    font-size:.75rem;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-checklist{
    padding:17px 15px;
  }

  .pnoel-rich.pn-editorial-category .pn-editorial-table{
    min-width:520px;
  }
}

@media (prefers-reduced-motion:reduce){
  .pnoel-rich.pn-editorial-category .pn-editorial-card,
  .pnoel-rich.pn-editorial-category .pn-editorial-card__link::after,
  .pnoel-rich.pn-editorial-category .pn-editorial-pathway{
    transition:none!important;
  }
}

/* =====================================================================
   PAPA-NOEL.NET — MONEY PAGE NUMERO DU PERE NOEL
   Scope exclusif : .pnoel-rich.pn-phone-money
   À ajouter en fin de /css9/rich.css
   ===================================================================== */

.pnoel-rich.pn-phone-money{
  --pn-phone-red:#b50f22;
  --pn-phone-red-dark:#760915;
  --pn-phone-green:#073b32;
  --pn-phone-green-2:#0b5a49;
  --pn-phone-gold:#d8ad55;
  --pn-phone-gold-light:#f5dda4;
  --pn-phone-cream:#fffaf0;
  --pn-phone-paper:#fffefb;
  --pn-phone-ink:#172c3a;
  --pn-phone-muted:#596b74;
  --pn-phone-line:rgba(16,53,61,.12);
  --pn-phone-shadow:0 18px 50px rgba(29,35,31,.12);
  --pn-phone-shadow-soft:0 9px 24px rgba(29,35,31,.09);

  position:relative;
  isolation:isolate;
  width:100%;
  max-width:100%;
  margin:0 auto;
  color:var(--pn-phone-ink);
}

.pnoel-rich.pn-phone-money *,
.pnoel-rich.pn-phone-money *::before,
.pnoel-rich.pn-phone-money *::after{
  box-sizing:border-box;
}

.pnoel-rich.pn-phone-money a{
  text-underline-offset:3px;
}

.pnoel-rich.pn-phone-money .pn-phone-hero{
  position:relative;
  overflow:hidden;
  margin:14px 0 30px;
  padding:clamp(28px,5vw,58px) clamp(18px,5vw,54px);
  border:1px solid rgba(255,255,255,.30);
  border-radius:30px;
  color:#fff;
  text-align:center;
  background:
    radial-gradient(circle at 14% 15%,rgba(255,255,255,.22) 0 2px,transparent 3px),
    radial-gradient(circle at 82% 23%,rgba(255,255,255,.18) 0 3px,transparent 4px),
    radial-gradient(circle at 72% 78%,rgba(245,221,164,.22) 0 2px,transparent 3px),
    linear-gradient(145deg,var(--pn-phone-red-dark),var(--pn-phone-red) 44%,#9c1321 58%,var(--pn-phone-green));
  box-shadow:0 26px 65px rgba(82,8,20,.24);
}

.pnoel-rich.pn-phone-money .pn-phone-hero::before{
  content:"";
  position:absolute;
  width:340px;
  height:340px;
  border-radius:50%;
  top:-190px;
  right:-120px;
  background:radial-gradient(circle,rgba(245,221,164,.32),rgba(245,221,164,0) 70%);
  pointer-events:none;
}

.pnoel-rich.pn-phone-money .pn-phone-hero::after{
  content:"";
  position:absolute;
  width:420px;
  height:220px;
  left:-120px;
  bottom:-160px;
  border-radius:50%;
  background:radial-gradient(ellipse,rgba(255,255,255,.15),rgba(255,255,255,0) 70%);
  pointer-events:none;
}

.pnoel-rich.pn-phone-money .pn-phone-hero > *{
  position:relative;
  z-index:1;
}

.pnoel-rich.pn-phone-money .pn-phone-hero__spark{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto 8px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:50%;
  color:var(--pn-phone-gold-light);
  background:rgba(255,255,255,.08);
  box-shadow:inset 0 0 18px rgba(255,255,255,.08);
  font-size:1.55rem;
}

.pnoel-rich.pn-phone-money .pn-phone-kicker{
  margin:0 0 8px;
  color:var(--pn-phone-gold-light);
  font-size:.82rem;
  line-height:1.2;
  font-weight:900;
  letter-spacing:.16em;
  text-transform:uppercase;
}

.pnoel-rich.pn-phone-money .pn-phone-hero h2{
  margin:0 auto 14px;
  padding:0;
  max-width:850px;
  color:#fff;
  background:none;
  border:0;
  box-shadow:none;
  text-shadow:0 2px 16px rgba(0,0,0,.18);
  font-size:clamp(1.75rem,4.1vw,3.15rem);
  line-height:1.07;
  letter-spacing:-.03em;
}

.pnoel-rich.pn-phone-money .pn-phone-lead{
  max-width:820px;
  margin:0 auto 23px;
  color:rgba(255,255,255,.93);
  font-size:clamp(1.02rem,1.8vw,1.18rem);
  line-height:1.7;
}

.pnoel-rich.pn-phone-money .pn-phone-lead strong{
  color:#fff;
}

.pnoel-rich.pn-phone-money .pn-phone-number{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  width:max-content;
  max-width:100%;
  margin:6px auto 15px;
  padding:13px 20px;
  border:1px solid rgba(255,255,255,.26);
  border-radius:18px;
  background:rgba(255,255,255,.11);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.18);
}

.pnoel-rich.pn-phone-money .pn-phone-number__icon{
  display:grid;
  place-items:center;
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:50%;
  color:var(--pn-phone-green);
  background:var(--pn-phone-gold-light);
  font-size:1.15rem;
}

.pnoel-rich.pn-phone-money .pn-phone-number__digits{
  color:#fff;
  font-size:clamp(1.65rem,5vw,3rem);
  line-height:1;
  font-weight:950;
  letter-spacing:.03em;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}

.pnoel-rich.pn-phone-money .pn-phone-call{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  min-height:54px;
  margin:0 auto;
  padding:14px 26px;
  border:2px solid #fff;
  border-radius:999px;
  color:var(--pn-phone-green)!important;
  background:linear-gradient(180deg,#fff4c9,var(--pn-phone-gold-light));
  box-shadow:0 10px 24px rgba(0,0,0,.20),inset 0 1px 0 #fff;
  text-decoration:none!important;
  font-size:1.04rem;
  line-height:1.2;
  font-weight:950;
  transition:transform .18s ease,box-shadow .18s ease;
}

.pnoel-rich.pn-phone-money .pn-phone-call:hover,
.pnoel-rich.pn-phone-money .pn-phone-call:focus-visible{
  transform:translateY(-2px);
  box-shadow:0 14px 30px rgba(0,0,0,.24),inset 0 1px 0 #fff;
}

.pnoel-rich.pn-phone-money .pn-phone-price{
  margin:13px auto 0;
  color:rgba(255,255,255,.86);
  font-size:.88rem;
  line-height:1.45;
}

.pnoel-rich.pn-phone-money .pn-phone-price strong{
  color:#fff;
}

.pnoel-rich.pn-phone-money .pn-phone-bonus{
  display:flex;
  align-items:center;
  gap:13px;
  max-width:720px;
  margin:22px auto 0;
  padding:13px 16px;
  border:1px solid rgba(255,255,255,.20);
  border-radius:15px;
  background:rgba(5,42,35,.30);
  text-align:left;
}

.pnoel-rich.pn-phone-money .pn-phone-bonus__icon{
  flex:0 0 auto;
  font-size:1.65rem;
}

.pnoel-rich.pn-phone-money .pn-phone-bonus p{
  margin:0;
  color:#fff;
  font-size:.94rem;
  line-height:1.5;
}

.pnoel-rich.pn-phone-money .pn-phone-section{
  position:relative;
  margin:22px 0;
  padding:clamp(22px,4vw,34px);
  border:1px solid var(--pn-phone-line);
  border-radius:23px;
  background:
    linear-gradient(145deg,rgba(255,255,255,.96),rgba(255,250,240,.96));
  box-shadow:var(--pn-phone-shadow-soft);
}

.pnoel-rich.pn-phone-money .pn-phone-section--story{
  background:
    radial-gradient(circle at 95% 0,rgba(216,173,85,.14),transparent 34%),
    linear-gradient(145deg,#fffefb,#fff8e9);
}

.pnoel-rich.pn-phone-money .pn-phone-section--compare{
  background:
    radial-gradient(circle at 8% 12%,rgba(11,90,73,.08),transparent 30%),
    linear-gradient(145deg,#fbfffd,#fffdf8);
}

.pnoel-rich.pn-phone-money .pn-phone-section--history{
  border-color:rgba(181,15,34,.16);
  background:
    radial-gradient(circle at 90% 10%,rgba(181,15,34,.08),transparent 28%),
    linear-gradient(145deg,#fffdfb,#fff7f2);
}

.pnoel-rich.pn-phone-money .pn-phone-heading{
  display:flex;
  align-items:center;
  gap:11px;
  margin:0 0 17px;
}

.pnoel-rich.pn-phone-money .pn-phone-heading > span{
  display:grid;
  place-items:center;
  flex:0 0 42px;
  width:42px;
  height:42px;
  border-radius:13px;
  background:linear-gradient(145deg,#fff4c9,#f4d78d);
  box-shadow:0 6px 14px rgba(117,79,14,.12);
  font-size:1.25rem;
}

.pnoel-rich.pn-phone-money .pn-phone-heading h2,
.pnoel-rich.pn-phone-money .pn-phone-section > h2{
  margin:0;
  padding:0;
  color:var(--pn-phone-green);
  background:none;
  border:0;
  box-shadow:none;
  text-shadow:none;
  font-size:clamp(1.38rem,2.7vw,2rem);
  line-height:1.15;
  letter-spacing:-.02em;
}

.pnoel-rich.pn-phone-money .pn-phone-section p{
  color:#304650;
  font-size:1rem;
  line-height:1.72;
}

.pnoel-rich.pn-phone-money .pn-phone-section p:last-child{
  margin-bottom:0;
}

.pnoel-rich.pn-phone-money .pn-phone-journey{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:13px;
  margin-top:21px;
}

.pnoel-rich.pn-phone-money .pn-phone-journey__item{
  display:flex;
  gap:12px;
  min-width:0;
  padding:17px;
  border:1px solid rgba(7,59,50,.10);
  border-radius:16px;
  background:#fff;
  box-shadow:0 6px 17px rgba(22,54,55,.06);
}

.pnoel-rich.pn-phone-money .pn-phone-journey__num{
  display:grid;
  place-items:center;
  flex:0 0 31px;
  width:31px;
  height:31px;
  border-radius:50%;
  color:#fff;
  background:linear-gradient(145deg,var(--pn-phone-green-2),var(--pn-phone-green));
  border:2px solid var(--pn-phone-gold-light);
  font-size:.82rem;
  font-weight:950;
}

.pnoel-rich.pn-phone-money .pn-phone-journey h3{
  margin:0 0 5px;
  padding:0;
  color:var(--pn-phone-red-dark);
  background:none;
  box-shadow:none;
  font-size:1rem;
  line-height:1.25;
}

.pnoel-rich.pn-phone-money .pn-phone-journey p{
  margin:0;
  color:var(--pn-phone-muted);
  font-size:.91rem;
  line-height:1.5;
}

.pnoel-rich.pn-phone-money .pn-phone-audio{
  overflow:hidden;
  border:1px solid rgba(216,173,85,.28);
  background:
    radial-gradient(circle at 100% 0,rgba(216,173,85,.18),transparent 28%),
    linear-gradient(145deg,#fffdf4,#fff);
}

.pnoel-rich.pn-phone-money .pn-phone-audio::before{
  content:"";
  position:absolute;
  right:-55px;
  top:-55px;
  width:150px;
  height:150px;
  border-radius:50%;
  border:22px solid rgba(181,15,34,.04);
  pointer-events:none;
}

.pnoel-rich.pn-phone-money .pn-phone-audio__lead{
  max-width:830px;
}

.pnoel-rich.pn-phone-money .pn-phone-audio__box{
  margin-top:18px;
  padding:clamp(14px,3vw,24px);
  border:1px solid rgba(7,59,50,.10);
  border-radius:18px;
  background:#fff;
  box-shadow:0 8px 22px rgba(22,54,55,.07);
}

.pnoel-rich.pn-phone-money .pn-phone-audio .widget_evolve{
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}

.pnoel-rich.pn-phone-money .pn-phone-audio .champdunum{
  display:flex;
  align-items:stretch;
  gap:10px;
  width:100%;
  max-width:760px;
  margin:0 auto;
}

.pnoel-rich.pn-phone-money .pn-phone-audio input.num{
  flex:1 1 auto;
  min-width:0;
  min-height:50px;
  padding:12px 15px;
  border:1px solid rgba(7,59,50,.18);
  border-radius:12px;
  background:#fff;
  color:var(--pn-phone-ink);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.03);
  font-size:1rem;
}

.pnoel-rich.pn-phone-money .pn-phone-audio input.num:focus{
  outline:3px solid rgba(216,173,85,.22);
  border-color:var(--pn-phone-gold);
}

.pnoel-rich.pn-phone-money .pn-phone-audio input.submit{
  flex:0 0 auto;
  min-height:50px;
  margin:0!important;
  padding:12px 18px!important;
  border:0!important;
  border-radius:12px!important;
  color:#fff!important;
  background:linear-gradient(145deg,var(--pn-phone-red),var(--pn-phone-red-dark))!important;
  box-shadow:0 7px 16px rgba(118,9,21,.18)!important;
  font-weight:900!important;
  cursor:pointer;
}

.pnoel-rich.pn-phone-money .pn-phone-small,
.pnoel-rich.pn-phone-money .pn-phone-source-note{
  margin:11px 0 0!important;
  color:var(--pn-phone-muted)!important;
  font-size:.84rem!important;
  line-height:1.5!important;
}

.pnoel-rich.pn-phone-money .pn-phone-trust,
.pnoel-rich.pn-phone-money .pn-phone-note{
  margin:18px 0 0;
  padding:16px 18px;
  border-left:5px solid var(--pn-phone-gold);
  border-radius:13px;
  color:#33464e;
  background:linear-gradient(145deg,#fff8df,#fffdf7);
}

.pnoel-rich.pn-phone-money .pn-phone-note{
  border-left-color:var(--pn-phone-green-2);
  background:linear-gradient(145deg,#effaf5,#fff);
}

.pnoel-rich.pn-phone-money .pn-phone-compare{
  display:grid;
  grid-template-columns:1.14fr 1fr 1fr;
  gap:13px;
  margin-top:20px;
}

.pnoel-rich.pn-phone-money .pn-phone-compare__card{
  position:relative;
  min-width:0;
  padding:20px;
  border:1px solid rgba(7,59,50,.11);
  border-radius:17px;
  background:#fff;
  box-shadow:0 7px 18px rgba(22,54,55,.06);
}

.pnoel-rich.pn-phone-money .pn-phone-compare__card--main{
  border-color:rgba(181,15,34,.25);
  background:
    radial-gradient(circle at 100% 0,rgba(216,173,85,.14),transparent 35%),
    linear-gradient(145deg,#fffdf8,#fff6ef);
}

.pnoel-rich.pn-phone-money .pn-phone-compare__badge{
  display:inline-block;
  margin:0 0 10px;
  padding:5px 9px;
  border-radius:999px;
  color:#fff;
  background:var(--pn-phone-red);
  font-size:.72rem;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.pnoel-rich.pn-phone-money .pn-phone-compare h3{
  margin:0 0 9px;
  padding:0;
  color:var(--pn-phone-green);
  background:none;
  box-shadow:none;
  font-size:1.26rem;
  line-height:1.2;
}

.pnoel-rich.pn-phone-money .pn-phone-compare p{
  margin:8px 0;
  font-size:.92rem;
  line-height:1.52;
}

.pnoel-rich.pn-phone-money .pn-phone-compare__card a{
  display:inline-flex;
  margin-top:8px;
  padding:9px 13px;
  border-radius:999px;
  color:#fff!important;
  background:var(--pn-phone-green);
  text-decoration:none!important;
  font-size:.88rem;
  font-weight:900;
}

.pnoel-rich.pn-phone-money blockquote{
  position:relative;
  margin:20px 0 0;
  padding:21px 23px 21px 28px;
  border:1px solid rgba(181,15,34,.14);
  border-left:5px solid var(--pn-phone-red);
  border-radius:15px;
  color:#55323a;
  background:#fff;
  box-shadow:0 6px 16px rgba(86,23,34,.05);
  font-size:1.02rem;
  line-height:1.65;
  font-style:italic;
}

.pnoel-rich.pn-phone-money .pn-phone-final{
  position:relative;
  overflow:hidden;
  margin:30px 0 24px;
  padding:clamp(27px,5vw,48px) 20px;
  border-radius:25px;
  text-align:center;
  color:#fff;
  background:
    radial-gradient(circle at 50% -20%,rgba(245,221,164,.34),transparent 42%),
    linear-gradient(145deg,var(--pn-phone-green),#0c6753);
  box-shadow:var(--pn-phone-shadow);
}

.pnoel-rich.pn-phone-money .pn-phone-final__eyebrow{
  margin:0 0 7px;
  color:var(--pn-phone-gold-light);
  font-size:.78rem;
  font-weight:900;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.pnoel-rich.pn-phone-money .pn-phone-final h2{
  margin:0 auto 10px;
  padding:0;
  max-width:760px;
  color:#fff;
  background:none;
  box-shadow:none;
  font-size:clamp(1.55rem,3.4vw,2.45rem);
  line-height:1.1;
}

.pnoel-rich.pn-phone-money .pn-phone-final p{
  margin:0 auto 18px;
  max-width:660px;
  color:rgba(255,255,255,.90);
  font-size:1rem;
  line-height:1.6;
}

.pnoel-rich.pn-phone-money .pn-phone-call--final{
  min-width:min(100%,320px);
  font-size:clamp(1.15rem,3vw,1.55rem);
  font-variant-numeric:tabular-nums;
}

.pnoel-rich.pn-phone-money .pn-phone-final small{
  display:block;
  margin-top:11px;
  color:rgba(255,255,255,.78);
  font-size:.79rem;
}

.pnoel-rich.pn-phone-money .pn-phone-faq{
  margin:28px 0 0;
  padding:clamp(22px,4vw,34px);
  border:1px solid var(--pn-phone-line);
  border-radius:23px;
  background:linear-gradient(145deg,#fff,#fffaf0);
  box-shadow:var(--pn-phone-shadow-soft);
}

.pnoel-rich.pn-phone-money .pn-phone-faq > h2{
  margin:0 0 18px;
  padding:0;
  color:var(--pn-phone-green);
  background:none;
  box-shadow:none;
  font-size:clamp(1.4rem,2.8vw,2rem);
  line-height:1.15;
}

.pnoel-rich.pn-phone-money .pn-phone-faq .faq-item{
  margin:0;
  padding:16px 0;
  border:0;
  border-top:1px solid rgba(7,59,50,.10);
  background:transparent;
  box-shadow:none;
}

.pnoel-rich.pn-phone-money .pn-phone-faq .faq-item:first-of-type{
  border-top:0;
}

.pnoel-rich.pn-phone-money .pn-phone-faq h3{
  margin:0 0 7px;
  padding:0;
  color:var(--pn-phone-red-dark);
  background:none;
  box-shadow:none;
  font-size:1.04rem;
  line-height:1.3;
}

.pnoel-rich.pn-phone-money .pn-phone-faq p{
  margin:0;
  color:#435861;
  font-size:.95rem;
  line-height:1.6;
}

@media (max-width:780px){
  .pnoel-rich.pn-phone-money .pn-phone-journey,
  .pnoel-rich.pn-phone-money .pn-phone-compare{
    grid-template-columns:1fr;
  }

  .pnoel-rich.pn-phone-money .pn-phone-audio .champdunum{
    flex-direction:column;
  }

  .pnoel-rich.pn-phone-money .pn-phone-audio input.submit{
    width:100%;
  }
}

@media (max-width:520px){
  .pnoel-rich.pn-phone-money .pn-phone-hero{
    border-radius:22px;
  }

  .pnoel-rich.pn-phone-money .pn-phone-number{
    gap:8px;
    padding:11px 13px;
  }

  .pnoel-rich.pn-phone-money .pn-phone-number__icon{
    width:31px;
    height:31px;
    flex-basis:31px;
    font-size:1rem;
  }

  .pnoel-rich.pn-phone-money .pn-phone-number__digits{
    font-size:clamp(1.32rem,7.4vw,2rem);
  }

  .pnoel-rich.pn-phone-money .pn-phone-section{
    padding:20px 16px;
    border-radius:19px;
  }

  .pnoel-rich.pn-phone-money .pn-phone-heading{
    align-items:flex-start;
  }

  .pnoel-rich.pn-phone-money .pn-phone-heading > span{
    width:37px;
    height:37px;
    flex-basis:37px;
    border-radius:11px;
  }
}

@media (prefers-reduced-motion:reduce){
  .pnoel-rich.pn-phone-money .pn-phone-call{
    transition:none;
  }
}

/* ================= FIN MONEY PAGE NUMERO DU PERE NOEL ================= */

/* =====================================================================
   PAPA-NOEL.NET — PATCH V5.8 SAFE FIXES
   - contraste des cards claires même dans un parent sombre ;
   - palettes rouge / forêt / or verrouillées ;
   - listes à pseudo-puce sans marqueur natif ;
   - telcofeedsonic_fie_tags exclu des règles génériques de listes ;
   - icônes .pn-card-icon centrées via la règle source.
   ===================================================================== */

/* Cards claires : ne doivent jamais hériter du blanc d'une section sombre. */
.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest),
.pnoel-rich .pn-enchanted-card,
.pnoel-rich .pn-hub-card{
  color:var(--pn-ink)!important;
}

.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest) h3,
.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest) h4,
.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest) p,
.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest) strong,
.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest) li,
.pnoel-rich .pn-enchanted-card h3,
.pnoel-rich .pn-enchanted-card h4,
.pnoel-rich .pn-enchanted-card p,
.pnoel-rich .pn-enchanted-card strong,
.pnoel-rich .pn-enchanted-card li,
.pnoel-rich .pn-hub-card h3,
.pnoel-rich .pn-hub-card h4,
.pnoel-rich .pn-hub-card p,
.pnoel-rich .pn-hub-card strong,
.pnoel-rich .pn-hub-card li{
  color:inherit!important;
}

.pnoel-rich .pn-card:not(.pn-card--red):not(.pn-card--forest) a:not(.pn-card-link):not(.pn-btn),
.pnoel-rich .pn-enchanted-card a:not(.pn-card-link):not(.pn-btn),
.pnoel-rich .pn-hub-card a:not(.pn-card-link):not(.pn-btn){
  color:var(--pn-red-800)!important;
}

/* Variante or : texte volontairement sombre et contrasté. */
.pnoel-rich .pn-card.pn-card--gold,
.pnoel-rich .pn-card.pn-card--gold h3,
.pnoel-rich .pn-card.pn-card--gold h4,
.pnoel-rich .pn-card.pn-card--gold p,
.pnoel-rich .pn-card.pn-card--gold strong,
.pnoel-rich .pn-card.pn-card--gold li{
  color:#17324a!important;
}

.pnoel-rich .pn-card.pn-card--gold a:not(.pn-card-link):not(.pn-btn){
  color:#7a1420!important;
}

/* Variantes sombres : verrouille le blanc sans toucher aux cards claires. */
.pnoel-rich .pn-card.pn-card--red,
.pnoel-rich .pn-card.pn-card--forest,
.pnoel-rich .pn-card.pn-card--red h3,
.pnoel-rich .pn-card.pn-card--red h4,
.pnoel-rich .pn-card.pn-card--red p,
.pnoel-rich .pn-card.pn-card--red strong,
.pnoel-rich .pn-card.pn-card--red li,
.pnoel-rich .pn-card.pn-card--forest h3,
.pnoel-rich .pn-card.pn-card--forest h4,
.pnoel-rich .pn-card.pn-card--forest p,
.pnoel-rich .pn-card.pn-card--forest strong,
.pnoel-rich .pn-card.pn-card--forest li{
  color:#fff!important;
}

.pnoel-rich .pn-card.pn-card--red a:not(.pn-card-link):not(.pn-btn),
.pnoel-rich .pn-card.pn-card--forest a:not(.pn-card-link):not(.pn-btn){
  color:#ffe5a8!important;
}

/* Checklists éditoriales : aucune double puce possible. */
.pnoel-rich .pn-editorial-checklist__items{
  list-style:none!important;
  padding-left:0!important;
}

.pnoel-rich .pn-editorial-checklist__items > li{
  list-style:none!important;
}

.pnoel-rich .pn-editorial-checklist__items > li::marker{
  content:"";
}

/* Même sécurité sur la checklist StoreVision. */
.pnoel-rich.pn-store-rich .pn-store-checklist__items,
.pnoel-rich.pn-store-rich .pn-store-checklist__items > li{
  list-style:none!important;
}

.pnoel-rich.pn-store-rich .pn-store-checklist__items > li::marker{
  content:"";
}

/* ======================= FIN PATCH V5.8 ======================= */

/* =====================================================================
   PAPA-NOEL.NET — PATCH V5.9 CONTRASTE / CARDS / BLOCKQUOTE / PHONE LINKS
   Base : rich_v5_8_corrige.css
   Scope strict : .pnoel-rich
   ===================================================================== */

/* ---------------------------------------------------------------------
   1. ANSWER / CALLOUT DANS LES SECTIONS SOMBRES
   Les règles .pn-section--forest p/li forcent le blanc. Les panneaux clairs
   doivent reprendre leur propre palette sombre, même lorsqu'ils sont imbriqués.
   --------------------------------------------------------------------- */

.pnoel-rich .pn-section--forest .pn-answer,
.pnoel-rich .pn-section--forest .pn-answer p,
.pnoel-rich .pn-section--forest .pn-answer strong,
.pnoel-rich .pn-section--forest .pn-answer em,
.pnoel-rich .pn-section--forest .pn-answer h3,
.pnoel-rich .pn-section--forest .pn-answer h4{
  color:#3c2e22!important;
}

.pnoel-rich .pn-section--forest .pn-callout:not(.pn-callout--red),
.pnoel-rich .pn-section--forest .pn-callout:not(.pn-callout--red) p,
.pnoel-rich .pn-section--forest .pn-callout:not(.pn-callout--red) strong,
.pnoel-rich .pn-section--forest .pn-callout:not(.pn-callout--red) em,
.pnoel-rich .pn-section--forest .pn-callout:not(.pn-callout--red) h3,
.pnoel-rich .pn-section--forest .pn-callout:not(.pn-callout--red) h4{
  color:#3b3024!important;
}

/* Les callouts rouges restent volontairement blancs. */
.pnoel-rich .pn-callout--red,
.pnoel-rich .pn-callout--red p,
.pnoel-rich .pn-callout--red strong,
.pnoel-rich .pn-callout--red em,
.pnoel-rich .pn-callout--red h3,
.pnoel-rich .pn-callout--red h4{
  color:#fff!important;
}

/* ---------------------------------------------------------------------
   2. CARDS : ICÔNE + HEADLINE CENTRÉS
   L'icône était déjà recentrée en V5.8 ; on aligne maintenant le titre.
   --------------------------------------------------------------------- */

.pnoel-rich .pn-card > .pn-card-icon{
  margin-left:auto!important;
  margin-right:auto!important;
}

.pnoel-rich .pn-card > h3,
.pnoel-rich .pn-card > h4,
.pnoel-rich .pn-card > .pn-card-icon + h3,
.pnoel-rich .pn-card > .pn-card-icon + h4{
  text-align:center!important;
}

/* ---------------------------------------------------------------------
   3. BLOCKQUOTE : RÉSERVE RÉELLE POUR LE GUILLEMET DÉCORATIF
   Évite que le texte passe sous le pseudo-élément, notamment sur la money page.
   --------------------------------------------------------------------- */

.pnoel-rich blockquote{
  padding-left:80px!important;
}

.pnoel-rich blockquote::before{
  left:22px!important;
  top:14px!important;
  font-size:3.25rem!important;
}

/* Le blockquote de la page téléphone avait un padding-left local de 28px. */
.pnoel-rich.pn-phone-money blockquote{
  padding:22px 24px 22px 80px!important;
}

.pnoel-rich.pn-phone-money blockquote::before{
  left:22px!important;
  top:14px!important;
  color:var(--pn-phone-red)!important;
}

/* ---------------------------------------------------------------------
   4. MONEY PAGE NUMÉRO DU PÈRE NOËL : LIENS TOUJOURS LISIBLES
   Inclut Safari/iOS et les liens tel: auto-détectés.
   --------------------------------------------------------------------- */

/* Liens standards sur panneaux clairs. */
.pnoel-rich.pn-phone-money a:not(.pn-phone-call):not(.pn-btn):not(.pn-card-link),
.pnoel-rich.pn-phone-money a:not(.pn-phone-call):not(.pn-btn):not(.pn-card-link):visited,
.pnoel-rich.pn-phone-money a[href^="tel:"]:not(.pn-phone-call),
.pnoel-rich.pn-phone-money a[x-apple-data-detectors]:not(.pn-phone-call){
  color:#7a0d1a!important;
  -webkit-text-fill-color:#7a0d1a!important;
  text-decoration-color:rgba(122,13,26,.42)!important;
}

/* Sur les zones sombres, on bascule en or clair. */
.pnoel-rich.pn-phone-money .pn-phone-hero a:not(.pn-phone-call),
.pnoel-rich.pn-phone-money .pn-phone-final a:not(.pn-phone-call),
.pnoel-rich.pn-phone-money .pn-section--forest a:not(.pn-btn):not(.pn-card-link),
.pnoel-rich.pn-phone-money .pn-card--red a:not(.pn-btn):not(.pn-card-link),
.pnoel-rich.pn-phone-money .pn-card--forest a:not(.pn-btn):not(.pn-card-link),
.pnoel-rich.pn-phone-money .pn-callout--red a:not(.pn-btn):not(.pn-card-link){
  color:#ffe8ab!important;
  -webkit-text-fill-color:#ffe8ab!important;
  text-decoration-color:rgba(255,232,171,.56)!important;
}

/* Le gros numéro doit rester blanc même si Safari le transforme en lien tel:. */
.pnoel-rich.pn-phone-money .pn-phone-number,
.pnoel-rich.pn-phone-money .pn-phone-number a,
.pnoel-rich.pn-phone-money .pn-phone-number a:visited,
.pnoel-rich.pn-phone-money .pn-phone-number a[href^="tel:"],
.pnoel-rich.pn-phone-money .pn-phone-number a[x-apple-data-detectors],
.pnoel-rich.pn-phone-money .pn-phone-number__digits,
.pnoel-rich.pn-phone-money .pn-phone-number__digits a{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration:none!important;
}

/* Le bouton d'appel garde son texte vert, y compris :visited / iOS. */
.pnoel-rich.pn-phone-money a.pn-phone-call,
.pnoel-rich.pn-phone-money a.pn-phone-call:visited,
.pnoel-rich.pn-phone-money a.pn-phone-call[href^="tel:"],
.pnoel-rich.pn-phone-money a.pn-phone-call[x-apple-data-detectors]{
  color:var(--pn-phone-green)!important;
  -webkit-text-fill-color:var(--pn-phone-green)!important;
  text-decoration:none!important;
}

@media (max-width:520px){
  .pnoel-rich blockquote,
  .pnoel-rich.pn-phone-money blockquote{
    padding:20px 18px 20px 68px!important;
  }

  .pnoel-rich blockquote::before,
  .pnoel-rich.pn-phone-money blockquote::before{
    left:17px!important;
    top:13px!important;
    font-size:2.8rem!important;
  }
}

/* ======================= FIN PATCH V5.9 ======================= */


/* =====================================================================
   PN V5.10 — iOS / Safari : numéro du Père Noël toujours blanc
   Safari peut injecter un lien de détection téléphonique et appliquer
   sa propre couleur jusque sur les descendants. Ce bloc DOIT rester
   en fin de fichier pour gagner la cascade.
   ===================================================================== */
.pnoel-rich.pn-phone-money .pn-phone-hero .pn-phone-number,
.pnoel-rich.pn-phone-money .pn-phone-hero .pn-phone-number *,
.pnoel-rich.pn-phone-money .pn-phone-hero .pn-phone-number__digits,
.pnoel-rich.pn-phone-money .pn-phone-hero .pn-phone-number__digits *,
.pnoel-rich.pn-phone-money .pn-phone-hero .pn-phone-lead strong,
.pnoel-rich.pn-phone-money .pn-phone-hero a[href^="tel:"]:not(.pn-phone-call),
.pnoel-rich.pn-phone-money .pn-phone-hero a[href^="tel:"]:not(.pn-phone-call) *,
.pnoel-rich.pn-phone-money .pn-phone-hero a[x-apple-data-detectors]:not(.pn-phone-call),
.pnoel-rich.pn-phone-money .pn-phone-hero a[x-apple-data-detectors]:not(.pn-phone-call) *{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  text-decoration-color:rgba(255,255,255,.72)!important;
}

/* Le vrai bouton d'appel conserve volontairement son texte vert. */
.pnoel-rich.pn-phone-money .pn-phone-hero a.pn-phone-call,
.pnoel-rich.pn-phone-money .pn-phone-hero a.pn-phone-call:visited,
.pnoel-rich.pn-phone-money .pn-phone-hero a.pn-phone-call[href^="tel:"],
.pnoel-rich.pn-phone-money .pn-phone-hero a.pn-phone-call[x-apple-data-detectors],
.pnoel-rich.pn-phone-money .pn-phone-hero a.pn-phone-call *{
  color:var(--pn-phone-green)!important;
  -webkit-text-fill-color:var(--pn-phone-green)!important;
}


/* =====================================================================
   V5.11 — FIX CONTRASTES BLOCS CLAIRS + GRILLES IMPAIRES
   ===================================================================== */


/* ---------------------------------------------------------------------
   1. EYEBROW
   Par défaut il est prévu pour les heroes sombres.
   Sur les composants clairs, on lui donne une vraie couleur contrastée.
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-section .pn-editorial-eyebrow,
.pnoel-rich.pn-editorial-category .pn-editorial-checklist .pn-editorial-eyebrow,
.pnoel-rich.pn-editorial-category .pn-editorial-card .pn-editorial-eyebrow,
.pnoel-rich.pn-editorial-category .pn-editorial-callout .pn-editorial-eyebrow{
  color:#8b101f!important;
  background:#fff3ca!important;
  border-color:rgba(139,16,31,.16)!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section .pn-editorial-eyebrow::before,
.pnoel-rich.pn-editorial-category .pn-editorial-checklist .pn-editorial-eyebrow::before,
.pnoel-rich.pn-editorial-category .pn-editorial-card .pn-editorial-eyebrow::before,
.pnoel-rich.pn-editorial-category .pn-editorial-callout .pn-editorial-eyebrow::before{
  background:#c91f2b!important;
  box-shadow:0 0 0 3px rgba(201,31,43,.12)!important;
}


/* ---------------------------------------------------------------------
   2. SÉCURITÉ CONTRASTE DES BLOCS CLAIRS
   Empêche une couleur blanche héritée d'un parent sombre.
   --------------------------------------------------------------------- */

.pnoel-rich.pn-editorial-category .pn-editorial-section,
.pnoel-rich.pn-editorial-category .pn-editorial-checklist,
.pnoel-rich.pn-editorial-category .pn-editorial-card,
.pnoel-rich.pn-editorial-category .pn-editorial-callout{
  color:var(--pne-ink)!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section h2,
.pnoel-rich.pn-editorial-category .pn-editorial-section h3,
.pnoel-rich.pn-editorial-category .pn-editorial-card h3,
.pnoel-rich.pn-editorial-category .pn-editorial-callout h3{
  color:var(--pne-ink)!important;
}

.pnoel-rich.pn-editorial-category .pn-editorial-section p,
.pnoel-rich.pn-editorial-category .pn-editorial-section li,
.pnoel-rich.pn-editorial-category .pn-editorial-card p,
.pnoel-rich.pn-editorial-category .pn-editorial-callout p{
  color:#314653!important;
}


/* =====================================================================
   FIX GRILLES IMPAIRES DES CARDS EDITORIALES
   Desktop : si la dernière card est impaire, elle prend toute la ligne.
   ===================================================================== */

@media (min-width:981px){

  .pnoel-rich.pn-editorial-category
  .pn-editorial-card-grid > .pn-editorial-card:last-child:nth-child(odd){
    grid-column:1 / -1!important;
  }

}