/* 
Theme Name: Child theme
Template: hello-elementor
*/

/**** Liens soulignés ****/
.liens-soulignes a {
   text-decoration: underline;
   text-decoration-color: var(--e-global-color-secondary);
}
/**** Menu ****/
#e-n-menu-title-1351,
.e-n-menu-item:has(.e-n-menu-content.e-active),
.e-n-menu-heading {
   overflow: visible;
}
.e-n-menu-item:has(.e-n-menu-content.e-active) > #e-n-menu-title-1351 {
   position: relative;
   z-index: 2147483621;
   background-color: var(--e-global-color-secondary);
}
.e-n-menu-item:has(.e-n-menu-content.e-active) > #e-n-menu-title-1351::after {
   content: "";
   position: absolute;
   top: 100%;
   left: 20%;
   transform: translateX(-50%);
   width: 31.38px;
   height: 15.52px;
   margin-top: -1px;
   background-color: var(--e-global-color-secondary);
   -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 0 15.52 15.52L31.38 0H0Z'/%3E%3C/svg%3E");
   mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 32 16' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m0 0 15.52 15.52L31.38 0H0Z'/%3E%3C/svg%3E");
   -webkit-mask-repeat: no-repeat;
   mask-repeat: no-repeat;
   -webkit-mask-size: contain;
   mask-size: contain;
}
/**** Accueil - Box fertilité (liens vers page) ****/
.box-fertilite:hover .icon-fertilite .elementor-icon svg {
   transform: scale(4) rotate(-45deg) translateX(-10px);
   transform-origin: center;
   opacity: 0.3;
}
.box-fertilite .icon-fertilite .elementor-icon svg {
   transition: 0.4s;
}
/**** Accueil - Box retours clients ****/
.bg-retours {
   position: relative;
}
.bg-retours::after {
   content: "";
   position: absolute;
   bottom: -53px;
   left: 0;
   width: 61px;
   height: 54px;
   background-color: var(--e-global-color-74a0a98);
   -webkit-mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 61 54' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60.714 0c-3.367.446-6.513 1.99-8.933 4.427C41.413 14.858 16.11 40.478 5.675 52.608 3.721 54.875 0 53.495 0 50.504V0h60.714Z'/%3E%3C/svg%3E");
   mask-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 61 54' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M60.714 0c-3.367.446-6.513 1.99-8.933 4.427C41.413 14.858 16.11 40.478 5.675 52.608 3.721 54.875 0 53.495 0 50.504V0h60.714Z'/%3E%3C/svg%3E");
   -webkit-mask-repeat: no-repeat;
   mask-repeat: no-repeat;
   -webkit-mask-size: contain;
   mask-size: contain;
}
.retours .swiper-slide:not(.swiper-slide-duplicate-active):not(.swiper-slide-active) {
   opacity: 0.4;
}
.retours .elementor-element.elementor-arrows-position-outside .swiper {
   width: 100% !important;
}
/**** Dividers footer ****/
.divider {
   overflow: hidden;
   position: relative;
}
.divider::after {
   content: "";
   position: absolute;
   bottom: -2px;
   left: -1px;
   right: -1px;
   top: 0px;
   z-index: 3;
   pointer-events: none;
   background-repeat: no-repeat;
   background-size: 194% 60px;
   background-position: 60% 100%;
   background-image: url('data:image/svg+xml;charset=utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 35.28 2.17" preserveAspectRatio="none"><path d="M35.28 1.16c-3.17-.8-7.3.4-10.04.56-2.76.17-9.25-1.47-12.68-1.3-3.42.16-4.64.84-7.04.86C3.12 1.31 0 .4 0 .4v1.77h35.28z" fill="%236E8494"/></svg>');
}

@media (min-width: 768px) {
   .divider::after {
      background-size: 194% 80px;
      background-position: 60% 100%;
   }
}
@media (min-width: 1025px) {
   .divider::after {
      background-size: 194% 110px;
      background-position: 60% 100%;
   }
}
@media (min-width: 2100px) {
   .divider::after {
      background-size: 194% calc(2vw + 183px);
   }
}

