/* ============================================================
   ANCIENNE PAGE — GUIDE DE VOYAGE
   Mise en page limitée aux pages portant ve-guide-ancienne-page.
   Ordinateur, tablette et téléphone.
   ============================================================ */

body.ve-guide-ancienne-page {
  color: #294453;
  background: #f4f8f9;
  font-family: Arial, sans-serif;
}

body.ve-guide-ancienne-page .page,
body.ve-guide-ancienne-page #content {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.ve-guide-ancienne-page #content *,
body.ve-guide-ancienne-page #content *::before,
body.ve-guide-ancienne-page #content *::after { box-sizing: border-box; }

body.ve-guide-ancienne-page #content [id] { scroll-margin-top: 110px; }
body.ve-guide-ancienne-page #content img { display: block; max-width: 100%; height: auto; }
body.ve-guide-ancienne-page #content p { color: #536a77; font: 400 17px/1.75 Arial, sans-serif; margin: 0 0 18px; }
body.ve-guide-ancienne-page #content :is(h1,h2,h3) { color: #087d97; text-transform: none; letter-spacing: -.025em; }
body.ve-guide-ancienne-page #content h2 { margin: 0 0 20px; font: 800 clamp(25px,2.4vw,36px)/1.2 Arial, sans-serif; }
body.ve-guide-ancienne-page #content h3 { margin: 0 0 14px; font: 750 23px/1.3 Arial, sans-serif; }
body.ve-guide-ancienne-page #content a { text-underline-offset: 4px; }
body.ve-guide-ancienne-page #content :focus-visible { outline: 3px solid #ff7654; outline-offset: 5px; }

/* ANCIENNE PAGE — ouverture photographique et présentation. */
body.ve-guide-ancienne-page #content .guide-ancienne-hero {
  display: grid;
  grid-template-columns: minmax(0,1.05fr) minmax(0,1fr);
  align-items: center;
  width: min(1740px,calc(100% - 40px));
  margin: 0 auto;
  background: linear-gradient(120deg,#eaf5f6,#fffaf1);
  border: 1px solid #dbe8eb;
  border-top: 0;
  border-radius: 0 0 30px 30px;
  overflow: hidden;
}
body.ve-guide-ancienne-page #content .guide-ancienne-hero-photo { padding: 30px; }
body.ve-guide-ancienne-page #content .guide-ancienne-hero-photo img { width: 100%; max-height: 540px; object-fit: contain; border-radius: 20px; }
body.ve-guide-ancienne-page #content .guide-ancienne-hero-texte { min-width: 0; padding: clamp(28px,4vw,64px); }
body.ve-guide-ancienne-page #content .guide-ancienne-hero h1 { margin: 0 0 18px; padding: 0; font: 800 clamp(34px,3.3vw,60px)/1.08 Arial,sans-serif; }
body.ve-guide-ancienne-page #content .guide-ancienne-surtitre { display: flex; align-items: center; gap: 12px; margin: 0 0 22px; color: #087d97; font: 800 12px/1.5 Arial,sans-serif; letter-spacing: .13em; }
body.ve-guide-ancienne-page #content .guide-ancienne-surtitre::before { content: ''; width: 26px; height: 3px; border-radius: 3px; background: #ff7654; flex: 0 0 auto; }
body.ve-guide-ancienne-page #content .hero-actions { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; margin-top: 26px; }
body.ve-guide-ancienne-page #content .guide-ancienne-bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 50px; padding: 14px 22px; border-radius: 15px; background: #ff7654; color: white; font: 700 16px/1.4 Arial,sans-serif; text-decoration: none; }

/* ANCIENNE PAGE — sommaire et repères pratiques. */
body.ve-guide-ancienne-page #content .guide-ancienne-navigation { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; width: min(1400px,calc(100% - 40px)); margin: 24px auto 0; }
body.ve-guide-ancienne-page #content .guide-ancienne-navigation a { padding: 11px 19px; border: 1px solid #d6e5e9; border-radius: 12px; background: white; color: #087d97; font: 700 15px/1.4 Arial,sans-serif; text-decoration: none; }
body.ve-guide-ancienne-page #content .guide-ancienne-section { width: min(1400px,calc(100% - 40px)) !important; max-width: 1400px !important; margin: 0 auto !important; padding: 64px 0 0; }
body.ve-guide-ancienne-page #content .guide-ancienne-introduction { width:100%; max-width:none; margin-bottom:30px; }
body.ve-guide-ancienne-page #content .guide-ancienne-reperes { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 16px; }
body.ve-guide-ancienne-page #content .guide-ancienne-repere { padding: 22px; border: 1px solid #d8e6e9; border-radius: 18px; background: white; color: #536a77; font: 400 16px/1.7 Arial,sans-serif; }
body.ve-guide-ancienne-page #content .guide-ancienne-repere strong { display: block; margin-bottom: 8px; color: #087d97; font-weight: 750; }

