/* 
Theme Name: Matequip
Theme URI: https://www.matequip.fr/
Description: Thème Matequip pour Wordpress / Elementor Pro
Author: eteam
Author URI: https://eteam.fr/
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
*/

/* ============================================
   GLOBAL / RESET
   ============================================ */

body, html{
    overflow-x:hidden;
    margin: 0;
    /*overscroll-behavior-y: none;*/
}

button:focus,button:focus-visible{outline: 0!important;}
button{cursor:pointer}

.elementor-button-content-wrapper{align-items:center;}
.elementor-button-icon{font-size:1.5em}

.elementor-icon{vertical-align:bottom!important;}

a, a:hover{color:inherit;}
b, strong{font-weight:bold;}

ul li{
    margin-bottom: 1em;
}

/*animation des éléments*/
a, a:hover, button, button:hover, a::after, input, input:hover, header svg, header span.elementor-heading-title, header .elementor-sticky--active, .scalehover, .scalehover:hover, .elementor-button svg{
    -webkit-transition-property: all !important;
    -o-transition-property: all !important;
    transition-property: all !important;
    -webkit-transition-duration: 0.2s!important;
    -o-transition-duration: 0.2s!important;
    transition-duration: 0.2s!important;
    -webkit-transition-timing-function: ease-in-out !important;
    -o-transition-timing-function: ease-in-out !important;
    transition-timing-function: ease-in-out !important;
}

/*.reveal-blur*/
body.reveal-active .reveal-blur {
  filter: blur(5px);
  opacity: 0;
  transform: scale(0.96);
  transition: filter 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            opacity 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94),
            background-color 0.3s;
}

body.reveal-active .reveal-blur.is-visible {
  filter: blur(0px);
  opacity: 1;
  transform: scale(1);
}

.elementor-slideshow__footer{
	display:none;
}

/* ============================================
   VARIABLES & COULEURS
   ============================================ */
.svgwhite svg *{
    fill:white
}

.txtnoir{color: var(--noir)!important;}
.bgnoir{background-color: var(--noir)!important;}

.txtgris{color: var(--gris)!important;}
.bggris{background-color: var(--gris)!important;}

.txtblanc{color: var(--blanc)!important;}
.bgblanc{background-color: var(--blanc)!important;}

.txtviolet{color: var(--violet)!important;}
.bgviolet{background-color: var(--violet)!important;}

.txtlila{color: var(--lila)!important;}
.bglila{background-color: var(--lila)!important;}

.txtlilight{color: var(--lilight)!important;}
.bglilight{background-color: var(--lilight)!important;}

/* ============================================
   CLASSES & ELEMENTS RÉUTILISABLES
   ============================================ */

.nocursor {pointer-events: none;}
.hidden{display:none!important}
.pnomargin p{margin:0;}
.pnotopmargin p{margin-top:0;}

.nostylelist ul {
    list-style: none;
    padding: 0;
    margin:0;
}

.arrowlist ul {
  list-style: none;
  padding-left: 0;
}

.arrowlist ul li {
  padding-left: 1.5em;
  position: relative;
}

.arrowlist ul li::before {
  content: "→";
  position: absolute;
  left: 0;
}

.bulletlist_tag_white ul,
.bulletlist_tag_lilight ul,
.bulletlist_tag_lila ul,
.bulletlist_tag_strokelila ul{
	list-style: none;
	padding-left: 0;
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

.bulletlist_tag_white ul li,
.bulletlist_tag_lilight ul li,
.bulletlist_tag_lila ul li,
.bulletlist_tag_strokelila ul li{
	margin:0;
	padding:10px 16px;
	border-radius:999px;
}

.bulletlist_tag_white ul li{background-color:var(--blanc);}
.bulletlist_tag_lilight ul li{background-color:var(--lilight);}
.bulletlist_tag_lila ul li{background-color:var(--lila);}
.bulletlist_tag_strokelila ul li{border: 1px solid var(--lila);}

.txtbalanced {
  text-wrap: balance;
}

.swiper-overflow-visible .swiper{
    overflow: visible;
}

.arrowlist a,
.articlecontent a{
    color: var(--violet);
    text-decoration: underline !important;
}

.arrowlist a:hover,
.articlecontent a:hover{
    background-color: var(--lila);
}

/*responsive rules*/
@media screen and (max-width:767px){.nomobile{display:none;}}
@media screen and (max-width:1023px){.notablet{display:none;}}
@media screen and (min-width:1024px){.nodesktop{display:none;}}

.scalehover:hover{
    -webkit-transform: scale(1.05);
        -ms-transform: scale(1.05);
            transform: scale(1.05);
}

/* Effet survol description boucle blog exergue */
.hover-reveal-desc .elementor-icon-box-description {
  max-height: 0;
  opacity: 0;
  overflow: hidden;
  transition: max-height 0.35s ease, opacity 0.3s ease;
}

.hover-reveal-desc:hover .elementor-icon-box-description {
  max-height: 150px; /* large marge au-dessus de la hauteur réelle du texte */
  opacity: 1;
  transition: max-height 0.35s ease, opacity 0.4s ease 0.05s;
}

.content_bloc .elementor-icon-box-wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between; /* ou "center" selon l'effet voulu */
}


