/* YOUNA IMS Refonte : socle de mise en page pour le rendu par shortcode (hors éditeur Elementor).
   Fournit ce qu'Elementor apporte d'ordinaire (conteneurs flex, listes, boutons, accordéon, menu) afin que
   youna-refonte.css s'applique sans modification. Tout est scopé sous .youna-refonte, sauf polices et pleine largeur. */

@font-face{font-family:'Fraunces';font-style:normal;font-weight:100 900;font-display:swap;src:url(../fonts/fraunces-latin-opsz-normal.woff2) format('woff2')}
@font-face{font-family:'Fraunces';font-style:italic;font-weight:100 900;font-display:swap;src:url(../fonts/fraunces-latin-wght-italic.woff2) format('woff2')}
@font-face{font-family:'DM Sans';font-style:normal;font-weight:100 1000;font-display:swap;src:url(../fonts/dm-sans-latin-wght-normal.woff2) format('woff2-variations'),url(../fonts/dm-sans-latin-wght-normal.woff2) format('woff2')}

/* Pleine largeur : sort la page de la colonne du thème. */
.yr-bleed,.yr-c.yr-bleed{width:var(--yr-bleed-w,100vw);margin-left:var(--yr-bleed-ml,calc(50% - 50vw));max-width:none}   /* bleed.js affine ces deux valeurs */
body.yr-page-on{overflow-x:clip}

.youna-refonte,.youna-refonte *,.youna-refonte *::before,.youna-refonte *::after{box-sizing:border-box}
.youna-refonte{-webkit-font-smoothing:antialiased;text-align:left}

/* Conteneurs : spécificité minimale, pour que les règles de mise en page de youna-refonte.css (rangées, grilles) l'emportent */
.yr-c{display:flex;flex-direction:column;gap:20px;min-width:0;width:100%}
.yr-c--row{flex-direction:row}
.yr-c--wrap{flex-wrap:wrap}
.yr-c--between{justify-content:space-between}
.yr-c--vcenter{align-items:center}
.yr-c--start{align-items:flex-start}
.yr-c-outer{display:block;width:100%}
.yr-c-inner{max-width:1220px;margin-inline:auto;width:100%}
.youna-refonte .yr-c>.elementor-widget{min-width:0}

/* Remise à zéro face aux styles de thème */
.youna-refonte h1,.youna-refonte h2,.youna-refonte h3,.youna-refonte h4,.youna-refonte h5,.youna-refonte h6{margin:0;padding:0;text-transform:none;letter-spacing:normal}
.youna-refonte .elementor-heading-title{margin:0;padding:0;line-height:1.2}
.youna-refonte .elementor-heading-title a{color:inherit;text-decoration:none}
.youna-refonte .elementor-widget-text-editor p{margin:0 0 .9em}
.youna-refonte .elementor-widget-text-editor p:last-child{margin-bottom:0}
.youna-refonte ul,.youna-refonte ol{list-style:none;margin:0;padding:0}
.youna-refonte li{margin:0;padding:0}
.youna-refonte img{max-width:100%;height:auto;border:0}
.youna-refonte figure{margin:0}
.youna-refonte .elementor-widget-image img{display:block}

/* Boutons */
.youna-refonte .elementor-button{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;cursor:pointer;box-shadow:none;border:1px solid transparent}
.youna-refonte .elementor-button-content-wrapper{display:inline-flex;align-items:center;justify-content:center;gap:9px}
.youna-refonte .elementor-button-icon{display:inline-flex}
.youna-refonte .elementor-button-icon svg,.youna-refonte .elementor-icon svg,.youna-refonte .elementor-icon-list-icon svg{width:1em;height:1em;display:block}

/* Listes d'icônes */
.youna-refonte .elementor-icon-list-items{display:flex;flex-direction:column;gap:9px}
.youna-refonte .elementor-icon-list-items.elementor-inline-items{flex-direction:row;flex-wrap:wrap;gap:8px 18px}
.youna-refonte .elementor-icon-list-item,.youna-refonte .elementor-icon-list-item>a{display:flex;align-items:center;gap:9px}
.youna-refonte .elementor-icon-list-item>a{color:inherit;text-decoration:none}
.youna-refonte .elementor-icon-list-icon{display:inline-flex;flex:none}