/* ANCIENNE PAGE — collection de destinations. */
body.ve-guide-ancienne-page #content .guide-ancienne-destinations { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 26px; }
body.ve-guide-ancienne-page #content .guide-ancienne-ville { min-width: 0; margin: 0; padding: 0 28px 12px; border: 1px solid #d8e6e9; border-radius: 24px; background: white; overflow: hidden; }
body.ve-guide-ancienne-page #content .guide-ancienne-ville-photo { display: block; margin: 0 -28px 26px; background: #eaf3f5; }
body.ve-guide-ancienne-page #content .guide-ancienne-ville-photo img { width: 100%; aspect-ratio: 16/10; object-fit: contain; }
body.ve-guide-ancienne-page #content .guide-ancienne-ville-titre a { color: #087d97; text-decoration: none; }
body.ve-guide-ancienne-page #content .guide-ancienne-ville p { font-size: 16px; }

/* ANCIENNE PAGE — conseils et applications. */
body.ve-guide-ancienne-page #content .guide-ancienne-conseils { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 22px; align-items: start; }
body.ve-guide-ancienne-page #content .guide-ancienne-conseil { padding: 30px; border: 1px solid #dce7e9; border-radius: 22px; background: white; min-width: 0; }
body.ve-guide-ancienne-page #content .guide-ancienne-conseil:first-child { grid-column: 1/-1; background: #fffaf1; border-color: #eee1ca; }
body.ve-guide-ancienne-page #content .guide-ancienne-conseil h2 { font-size: 25px; }
body.ve-guide-ancienne-page #content .guide-ancienne-conseil p { font-size: 16px; }
body.ve-guide-ancienne-page #content .guide-ancienne-conseil p:last-child { margin-bottom: 0; }
body.ve-guide-ancienne-page #content .guide-ancienne-applications { padding: clamp(24px,4vw,48px); border: 1px solid #d8e6e9; border-radius: 24px; background: #eaf4f6; margin-bottom: 40px; }
body.ve-guide-ancienne-page #content .guide-ancienne-applications h3 { margin-top: 26px; font-size: 19px; }
body.ve-guide-ancienne-page #content .guide-ancienne-applications a { color: #087d97; overflow-wrap: anywhere; }
body.ve-guide-ancienne-page #content .wrapper_7 { margin: 20px auto 0; padding: 0; width: min(1400px,calc(100% - 40px)); background: transparent; }
body.ve-guide-ancienne-page #content .wrapper_7 .container,
body.ve-guide-ancienne-page #content .wrapper_7 .row,
body.ve-guide-ancienne-page #content .wrapper_7 .grid_12 { width: 100%; max-width: 100%; margin: 0; padding: 0; float: none; }
body.ve-guide-ancienne-page #content .guide-ancienne-hero-texte .ve-share-intro { margin: 0; padding: 0; border: 0; background: transparent; box-shadow: none; }

/* ANCIENNE PAGE — tablette et téléphone. */
/* ANCIENNES PAGES — un seul partage visible, à côté de l’action principale. */
body.ve-guide-ancienne-page #content .guide-ancienne-hero-texte > .ve-share-button,
body.ve-guide-ancienne-page #content .guide-ancienne-hero-texte .ve-share-intro > .ve-share-button { display: none !important; }
body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions {
  display: flex !important; flex-wrap: nowrap !important; gap: 12px; align-items: center;
}
body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .guide-ancienne-bouton { flex: 1 1 auto; min-width: 0; width: auto; padding: 14px 16px; font-size: 15px; }
body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .ve-share-button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: 8px;
  flex: 0 0 auto; width: auto !important; min-height: 50px; margin: 0 !important; padding: 13px 16px !important;
  border: 1px solid #c9dfe5; border-radius: 15px; background: #edf7f9; color: #087d97;
  font: 700 15px/1.4 Arial,sans-serif; opacity: 1; white-space: nowrap;
}
body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .ve-share-button svg { width: 20px; height: 20px; }
@media (max-width:400px) {
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions { gap: 8px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .guide-ancienne-bouton { font-size: 13px; padding-inline: 10px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .ve-share-button { font-size: 13px; padding-inline: 10px !important; }
}

/* ANCIENNES PAGES — neutraliser les anciennes grilles à largeur fixe. */
body.ve-guide-ancienne-page #content .guide-ancienne-section > .container,
body.ve-guide-ancienne-page #content .guide-ancienne-conseil .container {
  width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important;
}
body.ve-guide-ancienne-page #content .guide-ancienne-section .row,
body.ve-guide-ancienne-page #content .guide-ancienne-conseil .row {
  width: 100% !important; margin: 0 !important; padding: 0 !important;
}
body.ve-guide-ancienne-page #content .guide-ancienne-section :is(.grid_12,.grid_8),
body.ve-guide-ancienne-page #content .guide-ancienne-conseil [class*="grid_"] {
  width: 100% !important; max-width: 100% !important; float: none !important; margin: 0 !important; padding: 0 !important;
}
body.ve-guide-ancienne-page #content #reperes .grid_4:not(:has(img)) { display: none; }
body.ve-guide-ancienne-page #content .guide-ancienne-section[class*="wrapper_"] { padding-bottom: 0; background: transparent; }
body.ve-guide-ancienne-page #content .guide-ancienne-destinations::before,
body.ve-guide-ancienne-page #content .guide-ancienne-destinations::after { content: none !important; display: none !important; }
body.ve-guide-ancienne-page #content .guide-ancienne-ville-cellule { width: auto !important; min-width: 0; float: none !important; margin: 0 !important; padding: 0 !important; }
body.ve-guide-ancienne-page #content .guide-ancienne-ville.thumbnail { height: 100%; box-shadow: none; }
body.ve-guide-ancienne-page #content .guide-ancienne-section .caption { padding: 0; margin: 0 0 22px; }
body.ve-guide-ancienne-page #content .guide-ancienne-applications.guide-ancienne-conseil { grid-column: 1/-1; margin-bottom: 0; }
body.ve-guide-ancienne-page #content .guide-ancienne-section .cards-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
body.ve-guide-ancienne-page #content .guide-ancienne-section .cards-grid .card { padding: 24px; background: white; border: 1px solid #d8e6e9; border-radius: 18px; }
@media (max-width:600px) {
  body.ve-guide-ancienne-page #content .guide-ancienne-section .cards-grid { grid-template-columns: minmax(0,1fr); }
}

