/* === FIX TRANSITIONS HEADER SCROLL === */
.sticky-header a,
.sticky-header .ekit-menu-nav-link {
  transition: transform 0.3s ease !important;
}
.elementor-sticky--effects.sticky-header a,
.elementor-sticky--effects.sticky-header .ekit-menu-nav-link {
  transition: color 0.1s ease, transform 0.3s ease !important;
}

D/* Temp Fix for App.css margins. */
.thmv-no-margin.elementor-section-boxed .elementor-container{
	width:inherit;
}

.frm_forms form input[type=text], .frm_forms form input[type=email], .frm_forms form input[type=url], .frm_forms form input[type=password], .frm_forms form input[type=number], .frm_forms form input[type=tel], .frm_style_formidable-style.with_frm_style input[type=text], .frm_style_formidable-style.with_frm_style input[type=password], .frm_style_formidable-style.with_frm_style input[type=email], .frm_style_formidable-style.with_frm_style input[type=number], .frm_style_formidable-style.with_frm_style input[type=url], .frm_style_formidable-style.with_frm_style input[type=tel], .frm_style_formidable-style.with_frm_style input[type=file], .frm_style_formidable-style.with_frm_style input[type=search], .frm_forms form input, .frm_forms form textarea, .frm_style_formidable-style.with_frm_style textarea, .th-widget-area .widget input[type=submit], .th-widget-area .widget .frm_style_formidable-style.with_frm_style input[type=submit]{
	border-radius: 0;
}

/* Masquer titre CGV */
.page-id-5168 .entry-title { display: none; }

