/* 
Theme Name: Hello Eliophot Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team & Eliophot
Author: Eliophot
Author URI: https://www.eliophot.com/
Template: hello-elementor
Version: 2.0.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-bloc_triple_images, rtl-language-support, threaded-comments, translation-ready, Eliophot
*/

/* ---------------------------------------------
                    COMMUN
--------------------------------------------- */
.swiper-avis-clients .swiper-slide .e-con-inner {
gap: 35px;
}

* {
  scroll-margin-top: 82px;
}

/* gestion tailles des titres de fond */
.max-450 {
  max-width: 450px !important;
}
.max-550 {
  max-width: 550px !important;
}

/* boutons */
@media screen and (min-width: 1025px) {
  .common-cta a:hover:before {
    width: calc(100% - 20px);
  }

  .common-cta.cta-j_to_v a:hover:before {
    background-color: var(--e-global-color-secondary);
  }
  .common-cta.cta-j_to_v a:hover span {
    color: var(--e-global-color-accent) !important;
  }

  .common-cta.cta-v_to_b a:hover:before {
    background-color: var(--e-global-color-primary);
  }

  .common-cta.cta-w_to_v a:hover:before {
    background-color: var(--e-global-color-secondary);
  }
  .common-cta.cta-w_to_v a:hover span {
    color: var(--e-global-color-accent) !important;
  }

  .common-cta.cta-v_to_j a:hover:before {
    background-color: var(--e-global-color-accent);
  }
  .common-cta.cta-v_to_j a:hover span {
    color: var(--e-global-color-text) !important;
  }

  .common-cta.cta-t_to_b a:hover:before {
    background-color: var(--e-global-color-primary);
  }
}
.common-cta a:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 6px;
  transition: all 0.3s;
}

/* différentes couleurs de fond des boutons */
.common-cta.cta-j_to_v a:before {
  background-color: var(--e-global-color-b41c22f);
}

.common-cta.cta-v_to_b a:before {
  background-color: var(--e-global-color-secondary);
}

.common-cta.cta-w_to_v a:before {
  background-color: #fff;
}

.common-cta.cta-v_to_j a:before {
  background-color: var(--e-global-color-secondary);
}

.common-cta.cta-t_to_b a:before {
  background-color: var(--e-global-color-96e6a31);
}

/* section maillage - La Rochelle */
.maillage_rochelle .overlay {
  height: 100%;
}

/* section maillage - page */
@media screen and (min-width: 768px) {
    .maillage .img_1 img {
        aspect-ratio: 300 / 680;
    }
    
    .maillage .img_2 img {
        aspect-ratio: 405 / 490;
    }
}

/* hero communs */
@media screen and (min-width: 1025px) {
    .hero_common {
        height: 70vh;
    }
}

.hero_common .main_container .overlay {
  pointer-events: none;
  z-index: 2;
  height: 100%;
}

.hero_common .main_container .item-1,
.hero_common .main_container .item-2,
.hero_common .main_container .item-3 {
  opacity: 0;
}

@media screen and (max-width: 1025px) {
  .hero_common .main_container .overlay {
    background: rgba(0, 0, 0, 0.3);
  }

  .hero_common {
    height: 70dvh;
  }
}

/* bloc demi avec bg */
.bloc_demi-w-bg .elementor-widget-image {
  max-height: 90vh;
}

/* bloc points clés */
.points-cles .en-tete {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
}

.points-cles .en-tete-titres {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

/* ---------------------------------------------
                    HEADER
--------------------------------------------- */
#header-sticky {
  backdrop-filter: blur(7px);
}

/* ---------------------------------------------
                    MENU BURGER
--------------------------------------------- */
.menu_wrapper-menu_deroulant {
  max-height: 0;
  overflow: hidden;
  opacity: 0;
  transition:
    max-height 0.5s ease,
    opacity 0.4s ease !important;
}

.menu_wrapper-menu_deroulant.active {
  max-height: 400px;
  opacity: 1;
}

.menu_wrapper-toggle_menu {
  cursor: pointer;
  transition: all 0.35s;
}

.menu_wrapper-toggle_menu.active {
  transform: rotate(-180deg);
}

/*MENU BURGER*/
@media screen and (min-width: 768px) {
  .menu_burger .btn_tel .elementor-button-icon {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .menu_burger .btn_tel .elementor-button-text {
    display: none;
  }
}

@media screen and (max-width: 1024px) {
  .menu_burger .menu_secondaire ul {
    justify-content: center;
  }
}

.menu_burger .btn-close {
  min-height: 0;
  height: 30px;
}

/* ---------------------------------------------
                    FOOTER
--------------------------------------------- */
.etablissement {
  aspect-ratio: 190 / 135;
}

@media screen and (max-width: 1024px) {
  .etablissements_wrapper .e-con-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 1fr 1fr;
  }

  .etablissement {
    height: 100%;
  }
}

/* Newsletter */
.newsletter-form .elementor-field-type-acceptance{
    order: 3;
}

.newsletter-form .elementor-field-group{
    padding: 0 !important;
    margin: 0 !important;
    border: 0;
    border-radius: 0;
}

