/*//////////////////////////////////////////////////////////////////////////////////////////////////
//  00 - NAV MENU DROPDOWN FIX
//////////////////////////////////////////////////////////////////////////////////////////////////*/

li.has-children * {
  z-index: 9999 !important;
}

/*///// PP MENU MOBILE 100% WIDTH ////*/

body:not(.pp-visualbuilder) .pp-slideover > .pp-block {
  width: 100vw !important;
}

/*///// PP MENU MOBILE ESPACE AU DESSUS DES TITRES ////*/

.pp-menu-item.has-children {
  padding-top: 13px;
}

.pp-menu-item--depth1.pp-menu-item {
  padding-top: 14px;
}

/*//////////////////////////////////////////////////////////////////////////////////////////////////
//  01 - MY STICKY BAR plugin
//////////////////////////////////////////////////////////////////////////////////////////////////*/

.mysticky-welcomebar-static_text {
  color: #fff;
}

.mysticky-welcomebar-fixed-wrap {
  background-color: #2F2F2F;
}

.mysticky-welcomebar-fixed {
  height: 30px !important;
  line-height: 30px;
}

.mysticky-welcomebar-fixed .mysticky-welcomebar-content p {
  line-height: normal;
}

/*//////////////////////////////////////////////////////////////////////////////////////////////////
//  04 - CONTACT FORM 7
//////////////////////////////////////////////////////////////////////////////////////////////////*/

#formulaire-responsive {
  margin: 0 auto;
  width: 100%;
}

#formulaire-responsive h2 {
  padding: 15px 0px 10px 0;
  position: relative;
}

input:focus,
textarea:focus {
  outline: 1px solid #9d9d9d;
}

.wpcf7-list-item-label {
  font-size: 14px !important;
}

/*CF7 ACCEPTANCE*/

.wpcf7-form-control-wrap.acceptance-666,
.wpcf7-form-control.wpcf7-radio {
  margin: 0 0 0 -14px;
}

/*CF7 COMMON*/

.left-third-contact,
.middle-third-contact,
.right-third-contact,
.full-width-contact,
.left-half-contact,
.right-half-contact,
.message-contact {
  background-color: #f4f4f4;
  border: 0px;
  color: #111111;
  font-size: 15px;
  padding: 10px;
  outline: none;
  margin: 0 0 10px 0;
  font-display: swap;
}

.wpcf7-form-control.wpcf7-select.full-width-contact {
  width: 100% !important;
  margin: 0 0 10px 0;
  background-color: #f4f4f4;
  border: 0px;
  color: #111111;
  font-size: 15px;
  padding: 10px;
  outline: none;
  font-display: swap;
}

/*CF7 DETAILED*/

.contact-form-spacer {
  height: 20px;
}

.wpcf7-form-control.wpcf7-select {
  -webkit-appearance: none;
}

.full-width-contact {
  width: 100% !important;
  margin: 0 0 10px 0;
}

.left-half-contact {
  width: calc(50% - 4px);
  margin: 0 4px 10px 0;
}

.right-half-contact {
  width: calc(50% - 4px);
  margin: 0 0 10px 4px;
}

.left-third-contact {
  width: calc(33.33% - 5px);
  margin: 0 7px 10px 0;
}

.middle-third-contact {
  width: calc(33.33% - 5px);
  margin: 0 7px 10px 0;
}

.right-third-contact {
  width: calc(33.33% - 5px);
  margin: 0 0 10px 0;
}

.message-contact {
  width: 100% !important;
  max-width: 100%;
  height: 140px;
  min-height: 130px;
  max-height: 240px;
}

/*CF7 BUTTONS*/

.button,
#searchsubmit,
input[type="submit"] {
  background: #555;
  width: 240px;
  height: 37px;
  color: #fff;
  font-variant: all-petite-caps;
  font-size: 15px;
  border: solid 0px #555;
  margin: 0 0 0 0;
  border-radius: 0px;
  padding: 0 0 3px 0;
  font-display: swap;
}

/*CF7 POSITION & RESPONSIVE*/

#formulaire-responsive b,
#formulaire-responsive a {
  font-size: 14px;
}

.form-pos-center {
  margin: 40px auto 0 auto;
  text-align: center;
  margin-left: auto;
  margin-right: auto;
  width: 240px;
}

/*CF7 ERRORS*/

span.wpcf7-not-valid-tip {
  color: #f00;
  display: none;
  font-size: 1em;
}

div.wpcf7-validation-errors {
  border: 2px solid #f00;
}

.wpcf7-form-control.wpcf7-submit-paypal {
  background: #0070BA;
}

.wpcf7-form-control.wpcf7-text.wpcf7-validates-as-required.wpcf7-not-valid,
.wpcf7-form-control.wpcf7-textarea.wpcf7-validates-as-required.wpcf7-not-valid,
.wpcf7-form-control.wpcf7-select.wpcf7-validates-as-required.wpcf7-not-valid {
  background-color: rgba(255, 0, 0, 0.02);
  border: 1px solid #f00;
}

div.wpcf7-mail-sent-ok {
  background-color: #e5f2e0;
  border: 1px solid #398f14;
  margin-top: 30px;
  padding: 8px;
  text-align: center;
}

/*//////////////////////////////////////////////////////////////////////////////////////////////////
//  ACCORDION PLUGIN
//////////////////////////////////////////////////////////////////////////////////////////////////*/

/* -----------------------------
   ÉTAT FERMÉ
----------------------------- */

/* Fond gris clair + pas de gras sur les items fermés */

.collapsed {
  background-color: #eee;
  font-weight: normal !important;
}

/* Mini-ombre sous chaque item */

