/* ── Global ───────────────────────────────────────────── */
body,
body * {
  font-family: 'Playfair Display', serif !important;
}
body {
  background-color: #F6E9DD !important;
}

/* ── Header transparent ───────────────────────────────── */
body[class] #masthead[class],
body[class] .site_header[class],
body[class] .sc_layouts_header[class],
body[class] .elementor-location-header[class],
html body #masthead,
html body .sc_layouts_header {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
  z-index: 99999 !important;
  pointer-events: none !important;
}
body[class] #masthead[class] a,
body[class] #masthead[class] button,
body[class] .site_header[class] a,
body[class] .site_header[class] button,
body[class] .sc_layouts_header[class] a,
body[class] .sc_layouts_header[class] button,
body[class] .elementor-location-header[class] a,
body[class] .elementor-location-header[class] button {
  pointer-events: auto !important;
}
.site_header .sc_layouts_row,
.sc_layouts_row_type_normal,
.elementor-location-header .elementor-section,
.elementor-location-header .elementor-inner-section {
  background: transparent !important;
}

/* ── Layout / Padding ─────────────────────────────────── */
.page_wrap, #page, .site_content {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
.page_wrap,
.content_wrap,
main, #main,
.site-content,
.elementor-section-wrap,
[data-elementor-type="wp-page"],
.elementor-background-overlay {
  background: transparent !important;
}
.elementor-background-overlay { opacity: 0 !important; }
.elementor-page .site-main,
.page-content,
.entry-content {
  padding: 0 !important;
  margin: 0 !important;
}

/* ── Image fixe ───────────────────────────────────────── */
.image-fixe {
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  min-height: 100vh;
}

/* ── Nav ──────────────────────────────────────────────── */
.elementor-location-header a,
.sc_layouts_menu_nav > li > a,
.elementor-nav-menu a,
.elementor-nav-menu .elementor-item {
  color: #344C28 !important;
}

/* ── Nav blanc sur home uniquement ───────────────────── */
.home .elementor-location-header a,
.home .sc_layouts_menu_nav > li > a,
.home .elementor-nav-menu a,
.home .elementor-nav-menu .elementor-item {
  color: #ffffff !important;
}
img.logo_image {
  border-radius: 50%;
}

/* ── Titre élément 2341c184 ───────────────────────────── */
html body div.elementor-element-2341c184 h4.sc_item_title {
  font-size: clamp(26px, 7vw, 120px) !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
}

/* ── Z-index / Pointer events ─────────────────────────── */
.wpforms-container,
.elementor-element-d8f3569 {
  position: relative !important;
  z-index: 9999 !important;
}
.wpforms-field input,
.wpforms-field textarea,
.wpforms-field select {
  position: relative !important;
  z-index: 9999 !important;
  pointer-events: auto !important;
}
.menu_mobile_overlay,
.menu_mobile,
.menu_mobile_fullscreen {
  pointer-events: none !important;
}
.menu_mobile.opened,
.menu_mobile.opened *,
.menu_mobile_overlay.opened,
.menu_mobile_fullscreen.opened,
.menu_mobile_fullscreen.opened * {
  pointer-events: auto !important;
}

/* ── Menu mobile ──────────────────────────────────────── */
.menu_mobile_widgets_area { display: none !important; }
.menu_mobile_inner.with_widgets {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}
.menu_mobile_content_wrap {
  width: 100% !important;
  text-align: center !important;
  margin: 0 !important;
  padding: 0 !important;
}
.menu_mobile_nav_area { text-align: center !important; }
.menu_mobile_nav_area ul {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  padding: 0 !important;
}
.menu_mobile .sc_socials,
.menu_mobile [class*="socials"] {
  display: flex !important;
  justify-content: center !important;
  width: 100% !important;
}

/* ── Mobile ───────────────────────────────────────────── */
@media (max-width: 767px) {
  .horaires-jours,
  .horaires-heures {
    width: 50% !important;
    float: left !important;
  }
  body .elementor-element-2341c184 {
    width: 100% !important;
    max-width: 100% !important;
  }
  html body div.elementor-element-2341c184 h4.sc_item_title {
    font-size: 6vw !important;
  }
  html body div.elementor-element-2341c184 .sc_item_subtitle {
    font-size: 3.5vw !important;
  }
  html body div.elementor-element-2341c184 .sc_item_descr p {
    font-size: 4vw !important;
  }
}
.hero-fixed {
  background-attachment: fixed !important;
}
.elementor-nav-menu a:hover,
.elementor-nav-menu a:focus,
.elementor-nav-menu .elementor-item:hover,
.elementor-nav-menu .elementor-item-active,
.elementor-nav-menu .elementor-item.highlighted,
.sc_layouts_menu_nav > li > a:hover,
.sc_layouts_menu_nav > li.current-menu-item > a {
  color: #ffffff !important;
  border-color: #ffffff !important;
}
/* Page active + hover nav */
.sc_layouts_menu_nav .current-menu-item > a,
.sc_layouts_menu_nav .current-page-item > a,
.sc_layouts_menu_nav .current_page_item > a,
.sc_layouts_menu_nav > li > a:hover,
.sc_layouts_menu_nav > li > a:focus {
  color: #ffffff !important;
}

