:root {
	--main-font: 'Nunito Sans', sans-serif;;
	--title-font: 'Bodoni Moda', serif;
	--main-color: #A49790;
	--second-color: #E8E8E8;
	--bs-border-radius: 0;
}

body {
	font-family: var(--title-font);
	font-size: 18px;
  background: url(../images/bg-paper.png);
}

h1, h2, h3, h4, h5 {
	font-family: var(--title-font);
}
.rapet-color,
a {
	color: var(--main-color);
}

#main {
	margin-top: 0 !important;
}

.nunito {
	font-family: var(--main-font);
}
.bodoni {
	font-family: var(--title-font);
}

.grey-color {
	color: var(--second-color);
}

.fs80 {
	font-size: 4rem;
}
.fs60 {
	font-size: 3rem;
}
.thumb-absolute {bottom:-30px; right: 0}

.b0 {
	bottom: 0;
}
.b15 {
	bottom: 15px;
}
.l0 {
	left: 0;
}
.translate50 {
	transform: translateX(-50%);
}
.zindex-1 {
	z-index: -1;
}
.zindex99 {
	z-index: 99;
}
.thumbs figure:hover {
	z-index: 999;
	transform: scale(1);
	transition: all linear .3s;
}
.thumbs figure {
	transform: scale(0.95);
	transition: all linear .3s;
}
#wine {
	top: 60px;
}

.single-vin h1, #bottle, #etiquette, .single-vin .slide-in-up {

}
.btn:hover, .wp-block-button .wp-block-button__link:hover,
.btn.active {
	background: var(--second-color) !important;
	border-color: var(--second-color) !important;
}
.btn-outline-primary, .wp-block-button.is-style-outline .wp-block-button__link {
	color: var(--main-color) !important;
	border-color: var(--main-color) !important;
}
.taxonomie-couleur {
	overflow: hidden;
	position: relative;
}

.swiper-wine {
  transition: opacity 0.3s ease;
}

.swiper-wine.dimmed {
  opacity: 0.5 !important;
}


/* Wine carousel: floating title beside the hovered bottle. */
.carousel-view {
  position: relative;
}

.wine-hover-tooltip {
  position: absolute;
  z-index: 30;
  max-width: min(230px, 42vw);
  padding: 10px 14px;
  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(164, 151, 144, 0.45);
  box-shadow: 0 10px 28px rgba(71, 61, 57, 0.12);
  color: var(--main-color);
  font-family: var(--title-font);
  font-size: 1rem;
  line-height: 1.2;
  text-align: center;
  pointer-events: none;
  opacity: 0;
  visibility: hidden;
  transform: translateY(6px);
  transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s ease;
}

.wine-hover-tooltip.is-visible {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.wine-hover-tooltip::before {
  content: '';
  position: absolute;
  top: 50%;
  width: 10px;
  height: 10px;
  background: rgba(255, 255, 255, 0.96);
  transform: translateY(-50%) rotate(45deg);
}

.wine-hover-tooltip.is-right::before {
  left: -6px;
  border-left: 1px solid rgba(164, 151, 144, 0.45);
  border-bottom: 1px solid rgba(164, 151, 144, 0.45);
}

.wine-hover-tooltip.is-left::before {
  right: -6px;
  border-right: 1px solid rgba(164, 151, 144, 0.45);
  border-top: 1px solid rgba(164, 151, 144, 0.45);
}

@media (hover: none), (max-width: 767.98px) {
  .wine-hover-tooltip {
    display: none;
  }
}

.color.rouge {
	background: url(../images/capsules/taxo-rouge.png) no-repeat top right;
	background-size: 30%;
}
.color.blanc {
	background: url(../images/capsules/taxo-blanc.png) no-repeat top right;
	background-size: 30%;
}
.menu-left {
	top: 0;
	width: 16.666667%;
}
#main {
position: absolute;
top: 0
}

.hidden {
  display: none !important;
}
    #map {
      background: white;
      height: 75vh;
      width: 100%;
    }
    .map {
    	display: none !important;
    }
    .no-print .map {
    	display: block !important;
    }