.sp-easy-accordion .sp-ea-single {
  box-shadow: 0px 1px 4px rgba(123, 123, 123, 0.35);
}

/* -----------------------------
   HEADER (question)
----------------------------- */

/* Style général du lien de question + taille, casse et décoration du texte */

@media (max-width: 768px) {
  .sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a {
    font-size: 13px !important;
    line-height: 1.35;
  }
}

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a {
  padding: 12px 5px 10px 16px;
  color: #444;
  background-color: #F2EFEB;
  font-size: 16px !important;
  text-transform: none !important;
  text-decoration: none;
}

/* Supprimer la bordure des items de l’accordéon */

.sp-easy-accordion .sp-ea-single {
  border: none !important;
}

/* Ajustement visuel au survol (sans changer la couleur ici) */

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a:hover {
  line-height: 1.35 !important;
}

/* -----------------------------
   ICÔNE + / -
----------------------------- */

/* Neutraliser l’icône du plugin */

.sp-easy-accordion .ea-expand-icon::before {
  content: "" !important;
}

.sp-easy-accordion .ea-expand-icon {
  display: inline-block;
  width: 22px;
  height: 22px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
}

/* fermé = + */

.sp-easy-accordion .eap-icon-ea-expand-plus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 6l6 6-6 6' fill='none' stroke='%23686865' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* ouvert = - */

.sp-easy-accordion .eap-icon-ea-expand-minus {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6 9l6 6 6-6' fill='none' stroke='%23686865' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

/* Le lien devient le conteneur de référence */

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a {
  position: relative !important;
  padding-right: 40px !important;
}

/* L’icône est collée à droite, centrée verticalement */

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a .ea-expand-icon {
  position: absolute !important;
  right: 12px !important;
  left: auto !important;
  top: 50% !important;
  transform: translateY(-50%) !important;

  margin: 0 !important;
  float: none !important;
}

/* -----------------------------
   ÉTAT OUVERT
----------------------------- */

/* Fond beige quand l’item est ouvert */

.sp-ea-one .ea-card.ea-expand .ea-header a {
  background-color: #ece6dd;
}

/* Ombre + radius quand ouvert (effet carte premium) */

.sp-ea-one .ea-card.ea-expand {
  box-shadow: 0 3px 8px rgba(0, 0, 0, .1);
  border-radius: 10px;
}

/* Rétablir l’espace entre les paragraphes dans la réponse */

.sp-easy-accordion .ea-body p {
  margin: 0 0 1em 0 !important;
  line-height: 1.6;
}

/* Pas d’espace inutile après le dernier paragraphe */

.sp-easy-accordion .ea-body p:last-child {
  margin-bottom: 0 !important;
}

/* Réduire légèrement la typo du contenu */

.sp-easy-accordion .ea-body {
  font-size: calc(100% - 1px);
}

/* -----------------------------
   CARTES (OUVERTES + FERMÉES)
----------------------------- */

/* Border-radius commun à tous les items */

.sp-easy-accordion .sp-ea-single {
  border-radius: 10px;
  overflow: hidden;
}

/* -----------------------------
   TYPOGRAPHIE (ANTI-GRAS)
----------------------------- */

/* Forcer le texte non gras sur le h3 ET le lien */

.sp-easy-accordion .ea-header,
.sp-easy-accordion .ea-header a {
  font-weight: 400 !important;
}

/* -----------------------------
   HOVER = MÊME COULEUR QUE OUVERT
----------------------------- */

/* Transition douce pour éviter l’effet “claque” */

.sp-easy-accordion .ea-header a {
  transition: background-color 0.2s ease;
}

/* Même fond en hover qu’en état ouvert */

.sp-ea-one.sp-easy-accordion
.sp-ea-single
.ea-header a:hover {
  background-color: #EFEBE6;
}

/* -----------------------------
   ANTI-DÉCALLAGE ACCORDEON
----------------------------- */

.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a,
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a:hover,
.sp-ea-one.sp-easy-accordion .sp-ea-single .ea-header a:focus,
.sp-ea-one.sp-easy-accordion .ea-card.ea-expand .ea-header a {
  box-sizing: border-box !important;
  border: 0 !important;
  outline: 0 !important;

  padding: 12px 40px 10px 16px !important;
  line-height: 1.35 !important;
  display: block !important;
}

/* -----------------------------
   RESET LISTES ACCORDÉON
----------------------------- */

.sp-easy-accordion .ea-body ul,
.sp-easy-accordion .ea-body li {
  margin: 0 !important;
  padding: 0 !important;
}

/* -----------------------------
   CONTENU TEXTE SIMPLE
----------------------------- */

.sp-easy-accordion .ea-body p {
  margin: 0;
  line-height: 1.7;
}

/* si accordéon avec texte */

.sp-easy-accordion .ea-body:not(:has(ul)) {
  padding: 24px 28px !important;
}

/* -----------------------------
   LISTES ACCORDÉON
----------------------------- */

.sp-easy-accordion .ea-body ul {
  padding-left: 0 !important;
}

.sp-easy-accordion .ea-body:has(ul) {
  padding: 20px 12px !important;
}

.sp-easy-accordion .ea-body li {
  list-style: none;
  position: relative;

  padding-left: 22px !important;
  margin-bottom: 14px !important;
}

.sp-easy-accordion .ea-body li:last-child {
  margin-bottom: 0 !important;
}

.sp-easy-accordion .ea-body li::before {
  content: "";

  position: absolute;
  left: 0;
  top: 7px;

  width: 16px;
  height: 16px;

  background-image: url("/wp-content/uploads/svg/arrow_right.svg");
  background-size: contain;
  background-repeat: no-repeat;
}