/* charlotte-k :: GLOBAL styles — all front-end pages */

/* === legacy customizer additional CSS (ex wp-legacy-css-customizer.css) === */
/* ===== Reset Divi's dumb 500 default ===== */
body, p, li, span, a {
  font-weight: 400 !important;
}

/* ===== Headings hierarchy ===== */
/* Also cover span/a INSIDE headings: the body reset above forces span,a to 400
   !important, and a direct match on the span beats the inherited heading weight —
   so an emphasized <span> in an <h1> (e.g. the teal phrase) was rendering at 400.
   `h1 span` is more specific than `span`, so this wins. */
h1, h2, h3, h4, h5, h6,
h1 span, h2 span, h3 span, h4 span, h5 span, h6 span,
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  font-weight: 700 !important; /* 700; use 600 for a softer weight */
}



/*Login CTA display */
@media only screen and (min-width:980px) {
	.btn_connect
{ display:none !important;}
}

/*CTA menu right  */
.cta_connexion a{ color:#083f4e !important;
white-space: break-spaces !important;
}

.cta_connexion a { padding-top: 14px;
}

.cta_rdv a{ color:#fff!important;
padding:0px;
}

@media screen and (min-width:1160px) {
	.cta_rdv 
{ height:39px;}
}

@media screen and (max-width:1160px) {
	.cta_rdv 
{ height:53px;
	width: 130px;
	margin-top:10px !important;
    padding: 12px 15px 15px 15px !important;
  }
	.cta_rdv:hover { background-color:#083F4E!important;
 padding: 12px 15px 15px 15px !important;
		margin-top:-11px;
	height:53px !important;
	border-radius:10px;
	font-weight:700;
}
	.cta_connexion a { padding-top: 21px;
}
}

.cta_rdv { background-color:#f2937d!important;
padding:14px 14px 10px 10px;
margin-bottom: 30px !important;
	border-radius:10px;
	font-weight:700;
}

.cta_rdv:hover { background-color:#083F4E!important;
padding:14px 14px 10px 10px;
	height:39px;
	border-radius:10px;
	font-weight:700;
}

/*button hover*/
a.cta-popup-calendly:hover, a.decouvrecharlotte:hover{  
   background-color:#083F4E !important;
}

/*responsive menu*/

@media screen and (max-width: 980px) {
.top_menu_tablet{  
	display:none;
}}
	@media screen and (min-width: 1200px) {
.top_menu_tablet{  
	display:none;
}}

@media screen and (min-width:980px) and (max-width: 1334px) {
#mantys-main-menu{  
	margin-bottom:-3px !important;
	padding:0px !important;
}
.et_pb_menu_0_tb_header.et_pb_menu ul li a
{  
	zoom:90% !important;
}
	#menu-menu-droite {  
	zoom:90% !important;
}
.et_pb_menu__logo
{  
	zoom:75% !important;
}}


/*Relabel Monarch's "Share This" to "Partager" */
.et_social_heading {
	font-size: 0!important;
}
.et_social_heading::before {
	content: "Partager";
	font-size: 15px !important;
}

/*"Commencez ici" menu button*/
.menu_cta {
border-radius: 30px;
background-color: #0abab5;
color: #fff;
padding: 0 !important;
}

.menu_cta a {
color: #fff !important;
padding: 15px 15px 15px 15px !important;
}

.menu_cta:hover {
border-radius: 30px;
border: solid 0px #000000;
color: #fff !important;
background: #083F4E;
}

/*Menu item colors on hover*/
 
#top-menu-nav #top-menu a:hover,
#mobile_menu_slide a:hover {
/*the color to display*/
    color: #0ABAB5; 
/* opacity 0-1; 1 removes Divi's default translucent hover*/
	opacity:1 !important;
}

/*mobile fixed menu*/




.et_mobile_menu {
    overflow: scroll !important;
    max-height: 83vh;
}

/*color highlights in text*/
.pa-color-highlight {
    text-decoration: none;
    box-shadow: inset 0 -.5em 0 rgba(242,147,125,1);
    color: inherit;
}

/*vertical centering*/
.centrer-verticalement {
  display: flex;
  flex-direction: column;
  justify-content: center;
}

