*,
*::before,
*::after {
  box-sizing: border-box;
}
html {
  scroll-behavior: smooth;
  overflow-x: hidden;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background-color: #000;
}
body {
  margin: 0;
  padding: env(safe-area-inset-top, 0px) 0 env(safe-area-inset-bottom, 0px) 0;
  overflow-x: hidden;
  line-height: 1.42857143;
  color: #333;
  background-color: #000;
  position: relative;
}
figure,
blockquote,
dl,
dd {
  margin: 0;
}
.page_container {
  width: 100%;
  overflow-x: hidden;
}

:root {
  --redColor: #a52337;
  --redColorOver: #b34657;
  --yellowColor: #c49d40;
  --yellowColorOver: #d8b95a;
  --greenColor: #284441;
  --greenColorOver: #296963;
  --greyColor: #444444;
  --roseColor: #e6bbb8;
  --brownColor: #775740;
  
  --menu-speed:0.6s;
  --mobile-page-padding: 6vw;
}
@font-face {
    font-family: Gotham-Bold;
    src: url("/theme-assets/Gotham-Bold-d05a68cbcc7a751a472261d065b19f88.woff");
    font-display: swap;
}
@font-face {
  font-family: "Kuenstler";
  src: url("/theme-assets/Kuenstler-747992e555aee60fa2da0e3766308770.woff");
  font-display: swap;
}
@font-face {
  font-family: "Candara";
  src: url("/theme-assets/candara-6fe4404f594302103e5f785999d53096.woff ");
  font-display: swap;
}
@font-face {
  font-family: "CandaraBold";
  src: url("/theme-assets/Candara-Bold-5b04c3a663d2bfb4a0abd29e644b3d54.woff ");
  font-display: swap;
}
@font-face {
  font-family: "fa-regular";
  src: url("/theme-assets/fa-regular-7124eb50fc8227c78269f2d995637ff5.woff ");
  font-display: swap;
}
body{
  font-family:"Candara";
  font-weight: bold;
  overflow-x: hidden;
}

/* Évite le flash petit -> gros avant textfill (toutes tailles d'écran) */
.rh-textfill-target:not(.rh-textfill-ready) {
  visibility: hidden;
}

/*this class is inside each page*/
.pageDataContainer{
  position:relative;
  height: calc(100 * var(--vh));
  width:100%;
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}

/* Menu latéral — taille explicite en rem (pas 1em : parent = body ≈ 1rem) */
.menuListContainer > li > button {
  font-size: 1.35rem !important;
}

@media (max-width: 1300px) {
  .menuListContainer > li > button {
    font-size: 1.55rem !important;
  }
}