/* Boîtes d'icône et d'image */
.youna-refonte .elementor-icon-box-wrapper{display:flex;flex-direction:column;gap:14px}
.youna-refonte .elementor-position-left .elementor-icon-box-wrapper{flex-direction:row;align-items:center}
.youna-refonte .elementor-icon-box-title{margin:0}
.youna-refonte .elementor-icon-box-title a{color:inherit;text-decoration:none}
.youna-refonte .elementor-icon-box-description{margin:0}
.youna-refonte .elementor-icon{display:inline-flex;align-items:center;justify-content:center}
.youna-refonte .elementor-image-box-img a{display:block}
.youna-refonte .elementor-image-box-title{margin:0}
.youna-refonte .elementor-image-box-title a{text-decoration:none}

/* Accordéon (balises <details>, sans JavaScript) */
.youna-refonte .elementor-accordion-item>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;cursor:pointer;min-height:44px}
.youna-refonte .elementor-accordion-item>summary::-webkit-details-marker{display:none}
.youna-refonte .elementor-accordion-title{margin:0}
.youna-refonte .elementor-accordion-icon{display:inline-flex;flex:none}
.youna-refonte .yr-ico-minus{display:none}
.youna-refonte .elementor-accordion-item[open] .yr-ico-minus{display:inline-flex}
.youna-refonte .elementor-accordion-item[open] .yr-ico-plus{display:none}
.youna-refonte .elementor-accordion-item>summary:focus-visible{outline:3px solid var(--navy);outline-offset:2px}