@media (max-width:1000px) {
  body.ve-guide-ancienne-page #content .guide-ancienne-hero { grid-template-columns: minmax(0,1fr); width: 100%; border-radius: 0; border: 0; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero-photo { padding: 0; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero-photo img { max-height: none; border-radius: 0; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero-texte { padding: 30px 24px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-reperes { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width:600px) {
  body.ve-guide-ancienne-page #content .guide-ancienne-hero h1 { font-size: 36px; }
  body.ve-guide-ancienne-page #content p { font-size: 16px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-section { width: calc(100% - 28px) !important; padding-top: 36px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-navigation { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); width: calc(100% - 28px); }
  body.ve-guide-ancienne-page #content .guide-ancienne-navigation a { text-align: center; padding: 12px 8px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-reperes { gap: 10px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-repere { padding: 16px; font-size: 15px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-destinations,
  body.ve-guide-ancienne-page #content .guide-ancienne-conseils { grid-template-columns: minmax(0,1fr); gap: 18px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-conseil { padding: 24px 20px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-ville { padding: 0 20px 8px; border-radius: 20px; }
  body.ve-guide-ancienne-page #content .guide-ancienne-ville-photo { margin: 0 -20px 22px; }
  body.ve-guide-ancienne-page #content .hero-actions { align-items: stretch; }
  body.ve-guide-ancienne-page #content .guide-ancienne-bouton { width: 100%; font-size: 15px; padding-inline: 12px; }
}

/* ANCIENNES PAGES — téléphone : conserver uniquement le partage mobile dédié. */
/* ANCIENNES PAGES — ordinateur : boutons ajustés à leur texte. */
@media (min-width:1001px) {
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .guide-ancienne-bouton {
    flex: 0 1 auto; width: auto; min-height: 46px; padding: 12px 20px; font-size: 15px;
  }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .ve-share-button {
    min-height: 46px; padding: 11px 16px !important;
  }
}

