/* =========================================================
   VDR TOUR STYLES · Éditorial polaire
   ---------------------------------------------------------
   CSS ACTUELLEMENT EN PRODUCTION sur les fiches tour du
   WordPress voyagesdereve.nc, injecté par snippet WPCode.

   NE PAS MODIFIER ce fichier : il sert de référence pour
   deux choses.

   1. Le parseur de migration. Les 15 fiches au format vdr
      utilisent ces classes, et leur structure HTML est
      déterministe. C'est ce qui rend la reprise automatique
      possible.

   2. Le rendu cible. Les gabarits Blade des fiches voyage
      doivent produire le même rendu visuel.

   Correspondance parseur, voir docs/design/README.md
   ========================================================= */

/* Copie servie par le site Laravel. Deux différences avec docs/design/vdr-tour-design-system.css,
   l'import Google Fonts de la version WordPress est retiré, les polices sont servies en local par vdr-site.css ;
   et l'accent passe du cuivre à l'or du logo, selon les règles de contraste de vdr-site.css. */

.vdr-tour {
  --vdr-ink: #0a1f33;
  --vdr-deep: #143a5b;
  --vdr-ocean: #2c5f7f;
  --vdr-frost: #d8e6f0;
  --vdr-ice: #f4f8fb;
  --vdr-snow: #ffffff;
  --vdr-or-clair: #FBCD5C;
  --vdr-or: #F5BE45;
  --vdr-or-bouton: #E9A92A;
  --vdr-or-fonce: #D9981B;
  --vdr-or-texte: #92660F;
  --vdr-warm: #faf4ea;
  --vdr-text: #1f2d3b;
  --vdr-muted: #5a6c7d;
  --vdr-rule: #c8d6e2;
  --vdr-success: #2d6a4f;
  --vdr-alert: #9a3412;

  font-family: 'Manrope', sans-serif;
  color: var(--vdr-text);
  line-height: 1.7;
  font-size: 17px;
  max-width: 920px;
  margin: 0 auto;
  padding: 0 4px;
}

.vdr-tour *, .vdr-tour *::before, .vdr-tour *::after { box-sizing: border-box; }

.vdr-tour p { margin: 0 0 1em; }
.vdr-tour strong { color: var(--vdr-ink); font-weight: 600; }
.vdr-tour em { color: var(--vdr-muted); }

.vdr-tour a {
  color: var(--vdr-ocean);
  text-decoration: none;
  border-bottom: 1px solid var(--vdr-frost);
  transition: all 0.2s ease;
}
.vdr-tour a:hover { color: var(--vdr-or-texte); border-color: var(--vdr-or-texte); }

/* === HERO === */
.vdr-hero {
  background: linear-gradient(160deg, var(--vdr-ink) 0%, var(--vdr-deep) 100%);
  color: var(--vdr-snow);
  padding: 60px 40px;
  border-radius: 4px;
  margin-bottom: 40px;
  position: relative;
  overflow: hidden;
}
.vdr-hero::before {
  content: '';
  position: absolute;
  top: -20%;
  right: -10%;
  width: 400px;
  height: 400px;
  background: radial-gradient(circle, rgba(251, 205, 92, 0.12) 0%, transparent 70%);
  pointer-events: none;
}
.vdr-hero__kicker {
  font-family: 'Manrope', sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  font-size: 0.75em;
  color: var(--vdr-or-clair);
  margin-bottom: 1em;
  font-weight: 500;
}
.vdr-hero__title {
  font-family: 'Fraunces', serif;
  font-size: 2.6em;
  font-weight: 500;
  line-height: 1.15;
  margin: 0 0 0.5em;
  color: var(--vdr-snow);
  letter-spacing: -0.01em;
}
.vdr-hero__subtitle {
  font-family: 'Fraunces', serif;
  font-size: 1.3em;
  font-style: italic;
  font-weight: 400;
  color: var(--vdr-frost);
  margin-bottom: 1.5em;
  max-width: 700px;
}
.vdr-hero__intro {
  font-size: 1.05em;
  line-height: 1.8;
  color: rgba(255, 255, 255, 0.88);
  max-width: 700px;
}