.newsletter-form .elementor-field-textual{
    border : solid 1px;

    border-radius: 5px 0px 0px 5px;
    border-color: #008080;
        border-right: none !important;
}

.newsletter-form .elementor-field-type-email{
	order : 1
}
.newsletter-form .elementor-field-type-submit{
    border : solid 1px;

    border-color: #008080;
    border-left: none !important;
	order: 2;
	border-radius: 0px 5px 5px 0px;
}

.newsletter-form button{
    height: 100%;
    width: 100%;

}

/* ---------------------------------------------
                    HOMEPAGE
--------------------------------------------- */
/* hero */
@media screen and (min-width: 1025px) {
  .hero .hero_main_container,
  .hero .hero_img-1,
  .hero .hero_img-2,
  .hero .hero_img-3 {
    max-width: 25%;
  }

  .hero {
    height: 70vh;
  }
}

.hero .hero_main_container .item-1,
.hero .hero_main_container .item-2,
.hero .hero_main_container .item-3 {
  opacity: 0;
}

.hero .hero_main_container .overlay {
  pointer-events: none;
  z-index: 2;
  height: 100%;
}

@media screen and (max-width: 1025px) {
  .hero .hero_main_container .overlay {
    background: rgba(0, 0, 0, 0.3);
  }

  .hero {
    height: 100dvh;
  }
}

/* section 1 */
/* chiffres */
@media screen and (min-width: 768px) {
  .chiffres .chiffres_titre {
    white-space: nowrap;
  }
}

/* bloc avec 3 images */
@media screen and (min-width: 1025px) {
  .bloc_triple_images .img_1 img {
    aspect-ratio: 301 / 436;
  }

  .bloc_triple_images .img_2 img {
    aspect-ratio: 525 / 557;
  }

  .bloc_triple_images .img_3 img {
    aspect-ratio: 303 / 296;
  }
}

.bloc_triple_images .img_1,
.bloc_triple_images .img_2,
.bloc_triple_images .img_3 {
  overflow: hidden;
}

/* section 3 - panorama */
.section_panorama .overlay {
  height: 100%;
}

/* section 4 */
/*map*/
/* @media screen and (min-width: 1025px) {
  .home-section_4 .map .titres {
    position: absolute;
    bottom: 0;
    left: 10%;
  }
}

@media screen and (min-width: 1024px) and (max-width: 1200px) {
  .home-section_4 .map .titres {
    left: 25px;
  }
} */

/*seminaires entreprises*/
@media screen and (min-width: 1025px) {
  .home-section_4 .seminaires-entreprises {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
  }

  .home-section_4 .texts {
    grid-area: 1 / 2 / 2 / 3;
  }

  .home-section_4 .img_1 {
    grid-area: 2 / 2 / 3 / 3;
  }

  .home-section_4 .img_left {
    grid-area: 1 / 1 / 3 / 2;
    height: 100%;
  }

  .home-section_4 .seminaires-entreprises .img_1 img {
    aspect-ratio: 662 / 660;
  }

  .home-section_4 .seminaires-entreprises .img_2 img {
    aspect-ratio: 539 / 660 !important;
  }

  .home-section_4 .seminaires-entreprises .img_2 {
    position: sticky;
    top: 15vh;
  }
}

/* section 5 - sejours de groupe */
@media screen and (min-width: 1025px) {
  .sejours-groupes .e-con-inner {
    display: grid;
    grid-template-columns: 40% 30% 30%;
    grid-template-areas: "text middle right";
    overflow: hidden;
  }

  .sejours-groupes .texts-wrapper {
    grid-area: text;
  }

  .sejours-groupes .img_1 {
    grid-area: middle;
  }

  .sejours-groupes .img_2 {
    grid-area: right;
  }
}

/* section 6 - espaces, carousel */
@media screen and (min-width: 1025px) {
  .section_carousel_images {
    min-height: 85vh;
  }
}

.section_carousel_images .carousel_images {
  height: 100%;
}
.btn-prev,
.btn-next {
  cursor: pointer;
}

/* section faq + avis clients */
.elfsight_reviews .es-rating-item {
  content: url("/wp-content/uploads/2026/03/Star.svg");
}

.elfsight_reviews .es-review-author-name {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-size: var(--e-global-typography-secondary-font-size);
  font-weight: var(--e-global-typography-secondary-font-weight);
  text-transform: var(--e-global-typography-secondary-text-transform);
  font-style: var(--e-global-typography-secondary-font-style);
  text-decoration: var(--e-global-typography-secondary-text-decoration);
  line-height: var(--e-global-typography-secondary-line-height);
}

.elfsight_reviews .es-text-shortener {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
  font-size: var(--e-global-typography-text-font-size);
  font-weight: var(--e-global-typography-text-font-weight);
  text-transform: var(--e-global-typography-text-text-transform);
  font-style: var(--e-global-typography-text-font-style);
  line-height: var(--e-global-typography-text-line-height);
  letter-spacing: var(--e-global-typography-text-letter-spacing);
}

