:focus {outline-width: 0;}

.font-alt, .font-alt h1, .font-alt h2, .font-alt h3, .font-alt h4, .font-alt h5, .font-alt h6, .font-alt p, .font-alt span {
    font-family: Stem-Regular!important;
    font-weight: 400 !important;
    letter-spacing: 0.75px;
}
.font-alt-med, .font-alt-med h1, .font-alt-med h2, .font-alt-med h3, .font-alt-med h4, .font-alt-med h5, .font-alt-med h6, .font-alt-med p, .font-alt-med span {
    font-family: Stem-Medium!important;
    letter-spacing: 0.75px;
    font-weight: 400 !important;
}
.font-alt-bold, .font-alt-bold h1, .font-alt-bold h2, .font-alt-bold h3, .font-alt-bold h4, .font-alt-bold h5, .font-alt-bold h6, .font-alt-bold p, .font-alt-bold span {
    font-family: Stem-Bold!important;
    letter-spacing: 0.75px;
    font-weight: 400 !important;
}
.font, .font h1, .font h2, .font h3, .font h4, .font h5, .font h6, .font p, .font span {
    font-family: Public Sans!important;
    font-weight: 400 !important;
    letter-spacing: 0px;
}

@media (min-width: 1025px) {
.hidden-desktop {
    display: none!important;
}
}
@media (min-width: 768px) {
.hidden-desktop-tablet {
    display: none!important;
}
}
@media (max-width: 1024px) {
.hidden-mobile {
    display: none!important;
}
}

p {
    margin-block-start: 0;
}

@media (max-width: 767px) {
.m-order-1 {
    order: -1!important;
}
}

.pt-1 {
    padding-top: 1rem;
}