@keyframes blink {
  0%   { opacity: 1; }
  50%  { opacity: 0; }
  100% { opacity: 1; }
}

.map .active {
  animation: blink 1s infinite;
}

.swiper-titles-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
  max-width: 1000px;
  margin-inline: auto;
}

.swiper-button-prev,
.swiper-button-next {
  border-radius: 50%;
  cursor: pointer;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  font-size: 16px !important;
  color: #333;
}

    .video-container {
      position: fixed;
      inset: 0;
      width: 100%;
      height: 100%;
      z-index: -2;
      overflow: hidden;
      pointer-events: none;
      background: #111;
    }

    .video-container picture,
    .home-video-poster,
    .home-background-video {
      position: absolute;
      inset: 0;
      width: 100%;
      height: 100%;
    }

    .video-container picture {
      display: block;
    }

    .home-video-poster,
    .home-background-video {
      object-fit: cover;
      object-position: center;
    }

    .home-video-poster {
      opacity: 1;
      transition: opacity 0.6s ease;
    }

    .home-background-video {
      opacity: 0;
      transition: opacity 0.6s ease;
    }

    .video-container.video-ready .home-background-video {
      opacity: 1;
    }

    .video-container.video-ready .home-video-poster {
      opacity: 0;
    }

    .video-overlay {
      z-index: -1;
    }

    
/* Smooth scroll (Lenis) */
html.lenis,
html.lenis body {
  height: auto;
}

.lenis.lenis-smooth {
  scroll-behavior: auto !important;
}

.lenis.lenis-stopped {
  overflow: clip;
}

.lenis [data-lenis-prevent],
.lenis [data-lenis-prevent-wheel],
.lenis [data-lenis-prevent-touch] {
  overscroll-behavior: contain;
}

.lenis.lenis-smooth iframe {
  pointer-events: none;
}

@media (prefers-reduced-motion: reduce) {
      .home-background-video {
        display: none !important;
      }

      .home-video-poster {
        transition: none;
      }
    }


/* Main navigation: subtle interpolated movement + active marker. */
.menu-left .menu-item,
#offcanvasMenu .menu-item {
  border-left: 2px solid transparent;
  transition: border-color 0.28s ease;
}

.menu-left .menu-item > a,
#offcanvasMenu .menu-item > a {
  display: inline-flex;
  align-items: center;
  padding-left: 0.75rem;
  color: var(--main-color);
  transition:
    transform 0.34s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.28s ease,
    opacity 0.28s ease;
  will-change: transform;
}

.menu-left .menu-item > a:hover,
.menu-left .menu-item > a:focus-visible,
#offcanvasMenu .menu-item > a:hover,
#offcanvasMenu .menu-item > a:focus-visible {
  transform: translateX(6px);
  color: #665b55;
}

.menu-left .current-menu-item,
.menu-left .current-menu-ancestor,
.menu-left .current_page_item,
#offcanvasMenu .current-menu-item,
#offcanvasMenu .current-menu-ancestor,
#offcanvasMenu .current_page_item {
  border-left-color: var(--main-color);
}

.menu-left .current-menu-item > a,
.menu-left .current-menu-ancestor > a,
.menu-left .current_page_item > a,
#offcanvasMenu .current-menu-item > a,
#offcanvasMenu .current-menu-ancestor > a,
#offcanvasMenu .current_page_item > a {
  transform: translateX(6px);
  color: #5f5550;
  font-weight: 600;
}

.swiper-pagination {
  bottom: -30px !important; /* ou selon ton besoin */
  z-index: 1;
  text-align: center;
}
.swiper-pagination-bullet {
  background-color: #A49790;
  opacity: 1;
}

.swiper-pagination-bullet-active {
  background-color: #A49790;
}

.bg-light {
    background-color: var(--second-color) !important;
}

.btn-outline-primary, .wp-block-button.is-style-outline .wp-block-button__link {
    color: var(--main-color) !important;
    border-color : var(--second-color) !important;
}

.swiper-titles {
  cursor: grab;
}

.swiper-titles:active,
.swiper-titles.swiper-grabbing {
  cursor: grabbing;
}