/* === KEY INFO BOX === */
.vdr-keybox {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 1px;
  background: var(--vdr-rule);
  border-radius: 4px;
  overflow: hidden;
  margin: 32px 0 40px;
  box-shadow: 0 2px 12px rgba(10, 31, 51, 0.06);
}
.vdr-keybox__item {
  background: var(--vdr-snow);
  padding: 22px 18px;
  text-align: center;
}
.vdr-keybox__label {
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--vdr-muted);
  margin-bottom: 6px;
  display: block;
  font-weight: 500;
}
.vdr-keybox__value {
  font-family: 'Fraunces', serif;
  font-size: 1.25em;
  font-weight: 500;
  color: var(--vdr-ink);
  line-height: 1.3;
}
.vdr-keybox__value strong { color: var(--vdr-or-texte); }

/* === SECTION TITLES === */
.vdr-section {
  margin: 64px 0 32px;
}
.vdr-section__kicker {
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--vdr-or-texte);
  margin-bottom: 12px;
  font-weight: 600;
}
.vdr-section__title {
  font-family: 'Fraunces', serif;
  font-size: 2.1em;
  font-weight: 500;
  color: var(--vdr-ink);
  margin: 0 0 0.4em;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.vdr-section__lead {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 1.2em;
  color: var(--vdr-muted);
  margin-bottom: 1.5em;
}

/* === DIVIDER === */
.vdr-divider {
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 48px 0;
  gap: 16px;
}
.vdr-divider::before,
.vdr-divider::after {
  content: '';
  flex: 1;
  height: 1px;
  background: var(--vdr-rule);
}
.vdr-divider__mark {
  font-family: 'Fraunces', serif;
  color: var(--vdr-or-texte);
  font-size: 1.4em;
  letter-spacing: 0.5em;
  padding-left: 0.5em;
}

/* === PITCH BLOCK === */
.vdr-pitch {
  background: var(--vdr-warm);
  border-left: 4px solid var(--vdr-or-fonce);
  padding: 32px 36px;
  margin: 40px 0;
  border-radius: 0 4px 4px 0;
}
.vdr-pitch__title {
  font-family: 'Fraunces', serif;
  font-size: 1.5em;
  font-weight: 600;
  color: var(--vdr-or-texte);
  margin: 0 0 0.5em;
  line-height: 1.3;
}
.vdr-pitch p:last-child { margin-bottom: 0; }
.vdr-pitch__highlight {
  display: inline-block;
  background: var(--vdr-snow);
  color: var(--vdr-or-texte);
  padding: 2px 10px;
  border-radius: 3px;
  font-weight: 600;
  font-size: 0.95em;
}

/* === CTA BLOCK === */
.vdr-cta {
  background: var(--vdr-snow);
  border: 1px solid var(--vdr-rule);
  border-radius: 6px;
  padding: 28px 32px;
  margin: 32px 0;
  text-align: center;
  box-shadow: 0 4px 20px rgba(10, 31, 51, 0.05);
}
.vdr-cta__title {
  font-family: 'Fraunces', serif;
  font-size: 1.3em;
  color: var(--vdr-ink);
  margin: 0 0 0.5em;
  font-weight: 500;
}
.vdr-cta__phone {
  font-family: 'Fraunces', serif;
  font-size: 1.8em;
  color: var(--vdr-or-texte);
  font-weight: 600;
  display: inline-block;
  margin: 8px 0;
  letter-spacing: 0.02em;
}
.vdr-cta__phone:hover { color: var(--vdr-ink); border-color: transparent; }
.vdr-cta__badge {
  display: inline-block;
  background: var(--vdr-deep);
  color: var(--vdr-snow);
  padding: 6px 16px;
  border-radius: 20px;
  font-size: 0.85em;
  font-weight: 600;
  margin-top: 12px;
  letter-spacing: 0.05em;
}

/* === DAY BLOCK ===
   Structure attendue par le parseur :
   .vdr-day > .vdr-day__num > .vdr-day__num-label + .vdr-day__num-value
            > .vdr-day__body > .vdr-day__title (> small = surtitre)
   Un numéro sur deux lignes (12<br>13) signifie un bloc groupé,
   donc numero = 12 et numero_fin = 13.
*/
.vdr-day {
  display: grid;
  grid-template-columns: 90px 1fr;
  gap: 32px;
  padding: 32px 0;
  border-top: 1px solid var(--vdr-rule);
}
.vdr-day:first-of-type { border-top: none; }

.vdr-day__num {
  font-family: 'Fraunces', serif;
  font-weight: 400;
  line-height: 1;
  position: sticky;
  top: 20px;
  align-self: start;
}
.vdr-day__num-label {
  display: block;
  font-family: 'Manrope', sans-serif;
  font-size: 0.65em;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--vdr-or-texte);
  margin-bottom: 4px;
  font-weight: 600;
}
.vdr-day__num-value {
  display: block;
  font-size: 3.4em;
  color: var(--vdr-ink);
  font-weight: 500;
  letter-spacing: -0.02em;
}

