/*
Theme Name: Hello Elementor Child
Template: hello-elementor
Description: Thème enfant de Hello Elementor pour solidom
Author: Lk-interactive
Version: 1.0
*/
/************************************* GENERAL ************************************/

/* couleurs titre */

.titre_jaune span {
  color: #efb916;
  position: relative;
  display: inline-block;
}

@media screen and (min-width: 500px) {
  .titre_jaune span::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -3px;
    transform: translateX(-50%);
    width: 90%;
    height: 3px;
    background-color: #efb916;
  }
}

.titre_blanc span {
  position: relative;
  display: inline-block;
}

@media screen and (min-width: 500px) {
  .titre_blanc span::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -3px;
    transform: translateX(-50%);
    width: 90%;
    height: 2px;
    background-color: #fff;
  }
}

.titre_bordeau span {
  color: #800080;
}

/* Icone cta */

.cta_lk .elementor-button-icon svg {
  width: 12px;
  height: 12px;
}
/* Animation flèche cta */
.anim_cta_lk svg {
  transition: transform 0.3s ease;
}

.anim_cta_lk:hover svg {
  transform: rotate(45deg);
}

.bloc_carte_lk {
  transition:
    transform 0.2s ease-in,
    box-shadow 0.2s ease;
}

.bloc_carte_lk:hover .anim_cta_lk svg {
  transform: rotate(45deg);
}

.bloc_carte_lk:hover {
  transform: translateY(-3px);
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.08);
}

/************************************* HEADER ************************************/

/* MENU DESKTOP */
#menu_principal_lk nav ul.elementor-nav-menu {
  padding-top: 10px;
  padding-bottom: 10px;
}

#menu_principal_lk nav a.elementor-item-active {
  font-weight: 700 !important;
}

/* MENU MOBILE */

#menu_principal_mobile_lk .elementor-nav-menu a {
  justify-content: space-between;
}
#menu_principal_mobile_lk nav ul.elementor-nav-menu {
  padding-top: 10px;
  padding-bottom: 10px;
}
#menu_principal_mobile_lk nav a.elementor-item-active {
  font-weight: 700 !important;
}
#menu_principal_mobile_lk ul.elementor-nav-menu--dropdown li {
  border: none;
}
#menu_principal_mobile_lk ul.elementor-nav-menu--dropdown a {
  border-inline-start: 20px solid transparent;
}

/* CTA DEVIS et EMPLOI mobile */

#menu_principal_mobile_lk .cta_menu_mobile_lk {
  display: inline-block;
  margin-top: 15px;
  margin-bottom: 25px;
  border: none;
}
#menu_principal_mobile_lk .cta_menu_mobile_lk a {
  color: white;
  border-radius: 23px;
}
#menu_principal_mobile_lk .cta_asso_lk {
  border: none;
}
#menu_principal_mobile_lk .cta_devis_lk {
  margin-left: 30px;
  margin-right: 15px;
}
#menu_principal_mobile_lk .cta_devis_lk a {
  background-color: #5f44cd;
  border: 1px solid #5f44cd;
}

#menu_principal_mobile_lk .cta_emploi_lk a {
  background-color: #efb916;
  border: 1px solid #efb916;
}

/* BANDEAU BAS */

#menu_principal_mobile_lk .cta_bandeau_mobile_menu_lk {
  background-color: #201354;
  border: none;
}
#menu_principal_mobile_lk .cta_financement_mobile_menu_lk {
  padding-top: 15px;
}
#menu_principal_mobile_lk .cta_bandeau_mobile_menu_lk a {
  color: white;
}
#menu_principal_mobile_lk .cta_bandeau_mobile_menu_lk a:hover {
  color: #201354;
}
#menu_principal_mobile_lk .cta_contact_mobile_menu_lk {
  border-radius: 0px 0px 12px 12px;
  padding-bottom: 15px;
}

/* FIN MENU MOBILE */