.swiper-titles .swiper-slide {
  color: var(--second-color);; /* Couleur par défaut */
  transition: color 0.3s ease;
}

.swiper-titles .swiper-slide-active {
  color: #000; /* Couleur du slide actif */
}

.page-template-page-distinctions .swiper-titles-container {
  position: sticky;
  top: 30px;
  z-index: 999;
  background: white; /* important pour éviter les transparences avec le contenu dessous */
  padding: 1rem 0;
}

#rapet-language-menu {
  position: absolute;
  top: 30px;
  right: 30px;
  z-index: 999;
  flex-direction: row;
  display: flex;
  gap: 10px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#rapet-language-menu > .menu-item {
  border: 0;
}

#rapet-language-menu > .menu-item > a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.15rem 0.1rem 0.25rem;
  border-bottom: 2px solid transparent;
  opacity: 0.45;
  transform: translateY(0);
  transition:
    opacity 0.25s ease,
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    border-color 0.25s ease;
}

#rapet-language-menu > .menu-item > a:hover,
#rapet-language-menu > .menu-item > a:focus-visible {
  opacity: 0.8;
  transform: translateY(-1px);
}

#rapet-language-menu > .current-lang > a,
#rapet-language-menu > .lang-item-current > a,
#rapet-language-menu > .current-menu-item > a,
#rapet-language-menu > .menu-item > a[aria-current='page'] {
  opacity: 1;
  border-bottom-color: var(--main-color);
  transform: translateY(-1px);
}

/* Taxonomy view switcher: top-left of the content column, opposite languages. */
body.tax-couleur .content-column {
  position: relative;
  min-width: 0;
  overflow-x: clip;
}

/* Keep the taxonomy carousel strictly inside the Bootstrap content column.
   Swiper 11 uses the `.swiper` class for its overflow/layout rules; the
   legacy `.swiper-container` class is kept for the existing JS selector. */