@media (max-width: 767px) {
  *,
  *::before,
  *::after {
    box-sizing: border-box;
  }

  body {
    width: 100%;
    overflow-x: hidden;
    font-size: 16px;
  }

  img {
    max-width: 100%;
  }

  .pageDataContainer {
    min-height: calc(100 * var(--vh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px));
    height: auto;
  }

  /*
    Fixed nav logo sits above the flow; push page content below it on all pages
    except the home hero (.rh-hero-fullscreen).
  */
  :root {
    --rh-nav-content-offset: calc(
      env(safe-area-inset-top, 0px) + 2vh + min(34vw, 154px) + 2.25rem
    );
  }

  .pageDataContainer:not(.rh-hero-fullscreen):not(.rh-agedor-page):not(.rh-paper-band-page) {
    padding-top: var(--rh-nav-content-offset) !important;
    box-sizing: border-box;
  }

  /* Bandeau papier dans le flux (comme La Maison / contact), pas en fixed */
  .rh-paper-nav-band {
    display: block;
    width: 100%;
    flex-shrink: 0;
    height: var(--rh-nav-content-offset);
    min-height: var(--rh-nav-content-offset);
    background-color: #ece8df;
    background-image: var(--rh-paper-texture-bg);
    background-size: cover;
    background-position: center top;
    box-sizing: border-box;
  }

  /* Âge d’or: bandeau + scène sous le bandeau (flux, comme La Maison) */
  #ageOrContainer.rh-agedor-page {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    min-height: calc(100 * var(--vh)) !important;
  }

  /* Mobile Âge d'Or: remonter le fond cave jusqu'en haut */
  #ageOrContainer.rh-agedor-page .rh-paper-nav-band {
    display: none !important;
  }

  #ageOrContainer.rh-agedor-page .rh-agedor-stage {
    position: relative !important;
    flex: 1 1 auto !important;
    min-height: calc(100 * var(--vh)) !important;
    width: 100% !important;
  }

  #ageOrContainer .slider-container {
    width: 100vw !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    height: 100% !important;
    padding: 5vh var(--mobile-page-padding) max(2.25rem, 4vh) var(--mobile-page-padding) !important;
    box-sizing: border-box !important;
  }

  #ageOrContainer .slider-container .arrows_slider_content .slider-content {
    width: 70vw !important;
    height: 52vh !important;
  }

  #ageOrContainer .slider-container .bullet-container {
    width: 92vw !important;
    bottom: calc(env(safe-area-inset-bottom, 0px) + 6.5vh) !important;
    flex-wrap: wrap !important;
    gap: 6px 14px !important;
  }

  .page {
    padding-top: calc(var(--rh-nav-content-offset) + 0.75rem) !important;
    box-sizing: border-box;
  }

  /* #logoRH beats per-page .logoRH { left: … !important } (agedor, maison, contact, etc.) */
  #logoRH {
    width: 58vw !important;
    max-width: 260px !important;
    height: 34vw !important;
    max-height: 154px !important;
    top: 2vh !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
  }

  nav {
    z-index: 120 !important;
  }

  nav #toggler,
  nav .hamburger {
    top: 3vh !important;
    right: 5vw !important;
    width: 48px !important;
    height: 48px !important;
  }

  nav .hamburger > div {
    height: 3px !important;
  }

  nav .hamburger > div::before {
    top: -10px !important;
  }

  nav .hamburger > div::after {
    top: 10px !important;
  }

  nav #toggler:checked + .hamburger > div::before,
  nav #toggler:checked + .hamburger > div::after {
    top: 0 !important;
  }

  .logoRHMenu {
    width: 54vw !important;
    max-width: 260px !important;
    top: 6vh !important;
  }

  .menuListContainer {
    width: 86vw !important;
    --rh-menu-top: calc(6vh + min(54vw, 260px) * 0.59 + 1.5vh) !important;
    --rh-menu-bottom: 7vh !important;
    top: var(--rh-menu-top) !important;
    height: calc(100 * var(--vh) - var(--rh-menu-top) - var(--rh-menu-bottom)) !important;
    padding: 0 !important;
    justify-content: center !important;
    gap: clamp(0.55rem, 1.05vh, 0.95rem) !important;
  }

  .social_menu {
    right: var(--mobile-page-padding) !important;
    bottom: var(--mobile-page-padding) !important;
  }

  .social_menu_item {
    width: 34px !important;
    margin-left: 14px !important;
  }

  .pic-wrapper {
    height: calc(100 * var(--vh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
  }

  .pic-wrapper figure {
    height: calc(100 * var(--vh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    background-position: center center !important;
  }

  .discoverIcon {
    width: 42vw !important;
    max-width: 180px !important;
    max-height: 12vh !important;
    bottom: 10vh !important;
    z-index: 2 !important;
  }

  .social_menu {
    z-index: 3 !important;
  }

  #contactContainer {
    flex-direction: column !important;
  }

  .contactLeftColumn {
    width: 100% !important;
    height: auto !important;
    padding: 2.5rem var(--mobile-page-padding) 5vh var(--mobile-page-padding) !important;
    border-bottom: 1px solid var(--yellowColor) !important;
    gap: 3.5vh !important;
  }

  #carteContact {
    height: auto !important;
    width: auto !important;
    max-width: 72vw !important;
    margin: 0 auto !important;
    display: block !important;
  }

  .contactInfosContent {
    width: 100% !important;
    height: auto !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 1.4rem !important;
  }

  .contactInfosContent #fillTextLeft {
    width: 100% !important;
    gap: 1.2rem !important;
    text-align: center !important;
  }

  .contactInfosContent #fillTextLeft p,
  .contactInfosContent #fillTextLeft span,
  .contactInfosContent #fillTextLeft div {
    font-size: 1rem !important;
    line-height: 1.5 !important;
    margin: 0 !important;
  }

  .contactInfosContent img {
    width: auto !important;
    max-width: 42vw !important;
    height: auto !important;
    right: auto !important;
    margin: 0 auto !important;
    display: block !important;
  }

  .contactInfosContent h2 {
    font-size: 1.05rem !important;
    line-height: 1.4 !important;
    margin: 0 !important;
    letter-spacing: 0.03em !important;
  }

  .contact_content {
    width: 100% !important;
    margin: 0 !important;
    padding: 5vh var(--mobile-page-padding) 6vh var(--mobile-page-padding) !important;
  }

  .contact_content .pageTitle h1 {
    font-size: 1.6rem !important;
    margin: 0 !important;
  }

  .contact_content .pageTitle .line {
    width: 60% !important;
    height: 2px !important;
    margin-top: 0.6rem !important;
  }

  .contactForm {
    width: 100% !important;
    margin-top: 2.5rem !important;
  }

  .contactForm input,
  .contactForm textarea {
    font-size: 16px !important;
    padding: 18px 4px 12px !important;
    margin-bottom: 1.2rem !important;
    min-height: 56px !important;
  }

  .contactForm textarea {
    min-height: 120px !important;
  }

  #contactSubmitButton {
    width: 100% !important;
    min-height: 56px !important;
    padding: 16px !important;
    font-size: 1rem !important;
    letter-spacing: 0.05em !important;
    margin-top: 0.5rem !important;
  }

  #maisonContainer {
    flex-direction: column !important;
  }

  .img_famille_maison {
    width: 100vw !important;
    height: auto !important;
    max-height: 45vh !important;
    object-fit: cover !important;
    object-position: center top !important;
  }

  .maison_content {
    width: 100% !important;
    margin-top: 4vh !important;
    margin-bottom: 6vh !important;
    padding: 0 var(--mobile-page-padding) !important;
  }

  #iciAilleursContainer {
    flex-direction: column !important;
    background-color: #fff !important;
    height: auto !important;
    min-height: calc(100 * var(--vh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
  }

  .iciAilleursLeftColumn {
    width: 100vw !important;
    height: auto !important;
    min-height: 60vh !important;
    flex-shrink: 0 !important;
  }

  .iciAilleursInfosContent {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    padding: 2.5rem var(--mobile-page-padding) 4vh var(--mobile-page-padding) !important;
  }

  .iciAilleurs_content {
    width: 100vw !important;
    flex: 1 1 auto !important;
    min-height: 52vh !important;
    height: auto !important;
    background-color: #fff !important;
    overflow: hidden !important;
  }

  .iciAilleurs_map {
    width: 100% !important;
    height: 100% !important;
    min-height: 52vh !important;
    object-fit: cover !important;
    object-position: center center !important;
  }

  #cuveecontainer .product_container {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 1.5rem var(--mobile-page-padding) 6vh var(--mobile-page-padding) !important;
    flex-wrap: wrap !important;
    gap: 4vh 4vw !important;
    align-content: center !important;
    justify-content: center !important;
  }

  #cuveecontainer .Product {
    position: relative !important;
    width: 36vw !important;
    height: auto !important;
  }

  #cuveecontainer .bootleImg {
    height: 28vh !important;
    max-width: 100% !important;
    width: auto !important;
  }

  #cuveecontainer .productTitle {
    display: block !important;
    font-size: 13px !important;
    margin-top: 8px !important;
  }

  #ageOrContainer .slider-container .slider-left,
  #ageOrContainer .slider-container .slider-right {
    width: 32px !important;
  }

  #ageOrContainer .slider-container .bullet-container .bullet {
    margin: 0 !important;
    font-size: 14px !important;
  }

  #ageOrContainer .slider-container .bullet-container .bullet.active {
    font-size: 18px !important;
  }

  #productContainer {
    flex-direction: column !important;
    min-height: calc(100 * var(--vh) - env(safe-area-inset-top, 0px) - env(safe-area-inset-bottom, 0px)) !important;
    height: auto !important;
  }

  #productLeftColumn {
    width: 100vw !important;
    height: 18vh !important;
    flex-shrink: 0 !important;
  }

  #productContainer .rh-product-bottle-stage {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: auto !important;
    margin-top: -6vh !important;
    margin-bottom: 0 !important;
    padding: 0 max(2vw, env(safe-area-inset-left, 0px)) 0.25rem max(2vw, env(safe-area-inset-right, 0px)) !important;
    box-sizing: border-box !important;
    pointer-events: auto !important;
    z-index: 5 !important;
    overflow-x: clip !important;
    overflow-y: visible !important;
  }

  #productContainer .rh-product-bottle-stage .productImg {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    height: auto !important;
    max-height: 38vh !important;
    max-width: 52vw !important;
    align-self: center !important;
    margin-top: 0 !important;
    flex-shrink: 0 !important;
  }

  .productdescription {
    width: 100% !important;
    flex: 0 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    align-self: center !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding-left: max(var(--mobile-page-padding), env(safe-area-inset-left, 0px)) !important;
    padding-right: max(var(--mobile-page-padding), env(safe-area-inset-right, 0px)) !important;
    padding-top: 0.25rem !important;
    padding-bottom: 6vh !important;
  }

  .productdescription-inner {
    flex: 0 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    align-items: center !important;
    overflow: hidden !important;
  }

  #productContainer .productdescription #fillText.rh-fill-centered {
    margin-block: 0 !important;
  }

  #productContainer .productdescription #fillText {
    width: 92% !important;
    max-width: 92% !important;
    margin-inline: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }

  #productContainer .productdescription #fillText h1,
  #productContainer .productdescription #fillText p,
  #productContainer .productdescription #fillText h3 {
    text-align: center !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  #productContainer .productdescription #fillText h2 {
    display: grid !important;
    grid-template-columns: minmax(0.35rem, 1fr) auto minmax(0.35rem, 1fr) !important;
    align-items: center !important;
    column-gap: 5px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    text-align: center !important;
    box-sizing: border-box !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
  }

  #productContainer .productdescription #fillText h2::before,
  #productContainer .productdescription #fillText h2::after {
    width: 100% !important;
    min-width: 0.35rem !important;
    border-bottom: 1px solid currentColor !important;
  }

  #productContainer .rh-product-bottle-stage .nav-arrow {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 44px !important;
    height: 44px !important;
    opacity: 0.88;
    z-index: 30 !important;
    pointer-events: auto !important;
    touch-action: manipulation;
    overflow: hidden !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
  }

  #productContainer .rh-product-bottle-stage .nav-arrow-left {
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    right: auto !important;
  }

  #productContainer .rh-product-bottle-stage .nav-arrow-right {
    right: max(10px, env(safe-area-inset-right, 0px)) !important;
    left: auto !important;
  }

  #productContainer .rh-product-bottle-stage .nav-arrow.rh-nav-swipe-active {
    opacity: 1 !important;
    transform: translateY(-50%) scale(calc(1 + (var(--rh-swipe-progress, 0) * 0.04))) !important;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18) !important;
    transition: none !important;
  }

  #tohideFormobile {
    display: none !important;
  }

  .mosaiqueButtonContent {
    width: 55% !important;
    height: 55% !important;
  }

  .modal-prompt {
    width: 90vw !important;
    max-width: 380px !important;
    padding: 0 20px 20px 20px !important;
  }

  .modal-prompt h1 {
    font-size: 1.05em !important;
  }

  .modal-prompt p {
    font-size: 0.85em !important;
  }

  .logoRHAge {
    width: 140px !important;
  }

  .mentionsContainer {
    padding: calc(var(--rh-nav-content-offset) + 0.75rem) var(--mobile-page-padding) 6vh
      var(--mobile-page-padding) !important;
    font-size: 1em !important;
  }

  .mentionsContainer h1 {
    font-size: 1.4em !important;
  }

  #footerInfos {
    flex-direction: column !important;
    align-items: center !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
    padding: 0 var(--mobile-page-padding) !important;
  }

  #footerInfos li::after {
    content: none !important;
  }

  .social_icon {
    width: 42px !important;
    height: 42px !important;
  }
}