@media (max-width:700px) {
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .ve-share-button { display: none !important; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .hero-actions .guide-ancienne-bouton { width: 100%; flex: 1 1 100%; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero-texte > .guide-ancienne-surtitre { display: none; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .ve-share-mobile-bar { display: flex !important; align-items: center; justify-content: space-between; flex-wrap: nowrap; gap: 10px; margin: 0 0 22px !important; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .ve-share-mobile-caption { min-width: 0; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .ve-share-kicker { color: #087d97; font: 800 11px/1.4 Arial,sans-serif !important; letter-spacing: .03em; text-transform: uppercase; }
  body.ve-guide-ancienne-page #content .guide-ancienne-hero .ve-share-mobile-bar .ve-share-button { flex: 0 0 auto; min-height: 42px; padding: 10px 12px; font-size: 13px; }
}

/* Composants communs du site conservés. */
.page-guide-pays .ve2-menu-create { grid-column:1 / -1; order:10; }
.page-guide-pays #content { padding-bottom:54px !important; }
.page-guide-pays #content .guide-ancienne-hero-texte .ve-page-description { max-width:none; }

/* Disposition compacte : la photo et le texte restent dans le flux normal. */
body.page-guide-pays #content { display:block; position:relative; overflow:visible; }
body.page-guide-pays #content .guide-ancienne-hero {
  position:relative;
  display:grid !important;
  grid-template-columns:minmax(0,1.05fr) minmax(0,1fr) !important;
  height:auto !important;
  min-height:0 !important;
  align-items:center;
}
body.page-guide-pays #content .guide-ancienne-hero-photo,
body.page-guide-pays #content .guide-ancienne-hero-texte {
  position:static !important;
  inset:auto;
  min-width:0;
  transform:none;
}
body.page-guide-pays #content .guide-ancienne-hero-photo img {
  position:static !important;
  display:block;
  width:100%;
  height:auto !important;
  max-height:none;
  object-fit:contain;
  transform:none;
}
body.page-guide-pays #content .guide-ancienne-hero :is(h1,p,.hero-actions) {
  position:static;
  transform:none;
}
body.page-guide-pays #content > .guide-ancienne-section { position:relative; clear:both; }
body.page-guide-pays #content .guide-ancienne-destinations { grid-template-columns:repeat(2,minmax(0,1fr)); }
@media(max-width:1000px) {
  body.page-guide-pays #content .guide-ancienne-hero { grid-template-columns:minmax(0,1fr) !important; }
}
@media(max-width:600px) {
  body.page-guide-pays #content .guide-ancienne-destinations { grid-template-columns:minmax(0,1fr); }
}

/* Encadrements et couleurs du guide France ; photographies entières au format naturel. */
body.page-guide-pays { background:#edf5f6; }
body.page-guide-pays #content .guide-ancienne-hero {
  margin-top:24px;
  border:1px solid #bcdfe3;
  border-radius:26px;
  background:linear-gradient(125deg,#e2f3f5 0%,#fff8eb 100%);
  box-shadow:0 14px 38px rgba(10,70,89,.09);
}
body.page-guide-pays #content .guide-ancienne-hero-photo { padding:24px; }
body.page-guide-pays #content .guide-ancienne-hero-photo img {
  border:2px solid #fff;
  border-radius:18px;
  box-shadow:0 9px 24px rgba(12,65,81,.12);
}
body.page-guide-pays #content .guide-ancienne-navigation { gap:12px; margin-top:28px; }
body.page-guide-pays #content .guide-ancienne-navigation a {
  border:1px solid #087d97;
  background:#087d97;
  color:#fff;
  box-shadow:0 6px 15px rgba(8,125,151,.12);
}
body.page-guide-pays #content .guide-ancienne-navigation a:nth-child(2) { background:#e76c4d; border-color:#e76c4d; }
body.page-guide-pays #content .guide-ancienne-navigation a:hover { background:#07576d; border-color:#07576d; }
body.page-guide-pays #content .guide-ancienne-section > h2 {
  padding:14px 20px;
  border-left:5px solid #ff7654;
  border-radius:0 14px 14px 0;
  background:linear-gradient(90deg,#dceff2,rgba(220,239,242,0));
}
body.page-guide-pays #content .guide-ancienne-repere {
  border-color:#bedee4;
  border-top:4px solid #1595a9;
  background:#e9f5f7;
  box-shadow:0 7px 19px rgba(13,75,92,.05);
}
body.page-guide-pays #content .guide-ancienne-repere:nth-child(3n+2) {
  background:#fff4e5;
  border-color:#ecd7b8;
  border-top-color:#e9ad49;
}
body.page-guide-pays #content .guide-ancienne-repere:nth-child(3n) {
  background:#fff0e9;
  border-color:#efd1c3;
  border-top-color:#ed8868;
}
body.page-guide-pays #content .guide-ancienne-ville {
  border:2px solid #b6dce3;
  background:linear-gradient(155deg,#f1fafb,#fff9ef);
  box-shadow:0 10px 27px rgba(10,68,87,.09);
}
body.page-guide-pays #content .guide-ancienne-ville:nth-child(even) {
  border-color:#d9caa7;
  background:linear-gradient(155deg,#fff7e9,#f1fafb);
}
body.page-guide-pays #content .guide-ancienne-ville-photo {
  padding:0;
  line-height:0;
  background:transparent;
  border-bottom:4px solid #1192a7;
}
body.page-guide-pays #content .guide-ancienne-ville:nth-child(even) .guide-ancienne-ville-photo { border-bottom-color:#ed8868; }
body.page-guide-pays #content .guide-ancienne-ville-photo img {
  width:100%;
  height:auto !important;
  aspect-ratio:auto !important;
  margin:0;
  padding:0;
  object-fit:contain;
}
body.page-guide-pays #content .guide-ancienne-ville-titre {
  padding-bottom:12px;
  border-bottom:1px solid #c7e1e5;
}
body.page-guide-pays #content .guide-ancienne-ville p { color:#3c5664; }
body.page-guide-pays #content .guide-ancienne-conseil {
  border:1px solid #c1dde3;
  border-left:4px solid #1192a7;
  background:linear-gradient(140deg,#f0fafb,#fff);
  box-shadow:0 8px 22px rgba(13,75,92,.05);
}
body.page-guide-pays #content .guide-ancienne-conseil:nth-child(even) {
  border-left-color:#ed8868;
  background:linear-gradient(140deg,#fff5e9,#fff);
}
body.page-guide-pays #content .guide-ancienne-conseil:first-child { background:#fff3dc; border-color:#ebd5aa; }
body.page-guide-pays #content .guide-ancienne-applications.guide-ancienne-conseil {
  border-left:4px solid #1192a7;
  background:linear-gradient(125deg,#ddf0f3,#f5fbfc);
}
body.page-guide-pays #content .guide-ancienne-applications h3 {
  padding:10px 14px;
  border-radius:10px;
  background:#fff;
  border-left:3px solid #ed8868;
}
@media(max-width:1000px) {
  body.page-guide-pays #content .guide-ancienne-hero { width:calc(100% - 28px); margin-top:14px; border-radius:20px; }
  body.page-guide-pays #content .guide-ancienne-hero-photo { padding:14px; }
}
@media(max-width:600px) {
  body.page-guide-pays #content .guide-ancienne-section > h2 { padding:12px 14px; }
  body.page-guide-pays #content .guide-ancienne-ville { border-radius:20px; }
}