body.tax-couleur .taxonomy-page-content,
body.tax-couleur .taxonomie-couleur,
body.tax-couleur .carousel-view,
body.tax-couleur .swiper-container {
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

body.tax-couleur .taxonomy-page-content {
  margin: 0;
  padding: 0;
}

body.tax-couleur .swiper-container {
  overflow: hidden;
}

.taxonomy-view-switcher {
  position: absolute;
  top: 30px;
  left: 30px;
  z-index: 20;
}

.taxonomy-view-switcher .view-button {
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    color 0.25s ease,
    opacity 0.25s ease;
}

/* Layout helpers */
.content-column {
  margin-left: 16.666667%;
}

/* Rapet forms ---------------------------------------------------------- */
.wpforms-container {
  --rapet-form-border: rgba(164, 151, 144, 0.45);
  --rapet-form-border-focus: var(--main-color);
  --rapet-form-bg: rgba(255, 255, 255, 0.44);
  --rapet-form-text: #5f5753;
  --rapet-form-placeholder: rgba(95, 87, 83, 0.48);
  --rapet-form-error: #a65353;
}

.wpforms-container .wpforms-field {
  padding-top: 0 !important;
  padding-bottom: 1.15rem !important;
}

.wpforms-container .wpforms-field-label,
.wpforms-container .wpforms-field-sublabel {
  font-family: var(--main-font) !important;
  color: var(--rapet-form-text) !important;
}

.wpforms-container .wpforms-field-label {
  margin: 0 0 0.45rem !important;
  font-size: 0.74rem !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase;
}

.wpforms-container .wpforms-field-sublabel {
  margin-top: 0.4rem !important;
  font-size: 0.72rem !important;
  letter-spacing: 0.03em;
  opacity: 0.7;
}

.wpforms-container input[type="text"],
.wpforms-container input[type="email"],
.wpforms-container input[type="tel"],
.wpforms-container input[type="url"],
.wpforms-container input[type="number"],
.wpforms-container input[type="date"],
.wpforms-container input[type="time"],
.wpforms-container input[type="password"],
.wpforms-container select,
.wpforms-container textarea {
  width: 100% !important;
  max-width: none !important;
  min-height: 52px !important;
  padding: 0.78rem 0.95rem !important;
  border: 1px solid var(--rapet-form-border) !important;
  border-radius: 0 !important;
  outline: 0 !important;
  background-color: var(--rapet-form-bg) !important;
  color: var(--rapet-form-text) !important;
  font-family: var(--main-font) !important;
  font-size: 0.98rem !important;
  line-height: 1.45 !important;
  box-shadow: none !important;
  transition: border-color 220ms ease, background-color 220ms ease, box-shadow 220ms ease !important;
}

.wpforms-container textarea {
  min-height: 155px !important;
  resize: vertical;
}

.wpforms-container select {
  cursor: pointer;
}

.wpforms-container input::placeholder,
.wpforms-container textarea::placeholder {
  color: var(--rapet-form-placeholder) !important;
  opacity: 1;
}

.wpforms-container input[type="text"]:hover,
.wpforms-container input[type="email"]:hover,
.wpforms-container input[type="tel"]:hover,
.wpforms-container input[type="url"]:hover,
.wpforms-container input[type="number"]:hover,
.wpforms-container input[type="date"]:hover,
.wpforms-container input[type="time"]:hover,
.wpforms-container input[type="password"]:hover,
.wpforms-container select:hover,
.wpforms-container textarea:hover {
  border-color: rgba(164, 151, 144, 0.72) !important;
  background-color: rgba(255, 255, 255, 0.60) !important;
}

.wpforms-container input[type="text"]:focus,
.wpforms-container input[type="email"]:focus,
.wpforms-container input[type="tel"]:focus,
.wpforms-container input[type="url"]:focus,
.wpforms-container input[type="number"]:focus,
.wpforms-container input[type="date"]:focus,
.wpforms-container input[type="time"]:focus,
.wpforms-container input[type="password"]:focus,
.wpforms-container select:focus,
.wpforms-container textarea:focus {
  border-color: var(--rapet-form-border-focus) !important;
  background-color: rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 0 0 3px rgba(164, 151, 144, 0.10) !important;
}

.wpforms-container input[type="checkbox"],
.wpforms-container input[type="radio"] {
  accent-color: var(--main-color);
}

.wpforms-container .wpforms-field-checkbox li,
.wpforms-container .wpforms-field-radio li {
  margin-bottom: 0.45rem !important;
}

.wpforms-container .wpforms-field-checkbox label,
.wpforms-container .wpforms-field-radio label,
.wpforms-container .wpforms-field-gdpr-checkbox label {
  color: var(--rapet-form-text) !important;
  font-family: var(--main-font) !important;
  font-size: 0.9rem !important;
  line-height: 1.45 !important;
}

.wpforms-container .wpforms-required-label {
  color: var(--main-color) !important;
}

.wpforms-container .wpforms-error,
.wpforms-container em.wpforms-error,
.wpforms-container label.wpforms-error {
  color: var(--rapet-form-error) !important;
  font-family: var(--main-font) !important;
  font-size: 0.78rem !important;
}

.wpforms-container input.wpforms-error,
.wpforms-container select.wpforms-error,
.wpforms-container textarea.wpforms-error {
  border-color: var(--rapet-form-error) !important;
}

.wpforms-container .wpforms-submit-container {
  padding-top: 0.25rem !important;
}

.wpforms-container button[type="submit"],
.wpforms-container input[type="submit"],
.wpforms-container .wpforms-submit {
  min-height: 48px !important;
  padding: 0.72rem 1.5rem !important;
  border: 1px solid var(--main-color) !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--main-color) !important;
  font-family: var(--main-font) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  box-shadow: none !important;
  transition: color 220ms ease, background-color 220ms ease, border-color 220ms ease, transform 220ms ease !important;
}