/* ---------------------------------------------
                    SEJOURS DE GROUPE
--------------------------------------------- */
@media screen and (min-width: 1025px) {
  .offres-carousel img {
      aspect-ratio: 266 / 447;
  }
  
  .offres-carousel .swiper-button-lock  {
      display: none !important;
  }
}

.offres-carousel .elementor-swiper-button {
  aspect-ratio: 1 / 1;
}


/* ---------------------------------------------
                    DESTINATION
--------------------------------------------- */
/* section hover types de séjours */
@media screen and (min-width: 1025px) {
    /*image*/
    .types_sejours .wrapper .image {
        position: absolute;
        top: 0;
        right: 0;
        width: 100%;
        height: 100%;
        transition: transform 1s;
    }
    
    .types_sejours .part_left .image,
    .types_sejours .part_left .item-txt {
        transform: translateX(-100%);
    }
    
    .types_sejours .part_right .image,
    .types_sejours .part_right .item-txt {
        transform: translateX(100%);
    }
    
    .types_sejours .wrapper:hover .image {
        transform: translateX(0);
    }
    
    .types_sejours .wrapper:hover .image:before {
        background-color: rgba(0, 0, 0, 0.5);
    }
    
    /*textes*/
    .types_sejours .wrapper .item-color,
    .types_sejours .wrapper .item-color * {
        transition: color 0.85s;
    }
    .types_sejours .wrapper:hover .item-color,
    .types_sejours .wrapper:hover .item-color * {
        color: #fff;
    }

    .types_sejours .wrapper .item-txt {
        overflow: hidden;
        max-height: 0;
        transition: opacity 0.35s, transform 1s, max-height 1s;
        opacity: 0;
    }
    
    .types_sejours .wrapper:hover .item-txt {
        max-height: 500px;
        opacity: 1;
        transform: translateX(0);
    }
}

/* section listing destination */
.destination-listing .item-destination .elementor-button {
    position: relative;
}

.destination-listing .item-destination .elementor-button:before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  height: 100%;
  z-index: -1;
  border-radius: 6px;
  transition: all 0.3s;
  background-color: var(--e-global-color-b41c22f);
}

@media screen and (min-width: 1025px) {
    .destination-listing .item-destination .elementor-button:hover:before {
    width: calc(100% - 20px);
    background-color: var(--e-global-color-secondary);
    }
    
    .destination-listing .item-destination .elementor-button:hover {
        color: var(--e-global-color-accent) !important;
    }
}

/* ---------------------------------------------
                    QUI SOMMES NOUS
--------------------------------------------- */
/* section mosaique */
@media screen and (min-width: 768px) {
    .section_3-imgs .img-right img,
    .section_3-imgs .img-left img {
        aspect-ratio: 301/354;
    }
    
    .section_3-imgs .img-mid img {
        aspect-ratio: 525/354;
    }
}

/* section RSE - bloc demi avec 2 images */
@media screen and (min-width: 768px) {
    .section_demi-double_img .img_1 img {
        aspect-ratio: 615/504;
    }
    
    .section_demi-double_img .img_2 img {
        aspect-ratio: 385/306;
    }
}

/* ---------------------------------------------
                    SEMINAIRES D'ENTREPRISE
--------------------------------------------- */
#offres {
    scroll-margin-top: 7rem;
}

.capacite-salles a, .capacite-salles img{
    width: 100%
}

/* ---------------------------------------------
                    PAGES ETABLISSEMENTS
--------------------------------------------- */
@media screen and (min-width: 1025px) {
  .maillage-etablissements .item img {
      aspect-ratio: 290 / 400;
  }
}
/* ---------------------------------------------
                    PAGES PARTENAIRES
--------------------------------------------- */
.listing-partenaires .partenaire .elementor-cta__bg-wrapper {
  border-radius: 5px;
  overflow: hidden;
}

/* ---------------------------------------------
                    DESTINATION N2
--------------------------------------------- */
.btn-navigation .elementor-button-icon {
  font-size: 9px;
}

.btn-navigation .elementor-button-icon path {
  fill: var(--e-global-color-text);
}

@media screen and (min-width: 1025px) {
  .btn-navigation a:hover .elementor-button-icon path {
      fill: var(--e-global-color-accent) !important
  }
}

/* ---------------------------------------------
                    PAGES LEGALES
--------------------------------------------- */
.textes-legaux h2 {
  font-family: var(--e-global-typography-secondary-font-family), Sans-serif;
  font-size: var(--e-global-typography-secondary-font-size);
  font-weight: var(--e-global-typography-secondary-font-weight);
  text-transform: var(--e-global-typography-secondary-text-transform);
  font-style: var(--e-global-typography-secondary-font-style);
  line-height: var(--e-global-typography-secondary-line-height);
  letter-spacing: var(--e-global-typography-secondary-letter-spacing);
  color: var(--e-global-color-secondary);
  text-decoration: var(--e-global-typography-secondary-text-decoration);
}

.textes-legaux p + h2 {
  margin-top: 2rem;
}