/**** FAQ ****/
#faq-search {
   border: 0;
   border-radius: 50px;
   padding: 5px 20px;
}
#faq-search:focus-visible {
   outline: 0 !important;
}
#faq-search::placeholder {
   font-family:
      var(--e-global-typography-text-font-family) "Montserrat",
      Sans-serif;
   font-size: var(--e-global-typography-text-font-size);
   font-weight: var(--e-global-typography-text-font-weight);
   text-transform: var(--e-global-typography-text-text-transform);
   line-height: var(--e-global-typography-text-line-height);
   color: var(--e-global-color-secondary);
   opacity: 1;
}
.faq .e-n-accordion-item[open] svg {
   transform: rotate(-30deg);
}
.faq .e-n-accordion-item mark.faq-highlight {
   background: var(--e-global-color-secondary);
   color: var(--e-global-color-74a0a98);
   padding: 0 7px;
   border-radius: 3px;
}

/**** Tableau tarifs ****/
.page-tarifs .section-tarifs {
   --tarifs-hairline: color-mix(in srgb, var(--e-global-color-secondary) 14%, transparent);
   --tarifs-band: color-mix(in srgb, var(--e-global-color-secondary) 9%, transparent);
   --tarifs-rule: color-mix(in srgb, var(--e-global-color-primary) 25%, transparent);
}
.page-tarifs .section-tarifs a {
   text-decoration: underline;
}

/* Base tableau */
.page-tarifs .section-tarifs table {
   width: 100%;
   border-collapse: separate;
   border-spacing: 0;
}
.page-tarifs .section-tarifs table,
.page-tarifs .section-tarifs tbody,
.page-tarifs .section-tarifs tr,
.page-tarifs .section-tarifs th,
.page-tarifs .section-tarifs td {
   background: transparent;
   border: none;
}
.page-tarifs .section-tarifs td {
   vertical-align: middle;
}

/* En-tête de colonnes */
.page-tarifs .section-tarifs th {
   padding-bottom: 0px;
   color: var(--e-global-color-primary);
   font-size: 11px;
   letter-spacing: 0.5px;
   text-align: right;
   text-transform: uppercase;
   vertical-align: bottom;
}
.page-tarifs .section-tarifs th:first-of-type {
   padding-left: 0;
   text-align: left;
   text-transform: none;
   letter-spacing: 0;
   font-family: var(--e-global-typography-2fda52d-font-family), Sans-serif;
   font-size: var(--e-global-typography-2fda52d-font-size);
   font-weight: var(--e-global-typography-2fda52d-font-weight);
   line-height: var(--e-global-typography-2fda52d-line-height);
}

/* Prestations : filet fin sous chaque service */
.page-tarifs .section-tarifs tr:has(td.item) td {
   padding-top: 15px;
   padding-bottom: 15px;
   border-bottom: 1px solid var(--tarifs-hairline);
}
.page-tarifs .section-tarifs tr:has(td.item):has(+ tr td.titre) td {
   border-bottom: none;
}
.page-tarifs .section-tarifs td.item {
   padding-left: 30px;
   color: var(--e-global-color-text);
   font-family: var(--e-global-typography-text-font-family), Sans-serif;
   font-size: var(--e-global-typography-text-font-size);
   font-weight: var(--e-global-typography-text-font-weight);
   line-height: var(--e-global-typography-text-line-height);
   text-transform: var(--e-global-typography-text-text-transform);
}

/* Couverture RAMQ (2e col) = bleu-gris  |  Prix (3e col) = rose gras */
.page-tarifs .section-tarifs td.prix {
   min-width: 130px;
   text-align: right;
   white-space: nowrap;
}
.page-tarifs .section-tarifs td.prix:nth-child(2) {
   color: var(--e-global-color-primary);
   font-weight: 500;
}
.page-tarifs .section-tarifs td.prix:nth-child(3) {
   color: var(--e-global-color-secondary);
   font-weight: 700;
}

