/* 
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-images, rtl-language-support, threaded-comments, translation-ready, Eliophot
*/

/* ------- COMMUN ------- */
/* formulaires */
.formulaire button[type="submit"] {
  position: relative;
}

.formulaire button[type="submit"]:before {
  content: "";
  margin-right: 10px;
  height: 12px;
  width: 12px;
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 3px;
  transition: background-color 0.2s;
  background-color: var(--e-global-color-primary);
}

.formulaire button[type="submit"]:hover:before {
  background-color: var(--e-global-color-secondary);
}

/* titres */
.common-title strong {
  font-weight: 400;
  color: var(--e-global-color-accent);
}

.common-title-2 strong {
  font-weight: 400;
  color: var(--e-global-color-primary);
}

/* surtitres */
.surtitle h2 {
  margin-top: 1px;
}

.surtitle {
  transform: rotate(-90deg);
}

/* boutons communs*/
.common-btn .elementor-icon-box-title {
  position: relative;
}

.common-btn .elementor-icon-box-title:before {
  content: "";
  margin-right: 10px;
  height: 12px;
  width: 12px;
  position: absolute;
  right: 100%;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 3px;
  transition: background-color 0.2s;
}

/* gestion du hover */
.common-btn.btn-small svg {
  width: 150px;
  flex-shrink: 0;
}

.common-btn.btn-medium svg {
  width: 207px;
  flex-shrink: 0;
}

/*ligne*/
.common-btn .elementor-icon-box-icon #Calque_11 path {
  transition: all 0.2s;
  transform-origin: left center;
  transform: scaleX(0.6);
}

.common-btn:hover .elementor-icon-box-icon #Calque_11 path {
  transform: scaleX(1);
}

/*chevron*/
.common-btn.btn-small .elementor-icon-box-icon #Calque_2 path {
  transform: translateX(-60px);
  transition: all 0.2s;
}

.common-btn.btn-medium .elementor-icon-box-icon #Calque_2 path {
  transform: translateX(-83px);
  transition: all 0.2s;
}

.common-btn:hover .elementor-icon-box-icon #Calque_2 path {
  transform: translateX(0);
}

/* gestion des couleurs des boutons */
.common-btn.btn-bleu .elementor-icon-box-title:before {
  background-color: var(--e-global-color-secondary);
}

.common-btn.btn-bleu:hover .elementor-icon-box-title:before {
  background-color: var(--e-global-color-accent);
}

.common-btn.btn-tangelo .elementor-icon-box-title:before {
  background-color: var(--e-global-color-accent);
}

.common-btn.btn-tangelo:hover .elementor-icon-box-title:before {
  background-color: var(--e-global-color-primary);
}

.common-btn.btn-casal .elementor-icon-box-title:before {
  background-color: var(--e-global-color-primary);
}

.common-btn.btn-casal:hover .elementor-icon-box-title:before {
  background-color: var(--e-global-color-secondary);
}

/* maillages */
@media screen and (min-width: 1025px) {

  .section-maillage .maillage-link .maillage-txt-hover,
  .section-maillage .maillage-link .maillage-txt-visible {
    transition: all 0.55s;
  }

  .section-maillage .maillage-link:hover .maillage-txt-visible {
    opacity: 0;
  }

  .section-maillage .maillage-link .maillage-txt-hover {
    opacity: 0;
  }

  .section-maillage .maillage-link:hover .maillage-txt-hover {
    opacity: 1;
  }

  .section-maillage .maillage-link+.maillage-imgs {
    opacity: 0;
    transition: all 0.55s
  }

  .section-maillage .maillage-link:hover+.maillage-imgs {
    opacity: 1;
  }
}

/* ------ HEADER ------ */
.menu-close_burger:hover path {
  fill: var(--e-global-color-secondary);
}

.menu-close_burger path {
  transition: all 0.35s;
}

/* ------- FOOTER ------- */
/* boutons sticky */
.sticky-btn {
  height: auto;
  width: fit-content;
}

