/**
 * mon-circuit-print.css — Via Pirineo
 * Feuille de style @media print pour génération PDF
 * Chargée uniquement à l'impression / window.print()
 * Version 3.0 — Avril 2026
 *
 * Design system : Cormorant Garamond (serif) + Plus Jakarta Sans (sans)
 * Nations : FR #00326f · ES #C0392B · AD #2D8A4E
 */

/* ─── PAGE STANDARD ─────────────────────────────────────────── */
@page {
  size: A4 portrait;
  margin: 20mm 15mm 22mm 15mm;

  /* Header : logo + titre du circuit */
  @top-left {
    content: 'VIA PIRINEO';
    font-family: 'Cormorant Garamond', Georgia, serif;
    font-size: 8pt;
    font-weight: 400;
    letter-spacing: .28em;
    color: #aaa;
    padding-top: 6mm;
  }

  @top-right {
    content: string(circuit-title);
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 7pt;
    font-weight: 600;
    letter-spacing: .08em;
    color: #999;
    padding-top: 6mm;
    text-transform: uppercase;
  }

  /* Footer : URL + date + numéro de page */
  @bottom-left {
    content: 'viapirineo.com';
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 6.5pt;
    color: #bbb;
    letter-spacing: .06em;
    padding-bottom: 5mm;
  }

  @bottom-center {
    content: 'Généré le ' string(print-date);
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 6.5pt;
    color: #ccc;
    letter-spacing: .04em;
    padding-bottom: 5mm;
  }

  @bottom-right {
    content: 'Page ' counter(page);
    font-family: 'Plus Jakarta Sans', Arial, sans-serif;
    font-size: 6.5pt;
    color: #bbb;
    letter-spacing: .06em;
    padding-bottom: 5mm;
  }
}

/* Page de couverture : sans header ni footer */
@page :first {
  margin: 0;

  @top-left    { content: none; }
  @top-right   { content: none; }
  @bottom-left { content: none; }
  @bottom-center { content: none; }
  @bottom-right  { content: none; }
}

/* Éléments porteurs des chaînes nommées pour @page */
.mc-title-string {
  string-set: circuit-title content(text);
  position: absolute;
  left: -9999px;
  visibility: hidden;
}
.mc-date-string {
  string-set: print-date content(text);
  position: absolute;
  left: -9999px;
  visibility: hidden;
}

/* ─── RESET GLOBAL PRINT ────────────────────────────────────── */
* {
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
  color-adjust: exact;
}

html, body {
  background: #fff !important;
  color: #1a1d21 !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 12px;
  line-height: 1.6;
}

/* ─── ÉLÉMENTS À MASQUER ───────────────────────────────────── */
header,
.breadcrumb,
#meteo-bar,
.bnav,
.mc-map-wrap,
#mc-map,
.mc-map-legend,
.mc-actions,
.share-ok,
footer,
.mc-loader,
.mc-btn,
.mc-summary,
.mc-sum-cta,
.mc-sum-mention,
.mc-sticky-bar,
.eg-modal-overlay {
  display: none !important;
}

/* ─── HERO : fond sombre → blanc en print ───────────────────── */
.mc-hero {
  background: #fff !important;
  padding: 0 !important;
}
.mc-hero::before,
.mc-hero::after {
  display: none !important;
}
.mc-eyebrow {
  color: #888 !important;
}
.mc-title {
  color: #191c1d !important;
  font-size: 28pt !important;
}
.mc-accroche,
.ia-accroche {
  color: #424750 !important;
}
/* Barre nation en print : fine ligne colorée sous le titre */
.mc-nation-bar {
  border-bottom: 2px solid #00326f;
  margin-bottom: 8mm !important;
}

/* ─── MAIN (retirer padding-top du header fixe) ───────────── */
main {
  padding-top: 0 !important;
  min-height: auto !important;
}

/* ─── TYPOGRAPHIE GÉNÉRALE PRINT ───────────────────────────── */
h2 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 22px !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
  color: #1a1d21 !important;
  margin: 5mm 0 3mm !important;
}