.vdr-day__title {
  font-family: 'Fraunces', serif;
  font-size: 1.5em;
  font-weight: 600;
  color: var(--vdr-ink);
  margin: 0 0 0.6em;
  line-height: 1.25;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.vdr-day__title small {
  display: block;
  font-size: 0.5em;
  font-weight: 500;
  color: var(--vdr-or-texte);
  letter-spacing: 0.18em;
  margin-bottom: 0.3em;
  text-transform: uppercase;
}

.vdr-day__body p:first-of-type { font-size: 1.02em; }

/* Repas et mentions courtes dans le corps d'un jour */
.vdr-tag {
  display: inline-block;
  background: var(--vdr-frost);
  color: var(--vdr-deep);
  padding: 3px 10px;
  border-radius: 3px;
  font-size: 0.85em;
  font-weight: 600;
  margin-right: 8px;
  letter-spacing: 0.03em;
}

/* === HOTEL CARD === */
.vdr-hotel {
  background: var(--vdr-ice);
  border-left: 3px solid var(--vdr-ocean);
  padding: 16px 22px;
  margin: 20px 0;
  border-radius: 0 4px 4px 0;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 14px;
}
.vdr-hotel__icon {
  font-family: 'Fraunces', serif;
  font-size: 1.4em;
  color: var(--vdr-ocean);
}
.vdr-hotel__label {
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 0.2em;
  color: var(--vdr-muted);
  display: block;
  font-weight: 600;
  margin-bottom: 2px;
}
.vdr-hotel__name {
  font-family: 'Fraunces', serif;
  font-size: 1.15em;
  font-weight: 600;
  color: var(--vdr-ink);
  display: block;
}
.vdr-hotel__link {
  margin-left: auto;
  background: var(--vdr-ocean);
  color: var(--vdr-snow) !important;
  padding: 7px 16px;
  border-radius: 3px;
  font-size: 0.85em;
  font-weight: 600;
  border: none !important;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.vdr-hotel__link:hover {
  background: var(--vdr-or-bouton);
  color: var(--vdr-ink) !important;
}

/* === OPTION BLOCK ===
   .vdr-option__label vaut "Option" ou "Variante".
   .vdr-option__price porte le tarif, parfois en EUR ou USD.
*/
.vdr-option {
  background: linear-gradient(135deg, var(--vdr-warm) 0%, #fcf8f1 100%);
  border: 1px dashed var(--vdr-or-fonce);
  padding: 22px 26px;
  margin: 20px 0;
  border-radius: 4px;
  position: relative;
}
.vdr-option__label {
  position: absolute;
  top: -10px;
  left: 20px;
  background: var(--vdr-or-bouton);
  color: var(--vdr-ink);
  padding: 3px 14px;
  border-radius: 12px;
  font-size: 0.72em;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}
.vdr-option__title {
  font-family: 'Fraunces', serif;
  font-size: 1.15em;
  font-weight: 600;
  color: var(--vdr-or-texte);
  margin: 6px 0 0.6em;
  font-style: italic;
}
.vdr-option__price {
  display: inline-block;
  background: var(--vdr-snow);
  border: 1px solid var(--vdr-or-fonce);
  padding: 4px 12px;
  border-radius: 3px;
  font-size: 0.9em;
  font-weight: 600;
  color: var(--vdr-or-texte);
  margin-top: 8px;
}
.vdr-option p { font-size: 0.97em; color: var(--vdr-text); }
.vdr-option p:last-child { margin-bottom: 0; }

/* === PHOTO === */
.vdr-photo {
  margin: 28px 0;
  padding: 8px;
  background: var(--vdr-snow);
  border: 1px solid var(--vdr-rule);
  border-radius: 4px;
  box-shadow: 0 6px 24px rgba(10, 31, 51, 0.08);
}
.vdr-photo img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 2px;
}
.vdr-photo__caption {
  font-family: 'Fraunces', serif;
  font-style: italic;
  font-size: 0.92em;
  color: var(--vdr-muted);
  text-align: center;
  padding: 12px 8px 4px;
}

/* === NOTICE / WARNING === */
.vdr-notice {
  background: var(--vdr-frost);
  border-left: 4px solid var(--vdr-deep);
  padding: 18px 24px;
  margin: 24px 0;
  border-radius: 0 4px 4px 0;
  font-size: 0.97em;
}
.vdr-notice__label {
  display: inline-block;
  font-weight: 700;
  color: var(--vdr-deep);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.8em;
  margin-bottom: 6px;
}
.vdr-notice p:last-child { margin-bottom: 0; }

.vdr-warning {
  background: #fef4ec;
  border-left: 4px solid var(--vdr-alert);
  padding: 18px 24px;
  margin: 24px 0;
  border-radius: 0 4px 4px 0;
  font-size: 0.97em;
}
.vdr-warning__label {
  display: inline-block;
  font-weight: 700;
  color: var(--vdr-alert);
  text-transform: uppercase;
  letter-spacing: 0.15em;
  font-size: 0.8em;
  margin-bottom: 6px;
}

/* === ALTERNATE PROGRAM ===
   Programme alternatif complet, par exemple Iguazu au lieu
   de Mendoza sur l'Antarctique. Les jours qu'il contient
   sont des variantes, pas des jours supplémentaires.
*/
.vdr-alternate {
  background: var(--vdr-ice);
  border-radius: 6px;
  padding: 36px 40px;
  margin: 48px 0;
  border: 1px solid var(--vdr-rule);
}
.vdr-alternate__header {
  border-bottom: 1px solid var(--vdr-rule);
  padding-bottom: 20px;
  margin-bottom: 24px;
}
.vdr-alternate__kicker {
  font-size: 0.7em;
  text-transform: uppercase;
  letter-spacing: 0.25em;
  color: var(--vdr-or-texte);
  margin-bottom: 8px;
  font-weight: 700;
}
.vdr-alternate__title {
  font-family: 'Fraunces', serif;
  font-size: 1.6em;
  color: var(--vdr-ink);
  margin: 0;
  font-weight: 500;
}

/* === CRUISE SECTION ===
   Bloc sombre pour une séquence premium : croisière,
   train de luxe, expédition polaire.
   Les jours qu'il contient ont sequence = croisiere.
*/
.vdr-cruise {
  background: linear-gradient(180deg, var(--vdr-ink) 0%, var(--vdr-deep) 100%);
  color: var(--vdr-snow);
  padding: 48px 44px;
  border-radius: 6px;
  margin: 48px 0;
  position: relative;
  overflow: hidden;
}
.vdr-cruise::before {
  content: '';
  position: absolute;
  bottom: -50%;
  left: -10%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(216, 230, 240, 0.08) 0%, transparent 60%);
  pointer-events: none;
}
.vdr-cruise__kicker {
  font-size: 0.75em;
  text-transform: uppercase;
  letter-spacing: 0.3em;
  color: var(--vdr-or-clair);
  margin-bottom: 12px;
  font-weight: 600;
}
.vdr-cruise__title {
  font-family: 'Fraunces', serif;
  font-size: 2em;
  color: var(--vdr-snow);
  margin: 0 0 1em;
  font-weight: 500;
  line-height: 1.2;
}
.vdr-cruise p { color: rgba(255, 255, 255, 0.88); position: relative; }
.vdr-cruise strong { color: var(--vdr-snow); }
.vdr-cruise em { color: var(--vdr-frost); }
.vdr-cruise .vdr-day { border-color: rgba(255, 255, 255, 0.15); }
.vdr-cruise .vdr-day__num-value { color: var(--vdr-snow); }
.vdr-cruise .vdr-day__num-label { color: var(--vdr-or-clair); }
.vdr-cruise .vdr-day__title { color: var(--vdr-snow); }
.vdr-cruise .vdr-day__title small { color: var(--vdr-or-clair); }
.vdr-cruise .vdr-hotel { background: rgba(255, 255, 255, 0.06); border-color: var(--vdr-or); }
.vdr-cruise .vdr-hotel__label, .vdr-cruise .vdr-hotel__name { color: var(--vdr-snow); }
.vdr-cruise .vdr-hotel__icon { color: var(--vdr-or-clair); }

/* === CABIN GRID === */
.vdr-cabins {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 16px;
  margin: 32px 0;
}
.vdr-cabin {
  background: var(--vdr-snow);
  border: 1px solid var(--vdr-rule);
  border-radius: 4px;
  padding: 22px;
  transition: all 0.3s ease;
}
.vdr-cabin:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(10, 31, 51, 0.1);
  border-color: var(--vdr-or-fonce);
}
.vdr-cabin__cat {
  font-size: 0.72em;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--vdr-or-texte);
  font-weight: 700;
  margin-bottom: 6px;
}
.vdr-cabin__name {
  font-family: 'Fraunces', serif;
  font-size: 1.25em;
  color: var(--vdr-ink);
  margin: 0 0 0.5em;
  font-weight: 600;
}
.vdr-cabin__desc {
  font-size: 0.9em;
  color: var(--vdr-muted);
  line-height: 1.5;
  margin-bottom: 12px;
}
.vdr-cabin__price {
  display: block;
  font-family: 'Fraunces', serif;
  font-size: 1.1em;
  font-weight: 600;
  color: var(--vdr-deep);
  border-top: 1px solid var(--vdr-rule);
  padding-top: 10px;
  margin-top: 12px;
}
.vdr-cabin__single {
  display: block;
  font-size: 0.82em;
  color: var(--vdr-muted);
  margin-top: 4px;
}
.vdr-cabin--base {
  background: linear-gradient(135deg, var(--vdr-warm), #fcf8f1);
  border-color: var(--vdr-or-fonce);
}
.vdr-cabin--base .vdr-cabin__cat { color: var(--vdr-ink); }

/* === INCLUDED / EXCLUDED === */
.vdr-includes {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin: 32px 0;
}
@media (max-width: 720px) {
  .vdr-includes { grid-template-columns: 1fr; }
}
.vdr-includes__col {
  background: var(--vdr-snow);
  border: 1px solid var(--vdr-rule);
  border-radius: 4px;
  padding: 24px 28px;
}
.vdr-includes__col--in { border-top: 4px solid var(--vdr-success); }
.vdr-includes__col--out { border-top: 4px solid var(--vdr-alert); }
.vdr-includes__title {
  font-family: 'Fraunces', serif;
  font-size: 1.2em;
  font-weight: 600;
  margin: 0 0 1em;
  color: var(--vdr-ink);
}
.vdr-includes__title::before {
  display: inline-block;
  margin-right: 8px;
  font-weight: 700;
}
.vdr-includes__col--in .vdr-includes__title::before { content: '✓'; color: var(--vdr-success); }
.vdr-includes__col--out .vdr-includes__title::before { content: '✕'; color: var(--vdr-alert); }
.vdr-includes ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.vdr-includes li {
  padding: 8px 0 8px 22px;
  position: relative;
  border-bottom: 1px solid var(--vdr-frost);
  font-size: 0.95em;
  line-height: 1.5;
}
.vdr-includes li:last-child { border-bottom: none; }
.vdr-includes__col--in li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  width: 6px;
  height: 6px;
  background: var(--vdr-success);
  border-radius: 50%;
}
.vdr-includes__col--out li::before {
  content: '';
  position: absolute;
  left: 0;
  top: 16px;
  width: 6px;
  height: 6px;
  background: var(--vdr-alert);
  border-radius: 50%;
}