/* Huit repères, huit teintes distinctes. */
body.page-guide-pays #content .guide-ancienne-repere:nth-child(1) { background:#e8f5f8; border-color:#1595a9; border-top-color:#1595a9; }
body.page-guide-pays #content .guide-ancienne-repere:nth-child(2) { background:#fff4df; border-color:#e6ac3e; border-top-color:#e6ac3e; }
body.page-guide-pays #content .guide-ancienne-repere:nth-child(3) { background:#ffede5; border-color:#ed8663; border-top-color:#ed8663; }
body.page-guide-pays #content .guide-ancienne-repere:nth-child(4) { background:#f0ebfa; border-color:#a38ac9; border-top-color:#a38ac9; }
body.page-guide-pays #content .guide-ancienne-repere:nth-child(5) { background:#eaf5e9; border-color:#74a878; border-top-color:#74a878; }
body.page-guide-pays #content .guide-ancienne-repere:nth-child(6) { background:#fceaf0; border-color:#cc829b; border-top-color:#cc829b; }
body.page-guide-pays #content .guide-ancienne-repere:nth-child(7) { background:#eaf0fb; border-color:#819ccc; border-top-color:#819ccc; }
body.page-guide-pays #content .guide-ancienne-repere:nth-child(8) { background:#f5f1e4; border-color:#b6a16c; border-top-color:#b6a16c; }

body.page-guide-pays #content .guide-france-parcours-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:52px;
  padding:15px 25px;
  border:1px solid #087d97;
  border-radius:15px;
  background:#087d97;
  color:#fff;
  font:700 16px/1.4 Arial,sans-serif;
  text-decoration:none;
  text-align:center;
  box-shadow:0 8px 20px rgba(8,125,151,.17);
}
body.page-guide-pays #content .guide-france-parcours-button:hover { background:#07596e; border-color:#07596e; }
@media(max-width:600px) {
  body.page-guide-pays #content .guide-france-parcours-button { width:100%; min-height:52px; padding:14px 18px; }
}

/* Sommaire en bandeau, commun à l’ordinateur et au mobile. */
body.page-guide-pays #content .guide-ancienne-navigation {
  display:grid !important;
  grid-template-columns:minmax(210px,.8fr) minmax(0,1.5fr);
  align-items:center;
  gap:24px;
  padding:25px 30px;
  border:1px solid #2c8295;
  border-radius:23px;
  background:linear-gradient(110deg,#07566e,#09869b);
  box-shadow:0 10px 25px rgba(7,86,110,.15);
}
body.page-guide-pays #content .guide-france-navigation-intro { min-width:0; }
body.page-guide-pays #content p.guide-france-navigation-kicker {
  margin:0 0 7px;
  color:#ffdb84;
  font:800 12px/1.3 Arial,sans-serif;
  letter-spacing:.14em;
}
body.page-guide-pays #content .guide-france-navigation-intro strong {
  display:block;
  color:#fff;
  font:800 clamp(21px,2vw,28px)/1.2 Arial,sans-serif;
}
body.page-guide-pays #content .guide-france-navigation-links {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  min-width:0;
}
body.page-guide-pays #content .guide-france-navigation-links a {
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:13px 14px;
  border-radius:13px;
  text-align:center;
  box-shadow:0 4px 12px rgba(0,0,0,.08);
}
body.page-guide-pays #content .guide-france-navigation-links a:nth-child(1) { background:#fff; border-color:#fff; color:#07566e; }
body.page-guide-pays #content .guide-france-navigation-links a:nth-child(2) { background:#f47756; border-color:#f47756; color:#fff; }
body.page-guide-pays #content .guide-france-navigation-links a:nth-child(3) { background:#ffdc89; border-color:#ffdc89; color:#183e50; }
body.page-guide-pays #content .guide-france-navigation-links a:hover { filter:brightness(.96); }
@media(max-width:800px) {
  body.page-guide-pays #content .guide-ancienne-navigation { grid-template-columns:minmax(0,1fr); gap:18px; padding:23px; }
}
@media(max-width:700px) {
  body.page-guide-pays #content .guide-ancienne-hero {
    width:100% !important;
    margin:0 !important;
    border:0;
    border-radius:0;
    box-shadow:none;
  }
  body.page-guide-pays #content .guide-ancienne-hero-photo { padding:0 !important; margin:0; }
  body.page-guide-pays #content .guide-ancienne-hero-photo a { display:block; line-height:0; }
  body.page-guide-pays #content .guide-ancienne-hero-photo img {
    display:block;
    width:100% !important;
    max-width:100%;
    height:auto !important;
    margin:0;
    border:0;
    border-radius:0;
    box-shadow:none;
    object-fit:contain;
  }
}
@media(max-width:600px) {
  body.page-guide-pays #content .guide-france-navigation-links { grid-template-columns:minmax(0,1fr); gap:10px; }
  body.page-guide-pays #content .guide-france-navigation-links a { min-height:50px; }
}