.sticky-btn:hover {
  aspect-ratio: 1/1;
}

.sticky-btn_text strong {
  text-transform: uppercase;
  font-family: "Passion One", Sans-serif;
  font-size: 24px;
  letter-spacing: 0.24px;
  font-weight: 400;
}

.sticky-btn .sticky-btn_text {
  transform-origin: bottom left;
}

/* ------- HOMEPAGE ------- */
/* hero + loader */
.loader-screen-menthe,
.loader-screen-casal,
.loader-screen-tangelo {
  clip-path: polygon(0% 100%, 100% 100%, 100% 100%, 0% 100%);
}

#loader .logo-foodnmore,
#loader .loader-logo {
  line-height: 0;
  opacity: 0;
}

.logo-foodnmore {
  transform: translate(-50%, 13vh)
}

.hero-carousel .elementor-swiper {
  height: 100% !important;
}

#hero {
  opacity: 0;
}

#hero-loader,
#loader {
  height: 100vh
}

@media screen and (max-width: 1024px) {
  .hero-carousel {
    max-width: 600px !important;
    aspect-ratio: 333 / 450 !important;
    height: auto !important;
    max-height: calc(100vh - 16rem);
  }

  #loader .loader-logos-wrapper {
    height: 100vh;
  }
}

@media screen and (min-width: 1025px) {

  .hero-carousel,
  #loader .loader-logos-wrapper {
    aspect-ratio: 670 / 373 !important;
    height: auto !important;
    max-width: 1200px !important;
  }
}

/* section manifeste */
.section-manifeste .stroke-text p {
  -webkit-text-stroke-width: 2px !important;
  -webkit-text-stroke-color: #fff !important;
}

.section-manifeste .manifest-text strong {
  color: var(--e-global-color-accent);
  font-weight: 400;
}

.section-manifeste .manifest-text em {
  color: var(--e-global-color-secondary);
  font-style: normal;
}

/* gestion textes avec lignes */
.section-manifeste .manifest-text p {
  width: 100%;
  position: relative;
}

.section-manifeste .manifest-text p:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: rgba(127, 195, 188, 0.2);
  bottom: 10px;
  left: 0;
}

.section-manifeste .stroke-text p:before {
  content: "";
  position: absolute;
  width: 100%;
  height: 1px;
  background: rgba(127, 195, 188, 0.2);
  bottom: 17px;
  left: 0;
}

.section-manifeste .stroke-text p {
  width: 100%;
  margin: auto;
  position: relative;
  padding-top: 10px;
}

@media screen and (max-width: 767px) {
  .section-manifeste .manifest-text p:before {
    bottom: 7px;
  }
}

/* section cartes */
@media screen and (min-width: 1025px) {
  .section-cartes .common-btn {
    position: absolute;
    top: 15vw;
    right: 40%;
  }
}

/* section avis clients */
.section-avis .widget-avis-clients .es-review-author-name,
.section-avis .widget-avis-clients .es-review-content div {
  font-family: var(--e-global-typography-text-font-family), Sans-serif;
}

@media screen and (min-width: 1025px) {
  .section-avis .images-wrapper {
    max-width: 487px;
  }
}

.section-avis .images-wrapper .ppal-img {
  flex-shrink: 0;
}

.section-avis .img-3,
.section-avis .img-2 {
  flex-shrink: 0;
}

/* section privatisation */
.section-privatisation .common-title {
  writing-mode: sideways-lr;
}

.section-privatisation .fond {
  height: 100%;
}

.section-privatisation .img-fond {
  height: 100%;
}

.wrapper-content_w_fond {
  max-width: 550px;
}

/* section galerie */
.section-galerie .carousel-img .elementor-swiper-button {
  background: var(--e-global-color-secondary);
  padding: 10px;
  border-radius: 10px;
  align-content: center;
  transition: background 0.25s;
}

.section-galerie .carousel-img .elementor-swiper-button:hover {
  background: var(--e-global-color-accent);
}