/* === PAYMENT SCHEDULE === */
.vdr-schedule {
  background: var(--vdr-snow);
  border: 1px solid var(--vdr-rule);
  border-radius: 4px;
  overflow: hidden;
  margin: 24px 0;
}
.vdr-schedule__row {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 16px;
  padding: 14px 22px;
  border-bottom: 1px solid var(--vdr-frost);
  align-items: center;
}
.vdr-schedule__row:last-child { border-bottom: none; }
.vdr-schedule__row:nth-child(odd) { background: var(--vdr-ice); }
.vdr-schedule__when { color: var(--vdr-text); font-weight: 500; }
.vdr-schedule__amount {
  font-family: 'Fraunces', serif;
  font-weight: 600;
  color: var(--vdr-or-texte);
  font-size: 1.05em;
}

/* === TESTIMONIALS === */
.vdr-testimonials {
  margin: 48px 0;
}
.vdr-testimonials__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 24px;
  margin-top: 28px;
}
.vdr-quote {
  background: var(--vdr-snow);
  border: 1px solid var(--vdr-rule);
  padding: 32px 28px 24px;
  border-radius: 4px;
  position: relative;
  box-shadow: 0 4px 18px rgba(10, 31, 51, 0.05);
}
.vdr-quote::before {
  content: '"';
  position: absolute;
  top: 5px;
  left: 18px;
  font-family: 'Fraunces', serif;
  font-size: 4em;
  color: var(--vdr-or-texte);
  line-height: 1;
  font-weight: 700;
}
.vdr-quote__title {
  font-family: 'Fraunces', serif;
  font-size: 1.15em;
  font-weight: 600;
  color: var(--vdr-ink);
  margin: 12px 0 0.8em;
  padding-top: 8px;
}
.vdr-quote__text {
  font-size: 0.96em;
  color: var(--vdr-text);
  line-height: 1.65;
  margin-bottom: 16px;
}
.vdr-quote__author {
  font-family: 'Fraunces', serif;
  font-style: italic;
  color: var(--vdr-muted);
  font-size: 0.9em;
  border-top: 1px solid var(--vdr-frost);
  padding-top: 12px;
}
.vdr-quote__rating {
  color: var(--vdr-or-texte);
  letter-spacing: 0.1em;
  font-size: 0.9em;
  margin-bottom: 8px;
}