/* Boutons des parcours disponibles : même présentation dans chaque carte de ville. */
body.page-guide-pays #content .guide-ancienne-ville { display:flex; flex-direction:column; }
body.page-guide-pays #content a.guide-france-ville-parcours {
  display:inline-flex;
  align-items:center;
  justify-content:space-between;
  align-self:flex-start;
  gap:24px;
  min-height:54px;
  max-width:100%;
  margin-top:auto;
  margin-bottom:16px;
  padding:14px 20px;
  border:1px solid #087d97;
  border-radius:14px;
  background:linear-gradient(115deg,#075d78,#098fa3);
  color:#fff;
  font:750 16px/1.4 Arial,sans-serif;
  text-decoration:none;
  box-shadow:0 7px 17px rgba(7,93,120,.17);
}
body.page-guide-pays #content a.guide-france-ville-parcours span {
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 30px;
  width:30px;
  height:30px;
  border-radius:50%;
  background:rgba(255,255,255,.17);
  color:#fff;
  font-size:21px;
  line-height:1;
}
body.page-guide-pays #content a.guide-france-ville-parcours:hover { background:#07566e; box-shadow:0 9px 22px rgba(7,86,110,.2); }
body.page-guide-pays #content a.guide-france-ville-parcours:focus-visible { outline:3px solid #f6bd5c; outline-offset:4px; }
@media(max-width:600px) {
  body.page-guide-pays #content a.guide-france-ville-parcours { width:100%; align-self:stretch; gap:14px; padding:13px 17px; }
}

/* Navigation discrète, alignée sur les rubriques du guide. */
body.page-guide-pays #content .guide-ancienne-navigation {
  box-sizing:border-box;
  width:min(1400px,calc(100% - 40px)) !important;
  max-width:1400px !important;
  margin:24px auto 0;
  padding:14px 20px;
  grid-template-columns:minmax(180px,.65fr) minmax(0,1.5fr);
  gap:16px;
  border:1px solid #d7e6e9;
  border-radius:16px;
  background:#eef5f6;
  box-shadow:none;
}
body.page-guide-pays #content p.guide-france-navigation-kicker { display:none; }
body.page-guide-pays #content .guide-france-navigation-intro strong {
  color:#225567;
  font-size:18px;
  line-height:1.3;
}
body.page-guide-pays #content .guide-france-navigation-links { gap:9px; }
body.page-guide-pays #content .guide-france-navigation-links a {
  min-height:42px;
  padding:10px 13px;
  border-radius:10px;
  box-shadow:none;
  font-size:14px;
  line-height:1.4;
}
body.page-guide-pays #content .guide-france-navigation-links a:nth-child(1) { background:#fff; border-color:#d3e3e7; color:#225567; }
body.page-guide-pays #content .guide-france-navigation-links a:nth-child(2) { background:#fff0e9; border-color:#efdbd0; color:#87563e; }
body.page-guide-pays #content .guide-france-navigation-links a:nth-child(3) { background:#fff7e5; border-color:#e9dfc4; color:#726039; }
@media(max-width:800px) {
  body.page-guide-pays #content .guide-ancienne-navigation { grid-template-columns:minmax(0,1fr); gap:12px; padding:16px 20px; }
}
@media(max-width:600px) {
  body.page-guide-pays #content .guide-ancienne-navigation { width:calc(100% - 28px) !important; padding:16px; }
  body.page-guide-pays #content .guide-france-navigation-intro strong { font-size:16px; }
  body.page-guide-pays #content .guide-france-navigation-links a { min-height:44px; }
}

