/*
 Theme Name:     Mise en scène
 Description:    Theme Enfant Divi pour Mise en scène — correctifs responsive (MAP + POPUP)
 Author:         à l'ombre des étoiles
 Template:       Divi
 Version:        2026-07-18 (clean)
*/

/* =========================================================
   BASE
   ========================================================= */

html {
  scroll-behavior: smooth;
}

.anchor-spacer {
  display: block;
  position: relative;
  top: -120px;
  height: 0;
  visibility: hidden;
}

.lien_txt:hover {
  text-decoration: underline;
}

/* Évite height: 100 % global, qui peut casser les iframes et wrappers. */
.df_ihb_container.c4-image-zoom-in,
figure.c4-izmir.df_ihb_image_wrap {
  height: 100% !important;
}

/* Menu sticky au premier plan. */
.et_pb_fullwidth_menu_0_tb_header.et_pb_fullwidth_menu {
  z-index: 10 !important;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Oswald", Helvetica, Arial, Lucida, sans-serif;
}


/* =========================================================
   TABLETTE — RÈGLES GÉNÉRALES
   ========================================================= */

@media (min-width: 768px) and (max-width: 980px) {
  .force-une-ligne {
    display: flex;
    flex-wrap: nowrap;
  }
}

/* =========================================================
   ACCÈS + MAP — TABLETTE / MOBILE
   ========================================================= */

@media (max-width: 980px) {
  .et_pb_row.row-acces-map {
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  .row-acces-map,
  .row-acces-map > .et_pb_column,
  .row-acces-map .et_pb_code,
  .row-acces-map .et_pb_code_inner {
    height: auto !important;
    max-height: none !important;
    overflow: visible !important;
  }

  .row-acces-map {
    display: block !important;
    position: relative !important;
    z-index: 10 !important;
    clear: both !important;
  }

  .row-acces-map::after {
    display: block;
    clear: both;
    content: "";
  }

  .row-acces-map > .et_pb_column {
    position: relative !important;
    float: none !important;
    width: 100% !important;
    margin-right: 0 !important;
  }

  .row-acces-map iframe {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    height: clamp(620px, 72vh, 900px) !important;
    max-height: none !important;
    border: 0 !important;
  }

  .row-acces-map .et_pb_code,
  .row-acces-map .et_pb_code_inner,
  .row-acces-map > .et_pb_column:last-child {
    min-height: clamp(620px, 72vh, 900px) !important;
  }

  footer.et-l.et-l--footer {
    position: relative !important;
    top: 0 !important;
    z-index: 1 !important;
    margin-top: 0 !important;
    transform: none !important;
  }

  .titre_h1-contact {
    position: relative;
    top: 60px;
  }
}

/* =========================================================
   POPUP HEADER
   ========================================================= */

#et_pb_divimenus_item_0_tb_header_popup.dd-popup {
  position: fixed !important;
  inset: 0 !important;
  z-index: 99999 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: auto !important;
  padding: clamp(12px, 4vw, 36px) !important;
  background-color: rgba(0, 0, 0, 0.4) !important;
  -webkit-overflow-scrolling: touch;
}

#et_pb_divimenus_item_0_tb_header_popup.dd-popup .et_pb_section,
#et_pb_divimenus_item_0_tb_header_popup.dd-popup .et_pb_row,
#et_pb_divimenus_item_0_tb_header_popup.dd-popup .et_pb_column {
  height: auto !important;
  max-height: none !important;
}

#et_pb_divimenus_item_0_tb_header_popup.dd-popup .et_pb_section_2_tb_header {
  position: relative !important;
  top: auto !important;
  width: min(92vw, 620px) !important;
  max-width: 620px !important;
  max-height: calc(100svh - (2 * clamp(12px, 4vw, 36px))) !important;
  overflow: auto !important;
  box-sizing: border-box !important;
  transform: none !important;
}

#et_pb_divimenus_item_0_tb_header_popup.dd-popup
  .et_pb_section_2_tb_header.et_pb_section {
  padding: clamp(18px, 4.5vw, 44px) !important;
}

@media (max-width: 480px) {
  #et_pb_divimenus_item_0_tb_header_popup.dd-popup .et_pb_section_2_tb_header {
    width: 100% !important;
    max-width: 100% !important;
  }
}

/* Réglages téléphone du popup. */
@media (max-width: 980px) {
  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-label {
    font-size: clamp(17px, 3.6vw, 18px) !important;
    line-height: 1.15 !important;
    letter-spacing: 0.02em !important;
  }

  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-number {
    margin: 0 !important;
    font-size: clamp(24px, 7.2vw, 34px) !important;
    line-height: 1.05 !important;
    letter-spacing: 0.02em !important;
  }

  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-label h1,
  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-label h2,
  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-label h3,
  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-number h1,
  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-number h2,
  #et_pb_divimenus_item_0_tb_header_popup .popup-tel-number h3 {
    margin: 0 !important;
    font-size: inherit !important;
    line-height: inherit !important;
  }

  #et_pb_divimenus_item_0_tb_header_popup .et_pb_row_1_tb_header {
    width: auto !important;
    margin: 0 !important;
    padding: 20px 0 0 !important;
  }

  #et_pb_divimenus_item_0_tb_header_popup .et_pb_row_2_tb_header {
    padding-bottom: 5px !important;
  }
}

.et_pb_section_2_tb_header {
  background-color: rgb(160 207 240 / 90%) !important;
}

/* =========================================================
   FOOTER ET EFFETS VISUELS
   ========================================================= */