/*blog module: previous-page link*/
.et_pb_blog_grid .pagination > .alignleft a:before {
    content: '< Page précédente';
    visibility: visible;
}
.et_pb_blog_grid .pagination > .alignleft a {
    visibility: collapse;
}
.et_pb_blog_grid .pagination > .alignright a:before {
    content: 'Page suivante >';
    visibility: visible;
}
.et_pb_blog_grid .pagination > .alignright a {
    visibility: collapse;
}

@media (max-width: 980px) {
.et_non_fixed_nav.et_transparent_nav #main-header, .et_non_fixed_nav.et_transparent_nav #top-header, .et_fixed_nav #main-header, .et_fixed_nav #top-header {
    position: fixed;
}}

@media screen and (max-width: 981px) {
    header {
        position: fixed;
        z-index: 99999;
        width: 100%;
        top: 0;
    }
}

#left-area ul, .entry-content ul, .et-l--body ul, .et-l--footer ul, .et-l--header ul { line-height: 2.2 }


/* screens under 768px */
@media all and (max-width: 768px) {
  article.post.type-post h1 { font-size: 30px; }
  article.post.type-post h2 { font-size: 27px; }
  article.post.type-post h3 { font-size: 22px; }
  article.post.type-post h4 { font-size: 19px; }
  article.post.type-post p { font-size: 18px; }
}

.page-id-15206 .entry-title {
display: none;
}

.calendly-overlay {
	z-index: 99999 !important;
}

/*reverse column order on mobile*/

@media only screen and (max-width : 980px) {
  .dc_inverser_colonnes-section .dc_inverser_colonnes-ligne {
    display: -webkit-flex;
    display: -ms-flex;
    display: flex;
    -webkit-flex-direction: column-reverse;
    -ms-flex-direction: column-reverse;
    flex-direction: column-reverse;
  }
}


/* mobile column reversal */

@media screen and ( max-width: 980px ) {
    .inverse {
        display: flex;
        flex-direction: column-reverse;
    }
}
/* remove article video margin */
div.lyte-wrapper {margin:0 !important;
width: auto !important;
    height: auto !important;
}

/*add highlight around bold text*/
.pa-bold-highlight p strong, h2 strong {
    padding: 0 5px;
    background-color: rgba(242,147,125,0.5);
}
/* === sticky placeholder fix (ex no-delete.css) === */
.et_pb_sticky_placeholder{
	opacity: 0 !important
}

/* === site-wide styles (ex style.css body) === */


.mantys-main-menu .et_pb_menu__menu,
.mantys-main-menu .et_pb_menu__menu .et-menu-nav,
.mantys-main-menu .et_pb_menu__menu .et-menu-nav ul.et-menu{
	flex-grow: 1;
}

.et_pb_menu.mantys-main-menu .et_pb_menu__menu > nav > ul > li.cta-menu{
	margin-left: auto;
	align-self: center;
}

#mantys-main-menu li.cta-menu a{
  color: #fff6eb !important;
  border-width: 0 !important;
  border-color: rgba(255,255,255,0) !important;
  border-radius: 10px !important;
  font-size: 16px !important;
  font-family: 'Josefin Sans',sans-serif !important;
  font-weight: 700 !important;
  background-color: #f2937d !important;
  padding: 8px 20px !important;
}

/*------------------------------------------------*/
/*-------------------[GENERAL]--------------------*/
/*------------------------------------------------*/

/** Fix Overflow x, because we don't need horizontal scrolling 
.et_pb_section:not(.main-menu-section){
	overflow-x: hidden;
	max-width: 100vw;
}
*/

#page-container{
	overflow: hidden;
}

/*=== Axeptio (forced display) */
#axeptio_main_button[aria-label="Fermer"] {
  display: none !important;
}

.ax-widget{
	z-index: 999999;
}

.ax-widget-container {
	bottom: calc(50vh - 120px) !important;
	left: calc(50vw - 240px) !important;
	z-index: 45 !important; 
}

.ax-widget-container::before {
  background-color: rgba(0,0,0,.25);
  content: "";
  display: block;
  height: 100vh;
  left: calc(-50vw + 240px);
  position: absolute;
  bottom: calc(-50vh + 120px);
  pointer-events: none;
  width: 100vw;
  z-index: 999999;
}

.hand_underline{
	position: relative;
}

