/* Thème Etsanha : palette et médias conservés, typographie et adaptation mobile. */
html { scroll-padding-top: 6rem; }
body { -webkit-text-size-adjust: 100%; }
img { max-width: 100%; }
a, button, input, select, textarea { touch-action: manipulation; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible,
textarea:focus-visible { outline: 3px solid #f0ba42; outline-offset: 4px; }
.mbr-section-btn .btn { white-space: normal; overflow-wrap: anywhere; }
section[id] { scroll-margin-top: 6rem; }
.calprev_iframe { max-width: 100%; border: 0; }
@media (max-width: 767px) {
  .navbar .navbar-brand { margin-left: 0 !important; min-width: 0; }
  .navbar-logo img { max-width: min(65vw, 260px); object-fit: contain; }
  .mbr-section-btn .btn { max-width: 100%; }
  .mbr-text, .card-text { overflow-wrap: break-word; }
  .mbr-section-title { overflow-wrap: break-word; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
/* Le séparateur SVG publié imposait une largeur de 1000 px sur mobile. */
svg#Ebene_1 { max-width: 100%; }

/* Échelle commune : Exo pour les titres, Jost pour la lecture et les commandes. */
:root {
  --ets-font-title: 'Exo', sans-serif;
  --ets-font-body: 'Jost', sans-serif;
  --ets-size-title: clamp(2rem, 1.3rem + 2.6vw, 3.5rem);
  --ets-size-section: clamp(1.625rem, 1.25rem + 1.4vw, 2.375rem);
  --ets-size-card: clamp(1.25rem, 1.1rem + .6vw, 1.5rem);
  --ets-size-body: clamp(1.0625rem, 1rem + .2vw, 1.125rem);
  --ets-size-lead: clamp(1.125rem, 1rem + .45vw, 1.375rem);
}
html { font-size: 100%; }
body { font-family: var(--ets-font-body); font-size: var(--ets-size-body); line-height: 1.65; }
body .mbr-fonts-style, body .display-4, body .display-7 {
  font-family: var(--ets-font-body); font-size: var(--ets-size-body); line-height: 1.65;
}
body .display-1 { font-size: var(--ets-size-title); line-height: 1.18; }
body .display-2 { font-size: var(--ets-size-section); line-height: 1.25; }
body .display-5 { font-size: var(--ets-size-card); line-height: 1.35; }
body :is(h1,h2,h3,h4,h5,h6), body .mbr-section-title, body .card-title {
  font-family: var(--ets-font-title); font-weight: 600; line-height: 1.25; letter-spacing: -.015em;
  overflow-wrap: break-word; text-wrap: balance;
}
body h1.mbr-section-title { font-size: var(--ets-size-title); line-height: 1.18; }
body h2.mbr-section-title { font-size: var(--ets-size-section); }
body :is(h3,h4,h5,h6), body .card-title { font-size: var(--ets-size-card); }
body .mbr-section-title > span, body .card-title > span { font-size: inherit !important; line-height: inherit; font-weight: inherit !important; }
body .mbr-section-subtitle { font-family: var(--ets-font-body); font-size: var(--ets-size-lead); font-weight: 400; line-height: 1.6; }
body .mbr-text, body .section-text, body .card-text { font-size: var(--ets-size-body); line-height: 1.65; }
body .mbr-text, body .mbr-section-subtitle, body .section-text { max-width: 68ch; margin-left: auto; margin-right: auto; }
body .mbr-text [style*="font-size"]:not(.mbr-iconfont) { font-size: inherit !important; }
body .mbr-fullscreen .mbr-text { font-size: var(--ets-size-lead); line-height: 1.6; max-width: 60ch; }
body .mbr-fullscreen h1 > br { display: none; }
body .mbr-fullscreen { min-height: min(100svh, 62rem); padding-top: 8rem; padding-bottom: 5rem; }
body .mbr-section-btn { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; }
body .mbr-section-btn .btn, body .navbar .btn {
  font-family: var(--ets-font-body); font-size: 1rem; font-weight: 600; line-height: 1.35;
  letter-spacing: .025em; min-height: 48px; padding: .8rem 1.5rem; margin: 0;
  display: inline-flex; align-items: center; justify-content: center; text-wrap: balance;
}
body .navbar .navbar-buttons { gap: .75rem; }
body .navbar-logo img { max-width: min(32vw, 280px); height: auto !important; max-height: 64px; }
body .counter { font-family: var(--ets-font-title); font-size: var(--ets-size-section); line-height: 1.2; font-weight: 600; }
body .mbr-gallery-title { font-family: var(--ets-font-body); font-size: 1rem; line-height: 1.5; }
body .modal .modal-title { font-size: var(--ets-size-card); }
body .modal .close { min-width: 44px; min-height: 44px; }
body .calprev_iframe { display: block; width: 100%; max-width: 100%; }
@media (max-width: 991px) {
  body .navbar .navbar-brand { margin-left: 0; }
  body .navbar .navbar-collapse { padding-left: 1rem; padding-right: 1rem; }
  body .navbar .navbar-buttons { padding: 1rem 0; }
  body button.navbar-toggler { width: 44px; height: 44px; top: .75rem; }
  body .navbar-toggler .hamburger span { right: 7px; }
}
@media (max-width: 767px) {
  body .container, body .container-fluid { padding-left: 1.25rem; padding-right: 1.25rem; }
  body .navbar-logo img { max-width: min(65vw, 260px); max-height: 58px; }
  body .mbr-fullscreen { min-height: auto; padding-top: 8rem; padding-bottom: 4rem; }
  body .mbr-section-title { margin-bottom: 1rem; }
  body .mbr-fullscreen .mbr-text { margin-bottom: 1.5rem; }
  body .media-container-row { gap: 1.5rem; }
  body .media-container-row .mbr-figure { width: 100% !important; margin-bottom: 0; }
  body .media-container-row .media-content { min-width: 0; width: 100%; }
  body .modal-dialog { margin: .75rem; max-width: calc(100% - 1.5rem); }
  body .modal .modal-content { max-height: calc(100dvh - 1.5rem); overflow-y: auto; }
  body .mbr-gallery .mbr-gallery-item { width: 50%; }
  body .mbr-arrow { display: none; }
  body input, body select, body textarea { font-size: max(1rem, 16px); }
}
@media (max-width: 575px) {
  body .mbr-section-btn:not(.navbar-buttons) .btn { width: 100%; max-width: 26rem; }
  body .navbar .navbar-buttons { flex-direction: column; align-items: stretch; }
  body .navbar .navbar-buttons .btn { width: 100%; }
  body .mbr-gallery .mbr-gallery-item { width: 100%; }
  body .mbr-section-subtitle { text-wrap: pretty; }
}
@media (max-width: 991px) {
  body .navbar button.navbar-toggler { min-width: 44px; min-height: 44px; width: 44px !important; height: 44px !important; padding: 0; }
  body .navbar-toggler .hamburger { position: absolute; width: 30px; height: 18px; top: 13px; left: 7px; }
  body .navbar-toggler .hamburger span { right: 0 !important; }
}
@media (max-width: 767px) {
  body .items img { max-width: 100% !important; height: auto; }
  /* Le contenu reste immédiatement lisible, sans attendre une animation de défilement. */
  body .hidden.animated { visibility: visible !important; opacity: 1 !important; animation: none !important; }
}
@media (max-width: 767px) {
  body .animated { visibility: visible !important; opacity: 1 !important; animation: none !important; }
}
@media (max-width: 767px) {
  /* Évite de masquer les dates et commandes des calendriers externes. */
  body #scrollToTop { display: none !important; }
}

/* Galeries des roulottes : photos locales, accès sans script, dépliage natif. */
.ets-roulotte-photos { background-color: #014040; padding: 2rem 0; color: #fff; }
.ets-roulotte-photos .mbr-section-title { margin: 0 0 1.5rem; color: #f0ba42; }
.ets-photo-gallery { max-width: 56rem; margin: 0 auto; }
.ets-photo-cover { display: block; width: 100%; text-align: center; }
.ets-photo-cover img { display: block; width: 100%; max-height: 30rem; object-fit: contain; }
.ets-photo-gallery details { margin-top: 1rem; }
.ets-photo-gallery summary { font-family: 'Jost',sans-serif; font-size: 1.0625rem; line-height: 1.5; cursor: pointer; padding: .9rem 1rem; border: 1px solid #f0ba42; border-radius: .5rem; }
.ets-photo-gallery summary:focus-visible { outline: 3px solid #f0ba42; outline-offset: 4px; }
.ets-photo-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; padding-top: 1rem; }
.ets-photo-item { display: block; min-width: 0; }
.ets-photo-item img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
.ets-photos-pending { padding-bottom: 1.5rem; }
@media (max-width: 767px) {
 .ets-photo-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem; }
 .ets-photo-cover img { max-height: 22rem; }
}
@media (max-width: 360px) { .ets-photo-grid { grid-template-columns: 1fr; } }
/* Réserve la place du visuel avant son chargement pour éviter les sauts du bouton. */
.ets-photo-cover img { height: clamp(14rem, 45vw, 30rem); }

/* Centre les noms dans les bandeaux des trois chalets de l’accueil. */
#features18-3e .card-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 5rem;
  padding: 1rem;
}
#features18-3e .card-box .card-title {
  margin: 0;
  padding: 0;
  text-align: center;
}

/* Activités hivernales : rythme plus compact et titres lisibles sur fond blanc. */
:is(.ets-hiver, .ets-activites) :is(#header6-gh, #header6-gg) {
  min-height: 65vh;
  padding-top: 8rem;
  padding-bottom: 5rem;
}
:is(.ets-hiver, .ets-activites) :is(#content8-cu, #content8-cv) { padding: 1.25rem 0; }
:is(.ets-hiver, .ets-activites) .header3 {
  padding: 2.5rem 0;
  background: #fff;
}
:is(.ets-hiver, .ets-activites) .header3 + .header3 .container {
  border-top: 1px solid #dce5e2;
  padding-top: 2.5rem;
}
:is(.ets-hiver, .ets-activites) .header3 .media-container-row {
  display: flex;
  align-items: center;
  gap: clamp(1.5rem, 4vw, 3.5rem);
}
:is(.ets-hiver, .ets-activites) .header3 .mbr-figure {
  flex: 0 0 28%;
  width: 28% !important;
  padding: 0 !important;
  margin: 0;
}
:is(.ets-hiver, .ets-activites) .header3 .mbr-figure img {
  display: block;
  width: 100%;
  height: auto;
  border-radius: .4rem;
}
:is(.ets-hiver, .ets-activites) .header3 .media-content {
  flex: 1;
  min-width: 0;
  padding: 0 !important;
  text-align: left;
}
:is(.ets-hiver, .ets-activites) .header3 h2.mbr-section-title {
  color: #014040 !important;
  margin: 0 0 .75rem;
  padding: 0 !important;
  font-weight: 600;
  line-height: 1.3;
}
:is(.ets-hiver, .ets-activites) .header3 .mbr-section-text { padding-bottom: 0 !important; }
:is(.ets-hiver, .ets-activites) .header3 .mbr-text { margin-bottom: 1rem; }
:is(.ets-hiver, .ets-activites) .header3 .mbr-section-btn {
  display: flex;
  flex-wrap: wrap;
  gap: .75rem;
  margin: 0;
  text-align: left;
}
:is(.ets-hiver, .ets-activites) .header3 .btn { margin: 0; min-height: 48px; padding: .75rem 1.25rem; }
@media (max-width: 767px) {
  :is(.ets-hiver, .ets-activites) :is(#header6-gh, #header6-gg) { min-height: 32rem; padding: 7rem 0 3rem; }
  :is(.ets-hiver, .ets-activites) .header3 { padding: 1.5rem 0; }
  :is(.ets-hiver, .ets-activites) .header3 + .header3 .container { padding-top: 1.5rem; }
  :is(.ets-hiver, .ets-activites) .header3 .media-container-row { flex-direction: column; gap: 1.25rem; }
  :is(.ets-hiver, .ets-activites) .header3 .mbr-figure { width: 100% !important; flex-basis: auto; max-width: 20rem; }
  :is(.ets-hiver, .ets-activites) .header3 .media-content { width: 100%; }
  :is(.ets-hiver, .ets-activites) .header3 .btn { flex: 1 1 9rem; }
}

/* Dégage les derniers boutons de la vague du pied de page. */
:is(.ets-hiver, .ets-activites) :is(#header3-7e, #header3-74) { padding-bottom: 7rem; }
@media (max-width: 767px) {
  :is(.ets-hiver, .ets-activites) :is(#header3-7e, #header3-74) { padding-bottom: 5rem; }
}

/* Accueil : harmonisation du thème existant, sans réorganisation des contenus. */
.ets-accueil #counters1-24 { padding-top: 3rem; padding-bottom: 1.5rem; }
.ets-accueil #counters1-24 .media-container-row { align-items: stretch; }
.ets-accueil #counters1-24 .card { display: flex; }
.ets-accueil #counters1-24 .panel-item {
  width: 100%; height: 100%; display: flex; flex-direction: column;
  padding: 1.5rem !important;
}
.ets-accueil #counters1-24 .card-img { flex: 0 0 auto; }
.ets-accueil #counters1-24 .card-text { flex: 1; display: flex; flex-direction: column; }
.ets-accueil #counters1-24 .count { padding-top: .5rem !important; padding-bottom: .75rem !important; margin: 0; }
.ets-accueil #counters1-24 .mbr-content-title {
  flex: 1; display: flex; align-items: center; justify-content: center;
  margin: 0; line-height: 1.35;
}
.ets-accueil #content8-ff { padding-top: .75rem; padding-bottom: 2rem; }
.ets-accueil #content8-ff .col-md-8 { flex: 0 0 100%; max-width: 100%; }
.ets-accueil #content8-ff .mbr-section-btn {
  display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; margin: 0;
}
.ets-accueil #content8-ff .btn { margin: 0; min-height: 48px; }
.ets-accueil :is(#content4-f8, #bornes, #content4-bw, #content4-aq) { padding-top: 2rem; padding-bottom: .75rem; }
.ets-accueil #content1-f9 { padding-top: .75rem; padding-bottom: .75rem; }
.ets-accueil :is(#content1-f9, #content12-by) .mbr-text { line-height: 1.65; }
.ets-accueil :is(#content8-fa, #content12-by, #content6-cl) { padding-top: 1rem; padding-bottom: 2rem; }
.ets-accueil #features18-3e { padding-top: 3rem; padding-bottom: 3rem; }
.ets-accueil #features18-3e .mbr-section-subtitle { max-width: 60rem; margin: 0 auto; line-height: 1.6; }
.ets-accueil :is(#content6-ii, #content6-j6) { padding-top: 3rem; padding-bottom: 3rem; }
.ets-accueil :is(#content6-ii, #content6-j6) .row { align-items: center; }
.ets-accueil :is(#content6-ii, #content6-j6) .mbr-section-title { margin-bottom: 1.5rem; }
.ets-accueil :is(#features15-1p, #features15-21) { padding-top: 3rem; padding-bottom: 1rem; }
.ets-accueil :is(#content8-1u, #content8-25, #content8-7u) { padding-top: 1rem; padding-bottom: 3rem; }
.ets-accueil #testimonials1-2f { padding-top: 3rem; padding-bottom: 3rem; }
@media (max-width: 767px) {
  .ets-accueil #counters1-24 .card { max-width: 28rem; margin: 0 auto; }
  .ets-accueil #counters1-24 .panel-item { padding: 1.25rem !important; }
  .ets-accueil #content8-ff .btn { flex: 1 1 14rem; max-width: 28rem; }
  .ets-accueil :is(#content6-ii, #content6-j6) { padding-top: 2rem; padding-bottom: 2rem; }
  .ets-accueil :is(#content6-ii, #content6-j6) .text-wrapper { padding-top: 1.5rem; }
}

/* Carte d’accès : consignes lisibles et image originale consultable en grand. */
#mbr-popup-fy .modal-dialog { width: calc(100% - 2rem); max-width: 1180px; margin: 1rem auto; }
#mbr-popup-fy .modal-content { background: #fff; color: #014040; }
#mbr-popup-fy .modal-content > .container { max-width: none; padding: 1.5rem; }
#mbr-popup-fy .modal-header { padding: 0 3rem 1.25rem 0 !important; }
#mbr-popup-fy .modal-title { color: #014040; text-align: left; font-size: 2rem; }
#mbr-popup-fy .close { color: #014040; opacity: 1; width: 48px; height: 48px; justify-content: center; align-items: center; right: 1rem; top: 1rem; }
#mbr-popup-fy .ets-itineraire { display: grid; grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr); gap: 1.75rem; padding: 0; text-align: left; }
#mbr-popup-fy .ets-carte-grand { display: block; color: #014040; min-width: 0; }
#mbr-popup-fy .ets-carte-grand img { display: block; width: 100%; height: auto; }
#mbr-popup-fy .ets-carte-grand span { display: block; padding: .8rem; background: #edf3f1; text-align: center; text-decoration: underline; }
#mbr-popup-fy .ets-itineraire-consignes { font-family: 'Jost', sans-serif; font-size: 1.125rem; line-height: 1.6; }
#mbr-popup-fy .ets-itineraire-consignes h6 { font-size: 1.4rem; line-height: 1.3; margin: 0 0 1rem; }
#mbr-popup-fy .ets-itineraire-consignes ol { padding-left: 1.5rem; }
#mbr-popup-fy .ets-itineraire-consignes li { margin-bottom: 1rem; padding-left: .25rem; }
#mbr-popup-fy .ets-itineraire-note { padding: 1rem; border-left: 4px solid #f0ba42; background: #fff6df; }
#mbr-popup-fy .ets-itineraire-adresse { border-top: 1px solid #dce5e2; padding-top: 1rem; }
@media (max-width: 767px) {
 #mbr-popup-fy .modal-dialog { width: calc(100% - 1rem); margin: .5rem auto; }
 #mbr-popup-fy .modal-content > .container { padding: 1rem; }
 #mbr-popup-fy .ets-itineraire { grid-template-columns: 1fr; }
 #mbr-popup-fy .ets-itineraire-consignes { grid-row: 1; }
}
#mbr-popup-fy .close { z-index: 3; background: #fff; border-radius: 50%; }
#mbr-popup-fy .close svg { fill: #014040 !important; width: 23px; height: 23px; }
/* Les consignes restent visibles dès l’ouverture, indépendamment des animations de page. */
#mbr-popup-fy .modal-content * {
  visibility: visible !important;
  animation: none !important;
}
#mbr-popup-fy :is(.modal-title, .close, .ets-carte-grand, .ets-carte-grand img, .ets-itineraire-consignes, .ets-itineraire-consignes p, .ets-itineraire-consignes li, .ets-itineraire-consignes ol) { opacity: 1 !important; transform: none !important; }

/* Consentement : composants locaux et consultation possible sans tiers. */
.ets-privacy-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 1rem; padding: 1.25rem; background: #014040; color: white; }
.ets-privacy-links a, .ets-privacy-links button { color: white; font: inherit; text-decoration: underline; }
.ets-privacy-links button { border: 0; background: transparent; cursor: pointer; min-height: 44px; }
.ets-privacy-links a { display: inline-flex; align-items: center; min-height: 44px; }
.ets-consent-placeholder { padding: 1.5rem; margin: 1rem 0; border: 1px solid #7faaa4; border-radius: .4rem; background: #f3f7f5; color: #014040; font: 1rem/1.6 'Jost',sans-serif; text-align: center; }
.ets-consent-placeholder p { margin: 0 0 .75rem; }
.ets-consent-placeholder a { color: #014040; text-decoration: underline; }
.ets-consent-placeholder button { padding: .75rem 1rem; margin: .25rem 0 1rem; border: 2px solid #014040; border-radius: .3rem; background: #014040; color: white; font: inherit; cursor: pointer; min-height: 48px; }
.ets-consent-placeholder[hidden], iframe[data-ets-service][hidden] { display: none !important; }
.ets-video-consent { position: relative; z-index: 2; max-width: 60rem; margin: 2rem auto; padding: 0 1rem; }
.ets-video-consent iframe { width: 100%; aspect-ratio: 16/9; height: auto; border: 0; }
.ets-noscript { padding: 1rem; background: #fff; color: #014040; text-align: center; }
#cc-main { --cc-font-family: 'Jost',sans-serif; --cc-btn-primary-bg: #014040; --cc-btn-primary-color: #fff; --cc-btn-primary-border-color: #014040; --cc-btn-secondary-bg: #014040; --cc-btn-secondary-color: #fff; --cc-btn-secondary-border-color: #014040; }
.ets-privacy-links :focus-visible, .ets-consent-placeholder :focus-visible { outline: 3px solid #f0ba42; outline-offset: 3px; }
:is(.ets-privacy-links, .ets-consent-placeholder), :is(.ets-privacy-links, .ets-consent-placeholder) * { visibility: visible !important; opacity: 1 !important; animation: none !important; }

/* Notre histoire : récit continu, titres distincts et largeur de lecture maîtrisée. */
.ets-histoire #header3-8f { padding-top: 8rem; padding-bottom: 3rem; }
.ets-histoire #header3-8f .media-container-row { align-items: center; gap: 2.5rem; }
.ets-histoire #header3-8f .mbr-figure { flex: 0 0 46%; width: 46% !important; padding: 0; }
.ets-histoire #header3-8f .mbr-figure img { display: block; width: 100%; height: auto; border-radius: .5rem; }
.ets-histoire #header3-8f .media-content { min-width: 0; padding: 0; }
.ets-histoire .ets-histoire-titre { color: #f0ba42; font-family: 'Exo',sans-serif; font-size: clamp(2rem,4vw,3rem); line-height: 1.2; margin: 0 0 1.5rem; }
.ets-histoire #header3-8f .mbr-text { line-height: 1.6; }
.ets-histoire #header3-8f .mbr-section-btn { display: flex; flex-wrap: wrap; gap: .75rem; margin: 0; }
.ets-histoire #header3-8f .btn { margin: 0; min-height: 48px; }
.ets-histoire #content8-cq { padding: 1rem 0; }
.ets-histoire .content3 { padding: 2rem 0; }
.ets-histoire .content3 .container { max-width: 58rem; }
.ets-histoire .content3 .row { display: block; margin: 0; padding: 0; }
.ets-histoire .content3 .col-md-6 { max-width: 100%; width: 100%; padding: 0; }
.ets-histoire .content3 h2 { font-family: 'Exo',sans-serif; color: #f0ba42; font-size: clamp(1.5rem,2.5vw,2rem); line-height: 1.35; margin: 0 0 1rem; font-weight: 500; }
.ets-histoire .content3 .display-7 { color: #fff; font-size: 1.25rem; line-height: 1.75; font-weight: 400; }
.ets-histoire .content3 p { margin-bottom: 0; }
.ets-histoire .content3 + .content3 .container { border-top: 1px solid #487270; padding-top: 2rem; }
.ets-histoire #testimonials1-85 { padding-top: 3rem; padding-bottom: 6rem; }
.ets-histoire #testimonials1-85 .mbr-testimonial { display: flex; }
.ets-histoire #testimonials1-85 .panel-item { display: flex; flex-direction: column; width: 100%; }
.ets-histoire #testimonials1-85 .card-block { flex: 1; }
@media (max-width: 767px) {
 .ets-histoire #header3-8f { padding-top: 6rem; padding-bottom: 2rem; }
 .ets-histoire #header3-8f .media-container-row { flex-direction: column; gap: 1.5rem; }
 .ets-histoire #header3-8f .mbr-figure { width: 100% !important; flex-basis: auto; max-width: 34rem; }
 .ets-histoire #header3-8f .media-content { width: 100%; }
 .ets-histoire .content3 { padding: 1.5rem 0; }
 .ets-histoire .content3 .display-7 { font-size: 1.125rem; }
 .ets-histoire .content3 + .content3 .container { padding-top: 1.5rem; }
}
.ets-histoire #testimonials1-85 .media-container-row { align-items: stretch; }
.ets-histoire #testimonials1-85 .card-block { padding: 1.5rem 1rem; }
.ets-histoire #testimonials1-85 .card-footer { padding: 0 1rem 1.5rem; }
.ets-histoire #testimonials1-85 .panel-item :is(.mbr-text, .mbr-author-name) { color: #014040; }

/* Réservations : choix réguliers et actions distinctes, dans le thème existant. */
.ets-reservations #header16-64 { padding: 4rem 0 3rem; }
.ets-reservations #header16-64 .mbr-overlay { opacity: .48 !important; }
.ets-reservations #header16-64 h1 { margin-bottom: 1rem; }
.ets-reservations #header16-64 h1 a { color: #f0ba42 !important; }
.ets-reservations #header16-64 .mbr-text { max-width: 52rem; margin: 0 auto 1.5rem; line-height: 1.65; color: white; }
.ets-reservations #header16-64 .mbr-section-btn { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0; }
.ets-reservations #header16-64 .btn { display: flex; align-items: center; justify-content: center; margin: 0; min-height: 5rem; padding: 1rem; line-height: 1.4; }
.ets-reservations #content8-hn { padding: 2rem 0 6rem; }
.ets-reservations #content8-hn .col-md-8 { flex: 0 0 100%; max-width: 100%; }
.ets-reservations #content8-hn .mbr-section-btn { display: flex; flex-wrap: wrap; gap: .75rem; justify-content: center; margin: 0; }
.ets-reservations #content8-hn .btn { margin: 0; min-height: 48px; color: #014040 !important; }
.ets-reservations .modal-dialog { width: calc(100% - 2rem); max-width: 60rem; margin: 1rem auto; }
.ets-reservations .modal-content { background: #fff; color: #014040; padding: 1.5rem; }
.ets-reservations .modal-title { color: #014040 !important; padding-right: 3rem; line-height: 1.35; }
.ets-reservations .modal-body { padding: 1rem 0 0; }
.ets-reservations .modal-body .mbr-text { color: #014040 !important; line-height: 1.65; }
.ets-reservations .modal-body img { display: block; width: 100%; max-height: 65vh; height: auto; object-fit: contain; }
.ets-reservations .close { color: #014040; opacity: 1; min-width: 48px; min-height: 48px; }
.ets-reservations .close svg { fill: #014040 !important; }
.ets-reservations .modal-content * { visibility: visible !important; animation: none !important; }
.ets-reservations .modal-content :is(h5,p,img,button) { opacity: 1 !important; transform: none !important; }
@media (max-width: 767px) {
 .ets-reservations #header16-64 { padding: 2.5rem 0 2rem; }
 .ets-reservations #header16-64 .mbr-section-btn { grid-template-columns: 1fr; gap: .75rem; }
 .ets-reservations #header16-64 .btn { min-height: 3.5rem; }
 .ets-reservations #content8-hn { padding-bottom: 5rem; }
 .ets-reservations #content8-hn .btn { flex: 1 1 100%; }
 .ets-reservations .modal-dialog { width: calc(100% - 1rem); margin: .5rem auto; }
 .ets-reservations .modal-content { padding: 1rem; }
}

/* Fenêtres d’aperçu : une présentation commune, images non recadrées. */
.ets-modal-optimisee .modal-dialog { width: calc(100% - 2rem); max-width: 64rem; margin: 1rem auto; }
.ets-modal-optimisee .modal-content { background: #fff !important; color: #014040; border: 0; border-radius: .5rem; padding: 1.5rem; box-shadow: 0 1rem 4rem #0004; }
.ets-modal-optimisee .modal-content > .container { max-width: none; padding: 0; }
.ets-modal-optimisee .modal-header { position: relative; padding: 0 3.5rem 1rem 0 !important; border: 0; }
.ets-modal-optimisee .modal-title { color: #014040 !important; font-size: clamp(1.4rem,2.5vw,2rem); line-height: 1.35; text-align: left; margin: 0; }
.ets-modal-optimisee .modal-body { padding: 0; color: #014040; }
.ets-modal-optimisee .modal-body :is(p,.mbr-text) { color: #014040 !important; font-size: 1.125rem; line-height: 1.65; text-align: left; max-width: 55rem; margin: 0 0 1.25rem; }
.ets-modal-optimisee .close { position: absolute; right: 0; top: -.25rem; margin: 0 !important; padding: .75rem !important; width: 48px; height: 48px; display: flex; align-items: center; justify-content: center; opacity: 1; color: #014040; background: #edf3f1; border-radius: 50%; z-index: 3; }
.ets-modal-optimisee .close svg { fill: #014040 !important; width: 23px; height: 23px; }
.ets-modal-optimisee .ets-modal-image { display: block; color: #014040; background: #edf3f1; text-align: center; }
.ets-modal-optimisee .ets-modal-image img { width: 100%; height: auto; max-height: 58vh; object-fit: contain; display: block; margin: 0 auto; }
.ets-modal-optimisee .ets-modal-image span { display: block; padding: .75rem; font: 1rem/1.4 'Jost',sans-serif; text-decoration: underline; }
.ets-modal-optimisee :focus-visible { outline: 3px solid #f0ba42; outline-offset: 3px; }
.ets-modal-optimisee .modal-content * { visibility: visible !important; animation: none !important; }
.ets-modal-optimisee .modal-content :is(h5,p,img,a,button) { opacity: 1 !important; transform: none !important; }
@media (max-width: 767px) {
 .ets-modal-optimisee .modal-dialog { width: calc(100% - 1rem); margin: .5rem auto; }
 .ets-modal-optimisee .modal-content { padding: 1rem; }
 .ets-modal-optimisee .ets-modal-image img { max-height: 55vh; }
 .ets-modal-optimisee .modal-body :is(p,.mbr-text) { font-size: 1rem; }
}

/* Texte des pieds de page légèrement réduit. */
.footer1 .list.display-7, .footer1 .list .mbr-text,
.footer1 .list a, .footer1 .list span {
  font-size: 1.0625rem !important;
  line-height: 1.55;
}