@media (max-width: 767px) {
  .et_pb_section_0_tb_footer {
    height: clamp(740px, 84vh, 765px) !important;
  }
}

.img_para_CG .et-pb-parallax-background {
  background-position: 14% 50% !important;
}

@media (max-width: 980px) {
  /* Désactive l’interactivité des icônes. */
  .difl_avatar_stack_container,
  .difl_avatar_stack_item,
  .difl_avatar_stack_item_wrapper {
    pointer-events: none !important;
    cursor: default !important;
  }
}

@media (max-width: 980px) {
  .et_pb_section.section_accueil_pause {
    background-repeat: no-repeat !important;
    background-size: auto 100% !important;
  }
}

@media (min-width: 768px) and (max-width: 980px) {
  .et_pb_section.section_accueil_pause {
    background-position: right clamp(-295px, -40vw, -90px) top !important;
  }
}

/* =========================================================
   HEADER STICKY
   ========================================================= */

@media (min-width: 981px) and (max-width: 1280px) {
  .et_pb_fullwidth_menu_0_tb_header .et_pb_row,
  .et_pb_fullwidth_menu_0_tb_header .et_pb_menu_inner_container,
  .et_pb_fullwidth_menu_0_tb_header .et_pb_menu__wrap {
    left: -8vw;
    width: 85vw !important;
    max-width: 100vw !important;
  }
}

@media (min-width: 981px) {
  .et_pb_fullwidth_menu_0_tb_header {
    width: 100% !important;
    max-width: none !important;
  }

  .et_pb_fullwidth_menu_0_tb_header .et_pb_menu__wrap {
    justify-content: flex-end !important;
  }

  .et_pb_fullwidth_menu_0_tb_header .et_pb_menu__logo-wrap {
    flex: 0 0 auto !important;
    width: auto !important;
    max-width: none !important;
    margin-right: auto !important;
  }

  .et_pb_fullwidth_menu_0_tb_header .et_pb_menu__logo img {
    width: auto !important;
    max-width: none !important;
    height: clamp(35px, 2.4vw, 44px) !important;
  }
}

/* =========================================================
   PAGE CHAMBRE
   ========================================================= */

@media (max-width: 480px) {
  .et_builder_inner_content.et_pb_section_3.et_pb_section {
    padding-top: 80px;
    padding-bottom: 0;
  }

  .specifications_chambres h4,
  .specifications_chambres h5 {
    text-align: center !important;
  }

  .et_pb_section_3 .et_pb_row_3,
  .et_pb_section_3 .et_pb_row_4 {
    width: 90% !important;
    max-width: 90vw !important;
  }

  .dondivi_grid_item_0 .ddb-custom-grid-item .ddb-grid-item-image-icon,
  .dondivi_grid_item_1 .ddb-custom-grid-item .ddb-grid-item-image-icon,
  .dondivi_grid_item_2 .ddb-custom-grid-item .ddb-grid-item-image-icon,
  .dondivi_grid_item_3 .ddb-custom-grid-item .ddb-grid-item-image-icon,
  .dondivi_grid_item_4 .ddb-custom-grid-item .ddb-grid-item-image-icon,
  .dondivi_grid_item_5 .ddb-custom-grid-item .ddb-grid-item-image-icon {
    width: 45px !important;
    min-width: 45px !important;
  }
}

.difl_iconlistitem_0_tb_footer .item-elements {
  padding-left: 25px;
}

.difl_iconlistitem_0_tb_footer
  span.et-pb-icon.difl_list_icon.difl_icon_bp_desktop {
  position: relative;
  left: -5px;
}

@media (max-width: 480px) {
  .difl_iconlistitem_0_tb_footer .difl_icon_bp_phone {
    position: relative;
    left: -3px !important;
  }

  a.difl_advanced_button_container.media_right.dfab_media_slide.dfab_mr_left {
    margin-top: 20px !important;
  }

  .dd-menu-item-modal.dd-modal-width {
    position: relative;
    top: -5vh !important;
  }

  .logo_footer {
    position: relative;
    right: 5px;
    transform: scale(0.9);
    transform-origin: top right;
  }
}

div.bloc_photos div {
  display: block !important;
}

/* =========================================================
   IMAGE DU PLAN
   ========================================================= */

.plan_mes_column {
  position: relative;
  overflow: hidden;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  --module-gutter: 0 !important;
}

.plan_mes {
  position: absolute !important;
  inset: 0;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.plan_mes > a,
.plan_mes .et_pb_lightbox_image,
.plan_mes .et_pb_image_wrap {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.plan_mes img {
  display: block;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  object-fit: cover;
  object-position: center;
}

@media (max-width: 980px) {
  .plan_mes_column {
    height: 500px !important;
  }
}

@media (max-width: 480px) {
  .plan_mes_column {
    height: 270px !important;
  }

  .specifications_chambres .dondivi_grid_item_2 {
    position: relative;
    top: -30px !important;
  }

  .specifications_chambres .dondivi_grid_item_3 {
    position: relative;
    top: -31px !important;
  }

  .specifications_chambres .dondivi_grid_item_4 {
    position: relative;
    top: -20px !important;
  }

  .specifications_chambres .dondivi_grid_item_5 {
    position: relative;
    top: -45px !important;
  }
}

/* =========================================================
   PAGE DÉTENTE
   ========================================================= */

@media (max-width: 480px) {
  div#difl-avatar-stack-container
  {
      flex-wrap: nowrap;
  }
}