.hand_underline::after{
	position: absolute;
	left: 0;
	width: 100%;
	content: "";
	bottom: -13px;
	height: 15px;
	background-repeat: no-repeat;
	background-size: 100% 10px;
	background-image: url("data:image/svg+xml;base64,PHN2ZyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSJub25lIiBpZD0iQ2FscXVlXzEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iOC4zIDE0MS44NSAyODUuNjMgMjMuNjMiPjxkZWZzPjxzdHlsZT4uY2xzLTF7ZmlsbDojMTZhY2E3O308L3N0eWxlPjwvZGVmcz48cGF0aCBjbGFzcz0iY2xzLTEiIGQ9Im0xMC41NSwxNjUuMjRjMTguODYtNC40MSwzNy43My03Ljc1LDU2Ljc5LTEwLjI0LDE5LjEtMi40OSwzOC4zMS00LjE1LDU3LjU2LTUuMjUsMTkuNDEtMS4xMSwzOC44NS0xLjY2LDU4LjI5LTEuOTUsMTkuODYtLjMsMzkuNzMtLjMzLDU5LjYtLjQsMTEuNTUtLjA0LDIyLjk4LjE5LDM0LjgyLjU0LDEuMy4wNCwyLjYuMDgsMy45LjEzLDIuNzYuMTEsNS43Ny0xLjIyLDguMTktMi4zNSwxLjIyLS41NywyLjU2LTEuMTYsMy41Ny0yLjAzLjIxLS4xOCwxLjE1LTEuMDguMjUtMS4xMS0xMi4zNy0uNDgtMjQuNzYtLjYyLTM3LjE0LS42OS0xOC40LS4wOS0zNi44MS4wOC01NS4yLjMtMTkuNTcuMjMtMzkuMTQuNjgtNTguNjgsMS42Ni0xOS40Mi45OC0zOC44MiwyLjQ4LTU4LjEyLDQuODEtMTkuNjUsMi4zNy0zOS4xOSw1LjU2LTU4LjQ4LDkuOC0yLjM2LjUyLTQuNzEsMS4wNS03LjA2LDEuNi0zLjExLjczLTYuMzcsMS44Ni05LDMuNi0uMzcuMjQtMS43Ni45OC0xLjUsMS41M3MxLjk4LjEsMi4yMy4wNGgwWiIvPjwvc3ZnPg==");	
}

.puce-sm,
.puce-md,
.puce-lg{
	background-image: url(data:image/png;base64,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);
	/* Default Sizing is MD */
	height: 15px;
	width: 15px;
	display: inline-block;
	background-size: 100% 100%;
	background-repeat: no-repeat;
	margin-right: 8px;
}

.puce-sm{
	height: 10px;
	width: 10px;
	margin-right: 5px;
}

.puce-lg{
	height: 20px;
	width: 20px;
	margin-right: 10px;
}

.comments-2024 #comment-wrap{
  display: flex;
  flex-direction: column-reverse;
}

.comments-2024 .commentlist > li{
  background: #fff6eb;
  padding: 10px;
  border-radius: 5px;
  font-size: 0.9rem;
  margin-bottom: 30px;
}

@media(max-width : 980px){

	.mtn-menu-header .et_pb_menu__logo-wrap {
		margin-left: 10px;
		margin-top: 8px;
	}

	.mtn-menu-header .et_pb_menu .et_mobile_nav_menu{
		margin-top: -8px;
	}

	body.et-tb-has-header #page-container {
	  padding-top: 54px !important;
	}
}

@media(max-width : 449px){
	.ax-widget-container {
		left: 0 !important;
		bottom: 0 !important;
	}

	.ax-widget-container::before{
		left: 0;
		bottom: 0;
	}
}

@media(min-width : 978px){
	.hide_desktop{
		display: none;
	}
}


/****** FIX CALENDLY STYLE */