/* Téléphone : photo et recherche disposées comme sur l’accueil. */
body.page-guide-pays #content .guide-france-search-placement { display:none; }
@media(max-width:700px) {
  body.page-guide-pays #content .guide-ancienne-hero {
    display:flex !important;
    flex-direction:column;
    gap:0;
    background:#eff8fb;
  }
  body.page-guide-pays #content .guide-ancienne-hero-photo { width:100%; }
  body.page-guide-pays #content .guide-ancienne-hero-photo img {
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    aspect-ratio:1800 / 945;
    object-fit:contain;
  }
  body.page-guide-pays #content .guide-france-search-placement {
    display:block;
    box-sizing:border-box;
    width:100%;
    padding:14px clamp(14px,4.5vw,22px) 0;
  }
body.page-guide-pays #content .ve-home-search {
  margin: 0;
  padding: 13px;
  border: 1px solid #dce9f1;
  border-radius: 17px;
  background: #fff;
  box-shadow: 0 8px 25px #10253f08;
}
body.page-guide-pays #content .ve-home-search > label {
  display: block;
  margin: 0 0 8px;
  color: #4c6074;
  font-size: .875rem;
  font-weight: 650;
  line-height: 1.4;
}
body.page-guide-pays #content .ve-home-search-row {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
body.page-guide-pays #content .ve-home-field {
  min-width: 0;
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 0 10px;
  border: 1px solid #dce9f1;
  border-radius: 10px;
}
body.page-guide-pays #content .ve-home-field > svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: #087d97;
}
body.page-guide-pays #content .ve-home-field input {
  width: 100%;
  min-width: 0;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  color: #183e50;
  box-shadow: none;
  font: inherit;
  font-size: 1rem;
}
body.page-guide-pays #content .ve-home-field input::placeholder {
  color: #65798a;
  opacity: 1;
}
body.page-guide-pays #content .ve-home-search button {
  display: grid;
  place-items: center;
  flex: 0 0 46px;
  width: 46px;
  min-height: 46px;
  padding: 10px;
  border: 0;
  border-radius: 11px;
  background: #ff7654;
  color: #fff;
  cursor: pointer;
}
body.page-guide-pays #content .ve-home-search button svg {
  width: 23px;
  height: 23px;
}

  body.page-guide-pays #content .ve-home-search { margin:0; }
  body.page-guide-pays #content .ve-home-field span { color:#087d97; font-size:23px; line-height:1; }
  body.page-guide-pays #content .ve-home-search button { font-size:25px; line-height:1; }
  body.page-guide-pays #content .guide-ancienne-hero-texte {
    box-sizing:border-box;
    width:100%;
    padding:18px clamp(14px,4.5vw,22px) 24px;
  }
}

/* Ordinateur : un axe commun pour l’ouverture, le sommaire et les rubriques. */
@media(min-width:701px) {
  body.page-guide-pays #content .guide-ancienne-hero,
  body.page-guide-pays #content .guide-ancienne-navigation,
  body.page-guide-pays #content .guide-ancienne-section {
    box-sizing:border-box;
    width:min(1400px,calc(100% - 40px)) !important;
    max-width:1400px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }
}