.section-galerie .carousel-img .swiper {
  width: calc(100% - 30px) !important;
}

.section-galerie .carousel-img figure {
  line-height: 0 !important;
}

@media screen and (min-width: 1025px) {
  .section-galerie .carousel-img .swiper-slide-image {
    aspect-ratio: 628 / 785;
  }
}

@media screen and (max-width: 1024px) {
  .section-galerie .carousel-img .swiper-slide-image {
    aspect-ratio: 365 / 477;
  }
}

.section-galerie .carousel-img .swiper-slide-image {
  object-fit: cover;
  height: auto;
}

@media screen and (min-width: 1025px) {
  .section-galerie .carousel-img figure::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.2);
    z-index: 2;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    transition: opacity 0.5s;
  }

  .section-galerie .carousel-img .swiper-slide {
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
    overflow: hidden;
  }

  .section-galerie .carousel-img .swiper-slide:hover figure::after {
    opacity: 0;
  }

  .section-galerie .carousel-img .swiper-slide figure img {
    transition: transform 0.5s;
    ;
  }

  .section-galerie .carousel-img .swiper-slide:hover figure img {
    transform: scale(1.15);
  }
}

/* PAGE MANIFESTE */
/* hero */
@media screen and (min-width: 1025px) {
  .hero .common-title {
    writing-mode: sideways-lr;
  }
}

.hero .fond {
  height: 100%;
}

.hero .wrapper-content_w_fond {
  max-width: 550px;
}

@media screen and (min-width: 1025px) {
  .hero .surtitle-container {
    position: absolute;
    top: 6rem;
  }
}

/* section cuisine */
@media screen and (min-width: 1367px) {
  .manifeste-section_cuisine .texts-container {
    flex: 0 0 55% !important;
  }
}

@media screen and (min-width: 1201px) and (max-width: 1366px) {
  .manifeste-section_cuisine .texts-container {
    flex: 0 0 50% !important;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .manifeste-section_cuisine .texts-container {
    flex: 0 0 45% !important;
  }
}

@media screen and (min-width: 1025px) {
  .manifeste-section_cuisine .img_tournantes-wrapper {
    width: 1050px;
    flex: 0 0 auto !important;
    margin-left: -40%;
  }

  .manifeste-section_cuisine .img_tournantes-wrapper .pic {
    transition: all 0.75s ease;
  }

  .manifeste-section_cuisine .img_tournantes-wrapper .posA {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
  }

  .manifeste-section_cuisine .img_tournantes-wrapper .posB {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
  }

  .manifeste-section_cuisine .img_tournantes-wrapper .posC {
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translate(-100%, -50%);
  }

  .manifeste-section_cuisine .img_tournantes-wrapper .posD {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translate(-50%, -100%);
  }
}

@media screen and (max-width: 767px) {
  .manifeste-section_cuisine .img_tournantes-wrapper .pic {
    aspect-ratio: 1 / 1 !important;
  }
}

/* section team */
.manifeste-section_team .team-carousel .team .team-content {
  opacity: 0;
  transition: opacity 0.35s;
}

.manifeste-section_team .team-carousel .team:hover .team-content {
  opacity: 1;
}

.manifeste-section_team .team-carousel .team {
  aspect-ratio: 1 / 1;
}

@media screen and (max-width: 1024px) {
  .manifeste-section_team .team-carousel .team::before {
    opacity: 0.4;
  }

  .manifeste-section_team .team-carousel .team .team-content {
    opacity: 1;
  }
}

/* section hotel */
.manifeste-section_hotel .imgs-container {
  max-width: 490px;
}

/* section mosaique */
@media screen and (min-width: 1025px) {
  .manifeste-section_mosaique .wrapper {
    aspect-ratio: 1392 / 580;
  }

  .manifeste-section_mosaique .double-img .item {
    height: calc(50% - 10px);
  }
}

/* PAGE ACTUALITE */
@media screen and (min-width: 1025px) {
  .agenda-listing .elementor-post .elementor-post__text {
    display: flex;
    flex-direction: column-reverse;
  }

  .agenda-listing .elementor-post:hover .elementor-post__thumbnail::after {
    opacity: 1;
  }

  .agenda-listing .elementor-post .elementor-post__thumbnail::after {
    opacity: 0;
    content: url("/wp-content/uploads/2026/01/more.svg");
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 100%;
    background: rgba(1, 44, 53, 0.6);
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--e-global-color-text);
    font-size: 61px;
    transition: all 0.35s;
  }
}