/* hovercard */
@media screen and (min-width:1025px){
	.hovercard .hovercard_description {
		max-height: 0;
		opacity: 0;
		overflow: hidden;
		transition: max-height 0.35s ease, opacity 0.3s ease;
	}

	.hovercard:hover .hovercard_description {
	  max-height: 200px; /* large marge au-dessus de la hauteur réelle du texte */
	  opacity: 1;
	  transition: max-height 0.35s ease, opacity 0.4s ease 0.05s;
	}
}


/*Accordéons*/

.accordeon-style1 .e-n-accordion-item .accordeon-number{
	color:var(--lila)!important;
	font-size: 3rem;
	line-height: 1;
}

@media screen and (max-width:767px){
	.accordeon-style1 .e-n-accordion-item .accordeon-number{
	font-size: 1.5rem;
	}

}

.accordeon-style1 .e-n-accordion-item[open] .accordeon-number{
	color:var(--violet)!important;
}

.accordeon-style1 .e-n-accordion-item-title-text{
	display: flex;
    gap: 1em;
}

.accordeon-style1 .e-n-accordion-item{
	padding:20px 24px;
	border:1px solid var(--blanc);
	border-radius:32px;
	box-shadow: 0 10px 40px 0 #F1EDFA;
}

.accordeon-style1 .e-n-accordion-item[open]{
	border:1px solid var(--violet);
	background:var(--lilight);
}

.accordeon-style1 .e-closed svg{transform: rotate(90deg);}
.accordeon-style1 .e-opened svg{transform: rotate(-90deg);}

/*Formulaires*/
.form_style1 textarea{
	padding-top:1em!important
}

.form_style1 input, .form_style1 select, .form_style1 textarea{
	box-shadow:0 10px 40px 0 var(--lilight);
}


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

/*Menu*/
.e-off-canvas .e-n-menu-heading {
  flex-direction: column !important;
  position: relative !important;
  width: 380px !important;
  flex-shrink: 0 !important;
}

.e-off-canvas .e-n-menu-item {
  position: static !important;
  width: 100% !important;
}

.e-off-canvas .e-n-menu-content {
  position: absolute !important;
  top: 0 !important;
  left: 100% !important;
  width: calc(100vw - 380px - 60px) !important;
}

/* Mobile + tablette : le contenu du mega-menu s'ouvre sous l'item (accordéon)
   au lieu du panneau latéral droit, qui sortait de l'écran */
@media screen and (max-width:1024px){
  .e-off-canvas .e-n-menu-heading {
    width: 100% !important;
  }

  .e-off-canvas .e-n-menu-item {
    flex-wrap: wrap !important;
  }

  .e-off-canvas .e-n-menu-title {
    width: max-content;
  }

  .e-off-canvas .e-n-menu-content {
    position: static !important;
    left: auto !important;
    width: calc(100% - 10px) !important;
  }
}

/* Mobile : cartes du mega-menu réduites à leur titre (sans description,
   sans filet, padding et espacement resserrés) */
@media screen and (max-width:767px){
  .e-off-canvas .e-n-menu-content .elementor-widget-text-editor {
    display: none !important;
  }

  .e-off-canvas .e-n-menu-content .elementor-loop-container {
    gap: 0 !important;
  }

  .e-off-canvas .e-n-menu-content .e-loop-item > .e-atomic-element {
    padding: 8px 16px !important;
    border: none !important;
  }
}

.e-n-menu-title-container *{cursor:pointer!important}


/*Recherche*/

.mateq-search-submit svg {
	width: 18px;   /* ou la taille que tu veux */
	height: 18px;
	stroke: currentColor;
	fill: none;
}

.mateq-search-form {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 0.625rem;
	width: 22.375rem;
	max-width: 100%;
	padding: 1rem 1.875rem;
	border-radius: 62.4375rem;
	border: 1px solid var(--violet);
	background: var(--lila);
	box-shadow: 0 10px 40px 0 var(--lilight);
}

@media screen and (max-width:767px){
	.mateq-search-form{
		padding: 0.6rem 1rem;
	}
	
	.mateq-search-form .mateq-search-input{
		padding: 8px 0px;
		font-size:0.9rem;
	}
}