/* Barre de soulignement active */
.sc_layouts_menu_nav .current-menu-item > a::after,
.sc_layouts_menu_nav .current-page-item > a::after,
.sc_layouts_menu_nav > li > a:hover::after {
  background-color: #ffffff !important;
  border-color: #ffffff !important;
}
.sc_layouts_menu_nav > li.current-menu-item > a span,
.sc_layouts_menu_nav > li.current-page-item > a span,
.sc_layouts_menu_nav > li.current_page_item > a span {
  color: #ffffff !important;
}
/* ── Home : tout blanc, hover blanc ──────────────────── */
.home .sc_layouts_menu_nav > li > a,
.home .sc_layouts_menu_nav > li > a span,
.home .sc_layouts_menu_nav > li > a:hover,
.home .sc_layouts_menu_nav > li > a:hover span,
.home .sc_layouts_menu_nav > li.current-menu-item > a,
.home .sc_layouts_menu_nav > li.current-menu-item > a span,
.home .sc_layouts_menu_nav > li.current-page-item > a,
.home .sc_layouts_menu_nav > li.current-page-item > a span {
  color: #ffffff !important;
}

/* ── Autres pages : tout vert, hover vert ────────────── */
body:not(.home) .sc_layouts_menu_nav > li > a,
body:not(.home) .sc_layouts_menu_nav > li > a span,
body:not(.home) .sc_layouts_menu_nav > li > a:hover,
body:not(.home) .sc_layouts_menu_nav > li > a:hover span,
body:not(.home) .sc_layouts_menu_nav > li.current-menu-item > a,
body:not(.home) .sc_layouts_menu_nav > li.current-menu-item > a span,
body:not(.home) .sc_layouts_menu_nav > li.current-page-item > a,
body:not(.home) .sc_layouts_menu_nav > li.current-page-item > a span {
  color: #344C28 !important;
}

/* ── Barre soulignement home : blanche ───────────────── */
.home .sc_layouts_menu_nav > li > a::after,
.home .sc_layouts_menu_nav > li.current-menu-item > a::after {
  background-color: #ffffff !important;
}

/* ── Barre soulignement autres pages : verte ─────────── */
body:not(.home) .sc_layouts_menu_nav > li > a::after,
body:not(.home) .sc_layouts_menu_nav > li.current-menu-item > a::after {
  background-color: #344C28 !important;
}
.elementor-location-footer,
#colophon,
.site_footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
.site_footer_wrap,
.footer_wrap,
#footer_wrap,
.elementor-location-footer {
  border-top: none !important;
}
.elementor-element-133ee28e {
  display: none !important;
}
/* Fix parallax iOS mobile */
@media (max-width: 1024px) {
  .elementor-section {
    background-attachment: scroll !important;
  }
}

/* Fix texte coupé sur mobile */
@media (max-width: 768px) {
  .elementor-section .elementor-heading-title {
    font-size: clamp(1.5rem, 6vw, 2.5rem) !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
  }
}
#bz-menu-nav {
  position: sticky;
  top: 0;
  z-index: 999;
}
@media (max-width: 767px) {
  .footer-conformite-center,
  .footer-conformite-center * {
    text-align: center !important;
  }
}

/* ==== Footer : alignement colonnes Conformite & Contact ====
   Mobile = colonnes empilees pleine largeur -> centre
   Tablette + Ordinateur = colonnes cote a cote -> aligne a gauche comme les titres */

@media (max-width: 767px) {
  .footer-conformite-center .custom_links_list_item,
  .footer-contact-center .custom_links_list_item {
    justify-content: center !important;
    align-items: center !important;
    text-align: center !important;
    width: 100%;
  }
}

@media (min-width: 768px) {
  .footer-conformite-center .custom_links_list_item,
  .footer-contact-center .custom_links_list_item {
    justify-content: flex-start !important;
    align-items: flex-start !important;
    text-align: left !important;
    width: auto;
  }
}

/* Bouton retour en haut : meme couleur que le footer */
.trx_addons_scroll_to_top {
  background-color: #344C28 !important;
}


/* Fix chevauchement footer / bouton retour en haut sur mobile */
@media (max-width: 767px) {
  .elementor-element-2bc4ea9 {
    padding-bottom: 80px !important;
  }
}

/* Fix couleur du rebond (overscroll) mobile : beige creme au lieu du rose de test */
@media (max-width: 767px) {
  body {
    background-color: #F6E9DD !important;
  }
}