/* PAGE MENUS ET CARTES */
/* menu sticky */
#entrees,
#plats,
#desserts,
#boissons,
#menus,
#menu-kids {
  scroll-margin-top: 10rem;
}

/*gestion des couleurs*/
@media screen and (min-width: 1025px) {
  .cartes-section-sticky_menu .item-carte a:hover {
    color: var(--e-global-color-accent) !important;
  }

  .cartes-section-sticky_menu .item-menu a:hover {
    color: var(--e-global-color-secondary) !important;
  }
}

.cartes-section-sticky_menu .item-carte a {
  color: var(--e-global-color-primary) !important;
  background: var(--e-global-color-secondary);
}

.cartes-section-sticky_menu .elementor-nav-menu--main li.item-carte a.elementor-item-active {
  background-color: var(--e-global-color-accent) !important;
  color: var(--e-global-color-text) !important;
}

.cartes-section-sticky_menu .item-menu a {
  color: var(--e-global-color-text) !important;
  background: var(--e-global-color-accent);
}

.cartes-section-sticky_menu .item-menu a.elementor-item-active {
  background: var(--e-global-color-primary);
}


@media screen and (min-width: 767px) {
  .cartes-section-sticky_menu .elementor-nav-menu--main li:nth-child(1 of .item-menu) {
    margin-left: 7px !important;
  }

  .cartes-section-sticky_menu .elementor-nav-menu--main li:first-child a {
    padding-left: 50px !important;
  }

  .cartes-section-sticky_menu .elementor-nav-menu--main li:last-child a {
    padding-right: 50px !important;
  }
}

.cartes-section-sticky_menu .elementor-nav-menu--main li a {
  transition: all 0.55s;
}

/* plats */
.section_menu-cartes .plats .elementor-price-list-item {
  position: relative;
}

.section_menu-cartes .plats .elementor-price-list-item .elementor-price-list-image {
  position: absolute;
  top: 0;
  right: calc(100% + 10px);
  width: 30px;
}

.section_menu-cartes .plats .elementor-price-list-description {
  flex-basis: auto !important;
  width: 80%;
}

@media screen and (max-width: 767px) {
  .section_menu-cartes .plats .elementor-price-list-header {
    align-items: flex-start !important;
  }

  .section_menu-cartes .plats .elementor-price-list-item .elementor-price-list-image {
    position: absolute;
    bottom: 0;
    right: 0;
    width: 30px;
    top: unset;
    left: unset;
  }
}

/* menus */
.menu .elementor-price-list-header,
.menu .elementor-price-list-description {
  justify-content: center !important;
  text-align: center !important;
}

/* btn retour sticky */
.btn-to-top {
  position: sticky;
  bottom: 3rem;
  right: 2rem;
  transform: translateY(-200%);
}

@media screen and (max-width: 767px) {
  .btn-to-top {
    bottom: 0;
  }
}

/* PAGE ACTUALITE / REJOINDRE N2 */
.btn-retour .elementor-icon-box-icon {
  transform: rotate(180deg);
}

.btn-retour svg {
  width: 100px;
  flex-shrink: 0;
}

.btn-retour .elementor-icon-box-icon #Calque_2 path {
  transform: translateX(-40px);
  transition: all 0.2s;
}

.article-content .elementor-widget-container{
    display: flex;
    flex-direction: column;
    gap: 10px;
}