/* Menu, logo, burger */
.youna-refonte .yr-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.youna-refonte .elementor-nav-menu{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.youna-refonte .elementor-item{display:block;text-decoration:none}
.youna-refonte .yr-logo a{display:inline-block;line-height:0}
.youna-refonte .yr-logo img{display:block}
.youna-refonte .yr-logo .yr-logo-text{line-height:1.1;font-family:var(--font-display);font-weight:600;font-size:1.5rem;color:var(--navy);text-decoration:none}
.youna-refonte .yr-nav{position:relative}
/* Menu mobile et tablette : classes propres (yr-burger*), mises en page en !important pour résister au CSS d'Elementor et du thème */
.youna-refonte .yr-burger{display:none !important;position:relative}
.youna-refonte .yr-burger>summary{list-style:none}
.youna-refonte .yr-burger>summary::-webkit-details-marker{display:none}
.youna-refonte .yr-burger__btn{display:grid !important;place-items:center;width:46px;height:46px;min-width:46px;padding:0;margin:0;cursor:pointer;border:1px solid var(--field-border,#6F8A7B) !important;border-radius:14px !important;background:#fff !important;color:var(--brand-green,#146C43) !important;line-height:1;visibility:visible !important;opacity:1 !important;-webkit-tap-highlight-color:transparent;transition:background-color .2s,border-color .2s}
.youna-refonte .yr-burger__btn:hover,.youna-refonte .yr-burger[open]>.yr-burger__btn{background:var(--mint,#EAF6EE) !important;border-color:var(--brand-green,#146C43) !important}
.youna-refonte .yr-burger__btn:focus-visible{outline:3px solid var(--navy,#082F49);outline-offset:2px}
.youna-refonte .yr-burger__bars{position:relative;display:block;width:20px;height:14px}
.youna-refonte .yr-burger__bars span{position:absolute;left:0;display:block;width:20px;height:2px;border-radius:2px;background:currentColor;transition:transform .25s ease,top .25s ease,opacity .15s ease}
.youna-refonte .yr-burger__bars span:nth-child(1){top:0}
.youna-refonte .yr-burger__bars span:nth-child(2){top:6px}
.youna-refonte .yr-burger__bars span:nth-child(3){top:12px}
.youna-refonte .yr-burger[open] .yr-burger__bars span:nth-child(1){top:6px;transform:rotate(45deg)}
.youna-refonte .yr-burger[open] .yr-burger__bars span:nth-child(2){opacity:0}
.youna-refonte .yr-burger[open] .yr-burger__bars span:nth-child(3){top:6px;transform:rotate(-45deg)}
.youna-refonte .yr-burger__backdrop{display:none}
.youna-refonte .yr-burger__panel{position:absolute !important;right:0;top:calc(100% + 10px);width:min(340px,88vw);background:#fff;border:1px solid var(--line,#DCE8E0);border-radius:18px;box-shadow:0 24px 48px rgba(8,47,73,.16);overflow:hidden;z-index:60}
.youna-refonte .yr-burger__list{display:block !important;list-style:none !important;margin:0 !important;padding:6px 0 0 !important}
.youna-refonte .yr-burger__list li{display:block !important;margin:0 !important;padding:0 !important;list-style:none !important}
.youna-refonte .yr-burger__panel,.youna-refonte .yr-burger__panel *{box-sizing:border-box !important}
.youna-refonte .yr-burger__panel{overflow-x:hidden !important}
.youna-refonte .yr-burger__list,.youna-refonte .yr-burger__list li{width:auto !important;max-width:100% !important;min-width:0 !important}
.youna-refonte .yr-burger__list .yr-burger__link{width:100% !important;max-width:100% !important;min-width:0 !important;margin:0 !important;float:none !important}
.youna-refonte .yr-burger__link{position:relative;display:block !important;padding:16px 52px 16px 24px !important;border-bottom:1px solid #EDF3EF;color:var(--navy,#082F49) !important;font-size:1.0625rem;font-weight:700;line-height:1.3;text-decoration:none !important;text-transform:none;letter-spacing:0;background:transparent;transition:background-color .15s,color .15s}
.youna-refonte .yr-burger__link::after{content:"";position:absolute;right:22px;top:50%;width:8px;height:8px;margin-top:-5px;border-right:2px solid currentColor;border-top:2px solid currentColor;transform:rotate(45deg);opacity:.55}
.youna-refonte .yr-burger__link:hover,.youna-refonte .yr-burger__link:focus-visible{color:var(--brand-green,#146C43) !important;background:var(--mint,#EAF6EE)}
.youna-refonte .yr-burger__link.is-active,.youna-refonte .yr-burger__list .current-menu-item>.yr-burger__link{color:var(--brand-green,#146C43) !important;background:var(--mint,#EAF6EE);box-shadow:inset 4px 0 0 var(--brand-green,#146C43)}
.youna-refonte .yr-burger__list li.yr-mobile-only{padding:18px 20px 20px !important}
.youna-refonte .yr-burger__list li.yr-mobile-only .yr-burger__link{display:block !important;padding:15px 20px !important;border:0;border-radius:14px;background:var(--brand-green,#146C43) !important;color:#fff !important;text-align:center;box-shadow:0 12px 24px rgba(20,108,67,.22)}
.youna-refonte .yr-burger__list li.yr-mobile-only .yr-burger__link::after{display:none}
.youna-refonte .yr-burger__list li.yr-mobile-only .yr-burger__link:hover,.youna-refonte .yr-burger__list li.yr-mobile-only .yr-burger__link:focus-visible{background:var(--hover-green,#0F5132) !important;color:#fff !important}
.youna-refonte .yr-burger__list li:nth-last-child(2) .yr-burger__link{border-bottom:0}
/* animations (désactivées si le visiteur demande moins de mouvement) */
@keyframes yr-menu-in{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@keyframes yr-menu-out{from{opacity:1;transform:none}to{opacity:0;transform:translateY(-10px)}}
@keyframes yr-menu-item{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes yr-menu-fade{from{opacity:0}to{opacity:1}}
.youna-refonte .yr-burger[open] .yr-burger__panel{animation:yr-menu-in .24s cubic-bezier(.2,.7,.2,1) both}
.youna-refonte .yr-burger.is-closing .yr-burger__panel{animation:yr-menu-out .16s ease-in both}
.youna-refonte .yr-burger[open] .yr-burger__list>li{animation:yr-menu-item .32s cubic-bezier(.2,.7,.2,1) both}
.youna-refonte .yr-burger[open] .yr-burger__list>li:nth-child(1){animation-delay:.04s}
.youna-refonte .yr-burger[open] .yr-burger__list>li:nth-child(2){animation-delay:.08s}
.youna-refonte .yr-burger[open] .yr-burger__list>li:nth-child(3){animation-delay:.12s}
.youna-refonte .yr-burger[open] .yr-burger__list>li:nth-child(4){animation-delay:.16s}
.youna-refonte .yr-burger[open] .yr-burger__list>li:nth-child(5){animation-delay:.2s}
.youna-refonte .yr-burger[open] .yr-burger__list>li:nth-child(n+6){animation-delay:.24s}
@media (prefers-reduced-motion:reduce){
  .youna-refonte .yr-burger[open] .yr-burger__panel,.youna-refonte .yr-burger.is-closing .yr-burger__panel,.youna-refonte .yr-burger[open] .yr-burger__list>li,.youna-refonte .yr-burger[open] .yr-burger__backdrop{animation:none !important}
  .youna-refonte .yr-burger__bars span,.youna-refonte .yr-burger__btn,.youna-refonte .yr-burger__link{transition:none !important}
}
/* avec le script : fond sombre derrière le menu et page figée tant qu'il est ouvert */
.yr-js .youna-refonte .yr-burger[open] .yr-burger__backdrop{display:block;position:fixed;left:0;right:0;bottom:0;top:var(--yr-menu-top,0);background:rgba(8,47,73,.45);z-index:59;animation:yr-menu-fade .2s ease-out both}
.yr-js .youna-refonte .yr-burger.is-closing .yr-burger__backdrop{opacity:0;transition:opacity .16s}
html.yr-menu-open{overflow:hidden}
.youna-refonte.yr-header.yr-sticky{position:sticky;top:0}
body.admin-bar .youna-refonte.yr-header.yr-sticky{top:32px}
@media (max-width:782px){body.admin-bar .youna-refonte.yr-header.yr-sticky{top:46px}}
@media (max-width:1050px){
  .youna-refonte .yr-nav .elementor-nav-menu--main{display:none !important}
  .youna-refonte .yr-burger{display:block !important}
  /* le bouton du menu passe tout à droite, après les boutons d'action */
  .youna-refonte .yr-header-main .yr-c-inner{justify-content:flex-start !important}
  .youna-refonte .yr-header-main .yr-logo{margin-right:auto}
  .youna-refonte .yr-header-main .yr-nav{order:3;flex:none}
}
/* dès 768 px le bouton « Demander un devis » est déjà dans le header : pas de doublon dans le menu */
@media (min-width:768px){.youna-refonte .yr-burger__list li.yr-mobile-only{display:none !important}}
/* tablette (avec le script) : carte alignée à droite, juste sous le header */
@media (min-width:768px) and (max-width:1050px){
  .yr-js .youna-refonte .yr-nav,.yr-js .youna-refonte .yr-burger{position:static}
  .yr-js .youna-refonte .yr-burger__panel{position:fixed !important;right:20px;left:auto;top:calc(var(--yr-menu-top,80px) + 8px);max-height:calc(100vh - var(--yr-menu-top,80px) - 28px);max-height:calc(100dvh - var(--yr-menu-top,80px) - 28px);overflow-y:auto;overscroll-behavior:contain}
}
/* mobile : le menu occupe toute la largeur, sous le header (avec le script ; sans lui, carte déroulante) */
@media (max-width:767px){
  .yr-js .youna-refonte .yr-nav{position:static}
  .yr-js .youna-refonte .yr-burger{position:static}
  .yr-js .youna-refonte .yr-burger__panel{position:fixed !important;left:0;right:0;top:var(--yr-menu-top,72px);width:auto;max-height:calc(100vh - var(--yr-menu-top,72px));max-height:calc(100dvh - var(--yr-menu-top,72px));overflow-y:auto;overscroll-behavior:contain;border-radius:0 0 22px 22px;border-width:1px 0 0}
}
@media (max-width:767px){.youna-refonte .elementor-hidden-mobile{display:none !important}}

/* Rendu : base typographique et en-tête */
.youna-refonte{line-height:1.6}
.youna-refonte h1,.youna-refonte h2,.youna-refonte h3,.youna-refonte h4,.youna-refonte h5,.youna-refonte h6{font-family:var(--font-title);color:inherit;font-style:normal}
.youna-refonte .yr-header-main .yr-c-inner{flex-wrap:nowrap}
.youna-refonte .yr-nav{flex:1 1 auto;display:flex;justify-content:center;min-width:0}
.youna-refonte .yr-nav .elementor-widget-container{display:flex;align-items:center}
.youna-refonte .yr-nav .elementor-nav-menu{flex-wrap:nowrap}
.youna-refonte .yr-nav .elementor-item{white-space:nowrap}
.youna-refonte .yr-logo,.youna-refonte .yr-logo-text{flex:none;white-space:nowrap}
.youna-refonte .yr-header-actions{flex:none}
.youna-refonte.yr-footer .yr-logo .yr-logo-text{color:#fff}
.youna-refonte .yr-topbar p,.youna-refonte .yr-topbar .elementor-icon-list-text{line-height:1.4}
@media (max-width:1050px){.youna-refonte .yr-nav{flex:0 0 auto}}
.youna-refonte .yr-header-actions{width:auto}
.youna-refonte .yr-header-actions>.elementor-widget{flex:none}
.youna-refonte .yr-topbar-left,.youna-refonte .yr-topbar-right{flex-direction:row;align-items:center;width:auto}
.youna-refonte .yr-section-head>.yr-section-head-text{flex:1 1 0;min-width:0}
.youna-refonte .yr-section-head>.elementor-widget-button{flex:none;width:auto}
@media (max-width:640px){
  .youna-refonte .yr-header-actions .yi-qbadge__label{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .youna-refonte .yr-header-main .yr-c-inner{gap:10px}
}
.youna-refonte .yr-floating{width:auto}
.youna-refonte .yr-admin-notice{margin:0 0 14px;padding:12px 16px;border:1px solid #8A5A00;border-radius:12px;background:#FFF7E6;color:#5C3B00;font-size:.9rem;line-height:1.5}