.wpforms-container button[type="submit"]:hover,
.wpforms-container input[type="submit"]:hover,
.wpforms-container .wpforms-submit:hover,
.wpforms-container button[type="submit"]:focus,
.wpforms-container input[type="submit"]:focus,
.wpforms-container .wpforms-submit:focus {
  border-color: var(--main-color) !important;
  background: var(--main-color) !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.wpforms-container button[type="submit"]:active,
.wpforms-container input[type="submit"]:active,
.wpforms-container .wpforms-submit:active {
  transform: translateY(0);
}

.wpforms-confirmation-container-full,
.wpforms-confirmation-container {
  border: 1px solid rgba(164, 151, 144, 0.38) !important;
  border-radius: 0 !important;
  background: rgba(255, 255, 255, 0.55) !important;
  color: var(--rapet-form-text) !important;
  font-family: var(--main-font) !important;
}

@media (max-width: 767.98px) {
  .wpforms-container input[type="text"],
  .wpforms-container input[type="email"],
  .wpforms-container input[type="tel"],
  .wpforms-container input[type="url"],
  .wpforms-container input[type="number"],
  .wpforms-container input[type="date"],
  .wpforms-container input[type="time"],
  .wpforms-container input[type="password"],
  .wpforms-container select,
  .wpforms-container textarea {
    font-size: 16px !important;
  }
}

/* Contact template */
.contact-page {
  max-width: 1180px;
}

.contact-header {
  max-width: 820px;
  margin-inline: auto;
}

.contact-panel {
  background: rgba(255, 255, 255, 0.62);
  border: 1px solid rgba(164, 151, 144, 0.22);
  padding: clamp(1.5rem, 3vw, 2.75rem);
  backdrop-filter: blur(4px);
}

.contact-info-panel {
  position: sticky;
  top: 2rem;
}

.contact-content > :last-child,
.contact-form-panel .wpforms-container:last-child {
  margin-bottom: 0;
}

.contact-content a:not(.btn) {
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
}

.contact-form-panel .wpforms-container {
  margin: 0;
}

/* Animation/accessibility consistency */
[data-rapet-animate] {
  will-change: transform, opacity;
}

.page-template-page-distinctions section[id] {
  scroll-margin-top: 9rem;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  [data-rapet-animate] {
    opacity: 1 !important;
    transform: none !important;
  }
}


/* Wine single: translated colour taxonomy + illustration lightbox. */
.color.red-wines,
.color.rouge {
  background: url(../images/capsules/taxo-rouge.png) no-repeat top right;
  background-size: 30%;
}

.color.white-wines,
.color.blanc {
  background: url(../images/capsules/taxo-blanc.png) no-repeat top right;
  background-size: 30%;
}

.wine-illustration-lightbox {
  display: block;
  cursor: zoom-in;
}

.wine-illustration-lightbox .wine-illustration-image {
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
}

.wine-illustration-lightbox:hover .wine-illustration-image,
.wine-illustration-lightbox:focus-visible .wine-illustration-image {
  transform: scale(1.015);
  opacity: 0.94;
}

/* Millésimes: make every draggable date area explicitly discoverable. */
.page-template-page-millesimes .swiper-titles,
.page-template-page-millesimes .swiper-titles .swiper-slide {
  cursor: grab;
}

.page-template-page-millesimes .swiper-titles:active,
.page-template-page-millesimes .swiper-titles.swiper-grabbing,
.page-template-page-millesimes .swiper-titles:active .swiper-slide {
  cursor: grabbing;
}

/* Global PhotoSwipe affordance — content images only; navigation/logo/UI images are excluded in JS. */
a.rapet-pswp-trigger {
  display: inline-block;
  max-width: 100%;
  cursor: zoom-in;
}

a.rapet-pswp-trigger > img {
  cursor: zoom-in;
  transition: transform 0.35s cubic-bezier(0.22, 1, 0.36, 1), opacity 0.35s ease;
  transform-origin: center center;
}

a.rapet-pswp-trigger:hover > img,
a.rapet-pswp-trigger:focus-visible > img {
  transform: scale(1.015);
  opacity: 0.96;
}

@media (prefers-reduced-motion: reduce) {
  a.rapet-pswp-trigger > img {
    transition: none;
  }

  a.rapet-pswp-trigger:hover > img,
  a.rapet-pswp-trigger:focus-visible > img {
    transform: none;
  }
}

/* Contact template — editorial layout + Leaflet map. */
.page-template-page-contact .contact-page {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 4rem);
}