@media (min-width: 768px) {
  .maison_content:not(.rh-textfill-ready),
  .iciAilleursInfosContent:not(.rh-textfill-ready),
  .productdescription-inner:not(.rh-textfill-ready) {
    visibility: hidden !important;
  }

  #ageOrContainer.rh-agedor-page .rh-paper-nav-band,
  #iciAilleursContainer.rh-paper-band-page .rh-paper-nav-band {
    display: none !important;
  }

  #ageOrContainer.rh-agedor-page .rh-agedor-stage {
    display: contents;
  }

  /* Logo nav (62.5%) chevauche la colonne texte produit : garder le titre en dessous */
  #productContainer .productdescription {
    padding-top: calc(1vw + 10.7vw + 1.5rem) !important;
  }

  #productContainer .productdescription-inner {
    justify-content: flex-start !important;
  }

  #iciAilleursContainer .iciAilleursLeftColumn {
    width: 30vw !important;
    max-width: 30vw !important;
    min-width: 300px !important;
    height: 100% !important;
    min-height: calc(100 * var(--vh)) !important;
    padding: 2vh 2rem !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) !important;
    justify-items: center !important;
    align-items: center !important;
  }

  #iciAilleursContainer .iciAilleurs_logo {
    width: 100% !important;
    max-width: 20vw !important;
    height: var(--rh-ici-logo-height, clamp(9.5rem, 11.8vw, 12rem)) !important;
    margin: 0 !important;
  }

  #iciAilleursContainer .iciAilleursInfosContent {
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    align-items: center !important;
    width: calc(100% - 0.5rem) !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    min-height: 0 !important;
    overflow-x: visible !important;
    overflow-y: hidden !important;
    padding: 0 0.25rem 2vh !important;
    justify-self: stretch !important;
  }

  #iciAilleursContainer .iciAilleursInfosContent:not(.rh-textfill-ready) {
    visibility: hidden !important;
  }

  #iciAilleursContainer .iciAilleursInfosContent #fillText {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }
}

@media (min-width: 768px) and (max-width: 1300px) {
  #productContainer .productdescription {
    padding-top: calc(2vh + 15vh + 1.5rem) !important;
  }

  #iciAilleursContainer .iciAilleursLeftColumn {
    width: 32vw !important;
    max-width: 32vw !important;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
    --rh-ici-logo-height: clamp(10rem, 16vh, 13rem) !important;
  }

  #iciAilleursContainer .iciAilleurs_logo {
    max-width: 22vw !important;
  }
}