.vdr-testimonials__stats {
  background: var(--vdr-deep);
  color: var(--vdr-snow);
  text-align: center;
  padding: 28px;
  border-radius: 4px;
  margin-bottom: 28px;
}
.vdr-testimonials__big {
  font-family: 'Fraunces', serif;
  font-size: 2.4em;
  font-weight: 500;
  color: var(--vdr-or-clair);
  display: block;
  line-height: 1;
}
.vdr-testimonials__caption {
  font-size: 0.95em;
  color: var(--vdr-frost);
  margin-top: 8px;
}

/* === LEGAL FINE PRINT === */
.vdr-fine {
  background: var(--vdr-ice);
  padding: 24px 28px;
  border-radius: 4px;
  font-size: 0.88em;
  color: var(--vdr-muted);
  line-height: 1.6;
  margin: 32px 0;
}
.vdr-fine p:last-child { margin-bottom: 0; }

/* === FOOTER CTA === */
.vdr-footer-cta {
  background: linear-gradient(135deg, var(--vdr-ink), var(--vdr-deep));
  color: var(--vdr-snow);
  padding: 44px 40px;
  border-radius: 6px;
  margin: 48px 0;
  text-align: center;
}
.vdr-footer-cta__title {
  font-family: 'Fraunces', serif;
  font-size: 1.8em;
  color: var(--vdr-snow);
  margin: 0 0 0.5em;
  font-weight: 500;
}
.vdr-footer-cta__sub {
  color: var(--vdr-frost);
  margin-bottom: 1.5em;
  font-size: 1.05em;
}
.vdr-footer-cta__btn {
  display: inline-block;
  background: var(--vdr-or-bouton);
  color: var(--vdr-ink) !important;
  padding: 14px 32px;
  border-radius: 3px;
  font-weight: 600;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.95em;
  border: none !important;
  transition: all 0.3s ease;
}
.vdr-footer-cta__btn:hover {
  background: var(--vdr-or-fonce);
  transform: translateY(-1px);
}

/* === RESPONSIVE === */
@media (max-width: 720px) {
  .vdr-tour { font-size: 16px; padding: 0; }
  .vdr-hero { padding: 40px 24px; }
  .vdr-hero__title { font-size: 2em; }
  .vdr-day { grid-template-columns: 1fr; gap: 12px; padding: 24px 0; }
  .vdr-day__num { position: static; }
  .vdr-day__num-value { font-size: 2.4em; }
  .vdr-hotel { flex-direction: column; align-items: flex-start; }
  .vdr-hotel__link { margin-left: 0; margin-top: 8px; }
  .vdr-cruise, .vdr-alternate { padding: 28px 20px; }
  .vdr-footer-cta { padding: 32px 20px; }
  .vdr-pitch { padding: 24px 22px; }
  .vdr-includes { grid-template-columns: 1fr; }
}

/* Protection éditeur visuel WordPress, sans objet en Laravel */
.vdr-tour .alignnone, .vdr-tour .aligncenter, .vdr-tour .alignleft, .vdr-tour .alignright {
  max-width: 100%;
  height: auto;
}