/************************************* FOOTER ************************************/

#footer_lk .menu_footer_lk a:hover {
  text-decoration: underline;
}
#footer_lk .menu_list_footer_lk a span:hover {
  text-decoration: underline;
}

/************************************ PAGE ACCUEIL ********************************/

/* SECTION SLIDER H1 */

#titre_repas,
#titre_h1 {
  opacity: 0;
  transition: opacity 0.3s ease;
}

#titre_repas.active_title,
#titre_h1.active_title {
  opacity: 1;
}

/* SECTION SERVICES + FAQ */

#bloc_services_lk .titre_services_lk h2,
#bloc_faq_lk .titre_faq_lk h2 {
  position: relative;
  display: inline-block;
}

#bloc_services_lk .titre_services_lk h2::after,
#bloc_faq_lk .titre_faq_lk h2::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -5px; /* espace sous le texte */
  transform: translateX(-50%);
  width: 90%;
  height: 2px;
  background-color: #f5d26a;
}

#bloc_faq_lk .faq_lk details {
  border: 1px solid #d1ccf3;
  border-radius: 12px;
}
@media screen and (min-width: 500px) {
  #bloc_faq_lk .faq_lk details {
    border-radius: 20px;
  }
}

/* SECTION HOTSPOT (POINTS CHAUDS) */

/* Style hotspots */
.hotspot_map_lk .e-hotspot .e-hotspot__outer-circle {
  width: 15px;
  height: 15px;
  transition: all 0.3s ease;
}
.hotspot_map_lk .e-hotspot:hover .e-hotspot__outer-circle {
  box-shadow: 0 0 0 2px #5f44cd;
}
.hotspot_map_lk .e-hotspot--active .e-hotspot__outer-circle {
  box-shadow: 0 0 0 2px #201354;
  width: 18px;
  height: 18px;
}

/* Etat des textes des villes sur mobile caché / visible */
.txt_ville_carte_lk {
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.35s ease,
    transform 0.35s ease;
  pointer-events: none;
}

.txt_ville_carte_lk.active_txt_carte_lk {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

/* Mobile pour widget hotspots */
@media screen and (min-width: 767px) {
  .hotspot_map_lk .e-hotspot .e-hotspot__tooltip {
    display: none !important;
  }
}

@media screen and (max-width: 500px) {
  .hotspot_map_lk {
    height: 350px;
  }
  .hotspot_map_lk .elementor-widget-container::before {
    content: "";
    background-image: url("/wp-content/uploads/2026/03/carte_var_mobile.png");
    width: 100%;
    background-size: 100%;
    position: absolute;
    height: 400px;
    background-position: bottom center;
    background-repeat: no-repeat;
    object-fit: contain;
  }
  .hotspot_map_lk .elementor-widget-container img {
    display: none;
  }
}

/* Style onglets -- Section map et service à domicile */
.onglets_map_lk.elementor-widget-n-tabs .e-n-tabs-heading {
  align-items: flex-end;
  transition: padding 0.2s ease;
}
.onglets_map_lk.padding_map_lk
  .e-n-tabs-heading
  .e-n-tab-title[aria-selected="true"] {
  padding-top: 10px;
  padding-bottom: 10px;
}
.onglets_map_lk.padding_services_lk
  .e-n-tabs-heading
  .e-n-tab-title[aria-selected="true"] {
  padding-top: 16px;
  padding-bottom: 18px;
}

@media screen and (min-width: 500px) {
  .onglets_map_lk .e-n-tabs-heading .e-n-tab-title[aria-selected="true"] span {
    position: relative;
  }
  .onglets_map_lk
    .e-n-tabs-heading
    .e-n-tab-title[aria-selected="true"]
    span::after {
    content: "";
    position: absolute;
    left: 50%;
    bottom: -3px;
    transform: translateX(-50%);
    width: 90%;
    height: 1px;
    background-color: #f5d26a;
  }
}