.page-template-page-contact .contact-header {
  max-width: 960px;
  margin-inline: auto;
}

.page-template-page-contact .contact-main-row {
  max-width: 1160px;
  margin-inline: auto;
}

.page-template-page-contact .contact-intro {
  padding: clamp(1rem, 2vw, 2rem) 0;
}

.page-template-page-contact .contact-opening {
  line-height: 1.5;
  letter-spacing: 0.015em;
}

.page-template-page-contact .contact-address {
  font-style: normal;
  font-size: 1.05rem;
  line-height: 1.75;
  color: #5f5550;
}

.page-template-page-contact .contact-address a {
  color: inherit;
  text-decoration: none;
  border-bottom: 1px solid rgba(95, 85, 80, 0.35);
  transition: border-color 0.25s ease, opacity 0.25s ease;
}

.page-template-page-contact .contact-address a:hover,
.page-template-page-contact .contact-address a:focus-visible {
  border-color: currentColor;
  opacity: 0.72;
}

.page-template-page-contact .contact-form-panel {
  padding: clamp(1.25rem, 3vw, 2.75rem);
  border-left: 1px solid rgba(164, 151, 144, 0.38);
}

.page-template-page-contact .contact-map-section {
  position: relative;
  width: 100%;
  overflow: hidden;
}

.page-template-page-contact .contact-map {
  width: 100%;
  height: clamp(340px, 48vw, 520px);
  min-height: 340px;
  background: #ece8e5;
  filter: saturate(0.72) contrast(0.96);
}

.page-template-page-contact .contact-map .leaflet-control-zoom a {
  color: #5f5550;
}

.page-template-page-contact .contact-map .leaflet-popup-content-wrapper,
.page-template-page-contact .contact-map .leaflet-popup-tip {
  border-radius: 0;
}

.page-template-page-contact .contact-map .leaflet-popup-content {
  font-family: var(--main-font);
  line-height: 1.5;
}

/* 3.8.2 — Contact Waze, content footer and Eurofeuille menu signature. */
.page-template-page-contact .contact-waze a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.25rem;
  height: 2.25rem;
  border: 0;
  color: var(--main-color);
  font-size: 1.65rem;
  line-height: 1;
  text-decoration: none;
  transition:
    transform 0.3s cubic-bezier(0.22, 1, 0.36, 1),
    color 0.25s ease,
    opacity 0.25s ease;
}

.page-template-page-contact .contact-waze a:hover,
.page-template-page-contact .contact-waze a:focus-visible {
  color: #5f5550;
  opacity: 0.8;
  transform: translateY(-2px);
}

/* Eurofeuille kept at the foot of the navigation, without affecting menu centering. */
.menu-left {
  position: fixed;
  flex-direction: column;
  justify-content: center;
}


.menu-certification-logo {
  line-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
}

.menu-certification-logo img {
  display: block;
  width: auto;
  max-width: 100%;
  max-height: 30px;
  height: 30px;
  object-fit: contain;
}

.menu-certification-logo-desktop {
  position: absolute;
  left: 50%;
  bottom: 1.35rem;
  transform: translateX(-50%);
}

#offcanvasMenu .offcanvas-body {
  position: relative;
}

.menu-certification-logo-mobile {
  position: absolute;
  left: 50%;
  bottom: 1.5rem;
  transform: translateX(-50%);
}


/* Homepage certification: Eurofeuille is kept visible outside the mobile menu. */
.home-eurofeuille-logo {
  position: fixed;
  right: 15px;
  bottom: 15px;
  z-index: 40;
  line-height: 0;
}

.home-eurofeuille-logo img {
  display: block;
  width: auto;
  height: 30px;
  max-height: 30px;
  object-fit: contain;
}