/* Les rubriques imbriquées utilisent la largeur de leur parent. */
body.page-guide-pays #content .guide-ancienne-section .guide-ancienne-section { width:100% !important; max-width:none !important; }
body.page-guide-pays #content .guide-ancienne-ville a[href*="itineraire"] { display:inline-flex; align-items:center; justify-content:center; margin-top:auto; margin-bottom:16px; padding:12px 18px; border-radius:12px; background:#087d97; color:#fff; text-decoration:none; }
body.page-guide-pays #content .guide-ancienne-hero-photo a { line-height:0; }
body.page-guide-pays #content .guide-ancienne-hero-photo img { aspect-ratio:auto; max-height:none; }
body.page-guide-pays #content ins.adsbygoogle { display:block; }
body.page-guide-pays #content .guide-legacy-section { width:min(1400px,calc(100% - 40px)); margin:40px auto; }
body.page-guide-pays #content .guide-legacy-section :is(.container,.row) { width:100%; max-width:none; margin:0; padding:0; }
body.page-guide-pays #content .guide-legacy-section .row { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
body.page-guide-pays #content .guide-legacy-section .grid_12 { grid-column:1/-1; }
body.page-guide-pays #content .guide-legacy-section :is(.grid_4,.grid_8,.grid_12) { width:auto; float:none; min-width:0; }
body.page-guide-pays #content .guide-legacy-section .thumbnail { height:100%; padding:22px; border:1px solid #d8e6e9; border-radius:20px; background:#fff; }
body.page-guide-pays #content .guide-legacy-section .thumbnail img { width:100%; height:auto; margin-bottom:22px; }
@media(max-width:700px) { body.page-guide-pays #content .guide-legacy-section .row { grid-template-columns:minmax(0,1fr); } }

/* Bandeau ordinateur : même principe que l’accueil, texte vivant et panorama. */
.guide-search-desktop { display:none; }
@media(min-width:701px) {
  body.page-guide-pays #content .guide-ancienne-hero {
    display:block !important;
    position:relative;
    isolation:isolate;
    width:100% !important;
    max-width:none !important;
    min-height:640px;
    margin:0 0 72px !important;
    padding:0;
    border:0;
    border-radius:0;
    overflow:visible;
    background:#17465a;
    box-shadow:none;
  }
  body.page-guide-pays #content .guide-ancienne-hero-photo {
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    margin:0;
    padding:0;
    z-index:-2;
    overflow:hidden;
  }
  body.page-guide-pays #content .guide-ancienne-hero-photo picture { display:block; width:100%; height:100%; }
  body.page-guide-pays #content .guide-ancienne-hero-photo img {
    display:block;
    width:100% !important;
    height:100% !important;
    max-height:none !important;
    aspect-ratio:auto;
    object-fit:cover;
    border:0;
    border-radius:0;
    margin:0;
    box-shadow:none;
  }
  body.page-guide-pays #content .guide-ancienne-hero::after {
    content:"";
    position:absolute;
    inset:0;
    z-index:-1;
    pointer-events:none;
    background:linear-gradient(90deg,rgba(4,39,58,.86) 0%,rgba(4,39,58,.7) 38%,rgba(4,39,58,.27) 72%,rgba(4,39,58,.08) 100%);
  }
  body.page-guide-pays #content .guide-ancienne-hero-texte {
    position:relative;
    box-sizing:border-box;
    width:min(1400px,calc(100% - 40px));
    margin:0 auto;
    padding:82px 0 110px;
  }
  body.page-guide-pays #content .guide-ancienne-hero-texte > * { max-width:820px; }
  body.page-guide-pays #content .guide-ancienne-hero h1 {
    margin:0 0 26px;
    color:#fff;
    font-size:clamp(42px,4.6vw,76px);
    line-height:1.08;
    letter-spacing:-.035em;
    text-wrap:balance;
  }
  body.page-guide-pays #content .guide-ancienne-hero h1 span,
  body.page-guide-pays #content .guide-ancienne-hero h1 em { display:block; }
  body.page-guide-pays #content .guide-ancienne-hero h1 em { color:#ffda78; font-style:normal; }
  body.page-guide-pays #content .guide-ancienne-hero .guide-ancienne-surtitre { color:#6fd5ef; }
  body.page-guide-pays #content .guide-ancienne-hero-texte p { color:#fff; font-size:clamp(18px,1.35vw,23px); line-height:1.7; }
  body.page-guide-pays #content .guide-ancienne-hero .hero-actions { justify-content:flex-start; }
  body.page-guide-pays #content .guide-ancienne-hero .hero-actions .guide-ancienne-bouton { flex:0 1 auto; padding:17px 24px; border-radius:40px; }
  body.page-guide-pays #content .guide-france-search-placement {
    display:block !important;
    position:absolute;
    z-index:3;
    bottom:-38px;
    left:50%;
    transform:translateX(-50%);
    box-sizing:border-box;
    width:min(1400px,calc(100% - 40px));
    padding:0;
  }
  body.page-guide-pays #content .ve-home-search { margin:0; padding:14px 16px; background:#fff; border:1px solid #e0e9ee; border-radius:24px; box-shadow:0 14px 35px #10253f12; }
  body.page-guide-pays #content .ve-home-search > label { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
  body.page-guide-pays #content .ve-home-search-row { display:flex; gap:20px; align-items:center; }
  body.page-guide-pays #content .ve-home-field { display:flex; align-items:center; gap:16px; flex:1; min-width:0; padding:0 16px; border:0; }
  body.page-guide-pays #content .ve-home-field span { color:#087d97; font-size:27px; }
  body.page-guide-pays #content .ve-home-field input { width:100%; min-width:0; height:54px; padding:0; border:0; outline-offset:3px; background:#fff; color:#294453; font:600 18px/1.4 Arial,sans-serif; box-shadow:none; }
  body.page-guide-pays #content .ve-home-search button { min-height:54px; padding:15px 24px; border:0; border-radius:32px; background:#ff7654; color:#fff; font:700 16px/1.4 Arial,sans-serif; cursor:pointer; }
  body.page-guide-pays #content .guide-search-desktop { display:inline; }
  body.page-guide-pays #content .guide-search-mobile { display:none; }
}
@media(min-width:701px) and (max-width:1000px) {
  body.page-guide-pays #content .guide-ancienne-hero-texte { padding-top:60px; }
  body.page-guide-pays #content .ve-home-search-row { gap:8px; }
  body.page-guide-pays #content .ve-home-search button { padding:14px 17px; font-size:14px; }
}
@media(max-width:700px) {
  body.page-guide-pays #content .guide-ancienne-hero-photo picture { display:block; width:100%; }
  body.page-guide-pays #content .guide-ancienne-hero-photo img { width:100%; height:auto; }
}

@media(max-width:700px) {
  body.page-guide-pays #content .guide-ancienne-hero h1 em { color:inherit; font-style:normal; }
}