h3 {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  color: #1a1d21 !important;
  margin: 4mm 0 2mm !important;
}

p {
  font-size: 12px !important;
  line-height: 1.6 !important;
  color: #2a2d32 !important;
  margin: 0 0 2mm !important;
}

/* ─── PAGE DE COUVERTURE (.mc-hero) ───────────────────────── */
.mc-hero {
  min-height: 297mm;
  width: 210mm;
  margin: 0 -15mm;
  display: flex !important;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  background: linear-gradient(160deg, #0d1f3c 0%, #0a1628 60%, #091420 100%) !important;
  padding: 0 22mm 22mm !important;
  position: relative;
  overflow: hidden;
  page-break-after: always;
  break-after: page;
  box-sizing: border-box;
}

/* Fond radial ambiance montagne */
.mc-hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background:
    radial-gradient(ellipse at 10% 50%, rgba(0,50,111,.5) 0%, transparent 55%),
    radial-gradient(ellipse at 90% 20%, rgba(45,138,78,.2) 0%, transparent 45%);
  pointer-events: none;
}

/* Bande couleur nation en bas de couverture */
.mc-hero::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3mm;
  background: linear-gradient(90deg,
    #00326f 0%, #00326f 40%,
    #2D8A4E 40%, #2D8A4E 60%,
    #C0392B 60%, #C0392B 100%
  );
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Bande couleur nation uniquement France */
.mc-hero.nation-fr::after {
  background: #00326f !important;
}

/* Bande couleur nation uniquement Espagne */
.mc-hero.nation-es::after {
  background: #C0392B !important;
}

/* Bande couleur nation uniquement Andorre */
.mc-hero.nation-ad::after {
  background: #2D8A4E !important;
}

.mc-hero-inner {
  max-width: none !important;
  width: 100%;
  position: relative;
  z-index: 1;
}

/* Barre logo en haut de la couverture */
.mc-hero-topbar {
  position: absolute !important;
  top: 12mm;
  left: 22mm;
  right: 22mm;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  z-index: 2;
}

.mc-hero-logo {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 13pt !important;
  font-weight: 400 !important;
  letter-spacing: .28em !important;
  color: rgba(255,255,255,.5) !important;
}

.mc-hero-logo em {
  font-style: italic !important;
  font-weight: 300 !important;
  font-size: 9pt !important;
  color: rgba(255,255,255,.28) !important;
  letter-spacing: .06em !important;
}

.mc-hero-nations {
  display: flex !important;
  gap: 8px;
  align-items: center;
  font-size: 8pt !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  color: rgba(255,255,255,.3) !important;
}