/* Icône avant le texte (l'ordre dans le HTML reste input puis bouton,
   on inverse juste visuellement) */
.mateq-search-submit {
	order: -1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	color: var(--noir);
}

.mateq-search-submit svg {
	width: 1.25rem;
	height: 1.25rem;
	stroke: currentColor;
}

.mateq-search-input {
	flex: 1 1 auto;
	border: none;
	background: transparent;
	font-weight: 700;
	font-size: 1rem;
	color: var(--noir);
	outline: none;
}

.mateq-search-input::placeholder {
	color: var(--noir);
	opacity: 1;
	font-weight: 700;
}

/* Le panneau de résultats doit démarrer sous la barre, pas collé dedans.
   Test : bordure retirée (border-color remplacé par border: none). */
.mateq-search-form .mateq-panel {
	top: calc(100% + 8px);
	border-radius: 1.25rem;
	border: none;
	box-shadow:0 20px 40px 0 rgba(0,0,0,.2)!important;
}

.mateq-suggestion-item:hover, .mateq-suggestion-item.is-active {
    background: var(--lilight);
}

.mateq-panel-products{
	background-color:var(--lila);
	padding:0;
}

.mateq-panel-product{
	display:flex;
	align-items:center;
	background-color:var(--blanc);
	border: none;
	box-shadow:0 5px 20px 0 rgba(0,0,0,.1)!important;
	border-radius:999px;
}

.mateq-panel-product:hover{
	background-color:var(--violet);
	color:var(--blanc);
}

.mateq-panel-product img {
    width: 40px;
}

.mateq-panel-matches{
	padding:0;
}

.mateq-contact-fallback {
    border-radius:10px;
    background: var(--lilight);
    border-left: 3px solid var(--violet);
}

.mateq-contact-fallback a {
    text-decoration:underline;
	font-weight:bold;
}

.mateq-contact-fallback a:hover {
    background-color:var(--violet);
	color:var(--blanc);
}


/* ============================================
   PAGE AGENCES
   ============================================ */

/*Map*/

.bloc_map_agences .wpgb-map-facet {
    height: 100dvh;
	border-radius:32px;
}


.bloc_map_agences .wpgb-map-facet * {
	border-radius:0!important
}

.bloc_map_agences .leaflet-tile-pane {
    filter: grayscale(90%) brightness(1.05) contrast(1.1);
}

/* Halo en onde infinie au survol de la card dans la grille */
@keyframes wpgb-halo {
  0%   { transform: translate(-50%, -50%) scale(0.4); opacity: 0.6; }
  100% { transform: translate(-50%, -50%) scale(6); opacity: 0; }
}

.wpgb-marker-highlighted::before,
.wpgb-marker-highlighted::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: var(--violet);
  transform: translate(-50%, -50%) scale(0.4);
  pointer-events: none;
  z-index: -1;
  animation: wpgb-halo 1.2s ease-out infinite;
}

/* Le second cercle, décalé dans le temps, crée l'effet d'ondes successives */
.wpgb-marker-highlighted::after {
  animation-delay: 0.6s;
}


/* ============================================
   TEMLPLATE PRODUIT
   ============================================ */

/*Documenation*/

.grille_documents_produits .elementor-grid[role="list"]{
	display:flex;
	flex-wrap:wrap;
}

@media screen and (max-width:767px){
	.grille_documents_produits .elementor-grid[role="list"]{
		display:flex;
		flex-wrap:nowrap;
		flex-direction:column;
	}
}

/*FAQ*/

.faq_produit .faq_produit_reponse {
    display: none;
}

.faq_produit.is-open .faq_produit_reponse {
    display: block;
}

.faq_produit {
    cursor: pointer;
}
.faq_produit.is-open {
    background-color: var(--lila);
	border-color:var(--violet);
}

.faq_produit.is-open .faq_produit_number span {
    color: var(--violet)!important;
}

.faq_produit.is-open .faq_produit_arrow svg {
    transform: rotate(-90deg)!important;
}

/* ============================================
   FOOTER
   ============================================ */

.linklist_tag_strokelila ul{
	list-style: none;
	padding-left: 0;
	display:flex;
	flex-wrap:wrap;
	gap:6px;
}

.linklist_tag_strokelila ul li{margin:0;}

.linklist_tag_strokelila ul li a{
	border: 1px solid var(--lila);
	padding:10px 16px;
	border-radius:999px;
	display:block;
}

.linklist_tag_strokelila ul li a:hover{background-color:var(--lila);color:var(--noir)}

.linklist_footer ul{list-style: none;padding-left: 0;}
.linklist_footer ul li{margin:0;padding;0;}
.linklist_footer a{color:var(--lila);margin:20px 0;display:block}
.linklist_footer a:hover{text-decoration:underline;}