.pill-ok{background:#dcfce7;color:#166534;border:1px solid #bbf7d0;border-radius:999px;padding:2px 8px;font-size:12px}
.pill-no{background:#fee2e2;color:#991b1b;border:1px solid #fecaca;border-radius:999px;padding:2px 8px;font-size:12px}


/* Quiz : image + espacements */
.quiz-media{ margin: 0 0 12px 0; }
.quiz-media img{
  display:block; width:100%; height:auto;
  border-radius:12px; border:1px solid #e5e7eb;
  box-shadow:0 4px 14px rgba(0,0,0,.06);
}
.quiz-question{ margin: 0 0 12px 0; }
.quiz-opts{ display:grid; gap:12px; }
.quiz-error{ color:#b91c1c; font-size:12px; margin-top:6px; }


/* Style sobre aux couleurs A2V (adapter si besoin) */
:root{ --a2v:#0E3B5C; --accent:#93C5FD; --gold:#D4AF37; --snow:#F7FAFC; }
*{ box-sizing:border-box }
body{ margin:0; font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu; background:var(--snow); color:#111 }
.header, .footer{ background:#fff; border-bottom:1px solid #e5e7eb }
.container{ max-width:1100px; margin:0 auto; padding:16px }
.btn{ background:var(--a2v); color:#fff; border:none; padding:10px 16px; border-radius:12px; font-weight:600; cursor:pointer }
.btn:disabled{ opacity:.6; cursor:not-allowed }
.input{ width:100%; padding:10px 12px; border:1px solid #e5e7eb; border-radius:10px }
.card{ background:#fff; border:1px solid #e5e7eb; border-radius:16px; padding:16px; box-shadow:0 1px 2px rgba(0,0,0,.04) }
.grid{ display:grid; gap:12px }
.grid-3{ grid-template-columns:repeat(3,1fr) }
.grid-4{ grid-template-columns:repeat(4,1fr) }
.grid-6{ grid-template-columns:repeat(6,1fr) }
.door{ aspect-ratio:1/1; border-radius:16px; display:flex; align-items:center; justify-content:center; font-weight:800; font-size:26px; position:relative }
.door.today{ background:#981d25; color:#fff; box-shadow:0 8px 24px rgba(14,59,92,.25) }
.door.past{ background:#e5e7eb; color:#6b7280 }
.door.future{ background:#fff; color:#94a3b8; border:2px dashed #cbd5e1 }
.badge{ position:absolute; right:8px; bottom:8px; font-size:12px; opacity:.85 }
.modal{ position:fixed; inset:0; background:rgba(0,0,0,.45); display:flex; align-items:center; justify-content:center; padding:16px }
.modal>div{ background:#fff; border-radius:16px; padding:20px; max-width:520px; width:100% }
.table{ width:100%; border-collapse:collapse }
.table th, .table td{ padding:8px 10px; border-top:1px solid #e5e7eb; text-align:left; font-size:14px }


#quiz .opt{ display:block; width:100%; padding:10px 12px; border-radius:12px; border:1px solid #e5e7eb; background:#fff; margin:6px 0; cursor:pointer }
#quiz .opt:hover{ background:#f3f4f6 }

/* ===== Footer Noël A2V ===== */
.xmas-footer{ position:relative; margin-top:32px; overflow:hidden; border-top:1px solid #e5e7eb; background:#2e2e2e; }
.xmas-footer .img-wrap{ position:relative; height:220px; background:#981d25; }
.xmas-footer .img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.xmas-footer .veil{ position:absolute; inset:0;
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.25) 65%, rgba(0,0,0,.55) 100%); }
.xmas-footer .inner{ position:relative; color:#fff; padding:12px 0 18px; display:flex; align-items:center; justify-content:space-between; gap:12px; }
.xmas-footer .brand{ display:flex; align-items:center; gap:10px; font-weight:600; }
.xmas-footer .brand img.logo{ height:22px; width:auto; display:block; }
.xmas-footer a{ color:#fff; text-decoration:underline; text-underline-offset:2px; }
.xmas-footer .links{ display:flex; gap:10px; flex-wrap:wrap; }
.xmas-footer .legal{ color:#e5e7eb; opacity:.9; font-size:12px; margin-top:6px; }
@media (max-width:640px){
  .xmas-footer .img-wrap{ height:180px; }
  .xmas-footer .inner{ flex-direction:column; align-items:flex-start; gap:8px; }
}

/* Hero marketing Noël */
.hero-xmas { 
  background: linear-gradient(180deg, #fff, #fbfbff);
  padding: 18px;
  border-radius: 16px;
  border: 1px solid #e5e7eb;
  margin-bottom: 16px;
}
.hero-xmas .hero-head { text-align: center; margin-bottom: 12px; }
.hero-xmas h2 { margin: 0 0 6px 0; }
.hero-xmas .sub { color: #475569; margin: 0 0 12px 0; }
.hero-xmas .hero-cta { 
  display: inline-block; 
  background: #981d25; 
  border-color: #981d25; 
  color: #fff;
}
.hero-xmas .hero-grid {
  display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 8px;
}
.hero-xmas .hero-col {
  display: grid; grid-template-columns: 28px 1fr; gap: 8px; 
  background:#fff; border:1px solid #e5e7eb; border-radius:12px; padding:10px;
}
.hero-xmas .tick { font-size: 18px; line-height: 1; }
.hero-xmas .h { font-weight: 700; margin-bottom: 3px; }
.hero-xmas .p { color: #64748b; font-size: 13px; }
.hero-xmas .hero-badges { 
  display:flex; gap:8px; flex-wrap:wrap; justify-content:center; margin-top: 10px; 
}
.hero-xmas .badge {
  background:#0E3B5C; color:#fff; font-size:12px; border-radius:999px; 
  padding:4px 10px; display:inline-block;
}
@media (max-width: 820px){
  .hero-xmas .hero-grid { grid-template-columns: 1fr; }
}

/* Espacement des réponses du quiz */
.quiz-opts{
  display: grid;
  gap: 12px;     /* ← espace entre chaque possibilité */
}

/* Quiz spacing */
.quiz-question{ margin: 0 0 12px 0; }
.quiz-opts{ display: grid; gap: 12px; }  /* espace entre réponses */

/* Conditions générales (petit bloc sous le calendrier) */
.terms { font-size: 12px; color: #475569; margin-top: 16px; }
.terms h4 { margin: 0 0 6px 0; font-size: 14px; }
.terms ul { margin: 0; padding-left: 18px; }
.terms li { margin: 4px 0; }