@media (max-width: 1024px) {
.m-global-padding {padding-right: var(--wp--style--root--padding-right);padding-left: var(--wp--style--root--padding-left);}
.m-top-padding {padding-top: var(--wp--preset--spacing--70);}
.m-nogap {gap:0!important;}
.m-nopadding {padding:0!important;}
.m-no-x-padding {padding-left:0!important;padding-right:0!important;}
.m-no-l-padding {padding-left:0!important;}
.m-t-30-padding {padding-top:var(--wp--preset--spacing--30)!important;}
.m-t-60-padding {padding-top:var(--wp--preset--spacing--60)!important;}
.m-b-30-padding {padding-bottom:var(--wp--preset--spacing--30)!important;}
.m-b-60-padding {padding-bottom:var(--wp--preset--spacing--60)!important;}
.m-l-30-padding {padding-left:var(--wp--preset--spacing--30)!important;}
.m-l-60-padding {padding-left:var(--wp--preset--spacing--60)!important;}
.m-r-30-padding {padding-right:var(--wp--preset--spacing--30)!important;}
.m-r-60-padding {padding-right:var(--wp--preset--spacing--60)!important;}
.m-no-r-padding {padding-right:0!important;}
.m-no-y-padding {padding-top:0!important;padding-bottom:0!important;}
.m-no-t-padding {padding-top:0!important;}
.m-no-b-padding {padding-bottom:0!important;}
.m-noborder {border:0!important;}
.m-no-x-border {border-left:0!important;border-right:0!important;}
.m-border-bottom {border-bottom:1px solid #d6d6d6;}
.wp-block-navigation__responsive-container-open:not(.always-shown) {display: flex;}
.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {bottom: 0; display: none; left: 0; position: fixed; right: 0; top: 0;}
.wp-block-navigation {justify-content: flex-end;}
.txt-center-mobile {text-align: center!important; justify-content: center!important; margin:auto!important;}
.txt-left-mobile {text-align: left!important; justify-content: flex-start!important;}
.wp-block-navigation ul, .wp-block-navigation ul li {
    font-size: var(--wp--preset--font-size--custom-1) !important;
    line-height: 2.5;
}
.m-font-size-xxl {font-size: 2rem!important;}
.hero_home_blocs .is-layout-flow > .alignright, .hero_home_blocs .is-layout-flow > .alignleft {margin-inline-start: 0; margin-inline-end: 0;}
}

@media (max-width: 767px) {
.elementor-element.e-con.e-child:not(.col_content) {
    padding-left: 0px;
    padding-right: 0px;
    }
}

main .elementor p a:not(.elementor-button) {
    text-decoration: underline;
}
main .elementor p a:not(.elementor-button):hover {
    text-decoration: none;
}

:root :where(.wp-block-button.is-style-outline--2 .wp-block-button__link.wp-block-button__link:not(.has-background):hover ),
:root :where(.wp-block-button.is-style-outline--3 .wp-block-button__link.wp-block-button__link:not(.has-background):hover ),
:root :where(.wp-block-button.is-style-outline--4 .wp-block-button__link.wp-block-button__link:not(.has-background):hover ), 
:root :where(.wp-block-button.is-style-outline--5 .wp-block-button__link.wp-block-button__link:not(.has-background):hover ),
:root :where(.wp-block-button.is-style-outline--6 .wp-block-button__link.wp-block-button__link:not(.has-background):hover ), 
:root :where(.wp-block-button.is-style-outline--7 .wp-block-button__link.wp-block-button__link:not(.has-background):hover ) {
    border: 2px solid #fff!important;
    background-color: #fff!important;
    font-weight: 500!important;
    color: var(--wp--preset--color--accent-1)!important;
}

.home .yoast-breadcrumbs,
.page-id-572 .yoast-breadcrumbs {
    display: none;
}

.col_index_prod {
    position: sticky;
    top: 15px;
    align-self: flex-start;
    height: fit-content;
}
.col_index_prod ul {
    padding-left: 1rem;
}
.col_index_prod li {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}
.col_index_prod li a {
    text-decoration: underline;
}
.col_index_prod li a:hover {
    text-decoration: none;
}

.col_accordeon_prod h2, .col_accordeon_prod h3, .col_accordeon_prod h4 {
    font-family: Stem-Medium!important;
    letter-spacing: 0.75px;
    font-weight: 400 !important;
}


/* ====== Carousel témoignages (Elementor + Swiper) ====== */

.tcarousel__track.swiper {
  width: 100%;
  overflow-x: hidden !important;
  overflow-y: visible !important;
}

.tcarousel__track .swiper-slide {
  flex-shrink: 0 !important;
  height: auto !important;
  min-height: 1px;
}

.tcarousel__track,
.tcarousel__track .swiper-wrapper {
  min-height: 1px;
  align-items: stretch;
}

.tcarousel__track .swiper-slide.e-con {
  display: block !important;
}

.tcarousel__track.swiper-initialized,
.tcarousel__track.swiper-initialized .swiper-wrapper,
.tcarousel__track.swiper-initialized .swiper-slide {
  visibility: visible !important;
  opacity: 1 !important;
}

.tcarousel__pagination {
  margin-top: -15px;
}

.color-epargne p, .color-epargne a, .color-epargne h2, .color-epargne h3 {color:#286588!important;}
.color-epargne .elementor-icon-box-icon .elementor-icon {background-color: #286588;border-radius: 10px;padding: 5px;}
.color-epargne .tcarousel__pagination .swiper-pagination-bullet-active {background: #286588;}
.color-epargne .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title,
.color-epargne .elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title {color: #286588!important;}
.color-epargne .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg,
.color-epargne .elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg {fill: #286588!important;}

.color-sante p, .color-sante a, .color-sante h2, .color-sante h3 {color:#0163B2!important;}
.color-sante .elementor-icon-box-icon .elementor-icon {background-color: #0163B2;border-radius: 10px;padding: 5px;}
.color-sante .tcarousel__pagination .swiper-pagination-bullet-active {background: #0163B2;}
.color-sante .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title,
.color-sante .elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title {color: #0163B2!important;}
.color-sante .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg,
.color-sante .elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg {fill: #0163B2!important;}

.color-pro p, .color-pro a, .color-pro h2, .color-pro h3 {color:#5DAFE8!important;}
.color-pro .elementor-icon-box-icon .elementor-icon {background-color: #5DAFE8;border-radius: 10px;padding: 5px;}
.color-pro .tcarousel__pagination .swiper-pagination-bullet-active {background: #5DAFE8;}
.color-pro .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title,
.color-pro .elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title {color: #5DAFE8!important;}
.color-pro .elementor-widget-n-accordion .e-n-accordion-item[open]>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg,
.color-pro .elementor-widget-n-accordion .e-n-accordion-item:not([open]):hover>.e-n-accordion-item-title .e-n-accordion-item-title-icon span>svg {fill: #5DAFE8!important;}

.page-template-default .footer_banner {display: none;}

.page-template-default main h2 {
    padding-top: 2rem;
    padding-bottom: 1rem;
}
.page-template-default main h3 {
    font-family: Stem-Medium!important;
    font-weight: 400!important;
    padding-bottom: 0.5rem;
}
.page-template-default main ul {
    padding-bottom: 1rem;
}
.page-template-default main .entry-content p {
    padding-top: 0.5rem;
    padding-bottom: 0.5rem;
}

.page-id-572 h1 {
    text-align: center;
}

.btn-contact a {
    color: #fff!important;
    padding: 11px 26px!important;
    border-radius: 60px;
    transition: 0.3s;
    background: #286588;
}
.btn-contact a:hover {
    text-decoration: none;
    background: #002443;
}

.wp-block-post-excerpt__more-link {
    margin-top: 10px;
    text-decoration: none;
    color: #002443;
    font-weight: 500;
    padding: 9px 26px;
    border: 2px solid #002443;
    border-radius: 60px;
    transition: 0.3s;
    background: transparent;
}
.wp-block-post-excerpt__more-link:hover {
    text-decoration: none;
    color: #fff;
    background: #002443;
}

.icon_genese {
    min-width: 50px;
}

.wp-block-navigation .wp-block-navigation-item .wp-block-navigation-item__content:hover {
    text-decoration: none;
}

.home-circle {
    background-image: url(https://genese.dosedev.fr/wp-content/uploads/2026/01/circle-home.png);
    background-position: 50%;
    background-repeat: no-repeat;
    background-size: 60%;
}

.bg_genese_epargne {
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(https://genese.dosedev.fr/wp-content/themes/bg_epargne.webp);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg_genese_sante {
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(https://genese.dosedev.fr/wp-content/themes/bg_sante.webp);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg_genese_pro {
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(https://genese.dosedev.fr/wp-content/themes/bg_pro.webp);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}
.bg_genese_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    background: url(https://genese.dosedev.fr/wp-content/themes/bg_icon.webp);
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover;
}

.link_footer a {
    text-decoration: none;
}
.link_footer a:hover {
    text-decoration: underline;
}

p:has(.btn-form-50-l) {
    width: calc(48% - 10px)!important;
    display: inline-block;
    padding: 0;
    margin-right: 2%;
}
p:has(.btn-form-50-r) {
    width: calc(48% - 10px)!important;
    display: inline-block;
    padding: 0;
    margin-left: 1.5%;
}
p:has(.btn-form-50-r-select) {
    width: calc(48% - 10px)!important;
    display: inline-block;
    padding: 0;
    margin-left: 1.5%;
}
p:has(.wpcf7-submit) {
    padding-right: 18px;
}
@media (max-width: 1024px) {
p:has(.btn-form-50-l) {
    width: calc(48% - 20px)!important;
    margin-right: calc(1.5% + 20px);
}
p:has(.btn-form-50-r) {
    width: calc(48% - 10px)!important;
}
p:has(.btn-form-50-r-select) {
    width: calc(48% - 10px)!important;
}
}
@media (max-width: 500px) {
p:has(.btn-form-50-l) {
    margin-right: calc(1% + 20px);
}
}
.wpcf7 label {
    font-weight: 600;
    color: var(--wp--preset--color--accent-1);
}
.wpcf7 input:not([type="checkbox"]) {
    width: 100%!important;
    height: 50px;
    padding-left: 10px;
    padding-right: 10px;
}
.wpcf7 textarea {
    padding: 10px;
    width: calc(100% - 22px)!important;
}
@media (max-width: 1024px) {
.wpcf7 textarea {
    width: calc(100% - 15px)!important;
}
}
.wpcf7 input:not([type="checkbox"]), .wpcf7 select, .wpcf7 textarea {
    margin-top: 3px;
    border: 2px solid #342d65;
    border-radius: 10px;
    font-size: 1rem;
}
.wpcf7 select {
    width: 100%!important;
    height: 50px;
    margin-top: 3px;
    border: 2px solid #342d65;
    border-radius: 10px;
    font-size: 1rem;
}
.wpcf7 input:hover, .wpcf7 input:active, .wpcf7 input:focus, .wpcf7 textarea:hover, .wpcf7 textarea:active, .wpcf7 textarea:focus {
    border-color: var(--wp--preset--color--accent-1);
}
.wpcf7-list-item {
    margin: 0 0 0.5rem 0;
}
.wpcf7 input[type="checkbox"] {
    margin-left: 0;
}
.wpcf7-list-item-label {
    font-size: 0.9rem;
}
.wpcf7 input.wpcf7-submit {
    cursor: pointer;
    width: 220px !important;
    height: 56px;
    color: var(--wp--preset--color--base);
    font-size: var(--wp--preset--font-size--medium);
    font-weight: 500;
    border: 0;
    border-radius: 50px;
    float: right;
    box-shadow: none;
    background: #286588;
    transition: all 0.2s;
}
@media (max-width: 1024px) {
.wpcf7 input.wpcf7-submit {
    width: 100%!important;
}
}
.wpcf7 input.wpcf7-submit:hover {
    color: var(--wp--preset--color--base);
    background: var(--wp--preset--color--accent-1);
}
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.unaccepted .wpcf7-response-output, .wpcf7 form.payment-required .wpcf7-response-output {
    border-color: var(--wp--preset--color--accent-1);
    margin-left: 0;
    margin-right: 0;
}
.wpcf7-not-valid-tip {
    position: absolute;
}

footer .wp-block-social-links .wp-social-link svg {
    height: 1.5em;
    width: 1.5em;
}

.custom-toc {
  border: 1px solid #e5e5e5;
  padding: 20px 30px;
  border-radius: 10px;
  background: #fff;
  margin-bottom: 30px;
  top: 120px;
}
.toc-title {
  font-weight: bold;
  margin-bottom: 10px;
}
.custom-toc ul {
  list-style: disc;
  padding-left: 20px;
  margin: 0;
}
.custom-toc li {
  margin: 6px 0;
}
.custom-toc li.h3 {
  margin-left: 15px;
  font-size: 0.9em;
}
.custom-toc a {
  text-decoration: none;
  color: #333;
}
.custom-toc a:hover {
  color: #0073aa;
  text-decoration: underline;
}