.calendly-inline-widget,.calendly-inline-widget *,.calendly-badge-widget,.calendly-badge-widget *,.calendly-overlay,.calendly-overlay *{font-size:16px;line-height:1.2em}.calendly-inline-widget iframe,.calendly-badge-widget iframe,.calendly-overlay iframe{display:inline;width:100%;height:100%}.calendly-popup-content{position:relative}.calendly-popup-content.calendly-mobile{-webkit-overflow-scrolling:touch;overflow-y:auto}.calendly-overlay{position:fixed;top:0;left:0;right:0;bottom:0;overflow:hidden;z-index:9999;background-color:#a5a5a5;background-color:rgba(31,31,31,.4)}.calendly-overlay .calendly-close-overlay{position:absolute;top:0;left:0;right:0;bottom:0}.calendly-overlay .calendly-popup{box-sizing:border-box;position:absolute;top:50%;left:50%;transform:translateY(-50%) translateX(-50%);width:80%;min-width:900px;max-width:1000px;height:90%;max-height:680px}@media(max-width:975px){.calendly-overlay .calendly-popup{position:fixed;top:50px;left:0;right:0;bottom:0;transform:none;width:100%;height:auto;min-width:0;max-height:none}}.calendly-overlay .calendly-popup .calendly-popup-content{height:100%}.calendly-overlay .calendly-popup-close{position:absolute;top:25px;right:25px;color:#fff;width:19px;height:19px;cursor:pointer;background:url(/assets/external/close-icon.svg) no-repeat;background-size:contain}@media(max-width:975px){.calendly-overlay .calendly-popup-close{top:15px;right:15px}}.calendly-badge-widget{position:fixed;right:20px;bottom:15px;z-index:9998}.calendly-badge-widget .calendly-badge-content{display:table-cell;width:auto;height:45px;padding:0 30px;border-radius:25px;box-shadow:rgba(0,0,0,.25) 0 2px 5px;font-family:sans-serif;text-align:center;vertical-align:middle;font-weight:700;font-size:14px;color:#fff;cursor:pointer}.calendly-badge-widget .calendly-badge-content.calendly-white{color:#666a73}.calendly-badge-widget .calendly-badge-content span{display:block;font-size:12px}.calendly-spinner{position:absolute;top:50%;left:0;right:0;transform:translateY(-50%);text-align:center;z-index:-1}.calendly-spinner>div{display:inline-block;width:18px;height:18px;background-color:#e1e1e1;border-radius:50%;vertical-align:middle;animation:calendly-bouncedelay 1.4s infinite ease-in-out;animation-fill-mode:both}.calendly-spinner .calendly-bounce1{animation-delay:-.32s}.calendly-spinner .calendly-bounce2{animation-delay:-.16s}@keyframes calendly-bouncedelay{0%,80%,100%{transform:scale(0)}40%{transform:scale(1)}}
/* === Search submit: clean SVG magnifier (replaces Divi's ETmodules icon label) ===
   Kills the "Chercher" multi-symbol flash + the old JS value swap. Independent of
   Divi's icon font / glyph map, so it's robust across Divi 4 and 5. */
.et_pb_searchform input.et_pb_searchsubmit{
  font-size:0 !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23083f4e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") !important;
  background-repeat:no-repeat !important;
  background-position:center !important;
  background-size:20px 20px !important;
}

/* ===== INTERIM — HEADER CLS FIX (revert: delete this whole block) =====
   The non-sticky Theme Builder header on homepage-divi5 reflows at ~1s and pushes
   content down -> CLS ~0.98 (the home's header is sticky/out-of-flow, so immune).
   Reserve its height (80px) + drop the transition so it can no longer shift
   content. Remove once the hardcoded navbar is in place. */
.et-l--header,
.et_pb_section_0_tb_header { min-height: 80px; }
.et_pb_section_0_tb_header,
.et_pb_row_0_tb_header { transition: none !important; }
/* ===== /INTERIM HEADER CLS FIX ===== */

/* ===== INTERIM — TRUSTINDEX WIDGET CLS FIX (revert: delete this whole block) =====
   The Trustindex badge widget renders async: 0 -> 62px at ~900ms with no reserved
   space -> reflows the row and pushes the hero text down (CLS). Reserve its measured
   height (62px, identical mobile + desktop) so the late render no longer shifts siblings.
   Targets a STABLE class on the embed wrapper (.ck-reviews-atf) instead of Divi's
   positional .et_pb_code_N, which shifts when modules are added/removed. The wrapper
   div lives in the homepage badge Code module. Remove if the widget is replaced/inlined. */
.ck-reviews-atf,
.ck-reviews-atf .ti-widget { min-height: 62px; }
/* ===== /INTERIM TRUSTINDEX WIDGET CLS FIX ===== */

/* ===== INTERIM — TB HEADER WIDTH FOUC FIX (revert: delete this whole block) =====
   Divi outputs `width:1440px!important` on the header section (a "Width:1440px" sizing
   setting on the TB header section). That rule is captured into the Critical CSS, so on
   viewports wider than 1440px the header is capped at 1440 at first paint -> white gutter
   top-right until the deferred Divi CSS overrides it to full-width (visible FOUC).
   Force full-width with higher specificity (.main-menu-section.et_pb_section = 3 classes,
   beats Divi's :not() rule = 2 classes) so it wins inside the Critical too.
   Real fix: reset the TB header section Width to default (100%) in the builder. */
.main-menu-section.et_pb_section:not(.et_pb_sticky--editing) {
  width: 100% !important;
  max-width: 100% !important;
}
/* ===== /INTERIM TB HEADER WIDTH FOUC FIX ===== */

/* ===== FIX — "La fondatrice" founder photo vertical position (/vie-ideale/) =====
   The founder image sits inside a legacy specialty section (et_section_specialty,
   equalised columns). The D4->D5 migration left the image module with a generated
   `position:absolute !important` that drops the photo to the bottom of the tall
   equalised column, leaving a big empty gap above it. Restore normal flow so the
   photo sits at the TOP, aligned with the "La fondatrice" heading.
   Stable :has() selector on the image src (NOT the fragile .et_pb_image_18 order
   class, which shifts if images are added/removed). Reversible: delete this block. */
.et_pb_image.ck-founder-photo,
.ck-founder-photo.et_pb_image {
  position: relative !important;
  top: auto !important;
}
/* ===== /FIX founder photo position ===== */

/* ===== mantys-core lazy-media (video facade) play button — brand skin =====
   CSS variables consumed by the mcore lm/facade button. Target design
   ("maquette 2"): salmon circle play icon + teal label. */
:root {
  --mcore-lm-play-bg: #df906b;      /* salmon circle */
  --mcore-lm-play-w: 52px;
  --mcore-lm-play-h: 52px;          /* w = h => circle */
  --mcore-lm-play-radius: 999px;
  --mcore-lm-label-color: #12454f;  /* teal label */
  --mcore-lm-btn-pad: 10px 26px 10px 10px;
}
/* ===== /mcore lm play button skin ===== */

/* ===== Archive listings: blog module grid + numbered pagination =====
   Divi 5 lays the blog module out with its grid framework
   (.et_grid_module{display:grid}), which it only ships when its per-context
   dynamic-asset detection sees a native blog module. On the author archives
   that detection misses it (it reads the D4 fallback content), so the columns
   collapse to a single stacked list. The module's own CSS still sets
   --column-count (3 / 2 / 1) per breakpoint, so restating the display and the
   gaps is enough to get the intended grid back, and it is a no-op on pages
   where Divi does load its framework. */
.et_pb_blog .et_pb_blog_posts.et_grid_module {
  display: grid;
  column-gap: var(--horizontal-gap, 30px);
  row-gap: var(--vertical-gap, 30px);
}

/* Thumbnails: Divi stamps every grid image with its 400x284 size attributes
   (ratio 1.408) while the files served are 3:2, and the default object-fit
   `fill` squashes them into the frame — by a different visible amount per
   crop, so the cards read as uneven. Restating the frame ratio and switching
   to `cover` normalizes them: same box everywhere (no layout change, the
   heights already came from those attributes), center-cropped instead of
   distorted. Also covers images that reach the grid without dimensions. */
.et_pb_blog .entry-featured-image-url img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 400 / 284;
  object-fit: cover;
}

.ck-pagination {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
}
.ck-pagination--top {
  margin-bottom: 30px;
}
.ck-pagination--bottom {
  margin-top: 40px;
}
.ck-pagination .page-numbers {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  padding: 0 14px;
  border: 1px solid #C4E3E3;
  border-radius: 9999px;
  font-family: 'Josefin Sans', Helvetica, Arial, sans-serif;
  font-size: 17px;
  font-weight: 500;
  line-height: 1;
  color: #083F4E;
  text-decoration: none;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
}
.ck-pagination a.page-numbers:hover,
.ck-pagination a.page-numbers:focus-visible {
  border-color: #16ACA7;
  background-color: #E0F1F1;
}
.ck-pagination .page-numbers.current {
  border-color: #083F4E;
  background-color: #083F4E;
  color: #fff;
}
.ck-pagination .page-numbers.dots {
  border-color: transparent;
  padding: 0 4px;
  min-width: 0;
}
/* ===== /Archive listings ===== */
