.elementor-kit-6{--e-global-color-primary:#9F8F73;--e-global-color-secondary:#EC672C;--e-global-color-text:#101820;--e-global-color-accent:#ABC8CA;--e-global-color-ee47a03:#D8D4CD;--e-global-color-7455deb:#504634;--e-global-typography-primary-font-family:"Rubik";--e-global-typography-secondary-font-family:"Rubik";--e-global-typography-secondary-font-weight:800;--e-global-typography-text-font-family:"Nunito Sans";--e-global-typography-text-font-size:16px;--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Nunito Sans";--e-global-typography-accent-font-weight:700;font-family:"Nunito", Sans-serif;}.elementor-kit-6 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1560px;}.e-con{--container-max-width:1560px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}:root { --largeursite:1440px; --bordurecolor:#EAEDF0; --orange:#EC672C; --fond_boite:#1018206b; --blanc:#ffffff; --texte_noir:#101820; --police_titre:Rubik; --border_menu:#D6DBE0; }
/* Start custom CSS *//* AT-HEADER:start */
.at-logo{flex-shrink:0}
.at-logo img{height:46px;width:auto;max-width:none}
.at-header{z-index:200;position:relative}
.at-btn .elementor-button-icon svg{width:18px;height:18px;display:block}
.at-btn-rotate .elementor-button-icon svg{transition:transform 300ms cubic-bezier(0.2,0.6,0.2,1)}
.at-btn-rotate:hover .elementor-button-icon svg{transform:rotate(90deg)}
.at-icon-sq .elementor-icon{transition:background 120ms cubic-bezier(0.2,0.6,0.2,1)}
@media (max-width:1024px){.at-capsule{background:transparent;border:none;box-shadow:none;padding:0;}}
/* AT-HEADER:end */

/* AT-HOME:start */
.at-boxed{max-width:1520px;margin-left:auto!important;margin-right:auto!important}
#equipe .at-reveal{max-width:900px;margin-left:auto;margin-right:auto}
#faq .at-boxed{max-width:820px}
.at-glass{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.at-hero-h1 em{font-style:normal;color:#EC672C}
.at-hero-card{transition:transform 200ms cubic-bezier(.2,.6,.2,1),background-color 200ms cubic-bezier(.2,.6,.2,1)}
.at-hero-card:hover{transform:translateY(-4px);background-color:#F5F7F8}
.at-img-1610 img{width:100%;aspect-ratio:16/10;object-fit:cover;display:block}
.at-img-43 img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.at-img-169 img{width:100%;aspect-ratio:16/9;object-fit:cover;display:block}
.at-img-34 img{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:top;display:block}
.at-img-prod img{width:100%;aspect-ratio:4/3.4;object-fit:cover;display:block}
.at-maxw-380 img{max-width:380px}
.at-maxw-520{max-width:520px}
.at-maxw-56ch{max-width:56ch}
.at-maxw-60ch{max-width:60ch;margin-left:auto;margin-right:auto}
.at-maxw-62ch{max-width:62ch;margin-left:auto;margin-right:auto}
.at-maxw-34ch{max-width:34ch}
.at-social .elementor-icon{border-color:rgba(255,255,255,0.5);transition:background-color 120ms,border-color 120ms}
.at-social-footer .elementor-icon{border-color:rgba(255,255,255,0.3)}
.at-social:hover .elementor-icon{background-color:#EC672C;border-color:#EC672C}
.at-social svg{fill:#fff}
.at-gavis{line-height:0}
.at-gavis img{height:40px;width:auto;display:block;transition:opacity 150ms}
.at-gavis a:hover img{opacity:.85}
.at-tags span{display:inline-block;background:#F5F7F8;border:1px solid #EAEDF0;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:600;color:#101820;margin:0 6px 6px 0;font-family:'Nunito Sans',sans-serif}
.at-tags-card span{background:#fff}
/* adversaire : .e-con.e-flex{flex-grow:var(--flex-grow)} (0,2,0) */
.e-con.e-flex.at-prod-body{flex-grow:1}
.at-prod-card{transition:transform 200ms cubic-bezier(.2,.6,.2,1),box-shadow 200ms cubic-bezier(.2,.6,.2,1)}
.at-prod-card:hover{transform:translateY(-4px);box-shadow:0 16px 36px rgba(16,24,32,0.14),0 4px 10px rgba(16,24,32,0.07)}
.at-faq .e-n-accordion-item{margin-bottom:10px}
.at-faq .e-n-accordion-item-title-icon svg{transition:transform 250ms ease}
.at-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon svg{transform:rotate(180deg)}
.at-footer-logo img{height:40px;width:auto}
#avis,#atelier,#bureau,#bapteme,#stages,#greolieres,#batiment,#equipe,#faq,#contact{scroll-margin-top:96px}
@media (max-width:1024px){
  .at-order-first-tablet{order:-1}
}
/* AT-HOME:end */

/* AT-FIXES:start */
html{scroll-behavior:auto!important}
.at-hero .e-con.at-glass:not(.at-hero-card),.at-hero .e-con.at-follow,.at-hero .elementor-widget.at-gavis{width:fit-content}
.at-quote{width:fit-content;max-width:280px}
.at-capsule{flex-shrink:0}
.at-capsule .elementor-widget-jet-mega-menu{width:auto}
.at-capsule .jet-mega-menu .jet-mega-menu-list{flex-wrap:nowrap!important}
.at-btn .elementor-button{white-space:nowrap}
@media (min-width:1025px) and (max-width:1330px){
  .at-nav .jet-mega-menu-item__link,.at-nav .jet-mega-menu-item > a{padding-left:7px;padding-right:7px}
  .at-capsule .at-btn .elementor-button{padding-left:16px;padding-right:16px}
  .at-capsule{padding-left:12px}
}
@media (min-width:1025px) and (max-width:1200px){
.at-nav .jet-mega-menu-item__link,.at-nav .jet-mega-menu-item > a{padding-left:5px;padding-right:5px}
.at-nav .jet-mega-menu-item__title,.at-nav .jet-mega-menu-item__label{font-size:14px}
.at-capsule .at-btn .elementor-button{padding-left:12px;padding-right:12px;font-size:14px}
.at-header{gap:10px}
}
/* AT-FIXES:end */

/* AT-FIXES2:start */
.at-faq .e-n-accordion-item-title{justify-content:space-between}
.at-faq .e-n-accordion-item-title-icon{color:#EC672C}
.at-faq svg[fill="none"]{fill:none!important}
#contact .elementor-widget-image{text-align:left}
#contact .elementor-icon-list-icon:empty{display:none}
/* AT-FIXES2:end */

/* AT-FIXES3:start */
@media (max-width:1024px){
  .at-header{flex-wrap:nowrap}
  .at-capsule{order:3;width:auto!important;flex-shrink:1;position:static}
  .at-header-icons{order:2;margin-left:auto!important;width:auto!important}
  .at-capsule .elementor-widget-jet-mega-menu{width:auto}
  .jet-mega-menu-toggle{width:46px;height:46px;box-sizing:border-box;border-radius:12px;background:#F5F7F8;display:flex;align-items:center;justify-content:center;padding:0}
  .jet-mega-menu-toggle svg{width:24px;height:24px;color:#101820}
  .at-header .elementor-widget-jet-mega-menu,.at-header .elementor-widget-jet-mega-menu > .elementor-widget-container,.at-header .jet-mega-menu--layout-dropdown{position:static}
  .at-header .jet-mega-menu-container{position:absolute!important;left:16px!important;right:16px!important;top:100%!important;width:auto!important;min-width:0!important;background:#fff;border-radius:16px;border:1px solid #EAEDF0;box-shadow:0 12px 28px rgba(16,24,32,0.12);padding:8px;z-index:400}
}
.at-header .jet-mega-menu-container .jet-mega-menu-item__title{color:#101820;font-family:'Nunito Sans',sans-serif;font-weight:700}
.at-header .jet-mega-menu-container .jet-mega-menu-item__inner:hover .jet-mega-menu-item__title{color:#D9551B}
@media (max-width:1024px){.e-con.e-grid{--e-con-grid-template-rows:auto}}
/* AT-FIXES3:end */

/* AT-RETOURS:start */
/* #2 hero : --width:100% + marges 20px = débordement horizontal -> width:auto */
.at-hero{width:auto!important;max-width:1520px;margin-left:max(20px,calc((100% - 1520px)/2))!important;margin-right:max(20px,calc((100% - 1520px)/2))!important}
/* #3 avis : contenu calé sur la largeur du site (1200) au lieu de 100% */
@media (min-width:1025px){
  #avis{padding-left:max(20px,calc((100% - 1560px)/2))!important;padding-right:max(20px,calc((100% - 1560px)/2))!important}
}
/* #4 icône SVG fill:none peinte en aplat au survol par la règle bouton d'Elementor */
.at-btn svg[fill="none"]{fill:none!important}
/* #5 conteneur panier/compte : largeur contenu, pas 100% */
.at-header-icons{width:auto!important;flex-shrink:0}
/* #6 animations boutons : roll vertical du texte + flèche qui glisse */
.at-btn .elementor-button-text{display:inline-grid;overflow:hidden}
.at-btn .elementor-button-text .roll{grid-area:1/1;display:block;transition:transform 300ms cubic-bezier(0.2,0.6,0.2,1)}
.at-btn .elementor-button-text .roll + .roll{transform:translateY(115%)}
.at-btn .elementor-button:hover .roll:first-child{transform:translateY(-115%)}
.at-btn .elementor-button:hover .roll + .roll{transform:translateY(0)}
.at-btn-arrow .elementor-button-icon{transition:transform 300ms cubic-bezier(0.2,0.6,0.2,1)}
.at-btn-arrow .elementor-button:hover .elementor-button-icon{transform:translateX(4px)}
/* #9 header aligné sur le cadre 1440 du hero */
.at-header{padding-left:max(20px,calc((100% - 1520px)/2))!important;padding-right:max(20px,calc((100% - 1520px)/2))!important}
.at-header{--justify-content:space-between!important}
.at-header > .e-con-inner{justify-content:space-between!important}
/* #10 FAQ : carte blanche englobant question + réponse (comme la maquette) */
.at-faq .e-n-accordion-item{background:#fff;border:1px solid #EAEDF0;border-radius:16px;overflow:hidden}
.at-faq .e-n-accordion-item-title{background:transparent!important;border:none!important;border-radius:0!important;padding:16px 20px!important}
.at-faq .e-n-accordion-item > .e-con{background:transparent!important;border:none!important;box-shadow:none!important;margin:0!important;padding:0 20px 16px 20px!important}
/* AT-RETOURS:end */

/* AT-FLOAT:start */
.at-float-wrap{position:fixed!important;top:0;left:0;right:0;width:auto!important;max-width:none!important;z-index:200;pointer-events:none}
@media (max-width:1024px){.at-float-wrap{display:none!important}}
.at-float-pill{width:fit-content!important;max-width:min(calc(100% - 40px),1520px);margin:10px auto 0!important;background:rgba(255,255,255,0.72);backdrop-filter:blur(16px) saturate(1.4);-webkit-backdrop-filter:blur(16px) saturate(1.4);border:1px solid rgba(16,24,32,0.08);border-radius:999px;box-shadow:0 12px 28px rgba(16,24,32,0.12),0 4px 8px rgba(16,24,32,0.06);transform:translateY(-130%);transition:transform .9s cubic-bezier(0.22,1,0.36,1);pointer-events:none}
.at-float-wrap.at-float-visible .at-float-pill{transform:translateY(0);pointer-events:auto}
.at-float-logo img{height:34px;width:auto;max-width:none}
.at-float-pill .elementor-widget-jet-mega-menu{width:auto}
.at-float-pill .jet-mega-menu .jet-mega-menu-list{flex-wrap:nowrap!important}
.at-float-contact .elementor-icon{transition:background-color 120ms cubic-bezier(0.2,0.6,0.2,1)}
.at-float-contact .elementor-icon svg{stroke:#fff;fill:none!important}
/* AT-FLOAT:end */

/* AT-MAJ:start */
/* pastille Contact ronde (header + pilule flottante) */
.at-icon-round .elementor-icon{transition:background-color 120ms cubic-bezier(0.2,0.6,0.2,1)}
.at-icon-round .elementor-icon svg{stroke:#fff;fill:none!important}
/* cartes baptêmes : rangée de cellules âge / durée / prix */
.at-specs{margin-top:auto}
.at-specs > .elementor-element{flex:1 1 0!important;min-width:0;width:auto!important;padding:12px 6px 0;margin:0}
.at-specs .elementor-icon-box-title{margin:0;min-height:2.7em}
.at-specs .elementor-icon svg{display:block}
/* hero + reveal scroll : apparition en cascade (keyframes uniques) */
@keyframes atHeroCardIn{from{opacity:0;transform:translateY(36px) scale(.97);filter:blur(5px)}to{opacity:1;transform:none;filter:blur(0)}}
.at-hero-card{animation:atHeroCardIn .9s cubic-bezier(0.16,1,0.3,1) backwards}
.at-hero-card:nth-child(1){animation-delay:.15s}
.at-hero-card:nth-child(2){animation-delay:.27s}
.at-hero-card:nth-child(3){animation-delay:.39s}
.at-hero-card:nth-child(4){animation-delay:.51s}
/* boutons : l'icône de gauche suit le roll vertical du texte (sauf rotate/arrow) */
.at-btn .elementor-button-icon{display:inline-grid;overflow:hidden}
.at-btn .elementor-button-icon .roll-i{grid-area:1/1;display:inline-flex;transition:transform 300ms cubic-bezier(0.2,0.6,0.2,1)}
.at-btn .elementor-button-icon .roll-i+.roll-i{transform:translateY(115%)}
.at-btn .elementor-button:hover .elementor-button-icon .roll-i:first-child{transform:translateY(-115%)}
.at-btn .elementor-button:hover .elementor-button-icon .roll-i+.roll-i{transform:translateY(0)}
/* pilules hero : même hauteur 46px (icônes sans jeu de line-height, min-height sur la pilule avis) */
.at-follow .elementor-widget-icon .elementor-icon-wrapper{display:flex}
/* AT-MAJ:end */

/* AT-MOBMENU:start */
@media (max-width:1024px){
/* header sur une seule ligne : logo | panier | hamburger */
.at-header > .e-con-inner{flex-wrap:nowrap!important;gap:12px!important}
.at-header .at-logo{min-width:0;flex-shrink:1;width:auto!important}
.at-header .at-logo img{width:auto;max-height:48px;max-width:100%}
/* capsule desktop neutralisee (le CSS genere d Elementor gagne sinon) */
.at-capsule{background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;border-radius:0!important}
/* ancrage du panneau mobile au header (annule le relative de la chaine) */
.at-capsule,
.at-capsule .elementor-widget-jet-mega-menu,
.at-capsule .elementor-widget-jet-mega-menu > .elementor-widget-container,
.at-header .jet-mobile-menu,
.at-header .jet-mobile-menu__instance{position:static!important}
.at-header .jet-mobile-menu__container{position:absolute;top:100%!important;left:0!important;right:0!important;bottom:auto!important;width:auto!important;max-width:none!important;background:#fff;border-top:1px solid #EAEDF0;box-shadow:0 24px 40px -12px rgba(16,24,32,.18);z-index:400}
.at-header .jet-mobile-menu__container-inner{height:auto!important;max-height:min(80vh,calc(100vh - 120px));overflow-y:auto}
/* toggle carre arrondi 46px comme la maquette */
.jet-mobile-menu__toggle{border-radius:12px;box-shadow:none!important;transition:background .2s ease}
.jet-mobile-menu__toggle:hover{background:#EAEDF0}
/* focus : JetMenu pose un outline bleu en style inline */
.jet-mobile-menu__item-inner{outline:none!important}
.jet-mobile-menu__item-inner:focus-visible{box-shadow:inset 0 0 0 2px rgba(236,103,44,.35)}
/* sous-menu accordeon : liens compacts, sans filet, legerement indentes */
.at-header .jet-mobile-menu__item .jet-mobile-menu__list{padding:0 0 12px 0!important}
.at-header .jet-mobile-menu__item .jet-mobile-menu__list .jet-mobile-menu__item{padding:0!important;border:0!important}
.at-header .jet-mobile-menu__item .jet-mobile-menu__list .jet-mobile-menu__item-inner{padding:10px 20px 10px 28px!important}
.at-header .jet-mobile-menu__item .jet-mobile-menu__list .jet-mobile-menu__item-inner::before,
.at-header .jet-mobile-menu__item .jet-mobile-menu__list .jet-mobile-menu__item-inner::after,
.at-header .jet-mobile-menu__item .jet-mobile-menu__list .jet-mobile-menu__item::before,
.at-header .jet-mobile-menu__item .jet-mobile-menu__list .jet-mobile-menu__item::after{display:none!important}
}
@media (max-width:767px){
/* boutons empiles sur mobile : respiration entre les deux */
.at-mm-actions{row-gap:10px}
.at-mm-actions > .e-con{padding:0!important}
}
/* AT-MOBMENU:end */

/* AT-CHIFFRES:start */
/* bandeau chiffres clés (#chiffres) : grille auto + 4 col — adversaire : .e-con{display:var(--display)} (0,1,0) */
.e-con.at-stats{display:grid;grid-template-columns:auto repeat(4,minmax(0,1fr));gap:40px;align-items:center}
.at-stats > .e-con{min-width:0}
.at-stats > .at-stat-intro{max-width:240px}
.at-stat .elementor-heading-title{display:flex;align-items:baseline}
.at-stat-n{font-family:Rubik,sans-serif;font-weight:800;font-size:44px;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.at-stat-u{font-family:Rubik,sans-serif;font-weight:800;font-size:26px;color:#EC672C}
#chiffres{scroll-margin-top:96px}
@keyframes atStatIn{from{opacity:0;transform:translateX(-22px);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}
/* seuil 1080 dicté par la maquette (intro + 4 stats trop serrées), pas un breakpoint Elementor */
@media (max-width:1080px){
.e-con.at-stats{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}
.at-stats > .at-stat-intro{grid-column:1/-1;max-width:none}
}
/* AT-CHIFFRES:end */

/* AT-MOBGUT:start */
/* mobile ≤767 : gouttières 10px PARTOUT — sections/footer via padding_mobile (settings) */
@media (max-width:767px){
/* hero pleine largeur (écrase les marges max(20px,…) d'AT-RETOURS), contenu à 10px via padding */
.at-hero{margin-left:0!important;margin-right:0!important}
/* logo header 28px (maquette .at-nav-logo) — base 46px dans AT-HEADER */
.at-logo img{height:28px}
/* header : bat le padding max(20px,50% - 760px)!important du bloc largeur-1520 (même feuille, chargé avant) */
.at-header{padding:14px 10px!important}
/* neutralise le padding LATÉRAL PAR DÉFAUT (10px) des conteneurs imbriqués sous .at-boxed,
   qui s'additionnait aux 10px des sections (contenu à 20-30px du bord). (0,2,0) : les
   paddings posés en settings émettent du (0,3,0) et restent gagnants (cartes, bandes). */
.at-boxed .e-con{--padding-left:0px;--padding-right:0px}
}
/* padding hero ≤600 : les vars --padding-* du CSS généré (0,3,0) exigent !important */
@media (max-width:600px){
.at-hero{--padding-top:110px!important;--padding-right:10px!important;--padding-bottom:14px!important;--padding-left:10px!important}
}
/* AT-LOT2:start */
/* specs en bas de carte : margin-top:auto perdu face aux marges logiques e-con -> forcer */
.e-con.at-specs{margin-top:auto!important;margin-block-start:auto!important}
/* AT-LOT2:end */

/* AT-LOT3:start */
/* H2 bicolores : segment clé en orange (même motif que le H1 .at-hero-h1) */
h2.elementor-heading-title em{font-style:normal;color:#EC672C}
/* hero blanc : icônes sociales encre, bordure ink-400 ; blanc au survol (fond orange, règle AT-HOME) */
.at-hero .at-social .elementor-icon{transition:background-color 120ms,transform 120ms}
.at-hero .at-social:hover .elementor-icon{transform:translateY(-2px)}
/* sous-titre hero centré (max-width 520 + marges auto) */
.at-hero .at-maxw-520{margin-left:auto;margin-right:auto}
/* cartes produits : description 3 lignes max */
.at-prod-body .elementor-widget-text-editor p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;margin:0}
/* AT-LOT3:end */

/* AT-NAVRESP:start — navbar responsive (Navbar.jsx v3) */
/* sigle reduit : cache par defaut, remplace le logo horizontal en 1025-1366 */
.at-logo-mark{flex-shrink:0}
.elementor-widget.at-logo-mark{display:none}
.at-logo-mark img{height:34px;width:auto;max-width:none}
@media (max-width:1366px) and (min-width:1025px){
  .at-header .elementor-widget.at-logo{display:none!important}
  .at-header .elementor-widget.at-logo-mark{display:block!important}
}
@media (max-width:1366px) and (min-width:1025px){
  /* JetMenu pose padding:0 7px sur les liens top-level <=1300 : deborde la capsule 851px */
  .at-capsule .jet-mega-menu-item__link--top-level{padding:0!important}
}
/* capsule : largeur au contenu a TOUTES les largeurs desktop (le width 851px des settings
   est calibre au pixel pres -> toute variation de rendu des polices ecrase la pastille
   mail en ellipse ou fait deborder le CTA, vu sur /magasin/) + pastille incompressible */
@media (min-width:1025px){
  .e-con.at-capsule{width:fit-content!important;max-width:100%}
  .at-capsule .elementor-widget.at-icon-round{flex-shrink:0}
}
/* <=1024 : tailles de logo maquette (le double header vit dans AT-DBLHDR) */
@media (max-width:1024px){
  /* bat AT-MOBMENU max-height:48 (0,2,1 meme feuille chargee avant) */
  .at-header .at-logo img{height:30px}
}
@media (max-width:767px){
  /* bat le .at-logo img{height:28px} d AT-MOBGUT */
  .at-header .at-logo img{height:26px}
}
/* AT-NAVRESP:end */

/* AT-CONTACT:start — contact mobile Appeler/WhatsApp + pilules tiroir (prompt contact-mobile) */
/* bouton tel : cache desktop ; <=1024 il prend la place du panier (order:2 + margin auto, cf .at-header-icons dans AT-HEADER) */
.elementor-widget.at-contact-mob{display:none}
@media (max-width:1024px){
.at-header .at-header-icons{display:none!important}
.elementor-widget.at-contact-mob{display:block;order:2;margin-left:auto!important;width:auto!important;position:static}
.at-cmob-btn{width:46px;height:46px;display:grid;place-items:center;background:#F5F7F8;border:0;border-radius:12px;color:#101820;cursor:pointer;padding:0;transition:background .2s ease,color .2s ease}
.at-cmob-btn:hover{background:#EAEDF0}
.at-cmob-btn svg{width:20px;height:20px;display:block}
.at-cmob-ic-close{display:none}
.at-contact-mob.is-open .at-cmob-btn{background:#101820;color:#fff}
.at-contact-mob.is-open .at-cmob-btn:hover{background:#101820}
.at-contact-mob.is-open .at-cmob-ic-close{display:block}
.at-contact-mob.is-open .at-cmob-ic-phone{display:none}
/* panneau sous la barre — ancre .at-header (position:relative des .e-con ; chaine interne statique) */
.at-cmob-panel{display:none;position:absolute;top:100%;left:0;right:0;z-index:400;background:#fff;border-top:1px solid #EAEDF0;padding:14px 20px;gap:10px;box-shadow:0 24px 40px -12px rgba(16,24,32,.18)}
.at-contact-mob.is-open .at-cmob-panel{display:flex}
.at-cmob-cta{flex:1 1 0;display:flex;align-items:center;justify-content:center;gap:9px;min-height:50px;border-radius:999px;text-decoration:none!important;font-family:'Nunito Sans',sans-serif;font-weight:700;font-size:15px;color:#fff!important;transition:background .2s ease}
.at-cmob-call{background:#EC672C}.at-cmob-call:hover{background:#D9551B}
.at-cmob-wa{background:#25D366}.at-cmob-wa:hover{background:#1FBF5B}
.at-cmob-cta-ic{width:19px;height:19px;display:block;flex-shrink:0}
.at-cmob-cta-ic svg{width:100%;height:100%;display:block}
}
/* pilules tiroir : icones 18px (le widget button n'a pas de controle de taille d'icone) + hauteur 50 garantie */
.at-mm-pills .elementor-button-icon svg{width:18px;height:18px;display:block}
.at-mm-pills .elementor-button{min-height:50px;display:flex;align-items:center;justify-content:center;box-sizing:border-box}
/* AT-CONTACT:end */

/* AT-DBLHDR:start — double header mobile <=1024 (prompt double-header-mobile) :
   .at-header sticky Elementor, TRANSPARENT ; l'apparence est portée par son .e-con-inner.
   Etats poses par le JS du header (widget cdf3419) : .at-nav-mob-hide (scroll bas, y>90)
   et .at-nav-mob-pill (y>90 => pilule givrée au logo mark). */
@media (max-width:1024px){
  /* adversaires : background_color settings (0,3,0) + anciennes regles frosted !important */
  .at-header{background:transparent!important;border:0!important;
    -webkit-backdrop-filter:none;backdrop-filter:none;height:auto;
    padding:0 20px!important;--padding-top:0px;--padding-bottom:0px}
  /* position:relative : ancre UNIQUE des panneaux absolus (sinon le backdrop-filter de la
     pilule devient bloc conteneur et l'ancrage saute entre header et pilule selon l'etat).
     padding:0!important : bat la consommation des vars --padding-* des settings (14px). */
  .at-header > .e-con-inner{position:relative;padding:0!important;min-height:60px;
    align-items:center;box-sizing:border-box;
    transition:transform .45s cubic-bezier(0.22,1,0.36,1)}
  /* masqué : glisse vers le haut */
  .at-header.at-nav-mob-hide > .e-con-inner{transform:translateY(-135%)}
  /* pilule givrée (identique pill desktop AT-FLOAT) — padding !important : bat le
     padding:0!important de la regle de base ci-dessus (meme feuille, chargée avant) */
  .at-header.at-nav-mob-pill > .e-con-inner{margin-top:10px;min-height:60px;height:60px;
    padding:0 8px 0 12px!important;background:rgba(255,255,255,.72);
    -webkit-backdrop-filter:blur(16px) saturate(1.4);backdrop-filter:blur(16px) saturate(1.4);
    border:1px solid rgba(16,24,32,.08);border-radius:999px;
    box-shadow:0 12px 28px rgba(16,24,32,.12),0 4px 8px rgba(16,24,32,.06)}
  /* pilule : logo mark 32px a la place du logo complet */
  .at-header.at-nav-mob-pill .elementor-widget.at-logo{display:none!important}
  .at-header.at-nav-mob-pill .elementor-widget.at-logo-mark{display:block!important}
  .at-header.at-nav-mob-pill .at-logo-mark img{height:32px}
  /* panneaux (contact + tiroir jet) : cartes flottantes alignées sur la barre/pilule,
     ancrées à l'inner (adversaire jet : left/right 0 !important d'AT-MOBMENU) */
  .at-header .at-cmob-panel,
  .at-header .jet-mobile-menu__container{left:0!important;right:0!important;
    margin-top:8px;border:1px solid rgba(16,24,32,.08)!important;
    border-top:1px solid rgba(16,24,32,.08)!important;border-radius:24px;overflow:hidden;
    box-shadow:0 12px 28px rgba(16,24,32,.12),0 4px 8px rgba(16,24,32,.06)}
}
@media (max-width:767px){
  /* bat le .at-header{padding:14px 10px!important} d AT-MOBGUT */
  .at-header{padding:0 10px!important}
  /* cartes a ~20px du bord alors que la barre est a 10px (maquette : panneau 100%-40) */
  .at-header .at-cmob-panel,
  .at-header .jet-mobile-menu__container{left:10px!important;right:10px!important}
}
/* AT-DBLHDR:end */

/* AT-NAVCENTER:start — capsule centree a toutes les largeurs desktop + panier/compte
   visibles des 1025 (ils etaient masques 1025-1200). Les deux flancs (logo | icones)
   prennent une part flex egale : la capsule tombe au centre du viewport tant qu'il y a
   la place, et retombe sur son contenu quand il n'y en a plus (pas de debordement). */
@media (min-width:1025px){
  .at-header > .e-con-inner{justify-content:center!important}
  .at-header .elementor-widget.at-logo,
  .at-header .elementor-widget.at-logo-mark,
  .at-header .at-header-icons{flex:1 1 0!important;min-width:max-content}
  .at-header .at-header-icons{justify-content:flex-end;margin-left:0!important}
  /* le flanc gauche est plus large que le logo : sans ca le widget image (text-align:center
     par defaut) centre le logo dans le flanc au lieu de le laisser au bord */
  .at-header .elementor-widget.at-logo,
  .at-header .elementor-widget.at-logo-mark{text-align:left}
  /* min-width:max-content protege deja les flancs, mais l'image Elementor a max-width:100% */
  .at-header .elementor-widget.at-logo img,
  .at-header .elementor-widget.at-logo-mark img{flex-shrink:0}
  .e-con.at-capsule{flex-shrink:0!important}
  /* wrapper d'icone inline = 6px de descente sous l'icone : le widget mesure 52px pour une
     icone de 46, et l'align-items:center du header remonte l'icone de 3px (pastille mail et
     compte desalignees du panier, qui lui a deja un wrapper flex). */
  .at-header .elementor-widget-icon .elementor-icon-wrapper{display:flex}
}
/* 1025-1200 : ~35px a gagner pour que sigle + capsule + 2 icones tiennent a 1025.
   Les icones panier/compte gardent leur taille (46px) : on comprime la capsule. */
@media (max-width:1200px) and (min-width:1025px){
  .at-header .at-header-icons{gap:6px!important}
  .at-header > .e-con-inner{gap:8px!important}
  .at-nav .jet-mega-menu-item__link,.at-nav .jet-mega-menu-item > a{padding-left:2px!important;padding-right:2px!important}
  .at-capsule .at-btn .elementor-button{padding-left:9px!important;padding-right:9px!important}
  .e-con.at-capsule{padding-left:6px!important;padding-right:6px!important}
}
/* AT-NAVCENTER:end */


/* ===== AT-BTNALIGN — alignement vertical texte/icône des boutons ==========
   Défaut corrigé : .elementor-button-content-wrapper est un flex SANS
   align-items → texte et icône sont ÉTIRÉS à la hauteur du plus grand
   (l'icône, 18px) et la boîte de ligne du texte (15-16px) reste calée EN HAUT
   de cette hauteur : le texte apparaissait 2px trop haut par rapport à l'icône.
   1) on centre au lieu d'étirer (boîtes) ;
   2) on compense le décalage intrinsèque de la fonte : la bande de capitales de
      Nunito Sans est ~.045em au-dessus du centre de la boîte de ligne, ce qui
      laissait encore 0,5 à 1px d'écart optique.
   Mesuré après correctif : écart capitales/icône ≤ 0,28px à toutes les tailles.
   ⚠️ Le .045em vaut pour Nunito Sans (fonte de tous les boutons du site).
      Un bouton passé en Rubik n'a PAS besoin de compensation → top:0 dessus. */
.elementor-widget .elementor-button-content-wrapper{align-items:center}
.elementor-widget .elementor-button-text{position:relative;top:.045em}
.at-btn .elementor-button-text{align-items:center}
.at-btn .elementor-button-icon{align-items:center;justify-items:center}
.at-btn .elementor-button-icon .roll-i{align-items:center;justify-content:center}
/* ===== AT-CRUMB — fil d'ariane commun à tout le site =====================
   Markup et microdonnées schema.org/BreadcrumbList : inc/breadcrumb.php du
   thème enfant (at_breadcrumb() pour les gabarits Woo, [at_crumb] pour les
   pages Elementor). Les styles vivent ici — et pas dans at-shop.css — pour
   être chargés sur TOUTES les pages, pas seulement la boutique. */
.at-crumb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-family:"Nunito Sans",sans-serif;font-size:12.5px;line-height:1.4;color:#62707C}
/* nav.at-crumb (0,2,1) et non .at-crumb (0,2,0) : at-shop.css est chargé APRÈS
   le CSS du kit et y pose .at-shop a{color:var(--orange-400)} à égalité. */
nav.at-crumb a{color:#62707C;text-decoration:none;transition:color .16s ease}
nav.at-crumb a:hover{color:#EC672C}
.at-crumb .at-crumb-i{display:inline-flex;align-items:center}
.at-crumb .at-crumb-i:last-child{color:#101820;font-weight:600}
.at-crumb .at-crumb-sep{flex:0 0 auto;color:#8A95A0}
/* ===== AT-NAVGHOST — fantôme du repli JetMenu sous 1025px ================
   Avec un UA desktop dans une fenêtre étroite, JetMenu sert son repli
   « dropdown » (sur un vrai mobile/tablette c'est le menu Vue jet-mobile-menu
   qui prend la main, ce fantôme n'y existe pas). Deux défauts :
   1) FERMÉ, le panneau se replie en max-height:0 mais le padding 8 + le fond +
      la bordure posés par AT-FIXES3 débordent du max-height → bande grise de
      18px sous le header (le « fantôme » signalé par P-Y) ;
   2) le clone « spacer » que le sticky d'Elementor insère pour réserver la
      hauteur du header embarque ce panneau, dont la liste déborde du viewport
      → barre de défilement horizontale (visible dès le chargement sur les
      pages sans bandeau d'annonce, où le header est collant dès le scroll 0).
   Le panneau ne pèse et ne se voit donc qu'une fois ouvert. */
@media (max-width:1024px){
  .at-header .jet-mega-menu:not(.jet-mega-menu--dropdown-open) .jet-mega-menu-container{visibility:hidden;overflow:hidden!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}
  .elementor-sticky__spacer{overflow:hidden}
  .elementor-sticky__spacer .jet-mega-menu-container{display:none!important}
}

/* ===== AT-PARTNER — pilule de partenariat Ailéments (accueil #bapteme / #stages) ===== */
/* Le widget porte at-pp-wrap ; le conteneur baptêmes est en align-items:center,
   sans width:100% le widget se rétrécit et la pleine largeur mobile ne marche pas. */
.elementor-widget.at-pp-wrap{width:100%}
.at-pp{display:flex;align-items:center;gap:14px;padding:10px 18px 10px 20px;background:#FFFFFF;border:1px solid #EAEDF0;border-radius:999px;box-shadow:0 6px 20px rgba(16,24,32,.07),0 1px 3px rgba(16,24,32,.05);text-decoration:none;color:#2C3845;width:fit-content;max-width:100%;flex-wrap:wrap;transition:border-color .2s cubic-bezier(0.16,1,0.3,1)}
.at-pp-lbl{font-size:12.5px;font-weight:700;letter-spacing:.02em;line-height:1.3;color:#62707C}
.at-pp img.at-pp-logo{height:26px;width:auto;display:block;flex:none;max-width:none}
.at-pp-act{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:700;line-height:1.3;color:#EC672C}
.at-pp-act svg{flex:none}
@media (hover:hover){.at-pp:hover{border-color:#EC672C}}
.at-pp-center{margin:22px auto 0}
.at-pp-left{margin-top:20px}
@media (max-width:767px){.at-pp{width:100%;justify-content:center;text-align:center}}
@media (prefers-reduced-motion:reduce){.at-pp{transition:none}}
/* ===== FIN AT-PARTNER ===== *//* End custom CSS */