/* Megamenu */
.elementor-sticky--active .elementskit-megamenu-panel .widget-image-caption { color: #C8714C !important; }
.elementskit-megamenu-panel .widget-image-caption { transition: color 1s ease !important; }

/* Footer copyright */
.elementor-4594 .elementor-element.elementor-element-50c286f {
    --position: absolute !important;
    position: absolute !important;
    bottom: 15px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    z-index: 10 !important;
}
.elementor-4594 .elementor-element-50c286f .elementor-widget-container {
    font-size: 14px !important;
    text-align: center !important;
}
.elementor-4594 .elementor-element.elementor-element-4b46972b {
    position: relative !important;
    padding-bottom: 55px !important;
}

/* Header nav desktop */
#menu-cm1.elementskit-navbar-nav { flex-wrap: nowrap !important; }
#menu-cm1.elementskit-navbar-nav li a { white-space: nowrap !important; }

/* Footer */
.elementor-4594 .elementor-element-4068ed94 { position: static !important; }
.elementor-element-28020113 .elementor-nav-menu {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    grid-auto-flow: column !important;
    grid-template-rows: repeat(3, auto) !important;
    gap: 5px 20px !important;
    justify-items: center !important;
    flex-wrap: unset !important;
}
.elementor-4594 .elementor-element-28020113 .elementor-widget-container { margin-top: 8px !important; }
.elementor-element-8c3712a .widget-image-caption,
.elementor-element-df26fb3 .widget-image-caption { transition: color 1s 3s !important; }

/* FIX sous-menu Gites au scroll */
body.th-sticky-header .elementor-sticky--effects.sticky-header .elementskit-megamenu-panel a,
body.th-sticky-header .elementor-sticky--effects.sticky-header .elementskit-megamenu-panel * {
  color: rgba(200, 113, 76, 1) !important;
  transition: none !important;
}
body.th-sticky-header .elementor-sticky--effects.sticky-header .elementskit-dropdown a,
body.th-sticky-header .elementor-sticky--effects.sticky-header .sub-menu a,
body.th-sticky-header .elementor-sticky--effects.sticky-header .elementskit-submenu-indicator {
  color: rgba(200, 113, 76, 1) !important;
  transition: none !important;
}
body.th-sticky-header .elementor-sticky--effects.sticky-header .elementor-button,
body.th-sticky-header .elementor-sticky--effects.sticky-header .elementor-button * { color: white !important; }

/* FIX fadeIn header */
.sticky-header.animated,
.sticky-header.animated-slow,
.sticky-header.elementor-animation,
.elementor-section.sticky-header {
  animation: none !important;
  animation-duration: 0s !important;
  opacity: 1 !important;
}


/* ============================================================
   BASE ANTI-OVERFLOW
   ============================================================ */
html, body {
  overflow-x: hidden !important;
  max-width: 100vw !important;
}
*, *::before, *::after {
  box-sizing: border-box;
}
img, video, iframe, embed, object, svg {
  max-width: 100% !important;
  height: auto;
}


/* ============================================================
   HEADER — FIXES TABLETTE &amp; MOBILE
   ============================================================ */
@media (max-width: 1024px) {

  /* --- Bouton Réserver : taille raisonnable --- */
  .sticky-header .elementor-button,
  .sticky-header a.elementor-button {
    padding: 6px 14px !important;
    font-size: 13px !important;
    width: auto !important;
    display: inline-block !important;
  }

  /* --- Language container : coin supérieur droit --- */
  .language-container {
    top: 10px !important;
    right: 10px !important;
  }
  .round-icon, .language-main {
    width: 34px !important;
    height: 34px !important;
    font-size: 13px !important;
  }
}

@media (max-width: 767px) {

  /* --- Hauteur header réduite --- */
  .sticky-header.elementor-section,
  .sticky-header {
    min-height: 60px !important;
    padding-top: 4px !important;
    padding-bottom: 4px !important;
  }
  .sticky-header .elementor-container {
    min-height: 60px !important;
  }

  /* --- DOUBLE HAMBURGER : masquer le second (nav droite Tarifs/Contact) --- */
  /* Le toggle Elementor Nav Menu widget */
  .elementor-nav-menu--toggle {
    display: none !important;
  }
  /* Forcer la nav droite toujours visible, sans toggle */
  .elementor-nav-menu--main.elementor-nav-menu__container {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: static !important;
    width: auto !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  /* Items nav droite en ligne */
  .elementor-nav-menu--main .elementor-item {
    font-size: 12px !important;
    padding: 0 6px !important;
  }

  /* --- Bouton Réserver : auto-width, ne prend pas toute la largeur --- */
  .sticky-header .elementor-button,
  .sticky-header a.elementor-button {
    padding: 5px 12px !important;
    font-size: 12px !important;
    width: auto !important;
    display: inline-block !important;
    white-space: nowrap !important;
  }

  /* --- Language container : coin haut droit discret --- */
  .language-container {
    position: fixed !important;
    top: 8px !important;
    right: 8px !important;
    gap: 6px !important;
  }
  .round-icon, .language-main {
    width: 30px !important;
    height: 30px !important;
    font-size: 11px !important;
  }

  /* --- Icônes réseaux sociaux : centrées --- */
  .sticky-header a[href*="facebook.com"],
  .sticky-header a[href*="instagram.com"] {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
  }
}


/* ============================================================
   RESPONSIVE PAGE ACCUEIL — TABLETTE &amp; MOBILE
   Zero selecteur &gt; pour eviter encodage &gt;
   Desktop INCHANGE
   ============================================================ */

@media (max-width: 1024px) {
  .elementor-page-4113 h1.elementor-heading-title {
    font-size: clamp(30px, 4.5vw, 52px) !important;
    line-height: 1.15 !important;
  }
  .elementor-page-4113 h2.elementor-heading-title {
    font-size: clamp(22px, 3.2vw, 38px) !important;
    line-height: 1.2 !important;
  }
  .flip-card {
    width: min(400px, 85vw) !important;
    height: auto !important;
    aspect-ratio: 4/5;
  }
  .front-text { font-size: 20px !important; }
  .maure-ligne { gap: 40px !important; }
  .maure { width: 120px !important; opacity: 0.3 !important; }
  .grw-reviews-container { max-width: 100% !important; overflow-x: hidden !important; }
}

@media (max-width: 767px) {

  /* Typographie */
  .elementor-page-4113 h1.elementor-heading-title {
    font-size: 28px !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
  }
  .elementor-page-4113 h2.elementor-heading-title {
    font-size: 20px !important;
    line-height: 1.25 !important;
  }
  .elementor-page-4113 h3.elementor-heading-title {
    font-size: 16px !important;
  }

  /* Colonnes Elementor stacking */
  .elementor-page-4113 .elementor-row { flex-wrap: wrap !important; }
  .elementor-page-4113 .elementor-column {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
    padding: 0 !important;
  }
  .elementor-page-4113 .elementor-container {
    padding-left: 15px !important;
    padding-right: 15px !important;
    max-width: 100% !important;
  }
  .elementor-page-4113 .elementor-section {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Flip cards */
  .flip-card {
    width: min(300px, 88vw) !important;
    height: auto !important;
    aspect-ratio: 4/5;
    margin: 0 auto 24px auto !important;
    display: block !important;
  }
  .flip-card-inner { position: relative !important; width: 100% !important; height: 100% !important; }
  .flip-card-front, .flip-card-back { position: absolute !important; width: 100% !important; height: 100% !important; }
  .front-text { font-size: 16px !important; max-width: 120px !important; padding: 6px !important; bottom: 16px !important; }

  /* Maures */
  .maure-ligne { display: none !important; }

  /* Maps */
  #map { min-height: 250px !important; max-height: 300px !important; }

  /* Reviews */
  .grw-reviews-container { max-width: 100% !important; overflow-x: hidden !important; }

  /* Formulaire réservation */
  .mphb-s4 .mphb-reserve-room-section .mphb-col {
    width: 100% !important;
    margin-bottom: 8px !important;
  }

  /* Footer mobile */
  .elementor-4594 .elementor-row { flex-wrap: wrap !important; }
  .elementor-4594 .elementor-column {
    width: 100% !important;
    flex: 0 0 100% !important;
    text-align: center !important;
  }
}