/* Main-content footer — intentionally omitted on the homepage in footer.php. */
.content-footer {
  width: 100%;
  margin-top: clamp(4rem, 8vw, 8rem);
  padding: 1.15rem clamp(1rem, 3vw, 2.5rem) 1.25rem;
  border-top: 1px solid rgba(164, 151, 144, 0.32);
  font-family: var(--main-font);
  color: var(--main-color);
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.content-footer-health {
  width: 100%;
  margin-bottom: 1rem !important;
  padding-bottom: 1rem;
  border-bottom: 1px solid rgba(164, 151, 144, 0.2);
  color: var(--main-color);
  font-size: 0.72rem;
  letter-spacing: 0.025em;
  line-height: 1.5;
  text-align: center;
  text-transform: none;
}

.content-footer-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem 2rem;
  width: 100%;
}

.content-footer-nav {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex-wrap: wrap;
  gap: 0.55rem 1.15rem;
}

.content-footer-menu {
  display: flex !important;
  align-items: center;
  justify-content: flex-end;
  flex-direction: row !important;
  flex-wrap: wrap;
  gap: 0.55rem 1.15rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.content-footer-menu > li {
  display: inline-flex;
  width: auto;
  margin: 0;
  padding: 0;
}

.content-footer-menu a,
.content-footer-legal {
  display: inline-flex;
  width: auto;
  color: var(--main-color);
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.25s ease, opacity 0.25s ease;
}

.content-footer-menu a:hover,
.content-footer-menu a:focus-visible,
.content-footer-menu .current-menu-item > a,
.content-footer-legal:hover,
.content-footer-legal:focus-visible {
  color: #5f5550;
  opacity: 0.78;
}

@media (max-width: 767.98px) {
  .content-footer-inner {
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }

  .content-footer-nav,
  .content-footer-menu {
    justify-content: center;
  }

  .content-footer {
    margin-top: 4rem;
    padding-block: 1.1rem 1.25rem;
  }

  .content-footer-health {
    margin-bottom: 0.9rem !important;
    padding-bottom: 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-template-page-contact .contact-waze a {
    transition: none;
  }

  .page-template-page-contact .contact-waze a:hover,
  .page-template-page-contact .contact-waze a:focus-visible {
    transform: none;
  }
}


/* Legal notice / privacy policy — editorial WYSIWYG template. */
.page-template-page-mentions-legales .legal-page,
.page-template-page-politique-confidentialite .legal-page {
  max-width: 1280px;
  margin-inline: auto;
  padding-inline: clamp(1rem, 4vw, 4rem);
}

.page-template-page-mentions-legales .legal-page-header,
.page-template-page-politique-confidentialite .legal-page-header {
  max-width: 1040px;
  margin-inline: auto;
}

.page-template-page-mentions-legales .legal-page-body,
.page-template-page-politique-confidentialite .legal-page-body {
  width: min(100%, 920px);
  margin-inline: auto;
  padding-top: clamp(1.5rem, 3vw, 3rem);
  border-top: 1px solid rgba(164, 151, 144, 0.28);
}

.page-template-page-mentions-legales .legal-page-content,
.page-template-page-politique-confidentialite .legal-page-content {
  color: #5f5550;
  font-family: var(--main-font);
  font-size: clamp(1rem, 0.97rem + 0.12vw, 1.08rem);
  line-height: 1.8;
}

.page-template-page-mentions-legales .legal-page-content > :first-child,
.page-template-page-politique-confidentialite .legal-page-content > :first-child {
  margin-top: 0;
}

.page-template-page-mentions-legales .legal-page-content > :last-child,
.page-template-page-politique-confidentialite .legal-page-content > :last-child {
  margin-bottom: 0;
}

.page-template-page-mentions-legales .legal-page-content h2,
.page-template-page-politique-confidentialite .legal-page-content h2 {
  margin: clamp(2.4rem, 5vw, 4.5rem) 0 1rem;
  color: var(--main-color);
  font-family: var(--title-font);
  font-size: clamp(1.8rem, 1.35rem + 1.35vw, 2.8rem);
  font-weight: 400;
  line-height: 1.15;
}

.page-template-page-mentions-legales .legal-page-content h3,
.page-template-page-politique-confidentialite .legal-page-content h3 {
  margin: 2.2rem 0 0.8rem;
  color: var(--rapet-color, #a49790);
  font-family: var(--main-font);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.4;
  text-transform: uppercase;
}

.page-template-page-mentions-legales .legal-page-content h4,
.page-template-page-politique-confidentialite .legal-page-content h4 {
  margin: 1.8rem 0 0.65rem;
  color: var(--main-color);
  font-family: var(--main-font);
  font-size: 1rem;
  font-weight: 700;
}

.page-template-page-mentions-legales .legal-page-content p,
.page-template-page-politique-confidentialite .legal-page-content p,
.page-template-page-mentions-legales .legal-page-content ul,
.page-template-page-politique-confidentialite .legal-page-content ul,
.page-template-page-mentions-legales .legal-page-content ol,
.page-template-page-politique-confidentialite .legal-page-content ol {
  margin-bottom: 1.15rem;
}

.page-template-page-mentions-legales .legal-page-content ul,
.page-template-page-politique-confidentialite .legal-page-content ul,
.page-template-page-mentions-legales .legal-page-content ol,
.page-template-page-politique-confidentialite .legal-page-content ol {
  padding-left: 1.4rem;
}

.page-template-page-mentions-legales .legal-page-content li + li,
.page-template-page-politique-confidentialite .legal-page-content li + li {
  margin-top: 0.35rem;
}

.page-template-page-mentions-legales .legal-page-content a,
.page-template-page-politique-confidentialite .legal-page-content a {
  color: var(--main-color);
  text-decoration: underline;
  text-decoration-color: rgba(164, 151, 144, 0.65);
  text-decoration-thickness: 1px;
  text-underline-offset: 0.2em;
  transition: color 0.25s ease, text-decoration-color 0.25s ease;
}

.page-template-page-mentions-legales .legal-page-content a:hover,
.page-template-page-mentions-legales .legal-page-content a:focus-visible,
.page-template-page-politique-confidentialite .legal-page-content a:hover,
.page-template-page-politique-confidentialite .legal-page-content a:focus-visible {
  color: #5f5550;
  text-decoration-color: currentColor;
}

.page-template-page-mentions-legales .legal-page-content strong,
.page-template-page-politique-confidentialite .legal-page-content strong {
  color: var(--main-color);
  font-weight: 700;
}

.page-template-page-mentions-legales .legal-page-content blockquote,
.page-template-page-politique-confidentialite .legal-page-content blockquote {
  margin: 2rem 0;
  padding: 0.35rem 0 0.35rem 1.4rem;
  border-left: 2px solid rgba(164, 151, 144, 0.65);
  color: var(--main-color);
}

.page-template-page-mentions-legales .legal-page-content table,
.page-template-page-politique-confidentialite .legal-page-content table {
  width: 100%;
  margin: 2rem 0;
  border-collapse: collapse;
  font-size: 0.94em;
}

.page-template-page-mentions-legales .legal-page-content th,
.page-template-page-politique-confidentialite .legal-page-content th,
.page-template-page-mentions-legales .legal-page-content td,
.page-template-page-politique-confidentialite .legal-page-content td {
  padding: 0.75rem 0.9rem;
  border: 1px solid rgba(164, 151, 144, 0.3);
  text-align: left;
  vertical-align: top;
}

.page-template-page-mentions-legales .legal-page-content th,
.page-template-page-politique-confidentialite .legal-page-content th {
  color: var(--main-color);
  font-weight: 700;
}

.page-template-page-mentions-legales .legal-page-edit,
.page-template-page-politique-confidentialite .legal-page-edit {
  margin-top: 2rem !important;
  font-size: 0.78rem;
  text-transform: uppercase;
}

@media (max-width: 767.98px) {
  .page-template-page-mentions-legales .legal-page,
  .page-template-page-politique-confidentialite .legal-page {
    padding-inline: 1rem;
  }

  .page-template-page-mentions-legales .legal-page-body,
  .page-template-page-politique-confidentialite .legal-page-body {
    padding-top: 1.5rem;
  }

  .page-template-page-mentions-legales .legal-page-content table,
  .page-template-page-politique-confidentialite .legal-page-content table {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}