.mc-hero-nation-fr { color: #adc7ff !important; }
.mc-hero-nation-es { color: #ffb4aa !important; }
.mc-hero-nation-ad { color: #96f0b4 !important; }

/* Eyebrow / surtitre */
.mc-eyebrow {
  font-size: 7.5pt;
  font-weight: 700;
  letter-spacing: .22em;
  color: rgba(173,199,255,.55) !important;
  margin-bottom: 10mm;
  text-transform: uppercase;
}

/* Titre principal de la couverture */
.mc-title {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 40pt !important;
  font-weight: 400 !important;
  color: #fff !important;
  line-height: 1.12 !important;
  margin-bottom: 8mm !important;
}

.mc-title em {
  font-style: italic;
  font-weight: 300 !important;
  color: rgba(173,199,255,.8) !important;
}

/* Accroche italique sous le titre */
.mc-hero-accroche {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 16pt !important;
  font-style: italic !important;
  font-weight: 300 !important;
  color: rgba(200,216,232,.75) !important;
  line-height: 1.55 !important;
  margin-bottom: 10mm !important;
  max-width: 155mm;
}

/* Tags de couverture */
.mc-meta {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 10mm !important;
}

.mc-tag {
  font-size: 7pt;
  font-weight: 700;
  letter-spacing: .1em;
  padding: 3px 9px;
  border-radius: 99px;
  background: rgba(255,255,255,.1) !important;
  color: rgba(255,255,255,.7) !important;
  border: .5px solid rgba(255,255,255,.2) !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-tag.ski     { background: rgba(24,95,165,.4)   !important; color: #adc7ff !important; }
.mc-tag.thermes { background: rgba(15,110,86,.4)   !important; color: #7de8c8 !important; }
.mc-tag.gastro  { background: rgba(133,79,11,.45)  !important; color: #f5c87a !important; }
.mc-tag.rando   { background: rgba(45,138,78,.35)  !important; color: #96f0b4 !important; }
.mc-tag.culture { background: rgba(76,59,196,.4)   !important; color: #c5beff !important; }

/* Séparateur avant infos pratiques */
.mc-hero-divider {
  width: 28mm;
  height: .5pt;
  background: rgba(255,255,255,.15) !important;
  margin-bottom: 7mm !important;
}

/* Infos pratiques en bas de couverture */
.mc-hero-infos {
  display: flex !important;
  gap: 14mm;
  align-items: flex-start;
  margin-bottom: 7mm !important;
}

.mc-hero-info-item {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.mc-hero-info-label {
  font-size: 6pt !important;
  font-weight: 700 !important;
  letter-spacing: .15em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.3) !important;
}

.mc-hero-info-val {
  font-size: 11pt !important;
  font-weight: 600 !important;
  color: rgba(255,255,255,.75) !important;
  letter-spacing: .02em !important;
}

/* ─── CORPS DU DOCUMENT ────────────────────────────────────── */
.mc-body {
  display: block !important;
  max-width: none !important;
  padding: 0 !important;
  margin: 0 !important;
  grid-template-columns: unset !important;
}

/* ─── CARTE CIRCUIT IA (Leaflet) ───────────────────────────── */
.ia-map-wrap {
  border-radius: 4pt !important;
  border: .5pt solid #dde !important;
  margin: 0 0 8mm !important;
  page-break-inside: avoid;
  break-inside: avoid;
  overflow: hidden !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

#ia-circuit-map {
  height: 200pt !important;
  width: 100% !important;
  background: #f0f4f8 !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.ia-map-legend {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 4pt 12pt !important;
  background: #f8f9fa !important;
  border-top: .5pt solid #dde !important;
  padding: 6pt 10pt !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.ia-map-leg-item {
  display: flex !important;
  align-items: center !important;
  gap: 5pt !important;
  font-size: 7pt !important;
  color: #424750 !important;
}

.ia-map-leg-dot {
  width: 14pt !important;
  height: 14pt !important;
  border-radius: 50% !important;
  font-size: 7pt !important;
  font-weight: 700 !important;
  flex-shrink: 0 !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ─── NARRATION ÉDITORIALE ──────────────────────────────────── */
.mc-narration {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  color: #2a2d32 !important;
  margin: 3mm 0 4mm !important;
}

.mc-narration p {
  margin-bottom: 2mm !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}

/* Narration d'introduction du circuit */
.mc-intro-narrative {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  line-height: 1.8 !important;
  color: #2a2d32 !important;
  margin: 4mm 0 6mm !important;
  padding: 4mm 5mm !important;
  border-left: 2pt solid #c5d3e8 !important;
  background: #f7f9fc !important;
  border-radius: 0 6px 6px 0 !important;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Accroche courte sur le corps */
.mc-accroche-print {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 14px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: #444 !important;
  line-height: 1.55 !important;
  margin: 3mm 0 5mm !important;
}

/* ─── CONSEIL PRATIQUE (box grise) ─────────────────────────── */
.mc-conseil-pratique {
  display: flex !important;
  gap: 6px;
  align-items: flex-start;
  padding: 3mm 4mm !important;
  background: #f3f4f5 !important;
  border: .5pt solid #dde0e4 !important;
  border-left: 2pt solid #9ab4cc !important;
  border-radius: 0 6px 6px 0 !important;
  font-size: 10px !important;
  color: #3a4a5a !important;
  margin: 2mm 0 !important;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-conseil-pratique .material-symbols-outlined {
  font-size: 11px !important;
  flex-shrink: 0;
  opacity: .65;
  margin-top: 1px;
  color: #5577aa !important;
}

.mc-conseil-pratique strong {
  font-weight: 700;
  color: #2a4e8a !important;
}

/* ─── BOX HÉBERGEMENT / AFFILIATION BOOKING.COM ────────────── */
/*
 * Structure attendue dans le HTML :
 * <div class="mc-booking-box [ski|andorra|espagne]">
 *   <span class="mc-booking-icon">🏨</span>
 *   <div class="mc-booking-content">
 *     <div class="mc-booking-label">HÉBERGEMENT RECOMMANDÉ</div>
 *     <div class="mc-booking-cta">Réservez votre nuit à [Ville]</div>
 *     <div class="mc-booking-hebergement">Hôtel / Gîte suggéré</div>
 *     <span class="mc-booking-url">viapirineo.com/go/booking-[slug]</span>
 *   </div>
 * </div>
 */

.mc-booking-box {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  padding: 4mm 5mm !important;
  margin: 3mm 0 !important;
  background: #E6F1FB !important;         /* france-bg */
  border: .75pt solid #b3cef0 !important;
  border-left: 3pt solid #00326f !important;
  border-radius: 0 8px 8px 0 !important;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-booking-icon {
  font-size: 15pt !important;
  flex-shrink: 0;
  line-height: 1;
  color: #00326f !important;
  margin-top: 1px;
}

/* Icône Material Symbols (alternative à l'emoji) */
.mc-booking-icon.material-symbols-outlined {
  font-size: 16pt !important;
  font-variation-settings: 'FILL' 0, 'wght' 300;
}

.mc-booking-content { flex: 1; }

.mc-booking-label {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 6pt !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: #00326f !important;
  margin-bottom: 1.5mm !important;
}

.mc-booking-cta {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  color: #1a1d21 !important;
  margin-bottom: 1mm !important;
  line-height: 1.35;
}

.mc-booking-hebergement {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 9pt !important;
  color: #444 !important;
  font-style: italic !important;
  margin-bottom: 2mm !important;
  line-height: 1.4;
}

/* URL imprimée — lisible même en noir et blanc */
.mc-booking-url {
  display: block;
  font-size: 7px !important;
  font-family: 'Courier New', Courier, monospace !important;
  color: #00326f !important;
  text-decoration: underline !important;
  word-break: break-all;
  line-height: 1.4;
  letter-spacing: .01em;
}

/* Variante ski — bleu acier */
.mc-booking-box.ski {
  background: rgba(24,95,165,.07) !important;
  border-color: rgba(24,95,165,.25) !important;
  border-left-color: #185FA5 !important;
}
.mc-booking-box.ski .mc-booking-label,
.mc-booking-box.ski .mc-booking-icon {
  color: #185FA5 !important;
}
.mc-booking-box.ski .mc-booking-url {
  color: #185FA5 !important;
}

/* Variante Andorre — vert principauté */
.mc-booking-box.andorra {
  background: #E3F4EA !important;
  border-color: #9ed8b4 !important;
  border-left-color: #2D8A4E !important;
}
.mc-booking-box.andorra .mc-booking-label,
.mc-booking-box.andorra .mc-booking-icon {
  color: #2D8A4E !important;
}
.mc-booking-box.andorra .mc-booking-url {
  color: #2D8A4E !important;
}

/* Variante Espagne — rouge soleil */
.mc-booking-box.espagne {
  background: #FDECEA !important;
  border-color: #f5b8b2 !important;
  border-left-color: #C0392B !important;
}
.mc-booking-box.espagne .mc-booking-label,
.mc-booking-box.espagne .mc-booking-icon {
  color: #C0392B !important;
}
.mc-booking-box.espagne .mc-booking-url {
  color: #C0392B !important;
}

/* ─── EN-TÊTE DES ÉTAPES ──────────────────────────────────── */
.mc-days-header {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 7pt;
  font-weight: 700;
  letter-spacing: .18em;
  color: #666 !important;
  margin-bottom: 5mm;
  padding-bottom: 2.5mm;
  border-bottom: .5pt solid #ddd !important;
  display: flex !important;
  justify-content: space-between;
  text-transform: uppercase;
}

/* ─── ÉTAPES ──────────────────────────────────────────────── */
.mc-day {
  background: #f9fafb !important;
  border: .5pt solid #e2e5ea !important;
  border-radius: 8px !important;
  padding: 5mm 6mm !important;
  margin-bottom: 4mm !important;
  page-break-inside: avoid;
  break-inside: avoid;
  color: #1a1d21 !important;
}

/* Numéro d'étape — badge coloré nation */
.mc-day-num {
  min-width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 9pt !important;
  font-weight: 800 !important;
  flex-shrink: 0;
  letter-spacing: .03em;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-day-num.fr { background: rgba(0,50,111,.14) !important; color: #00326f !important; }
.mc-day-num.es { background: rgba(192,57,43,.14) !important; color: #C0392B !important; }
.mc-day-num.ad { background: rgba(45,138,78,.14) !important; color: #2D8A4E !important; }

.mc-day-top {
  display: flex !important;
  gap: 10px !important;
  align-items: flex-start;
}

.mc-day-info { flex: 1; }

/* Titre d'étape — Cormorant + couleur nation */
.mc-day-name {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  color: #1a1d21 !important;
  margin-bottom: 2px;
  line-height: 1.2;
}

.mc-day.fr .mc-day-name { color: #00326f !important; }
.mc-day.es .mc-day-name { color: #C0392B !important; }
.mc-day.ad .mc-day-name { color: #2D8A4E !important; }

/* Badge nation discret */
.mc-day-nation {
  display: inline-block !important;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 6pt !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  padding: 1.5px 6px !important;
  border-radius: 99px !important;
  margin-left: 6px !important;
  vertical-align: middle;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}
.mc-day-nation.fr { background: rgba(0,50,111,.1) !important; color: #00326f !important; }
.mc-day-nation.es { background: rgba(192,57,43,.1) !important; color: #C0392B !important; }
.mc-day-nation.ad { background: rgba(45,138,78,.1) !important; color: #2D8A4E !important; }

.mc-day-region {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 8px !important;
  color: #666 !important;
  letter-spacing: .04em;
}

/* Tags POI */
.mc-day-pois {
  display: flex !important;
  flex-wrap: wrap;
  gap: 4px;
  margin-top: 4px;
}

.mc-poi {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 7px !important;
  font-weight: 600 !important;
  padding: 2px 7px !important;
  border-radius: 5px !important;
  border: .5pt solid transparent !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-poi .material-symbols-outlined { font-size: 9px !important; }

.mc-poi.ski     { background: rgba(24,95,165,.1) !important; border-color: rgba(24,95,165,.22) !important; color: #185FA5 !important; }
.mc-poi.thermes { background: rgba(15,110,86,.1) !important; border-color: rgba(15,110,86,.22) !important; color: #0F6E56 !important; }
.mc-poi.gastro  { background: rgba(133,79,11,.1) !important; border-color: rgba(133,79,11,.22) !important; color: #854F0B !important; }
.mc-poi.rando   { background: rgba(45,138,78,.1) !important; border-color: rgba(45,138,78,.22) !important; color: #2D8A4E !important; }
.mc-poi.culture { background: rgba(76,59,196,.1) !important; border-color: rgba(76,59,196,.22) !important; color: #4C3BC4 !important; }

/* Badge "2 nuits recommandées" */
.mc-nuits {
  display: inline-flex !important;
  align-items: center;
  gap: 3px;
  font-size: 7px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 99px !important;
  background: rgba(133,79,11,.1) !important;
  color: #854F0B !important;
  border: .5pt solid rgba(133,79,11,.2) !important;
  margin-left: 6px;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* ─── TRAVERSÉE CONNECTOR ─────────────────────────────────── */
.mc-traversee {
  display: flex !important;
  align-items: center;
  gap: 6px;
  padding: 3.5px 10px 3.5px 12px !important;
  margin: 2px 0 !important;
  border-left: 2pt solid #c5d3e8 !important;
  border-radius: 0 5px 5px 0 !important;
  background: #f0f4fb !important;
  font-size: 8px !important;
  color: #5577aa !important;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-traversee .material-symbols-outlined { font-size: 10px !important; opacity: .7; }
.mc-tr-name { font-weight: 700; color: #2a4e8a !important; }
.mc-tr-via  { opacity: .7; }
.mc-tr-warn { color: #b56800 !important; font-size: 7px; margin-left: auto; }

/* ─── BARRE PRATIQUE (km · altitude · randonnée) ─────────── */
.ia-pratique-bar {
  display: flex !important;
  flex-wrap: wrap;
  gap: 6pt;
  margin: 6pt 0 10pt;
  padding: 6pt 10pt;
  background: #f8f9fa !important;
  border: .5pt solid #dde0e8 !important;
  border-radius: 4pt;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.ia-prat-item {
  display: inline-flex !important;
  align-items: center;
  gap: 4px;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 8pt !important;
  color: #424750 !important;
}

.ia-prat-icon {
  font-size: 9pt !important;
}

/* La narration IA (conteneur de la barre) ne doit pas être cachée au print */
.ia-day-narrative {
  display: block !important;
}

/* ─── BOUCLE / RETOUR ─────────────────────────────────────── */
.mc-retour {
  display: flex !important;
  align-items: flex-start;
  gap: 8px;
  padding: 4mm 5mm !important;
  margin-top: 3mm !important;
  border-radius: 8px !important;
  border: .5pt solid #fbb !important;
  background: #fff5f5 !important;
  font-size: 9px !important;
  color: #8b0000 !important;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-retour .material-symbols-outlined { font-size: 14px !important; opacity: .7; flex-shrink: 0; }
.mc-retour strong { font-weight: 700; color: #6b0000 !important; }
.mc-retour-tip { color: #999 !important; font-size: 7.5px; }

.mc-retour-loop {
  border-color: #9de9b4 !important;
  background: #f0faf4 !important;
  color: #1a5c35 !important;
}
.mc-retour-loop .material-symbols-outlined { color: #2D8A4E !important; }
.mc-retour-loop strong { color: #1a5c35 !important; }

/* ─── SECTION PRINT-ONLY (affiliés, QR code) ─────────────── */
.mc-print-section {
  display: block !important;
  margin-top: 7mm;
  padding: 4mm 5mm;
  background: #f9fafb;
  border: .5pt solid #e2e5ea;
  border-radius: 8px;
  page-break-inside: avoid;
  break-inside: avoid;
}

.mc-print-section-title {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 7px;
  font-weight: 700;
  letter-spacing: .14em;
  color: #555;
  text-transform: uppercase;
  margin-bottom: 3mm;
  padding-bottom: 2mm;
  border-bottom: .5pt solid #e2e5ea;
}

.mc-print-qr-row {
  display: flex;
  align-items: center;
  gap: 7mm;
}

.mc-print-qr-row img {
  width: 22mm;
  height: 22mm;
  flex-shrink: 0;
}

.mc-print-qr-text {
  font-size: 9px;
  color: #444;
  line-height: 1.5;
}

.mc-print-qr-url {
  font-size: 7.5px;
  color: #888;
  font-family: 'Courier New', Courier, monospace;
  word-break: break-all;
}

/* ─── FICHE PRATIQUE (print-only) ────────────────────────── */
.mc-pratique-wrap {
  display: block !important;
  page-break-inside: avoid;
  break-inside: avoid;
}

.mc-pratique {
  background: #f4f7fb;
  border: .5pt solid #dde3ed;
  border-left: 2.5pt solid #185FA5;
  border-radius: 0 8px 8px 0;
  padding: 4mm 5mm;
  margin: 3mm 0 2mm;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3mm 5mm;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-pr-block { padding: 0; }

.mc-pr-block:first-child {
  grid-column: 1 / -1;
  padding-bottom: 3mm;
  border-bottom: .5pt solid #dde3ed;
  margin-bottom: 1mm;
}

.mc-pr-label {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 6px;
  font-weight: 700;
  letter-spacing: .13em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 1.5mm;
}

.mc-pr-main {
  font-size: 9px;
  font-weight: 700;
  color: #1a1d21;
  line-height: 1.3;
  margin-bottom: 1mm;
}

.mc-pr-sub {
  font-size: 8px;
  color: #444;
  line-height: 1.4;
  margin-bottom: 1mm;
}

.mc-pr-light { color: #777; font-weight: 400; }

.mc-pr-item {
  font-size: 8px;
  color: #333;
  line-height: 1.5;
  margin-bottom: 1mm;
}

/* ─── BLOC AFFILIÉS / RÉSERVATIONS (print-only) ─────────── */
.mc-affilie {
  background: #fffbf0;
  border: .5pt solid #f0d88a;
  border-left: 2.5pt solid #C0392B;
  border-radius: 0 8px 8px 0;
  padding: 3mm 5mm;
  margin: 2mm 0 3mm;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-affil-title {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 6px;
  font-weight: 700;
  letter-spacing: .15em;
  text-transform: uppercase;
  color: #C0392B;
  margin-bottom: 2.5mm;
}

.mc-affil-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 2mm 5mm;
}

.mc-affil-item {
  display: flex;
  align-items: flex-start;
  gap: 3px;
}

.mc-affil-icon {
  font-size: 9pt;
  flex-shrink: 0;
  line-height: 1.3;
}

.mc-affil-body {
  display: flex;
  flex-direction: column;
  gap: .5mm;
}

.mc-affil-nom {
  font-size: 8px;
  font-weight: 600;
  color: #1a1d21;
  line-height: 1.3;
}

.mc-affil-url {
  font-size: 7px;
  color: #C0392B;
  font-family: 'Courier New', Courier, monospace;
  letter-spacing: -.01em;
}

/* ─── PROFIL ALTIMÉTRIQUE SVG (print-only) ───────────────── */
.mc-svg-wrap {
  display: block !important;
  background: #f9fafc;
  border: .5pt solid #dde3ed;
  border-left: 2pt solid #9ab4d4;
  border-radius: 0 6px 6px 0;
  padding: 3mm 5mm 2mm;
  margin: 2mm 0;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-svg-wrap::before {
  content: 'PROFIL ALTIMÉTRIQUE · ' attr(data-title);
  display: block;
  font-family: 'Plus Jakarta Sans', Arial, sans-serif;
  font-size: 6px;
  font-weight: 700;
  letter-spacing: .1em;
  color: #185FA5;
  margin-bottom: 2mm;
  text-transform: uppercase;
}

.mc-svg-profile {
  display: block;
  width: 100%;
  height: auto;
  max-height: 26mm;
}

.mc-svg-alts {
  display: flex;
  justify-content: space-between;
  font-size: 6px;
  color: #999;
  margin-top: 1mm;
  font-weight: 700;
  letter-spacing: .06em;
}

/* ─── SECTION CONCLUSION / CTA FINAL ─────────────────────── */
/*
 * Fond légèrement coloré · texte éditorial en Cormorant ·
 * CTA Booking.com avec URL complète imprimée
 */

.mc-conclusion {
  background: #f4f7fb !important;
  border: .5pt solid #dde3ed !important;
  border-top: 2.5pt solid #00326f !important;
  border-radius: 0 0 10px 10px !important;
  padding: 6mm 7mm !important;
  margin-top: 7mm !important;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* Titre de section conclusion */
.mc-conclusion-heading {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 20px !important;
  font-weight: 500 !important;
  color: #00326f !important;
  margin-bottom: 3mm !important;
  line-height: 1.25;
}

/* Texte éditorial de conclusion */
.mc-conclusion-text {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 13px !important;
  font-style: italic !important;
  font-weight: 400 !important;
  color: #2a2d32 !important;
  line-height: 1.75 !important;
  margin-bottom: 5mm !important;
}

/* Grand CTA hébergement — version imprimée */
.mc-cta-print {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 8mm;
  padding: 4.5mm 6mm !important;
  background: #00326f !important;
  border-radius: 8px !important;
  margin-bottom: 3mm !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-cta-print-label {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 6px !important;
  font-weight: 700 !important;
  letter-spacing: .16em !important;
  text-transform: uppercase !important;
  color: rgba(173,199,255,.7) !important;
  margin-bottom: 1.5mm;
}

.mc-cta-print-text {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #fff !important;
  line-height: 1.3;
}

.mc-cta-print-right {
  text-align: right;
  flex-shrink: 0;
}

.mc-cta-print-url {
  display: block;
  font-size: 7.5px !important;
  font-family: 'Courier New', Courier, monospace !important;
  color: rgba(173,199,255,.85) !important;
  text-decoration: underline !important;
  word-break: break-all;
  text-align: right;
}

/* Note de bas de conclusion */
.mc-conclusion-note {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 7.5px !important;
  color: #888 !important;
  line-height: 1.5;
  text-align: center;
  margin-top: 2mm;
}

/* ─── SÉPARATEUR ENTRE ÉTAPES ─────────────────────────────── */
.mc-step-sep {
  border: none !important;
  border-top: .5pt dashed #dde3ed !important;
  margin: 4mm 0 !important;
}

/* ─── TABLEAU RÉCAP EN FIN DE DOCUMENT ───────────────────── */
.mc-recap-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 8.5px !important;
  margin-top: 4mm;
  page-break-inside: avoid;
  break-inside: avoid;
}

.mc-recap-table th {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 6.5px !important;
  font-weight: 700 !important;
  letter-spacing: .1em !important;
  text-transform: uppercase !important;
  color: #888 !important;
  padding: 2mm 3mm !important;
  border-bottom: .5pt solid #dde3ed !important;
  text-align: left;
  background: #f9fafb !important;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-recap-table td {
  padding: 2mm 3mm !important;
  border-bottom: .25pt solid #eef0f3 !important;
  color: #333 !important;
  vertical-align: top;
  font-size: 8.5px !important;
}

.mc-recap-table tr:last-child td { border-bottom: none !important; }

.mc-recap-table td.nation-fr { color: #00326f !important; font-weight: 600; }
.mc-recap-table td.nation-es { color: #C0392B !important; font-weight: 600; }
.mc-recap-table td.nation-ad { color: #2D8A4E !important; font-weight: 600; }

/* ─── SECTION RÉSUMÉ DU CIRCUIT (sidebar → print) ────────── */
.mc-summary {
  display: block !important;
  margin-top: 6mm;
  padding: 4mm 5mm;
  background: #f4f7fb !important;
  border: .5pt solid #dde3ed !important;
  border-radius: 8px;
  page-break-inside: avoid;
  break-inside: avoid;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

.mc-sum-eyebrow {
  font-family: 'Plus Jakarta Sans', Arial, sans-serif !important;
  font-size: 6.5px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: #888;
  margin-bottom: 3mm;
}

.mc-sum-stats {
  display: flex !important;
  gap: 8mm;
  margin-bottom: 3mm;
}

.mc-sum-stat {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.mc-sum-num {
  font-family: 'Cormorant Garamond', Georgia, serif !important;
  font-size: 22px;
  font-weight: 400;
  color: #00326f;
  line-height: 1;
}

.mc-sum-label {
  font-size: 7.5px;
  color: #888;
  margin-top: 1px;
}

.mc-sum-nations {
  display: flex !important;
  gap: 5px;
  flex-wrap: wrap;
  margin-bottom: 2mm;
}

.mc-sum-nation {
  font-size: 8.5px;
  color: #444;
}

/* CTA déjà masqué dans .mc-sum-cta / .mc-sum-mention */

/* ─── UTILITAIRES PRINT ───────────────────────────────────── */

/* Forcer saut de page avant une section */
.mc-page-break-before {
  page-break-before: always;
  break-before: page;
}

/* Éviter coupure dans un bloc */
.mc-no-break {
  page-break-inside: avoid;
  break-inside: avoid;
}

/* Texte print-only (invisible en écran) */
.mc-print-only {
  display: block !important;
}

/* Masquer en print ce qui est screen-only */
.mc-screen-only {
  display: none !important;
}