/* Fix hero home mobile : bloc vert plein cachait la pizza (mobile only, desktop inchange) */
@media (max-width: 767px) {
  .elementor-19015 .elementor-element.elementor-element-2341c184 > .elementor-widget-container {
    background-color: transparent !important;
  }
  .elementor-19015 .elementor-element.elementor-element-2341c184 .sc_item_title_text,
  .elementor-19015 .elementor-element.elementor-element-2341c184 h4.sc_item_title,
  .elementor-19015 .elementor-element.elementor-element-2341c184 .sc_item_subtitle,
  .elementor-19015 .elementor-element.elementor-element-2341c184 .sc_item_descr {
    text-shadow: 0 2px 10px rgba(0,0,0,0.65);
  }
}

/* Centrer le bloc texte hero sur mobile (il etait decale a gauche a cause de la marge droite heritee du desktop) */
@media (max-width: 767px) {
  .elementor-19015 .elementor-element.elementor-element-2341c184 > .elementor-widget-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* --- Fix footer columns wrap on tablet/mobile --- */
@media (max-width: 1024px) {
  #site-footer-columns h6.elementor-heading-title {
    font-size: 16px !important;
    line-height: 1.3 !important;
  }
}
@media (max-width: 767px) {
  #site-footer-columns h6.elementor-heading-title {
    font-size: 15px !important;
  }
}


/* --- Fix leaf/title overlap in 'Nos pizzas...' section on tablet/mobile --- */
@media (max-width: 1024px) {
  .elementor-element-4d19ecf5 {
    display: block !important;
    height: 40px !important;
  }
}
@media (max-width: 767px) {
  .elementor-element-4d19ecf5 {
    height: 24px !important;
  }
}

/* --- Fix hyphenation auto sur titres en mobile (casse les mots avec des tirets) --- */
@media (max-width: 479px) {
  h1, h2, h3, h4, h5, h6 {
    -webkit-hyphens: manual !important;
    hyphens: manual !important;
  }
}

/* --- Fix zone beige visible entre header et nav sur la page Menu --- */
.elementor-element-8fbb858 {
  background-color: #C4826A !important;
}

/* --- Fix teinte terracotta différente du header sur la page Event --- */
.elementor-element-04e5332 {
  background-color: #C4826A !important;
}

/* --- Fix champs Prénom/Nom du formulaire de contact qui débordent en mobile --- */
@media (max-width: 600px) {
  .wpforms-container .wpforms-field-row-block,
  .wpforms-container .wpforms-one-half,
  .wpforms-container .wpforms-one-third,
  .wpforms-container .wpforms-two-thirds {
    width: 100% !important;
    float: none !important;
    margin-left: 0 !important;
  }
}

/* ==================================================== */
/* Corrections MOBILE uniquement (max-width: 767px)      */
/* Demande utilisateur du 15/07/2026 - ne touche pas au   */
/* rendu desktop.                                          */
/* ==================================================== */
@media (max-width: 767px) {
  /* Reduire l'espace beige entre "Nos horaires" et "Nos pizzas..." (Accueil) */
  .elementor-element-bdefeb6,
  .elementor-element-bdefeb6 .elementor-spacer-inner {
    height: 20px !important;
  }

  /* Couleur du texte sous le H1 "Belli'zza EVENT" alignee sur le titre */
  .hero-desc {
    color: #2B3B1E !important;
  }

  /* Reduire le grand espace blanc entre header et contenu (pages a fond personnalise) */
  .custom-background .content_wrap > .content {
    padding-top: 20px !important;
  }

  /* Reduire le leger espace entre header et barre de navigation (page Menu) */
  .elementor-element-4013507 {
    margin-top: 0 !important;
  }

  /* Centrer les textes de la section Composez votre experience ideale */
  .formule-card h3,
  .formule-card .formule-body {
    text-align: center !important;
  }

  /* Afficher le prix des options sur une seule ligne */
  .tarif-option-price {
    font-size: 16px !important;
    white-space: nowrap !important;
    text-align: center !important;
  }

  /* Formulaire de contact : padding lateral + bouton centre */
  #wpforms-form-35482 {
    padding-left: 16px !important;
    padding-right: 16px !important;
    box-sizing: border-box !important;
  }
  .wpforms-submit-container {
    text-align: center !important;
  }

  /* Centrer verticalement le contenu du menu hamburger */
  .menu_mobile_inner {
    justify-content: center !important;
  }

  /* Reduire l'espace beige entre la derniere photo et le footer */
  .page_content_wrap {
    padding-bottom: 20px !important;
  }

  /* Neutraliser un flash de couleur rose lors du rebond de scroll (haut/bas de page) */
  html {
    background-color: #F6E9DD !important;
  }
}

@media (max-width: 767px) {
  /* Complement: le vrai gros espace vient du padding-top de .page_content_wrap */
  .page_content_wrap {
    padding-top: 20px !important;
  }
}