/* Bandeau de catégorie (groupe) */
.page-tarifs .section-tarifs tr:has(td.titre) td {
   padding-top: 14px;
   padding-bottom: 14px;
   border-top: 18px solid transparent; /* crée l'espace entre les groupes */
   background: var(--tarifs-band);
   background-clip: padding-box;
}
.page-tarifs .section-tarifs tr:has(td.titre) td:first-child {
   padding-left: 18px;
}
.page-tarifs .section-tarifs tr:has(td.titre) td:last-child {
   padding-right: 18px;
}
.page-tarifs .section-tarifs td.titre {
   color: var(--e-global-color-secondary);
   letter-spacing: 0.5px;
   font-family: var(--e-global-typography-c8d927a-font-family), Sans-serif;
   font-size: var(--e-global-typography-c8d927a-font-size);
   font-weight: var(--e-global-typography-c8d927a-font-weight);
   line-height: var(--e-global-typography-c8d927a-line-height);
   text-transform: var(--e-global-typography-c8d927a-text-transform);
}

/* ============================================================
   Responsive : reflow en cartes ≤ 767px (mobile Elementor)
   ============================================================ */
@media (max-width: 767px) {
   .page-tarifs .section-tarifs table,
   .page-tarifs .section-tarifs tbody {
      display: block;
      width: 100%;
   }
   .page-tarifs .section-tarifs tr {
      display: flex;
      flex-wrap: wrap;
      align-items: baseline;
      column-gap: 14px;
   }
   .page-tarifs .section-tarifs th,
   .page-tarifs .section-tarifs td {
      display: block;
   }

   /* En-tête */
   .page-tarifs .section-tarifs th {
      padding-bottom: 0;
      border-bottom: none;
   }
   .page-tarifs .section-tarifs th:not(:first-of-type) {
      display: none;
   }
   .page-tarifs .section-tarifs tr:has(th) {
      margin-bottom: 4px;
   }
   .page-tarifs .section-tarifs th:first-of-type {
      flex: 1 1 100%;
      padding: 0 18px;
   }
   .page-tarifs .section-tarifs th:not(:first-of-type) {
      min-width: 0;
      text-align: left;
      white-space: nowrap;
   }
   .page-tarifs .section-tarifs th:last-of-type {
      margin-left: auto;
      text-align: right;
   }

   /* Prestations */
   .page-tarifs .section-tarifs tr:has(td.item) {
      padding: 12px;
      padding-left: 20px;
      border-bottom: 1px solid var(--tarifs-hairline);
   }
   .page-tarifs .section-tarifs tr:has(td.item) td {
      padding: 0;
      border-bottom: none;
   }
   .page-tarifs .section-tarifs td.item {
      flex: 1 1 100%;
      margin-bottom: 6px;
      padding-right: 0;
   }
   .page-tarifs .section-tarifs td.prix {
      min-width: 0;
      text-align: left;
      white-space: nowrap;
   }
   .page-tarifs .section-tarifs td.prix:nth-child(3) {
      margin-left: auto;
      text-align: right;
   }
   .page-tarifs .section-tarifs td.prix:empty {
      display: none;
   }

   /* Catégories */
   .page-tarifs .section-tarifs tr:has(td.titre) {
      margin-top: 20px;
      padding: 12px 16px;
      background: var(--tarifs-band);
   }
   .page-tarifs .section-tarifs tr:has(td.titre) td {
      padding: 0 !important;
      border: none;
      background: transparent;
   }
   .page-tarifs .section-tarifs tr:has(td.item):has(+ tr td.titre) {
      border-bottom: none;
   }
   .page-tarifs .section-tarifs td.titre {
      flex: 1 1 100%;
   }
}
.page-tarifs .section-tarifs td.prix.is-no {
   color: color-mix(in srgb, var(--e-global-color-text) 60%, transparent);
   font-weight: 400;
}

/**** Équipe ****/
.icone-equipe .elementor-icon-wrapper {
   display: flex;
}
.container-icon-equipe:hover .box-icon-equipe .icone-equipe {
   transform: rotate(90deg);
}
.btn-equipe-rdv:hover .icon-btn-equipe-rdv svg {
	transform: rotate(-60deg);
}
.btn-equipe-rdv .icon-btn-equipe-rdv svg {
	transition: 0.5s;
}
.btn-equipe-rdv .elementor-icon-wrapper {
	display:flex;
}

/**** Blog ****/
.contenu-blog h3:first-of-type {
    margin-top: 0;
}
.contenu-blog h3 {
    margin-top: 35px;
}
.contenu-blog li {
    margin-bottom: 10px;
}
@media (max-width:767px){
.contenu-blog ul {
    padding-inline-start: 25px;
}
}