/* SissiTour — finitions typographiques et Destinations V3. Ne change ni les URL ni le logo. */
:root{--sissi-body-line:1.64;--sissi-section-gap:clamp(54px,6vw,90px)}
body{font-family:Montserrat,Arial,sans-serif;line-height:var(--sissi-body-line)}
h1,h2,h3{font-family:"DM Serif Display",Georgia,serif;font-weight:400;letter-spacing:-.025em}
h1{line-height:1.08}h2{line-height:1.14}h3{line-height:1.23}
.section{padding-block:var(--sissi-section-gap)}
.section-head{margin-bottom:clamp(20px,3vw,35px)}
.section-head h2{max-width:20ch;text-wrap:balance}
.section-head p{line-height:1.62}
.lead{font-size:clamp(1rem,1.25vw,1.16rem);line-height:1.68}
:where(.rich-content,.article-body,.rich-copy){font-size:clamp(.96rem,1.04vw,1.04rem);line-height:1.73}
:where(.rich-content,.article-body,.rich-copy) :is(h2,h3){line-height:1.2;margin:1.3em 0 .45em}
:where(.rich-content,.article-body,.rich-copy) p{margin:0 0 1.05em}
:where(.rich-content,.article-body,.rich-copy) :is(p,h1,h2,h3):empty{display:none}
.card-body h3,.tour-card h3{font-size:clamp(1.15rem,1.6vw,1.5rem);line-height:1.2}
.card-body p,.blog-card-excerpt{font-size:.92rem;line-height:1.56}
.blog-card-excerpt{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;line-clamp:3;overflow:hidden}
.pagehero{padding-top:clamp(65px,8vw,105px);padding-bottom:clamp(46px,5vw,72px)}
/* Navigation par continent : gabarits réguliers, contraste et focus améliorés */
.destinations-continents{background:#F7F1E8}
.destinations-continents .section-head{max-width:900px;margin-bottom:clamp(24px,4vw,42px)}
.continent-grid{gap:clamp(14px,2.1vw,25px)}
.continent-choice{border:1px solid rgba(62,48,43,.12);border-radius:22px;box-shadow:0 12px 32px rgba(62,48,43,.07)}
.continent-summary{min-height:clamp(215px,25vw,285px)}
.continent-overlay{gap:7px;padding:clamp(20px,2.8vw,32px) 70px clamp(20px,2.8vw,32px) clamp(20px,2.8vw,32px)}
.continent-overlay strong{font-size:clamp(1.7rem,2.5vw,2.65rem);line-height:1.08;max-width:18ch;text-wrap:balance}
.continent-meta{font-size:.81rem;line-height:1.48}
.continent-choice[open]{box-shadow:0 18px 40px rgba(62,48,43,.1)}
.continent-countries{padding:clamp(14px,2.1vw,22px);gap:10px}
.continent-countries-head{padding:0 0 9px}
.continent-country{min-height:48px;background:#FFFCF7;border-radius:12px;padding:12px 15px;line-height:1.35}
.continent-country:hover,.continent-country:focus-visible{background:#F3E2D7;border-color:#A95743;outline-offset:2px}
.continent-toggle{transition:transform .2s ease,background .2s ease}
@media(max-width:700px){.section{padding-block:48px}.section-head h2{max-width:none}.continent-grid{grid-template-columns:1fr}.continent-summary{min-height:220px}.continent-countries{grid-template-columns:1fr}.continent-overlay{padding:22px 65px 22px 22px}.continent-country{min-height:50px}}
@media(prefers-reduced-motion:reduce){.continent-toggle{transition:none}}


/* SISSITOUR_CONTACT_COMPACT_20261102 — contact uniquement. Ne modifie pas les autres pages. */
/* Les blocs éditoriaux publiés depuis le BO héritaient de 54 à 90px de padding chacun. */
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) {
  padding-block: clamp(20px, 2.7vw, 34px);
}
/* Évite le double espacement entre deux blocs éditoriaux successifs. */
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section)
  + section.section[data-sissi-block]:not(.contact-form-section) {
  padding-top: 4px;
}
/* Liaison plus naturelle entre l'introduction et les coordonnées. */
main.contact-hub > .pagehero + section.section[data-sissi-block]:not(.contact-form-section) {
  padding-top: clamp(28px, 3.5vw, 44px);
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) > .wrap > h2 {
  margin: 0 0 clamp(10px, 1.7vw, 18px);
  line-height: 1.16;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content {
  line-height: 1.62;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content > :first-child {
  margin-top: 0;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content > :last-child {
  margin-bottom: 0;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content :is(h2,h3) {
  margin-top: 0.85em;
  margin-bottom: 0.4em;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content p {
  margin-bottom: 0.8em;
}
/* Formulaire rapproché du contenu, mais confort de lecture préservé. */
main.contact-hub > section.contact-form-section {
  padding-top: clamp(30px, 3.5vw, 46px);
  padding-bottom: clamp(48px, 5vw, 72px);
}
main.contact-hub > section.contact-form-section .contact-aside > :is(h2,p) {
  margin-bottom: 16px;
}
@media (max-width: 680px) {
  main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) {
    padding-block: 18px;
  }
  main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section)
    + section.section[data-sissi-block]:not(.contact-form-section) {
    padding-top: 2px;
  }
  main.contact-hub > section.contact-form-section {
    padding-top: 28px;
    padding-bottom: 48px;
  }
}

/* SISSITOUR_CONTACT_CARTES_20261102_V2
   Encarts structurés pour les blocs rédactionnels du contact.
   Ciblage strict : aucun impact sur les autres pages, les formulaires et le BO. */
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) {
  padding-block: clamp(8px, 1.3vw, 15px);
  background: transparent;
}
main.contact-hub > .pagehero + section.section[data-sissi-block]:not(.contact-form-section) {
  padding-top: clamp(20px, 2.6vw, 32px);
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section)
  + section.section[data-sissi-block]:not(.contact-form-section) {
  padding-top: clamp(7px, 1.2vw, 14px);
}
/* La section existe toujours, mais le contenu devient une véritable carte. */
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) > .wrap {
  width: var(--wrap);
  max-width: 1120px;
  margin-inline: auto;
  padding: clamp(22px, 3vw, 38px);
  background: #FFFBF7;
  border: 1px solid rgba(105, 69, 55, .16);
  border-left: 4px solid #A95743;
  border-radius: 22px;
  box-shadow: 0 14px 38px rgba(62, 48, 43, .065);
  overflow-wrap: anywhere;
}
/* Alternance discrète : information / coordonnées sans deux grands aplats identiques. */
main.contact-hub > section.section[data-sissi-block]:nth-of-type(odd):not(.contact-form-section) > .wrap {
  background: #FFFFFF;
  border-left-color: #C5A064;
}
/* Titres à gauche et contenu à droite si un titre BO est défini. */
@media (min-width: 900px) {
  main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) > .wrap:has(> h2) {
    display: grid;
    grid-template-columns: minmax(0, .78fr) minmax(0, 1.65fr);
    gap: clamp(20px, 3.4vw, 50px);
    align-items: start;
  }
  main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) > .wrap:has(> h2) > h2 {
    margin: 0;
  }
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) > .wrap > h2 {
  font-family: "DM Serif Display", Georgia, serif;
  font-size: clamp(1.45rem, 2.15vw, 2.1rem);
  line-height: 1.17;
  letter-spacing: -.018em;
  color: #3E302B;
  text-wrap: balance;
  margin: 0 0 14px;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content {
  color: #51453E;
  font-size: clamp(.95rem, 1.1vw, 1.03rem);
  line-height: 1.62;
  max-width: 80ch;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content p {
  margin: 0 0 .7em;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content p:last-child {
  margin-bottom: 0;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content :is(h2,h3,h4) {
  color: #3E302B;
  font-size: clamp(1.08rem, 1.4vw, 1.27rem);
  line-height: 1.3;
  margin: .85em 0 .35em;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content :is(h2,h3,h4):first-child {
  margin-top: 0;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content :is(p:empty, h2:empty, h3:empty) {
  display: none;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content br + br {
  display: none;
}
main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) .rich-content a {
  color: #A95743;
  text-underline-offset: .15em;
}
main.contact-hub > section.contact-form-section {
  padding-top: clamp(24px, 3vw, 40px);
}
@media (max-width: 680px) {
  main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) {
    padding-block: 9px;
  }
  main.contact-hub > .pagehero + section.section[data-sissi-block]:not(.contact-form-section) {
    padding-top: 20px;
  }
  main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) > .wrap {
    padding: 22px 20px;
    border-radius: 17px;
  }
  main.contact-hub > section.section[data-sissi-block]:not(.contact-form-section) > .wrap > h2 {
    margin-bottom: 12px;
  }
  main.contact-hub > section.contact-form-section {
    padding-top: 25px;
  }
}
