/* Royal CakeLand sur WordPress : ajouts à la maquette (chargé après maquette.css). */

/* sections déplaçables dans Elementor : les avis ne recouvrent la vidéo que s'ils la suivent */
.anime .avis{margin-top:0}
.anime .avis.sur-epingle{margin-top:-100vh;margin-top:-100svh}
.anime .heros.sans-relais .heros__chef{visibility:visible}
.anime .voyageur.inactif{display:none}

/* éditeur Elementor : tout est visible, sans mouvement */
html.rc-editeur .heros__cartes{display:block}
.single-elementor_library .elementor-widget-rc_entete,.elementor-template-canvas .elementor-widget-rc_entete{min-height:150px;background:radial-gradient(72% 68% at 50% 52%,#18255d 0%,#0b112c 78%)}
.elementor-template-canvas{background:var(--creme)}

/* téléphone : le tampon tourne aussi, à droite du bouton */
@media (max-width:760px){
  html:not(.prisme) .heros .tampon{display:grid;left:auto;right:var(--bord);top:calc(var(--encoche-h) + 248px);width:72px;height:72px}
  .heros .tampon__r{width:18px}
}
@media (max-width:760px) and (max-height:760px){
  html:not(.prisme) .heros .tampon{top:calc(var(--encoche-h) + 162px)}
}
@media (max-width:349px){
  html:not(.prisme) .heros .tampon{display:none}
}

/* ---------------------------------------------------------------- pied de page */
.pied.pied--v2{background:transparent;color:#dfe3f0}
.pied__corps{padding:clamp(56px,6vw,88px) var(--marge) 26px;border-radius:36px 36px 0 0;background:#0e1233;color:#dfe3f0}
.pied__haut{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px clamp(32px,4vw,64px);padding-bottom:clamp(36px,4vw,56px);border-bottom:1px solid rgba(243,238,230,.12)}
.pied__logo{display:block;text-decoration:none}
.pied__logo img{width:156px;height:auto;filter:brightness(0) invert(1)}
.pied__devise{display:grid;gap:8px;max-width:540px}
.pied__slogan{font-size:clamp(20px,1.8vw,27px);line-height:1.2;letter-spacing:-.025em;color:#f0c27a}
.pied__phrase{font-size:15px;line-height:1.55;color:rgba(223,227,240,.72)}
.pied__cta > span[aria-hidden] svg{width:20px;height:20px;fill:currentColor}
.pied .pilule.pied__cta:hover > span[aria-hidden]{transform:none}

.pied__colonnes{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:40px 32px;padding:clamp(40px,4.5vw,64px) 0}
.pied__titre{margin-bottom:14px;font-size:15px;font-weight:600;letter-spacing:0;line-height:1.4;color:#fff}
.pied__col ul{display:grid;gap:2px;list-style:none}
.pied__col a,.pied__col li > span{position:relative;display:inline-flex;align-items:center;min-height:34px;font-size:15px;color:#fff;text-decoration:none;transition:color .2s}
.pied__col a:after{content:"";position:absolute;left:0;right:0;bottom:6px;height:1px;background:#f0c27a;transform:scaleX(0);transform-origin:0 50%;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pied__col a:hover:after,.pied__col a:focus-visible:after{transform:scaleX(1)}
.pied__col address{font-style:normal;font-size:15px;line-height:1.6;color:#fff}
.pied__col p{margin-top:12px;font-size:15px;line-height:1.55;color:rgba(223,227,240,.72)}
.pied__col p.pied__horaires{color:#fff}

.pied__rangee{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:20px 48px;padding:22px 0;border-top:1px solid rgba(243,238,230,.12)}
.pied__reseaux,.pied__paiement{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px}
.pied__petit{font-size:15px;color:rgba(223,227,240,.8)}
.pied__reseaux > div{display:flex;gap:8px}
.pied__reseau{display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(243,238,230,.22);border-radius:50%;color:#fff;transition:border-color .3s,color .3s}
.pied__reseau svg{width:18px;height:18px;fill:currentColor}
.pied__reseau:hover,.pied__reseau:focus-visible{border-color:#f0c27a;color:#f0c27a}
.pied__paiement ul{display:flex;flex-wrap:wrap;row-gap:6px;list-style:none}
.pied__paiement li{font-size:15px;line-height:1.3;color:#fff;white-space:nowrap}
.pied__paiement li + li:before{content:"·";margin:0 10px;color:rgba(223,227,240,.5)}
.pied__court{display:none}

.pied--v2 .pied__fin{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px 28px;padding:22px 0 0;border-top:1px solid rgba(243,238,230,.12);font-size:13px;opacity:1;color:rgba(223,227,240,.6)}
.pied__legal{display:flex;flex-wrap:wrap;gap:4px 22px}
.pied--v2 .pied__fin a{display:inline-block;padding:6px 0;color:rgba(223,227,240,.85);text-decoration:none;transition:color .2s}
.pied--v2 .pied__fin a:hover{color:#fff}
.pied__credit a{font-weight:600;color:#fff}
.pied a:focus-visible{outline:2px solid #f0c27a;outline-offset:3px;border-radius:4px}

@media (max-width:1000px){
  .pied__haut{grid-template-columns:auto minmax(0,1fr)}
  .pied__cta{grid-column:1/-1;justify-self:start}
  .pied__colonnes{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:760px){
  .pied__corps{padding:48px var(--marge) 22px;border-radius:28px 28px 0 0}
  .pied__haut{grid-template-columns:1fr;gap:16px}
  .pied__logo img{width:132px}
  .pied__colonnes{gap:30px 18px;padding:34px 0 30px}
  .pied__col--atelier{grid-column:1/-1}
  .pied__col a,.pied__col li > span{min-height:40px;font-size:15px}
  .pied__rangee{flex-direction:column;align-items:flex-start;gap:18px}
  .pied--v2 .pied__fin{flex-direction:column;align-items:flex-start;gap:6px}
}

/* ---------------------------------------------------------------- pages de texte (conditions, mentions) */
body.rc-sans-heros{background:#fff}
.rc-page__tete{padding:calc(var(--encoche-h) + clamp(48px,9vh,110px)) var(--marge) clamp(40px,7vh,80px);background:radial-gradient(72% 68% at 30% 60%,#18255d 0%,#0b112c 78%);color:#fff}
.rc-page__tete h1{max-width:16ch;font-size:clamp(40px,5.4vw,80px);font-weight:400;line-height:1;letter-spacing:-.045em}
.rc-page__texte{max-width:760px;margin:0 auto;padding:clamp(48px,6vw,88px) var(--marge) clamp(64px,8vw,112px)}
.rc-page__texte h2{margin:44px 0 14px;font-size:clamp(24px,2.4vw,34px);font-weight:500;line-height:1.15;letter-spacing:-.03em}
.rc-page__texte h2:first-child{margin-top:0}
.rc-page__texte p,.rc-page__texte li{margin-bottom:14px;font-size:16px;line-height:1.7;color:#4b4a68}
.rc-page__texte ul,.rc-page__texte ol{margin:0 0 14px 20px}
.rc-page__texte a{color:var(--brun);text-decoration:underline;text-decoration-color:var(--jaune);text-underline-offset:4px}


/* ---------------------------------------------------------------- version 1.1 */

/* pied : moyens de paiement sur une ligne au téléphone (libellés courts) */
@media (max-width:760px){
  .pied__paiement{flex-wrap:nowrap;gap:12px}
  .pied__paiement ul{flex-wrap:nowrap}
  .pied__paiement li{font-size:14px}
  .pied__paiement li + li:before{margin:0 7px}
  .pied__long{display:none}
  .pied__court{display:inline}
}

/* photo du chef un peu plus grande, toujours à 40 px au moins sous l'en-tête et sans toucher les textes */
@media (min-width:761px){
  html:not(.prisme) .heros__chef,html:not(.prisme) .voyageur img{height:min(92.4svh,990px,calc((100svh - var(--encoche-h) - 70px) * 1.1),calc(104svh - var(--encoche-h) - 40px))}
  .apropos__photo img{height:min(94.6svh,968px,calc(min(100svh,960px) - 24px))}
}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  html:not(.prisme) .heros__chef,html:not(.prisme) .voyageur img{height:min(84svh,900px,calc(100svh - var(--encoche-h) - 70px))}
  .apropos__photo img{height:58svh}
}
@media (max-width:760px){
  .heros__chef,.voyageur img{height:min(57.2svh,calc(100svh - var(--encoche-h) - 310px))}
  .apropos__photo img{height:55svh}
}
@media (max-width:760px) and (max-height:760px){
  .heros__chef,.voyageur img{height:min(57.2svh,calc(100svh - var(--encoche-h) - 230px))}
}

/* carte bleue de la FAQ sans gâteau détouré */
.faq__tete:not(:has(.faq__gateau)){padding-bottom:clamp(28px,3vw,44px)}

/* bouton d'envoi pleine largeur : le libellé peut passer à la ligne, le rond reste dans le bouton */
.commander__message{min-width:0}
.commander__message .pilule{white-space:normal;line-height:1.2;text-align:left}
@media (max-width:400px){
  .commander__message{padding:22px 18px}
  .commander__message .pilule{gap:12px;padding:0 8px 0 18px;font-size:15px}
}

/* mentions des formations */
.rc-complet{margin-top:8px;font-size:14px;font-weight:500;line-height:1.4;color:var(--bronze)}
.rc-note-editeur{margin:0;padding:20px var(--marge);font-size:14px;color:#50575e;background:#f6f7f7}

/* ---------------------------------------------------------------- page Formations, dans le langage de l'accueil */
body.page-formations{background:var(--creme)}

/* ouverture : même fond, même titre, mêmes bords que le héros de l'accueil */
.fh{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;min-height:100vh;min-height:100svh;padding:max(20vh,calc(var(--encoche-h) + 88px)) var(--bord) clamp(48px,8vh,88px);background:radial-gradient(72% 68% at 50% 52%,#18255d 0%,#0b112c 78%);color:var(--creme)}
.fh .fh__titre{margin:0;font-size:clamp(40px,4.1vw,68px);font-weight:400;line-height:1;letter-spacing:-.045em;color:var(--creme)}
.fh .fh__titre b{display:inline;font-weight:700;color:var(--creme)}
.fh .fh__intro{max-width:48ch;margin:26px 0 0;font-size:17px;line-height:1.6;color:rgba(243,238,230,.82)}
.fh .fh__actions{margin-top:32px}
.fh .fh__video{justify-self:end;width:min(100%,400px);max-height:calc(100svh - max(20vh,var(--encoche-h) + 88px) - 48px);border-radius:24px;background:#14205a}
@media (min-width:761px) and (max-height:820px){
  .fh{padding-top:calc(var(--encoche-h) + 64px)}
  .fh .fh__titre{font-size:min(clamp(40px,4.1vw,68px),7.6svh)}
  .fh .fh__video{max-height:calc(100svh - var(--encoche-h) - 112px)}
}
@media (max-width:1100px) and (orientation:portrait),(max-width:900px){
  .fh{grid-template-columns:1fr;min-height:0;gap:40px}
  .fh .fh__video{justify-self:start;width:min(100%,420px);max-height:none;aspect-ratio:4/5}
}
@media (max-width:760px){
  .fh{padding:calc(var(--encoche-h) + 40px) var(--bord) 56px}
  .fh .fh__titre{font-size:40px}
  .fh .fh__intro{font-size:16px}
  .fh .fh__video{width:100%}
}

/* nos formations : le bloc Formations de l'accueil */
.rc-formations-page .formations__video img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
.formation__actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 24px}
.formation__actions .formations__tout{margin-top:0}

/* détail de chaque formation : le langage de « Le chef » et de la FAQ */
.fd{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:48px clamp(3rem,7vw,8rem);align-items:start;padding:clamp(3.5rem,6vw,5.5rem) var(--marge)}
.fd--blanc{background:#fff}
.fd--creme{background:var(--creme)}
.fd__tete{position:sticky;top:110px;display:grid;gap:20px;justify-items:start}
.fd__titre{font-size:clamp(36px,3.8vw,62px);line-height:1}
.fd__intro{max-width:52ch;font-size:17px;line-height:1.6;color:#4b4a68}
.fd__faits{width:100%;border-top:1px solid var(--filet)}
.fd__faits div{display:grid;grid-template-columns:140px minmax(0,1fr);gap:16px;padding:11px 0;border-bottom:1px solid var(--filet);font-size:15px;line-height:1.5}
.fd__faits dt{color:var(--bronze)}
.fd__tete .pilule{margin-top:6px}
.fd__photo{margin:0 0 28px;overflow:hidden;border-radius:24px;background:#d9c8b3}
.fd__photo img{display:block;width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;object-position:50% 12%}
.fd__programme{list-style:none;margin:0;padding:0}
.fd__programme li{display:flex;gap:20px;padding:22px 18px;border-bottom:1px solid var(--filet)}
.fd__programme span{flex:none;width:28px;padding-top:.25em;font-size:14px;font-weight:600;color:var(--bronze);font-variant-numeric:tabular-nums}
.fd__programme b{display:block;font-size:clamp(1.15rem,1.6vw,1.45rem);font-weight:400;line-height:1.3;letter-spacing:-.01em}
.fd__programme p{margin-top:6px;font-size:15px;line-height:1.55;color:#4b4a68}
@media (max-width:1100px) and (orientation:portrait),(max-width:900px){
  .fd{grid-template-columns:1fr;gap:36px}
  .fd__tete{position:static}
}
@media (max-width:760px){
  .fd{padding:56px var(--marge)}
  .fd__titre{font-size:34px}
  .fd__intro{font-size:15px}
  .fd__faits div{grid-template-columns:110px minmax(0,1fr);font-size:14px}
  .fd__programme li{gap:12px;padding:18px 12px}
  .fd__programme span{width:22px;font-size:13px}
}

/* questions : comme la FAQ de l'accueil */
.fq{background:#fff}
.fq .faq__item[open]{background:#f6f1e8}

/* inscription : comme « Racontez-nous votre fête » */
.fi{padding:clamp(3.5rem,6vw,5.5rem) var(--marge);background:var(--creme)}
.fi .fi__tete{gap:24px;max-width:46rem;margin-bottom:clamp(1.5rem,3vw,2.5rem)}
.fi .commander__titre{font-size:clamp(2.8rem,7vw,7rem);line-height:.98;color:var(--encre)}
.fi .commander__titre em{font-style:normal;color:var(--brun)}
.fi .commander__intro{max-width:34rem;font-size:clamp(1rem,1.2vw,1.2rem);font-weight:500;line-height:1.55;color:#4b4a68}
.fi .fi__in{grid-template-columns:1.1fr .9fr;gap:clamp(40px,6vw,100px);padding:clamp(26px,3.4vw,52px)}
.fi .fi__form{display:block}
.fi .choix,.fi .choix:first-child{padding:20px 0;border-top:1px solid rgba(243,238,230,.14)}
@media (max-width:1000px){
  .fi .fi__in{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:760px){
  .fi{padding:56px 18px}
  .fi .commander__titre{font-size:44px}
  .fi .fi__in{padding:22px 16px;border-radius:24px}
}

/* héros, cas hérités de la maquette : bouton et phrase hors du chef */
@media (max-width:760px) and (max-height:760px){
  html:not(.prisme) .heros__cta{top:calc(var(--encoche-h) + 172px)}
  html:not(.prisme) .heros__note{display:none}
}
@media (min-width:761px) and (max-width:1100px) and (orientation:portrait){
  html:not(.prisme) .heros__chef,html:not(.prisme) .voyageur{margin-left:18.5vw}
  html:not(.prisme) .heros .tampon{top:calc(var(--encoche-h) + 10px);width:88px;height:88px}
}

/* vitrine au téléphone couché : en-tête compact, le gâteau garde de la place sous les filtres */
@media (max-height:520px) and (orientation:landscape){
  .pv__haut{top:14px}
  .pv .pv__haut h2{max-width:none;font-size:20px;line-height:1.1}
  .pv__filtres{flex-wrap:nowrap;max-width:62vw;margin-top:10px;overflow-x:auto;scrollbar-width:none}
  .pv__filtres::-webkit-scrollbar{display:none}
  .pv__filtre{flex:none;height:32px;padding:0 12px;font-size:13px}
  .pv__droite{gap:10px}
  .pv__num{font-size:24px}
  .pv a.pv__fb{height:34px;padding:0 4px 0 14px;gap:10px;font-size:13px}
  .pv a.pv__fb > span{width:26px;height:26px;font-size:13px}
}

/* retour en haut */
.rc-haut{position:fixed;right:24px;bottom:calc(24px + env(safe-area-inset-bottom));z-index:50;display:grid;place-items:center;width:48px;height:48px;padding:0;border:1px solid rgba(14,18,51,.16);border-radius:50%;background:#fff;color:var(--brun);cursor:pointer;opacity:0;visibility:hidden;pointer-events:none;translate:0 12px;transition:opacity .28s,translate .32s cubic-bezier(.23,1,.32,1),bottom .32s cubic-bezier(.23,1,.32,1),visibility 0s .28s,background .16s}
.rc-haut.vu{opacity:1;visibility:visible;pointer-events:auto;translate:0 0;transition:opacity .28s,translate .32s cubic-bezier(.23,1,.32,1),bottom .32s cubic-bezier(.23,1,.32,1),visibility 0s,background .16s}
.rc-haut.au-dessus{bottom:calc(24px + 56px + 12px + env(safe-area-inset-bottom))}
.rc-haut:hover{background:var(--creme)}
.rc-haut:active{scale:.96}
.rc-haut:focus-visible{outline:2px solid #f0c27a;outline-offset:3px}
.rc-haut svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
html.menu-ouvert .rc-haut{display:none}
@media (max-width:760px){
  .rc-haut{right:14px;bottom:calc(14px + env(safe-area-inset-bottom));width:44px;height:44px}
  .rc-haut.au-dessus{bottom:calc(14px + 48px + 10px + env(safe-area-inset-bottom))}
}
@media (prefers-reduced-motion:reduce){.rc-haut,.rc-haut.vu{transition:none}}
@media (min-width:761px){.pied__fin,.pied--v2 .pied__fin{padding-right:92px}}
