/* Rosetta Ateliers 2026 - styles communs */
html{scroll-behavior:smooth}
body{margin:0;background:#FEFAEF;-webkit-font-smoothing:antialiased}
h1,h2,h3{font-family:Fredoka,Poppins,sans-serif !important;font-weight:600 !important;letter-spacing:-0.01em !important}
a{color:#2E4A8C}a:hover{color:#1F2B4D}
img{max-width:100%}
details summary::-webkit-details-marker{display:none}
details summary{position:relative;padding-right:32px}
details summary::after{content:"+";position:absolute;right:4px;top:-2px;font-size:24px;font-weight:600;color:#F5A23F;transition:transform .2s}
details[open] summary::after{transform:rotate(45deg)}
:focus-visible{outline:3px solid #3BAFE4;outline-offset:3px;border-radius:6px}

@keyframes rosetta-defile{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.rs-track{animation:rosetta-defile 60s linear infinite}
.rs-band:hover .rs-track{animation-play-state:paused}
@media (prefers-reduced-motion: reduce){.rs-track{animation:none}html{scroll-behavior:auto}}

/* Bandeau version de test */
.rs-test{background:#1F2B4D;color:#FFFFFF;font:500 13px/1.4 Poppins,system-ui,sans-serif;text-align:center;padding:7px 16px}
.rs-test strong{color:#F5A23F;font-weight:700}

/* Barre mobile (page Parents) */
.rs-mobilebar{display:none !important}

/* Écrans étroits */
@media (max-width: 820px){
  .rs-header-in{gap:10px 16px !important;padding:10px 16px !important}
  .rs-header-in > a:first-child img{height:38px !important}
  .rs-nav{order:3;flex:1 1 100% !important;flex-wrap:nowrap !important;overflow-x:auto;gap:22px !important;padding-bottom:4px;-webkit-overflow-scrolling:touch;scrollbar-width:none;white-space:nowrap}
  .rs-nav::-webkit-scrollbar{display:none}
  .rs-header-in > a:last-child{margin-left:auto}
  .rs-mobilebar{display:flex !important}
  .rs-page-parents{padding-bottom:84px !important}
}
@media (min-width: 821px){ .rs-page-parents{padding-bottom:0 !important} }

/* Écran d'accès */
html.rs-locked body > *:not(#rs-gate){display:none !important}
#rs-gate{position:fixed;inset:0;z-index:9999;background:#FEFAEF;display:flex;align-items:center;justify-content:center;padding:24px;font-family:Poppins,system-ui,sans-serif;color:#1F2B4D}
#rs-gate form{background:#FFFFFF;border:1px solid #EFE3CC;border-radius:28px;padding:40px 36px;max-width:420px;width:100%;box-sizing:border-box;display:flex;flex-direction:column;gap:16px;box-shadow:8px 8px 0 #F5A23F}
#rs-gate img{height:52px;width:auto;align-self:flex-start}
#rs-gate h1{margin:0;font-size:28px;color:#2E4A8C}
#rs-gate p{margin:0;color:#3A4563;font-size:15px}
#rs-gate input{font:inherit;font-size:17px;padding:12px 16px;border:2px solid #D8C7A8;border-radius:14px;min-height:50px;box-sizing:border-box}
#rs-gate input:focus{border-color:#2E4A8C;outline:none}
#rs-gate button{font:inherit;font-weight:600;background:#2E4A8C;color:#FFFFFF;border:none;border-radius:999px;min-height:52px;cursor:pointer}
#rs-gate .rs-err{color:#C2452F;font-size:14px;min-height:20px}

/* Formulaires */
.rs-form{display:flex;flex-direction:column;gap:20px}
.rs-field{display:flex;flex-direction:column;gap:6px}
.rs-field label,.rs-field legend{font-weight:600;font-size:15px}
.rs-field .rs-hint{font-size:14px;color:#3A4563;font-weight:400}
.rs-field input,.rs-field select,.rs-field textarea{font:inherit;font-size:16px;color:#1F2B4D;background:#FFFFFF;padding:12px 16px;border:2px solid #E3D3B6;border-radius:14px;min-height:50px;box-sizing:border-box;width:100%}
.rs-field textarea{min-height:150px;resize:vertical}
.rs-field input:focus,.rs-field select:focus,.rs-field textarea:focus{border-color:#2E4A8C;outline:none}
.rs-field fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.rs-chips{display:flex;flex-wrap:wrap;gap:8px}
.rs-chips label{display:inline-flex;align-items:center;gap:8px;background:#FFFFFF;border:2px solid #E3D3B6;border-radius:999px;padding:9px 18px;cursor:pointer;font-weight:500;min-height:44px;box-sizing:border-box}
.rs-chips input{position:absolute;opacity:0;width:1px;height:1px}
.rs-chips label:has(input:checked){border-color:#2E4A8C;background:#2E4A8C;color:#FFFFFF}
.rs-chips label:has(input:focus-visible){outline:3px solid #3BAFE4;outline-offset:2px}
.rs-consent{display:flex;gap:12px;align-items:flex-start;font-size:15px}
.rs-consent input{width:22px;height:22px;margin-top:2px;flex:0 0 auto;accent-color:#2E4A8C}
.rs-submit{align-self:flex-start;font:inherit;font-weight:600;background:#2E4A8C;color:#FFFFFF;border:none;border-radius:999px;padding:15px 34px;min-height:52px;cursor:pointer}
.rs-submit[disabled]{opacity:.6;cursor:wait}
.rs-msg{border-radius:18px;padding:18px 22px;font-weight:500}
.rs-msg.ok{background:#E6F4FB;color:#1F2B4D;border:2px solid #3BAFE4}
.rs-msg.ko{background:#FDECE8;color:#8E2F1F;border:2px solid #EB5F54}
[hidden]{display:none !important}

/* Pages de texte (légal) */
.rs-prose h2{font-size:24px;color:#2E4A8C;margin:36px 0 10px}
.rs-prose p,.rs-prose li{color:#3A4563}
.rs-prose ul{padding-left:20px}

/* Grilles de tarifs sur mobile */
@media (max-width: 640px){
  .rs-tbl{min-width:0 !important}
  .rs-tbl thead{display:none}
  .rs-tbl tr{display:grid;grid-template-columns:repeat(3,1fr);gap:4px 10px;padding:14px 0}
  .rs-tbl td{padding:0 !important;font-size:18px !important;white-space:nowrap}
  .rs-tbl td:first-child{grid-column:1/-1;font-size:17px;margin-bottom:4px}
  .rs-tbl td[data-l]::before{content:attr(data-l);display:block;font-size:14px;font-weight:500;color:#3A4563}
}

/* Icones */
.rs-ic{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:16px;color:#1F2B4D;flex:0 0 auto;margin-bottom:6px}
.rs-ic svg{display:block}
.rs-ic1{background:#F5A23F}.rs-ic2{background:#3BAFE4}.rs-ic3{background:#EF7D55}

/* Galerie de l'accueil */
.rs-gal{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width: 900px){.rs-gal{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (max-width: 640px){.rs-gal{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px !important}.rs-gal figcaption{font-size:14px !important;padding:4px 10px !important;left:8px !important;bottom:8px !important}}

/* Tarifs sur mobile */
@media (max-width: 640px){.rs-tbl td[data-l="Tarif"]{grid-column:1/-1;white-space:normal !important;margin-top:6px}}

/* Menu mobile */
.rs-burger{display:none}
@media (max-width: 820px){
  .rs-burger{display:inline-flex;align-items:center;justify-content:center;width:46px;height:46px;border:2px solid #E3D3B6;border-radius:14px;background:#FFFFFF;color:#1F2B4D;cursor:pointer;padding:0;flex:0 0 auto}
  .rs-header-in > a:not(:first-child){margin-left:auto}
  .rs-nav{display:none !important}
  .rs-header-in.rs-open .rs-nav{display:flex !important;flex-direction:column !important;flex:1 1 100% !important;gap:0 !important;overflow:visible;white-space:normal;padding:4px 0 6px}
  .rs-header-in.rs-open .rs-nav a{padding:13px 4px;font-size:17px;border-bottom:1px solid #EFE3CC !important}
  .rs-header-in.rs-open .rs-nav a:last-child{border-bottom:none !important}
}

/* Galerie : legendes collees aux photos, carte au format des photos */
.rs-gal{align-items:start}
.rs-gal > div{aspect-ratio:4/5;min-height:0 !important;box-sizing:border-box}
@media (max-width: 640px){.rs-gal > div{padding:14px !important}.rs-gal > div span{font-size:16px !important}}

/* Equipe sur mobile : 3 par ligne */
@media (max-width: 640px){
  .rs-team{gap:20px 8px !important}
  .rs-team li{width:100px !important}
  .rs-team li > div:first-child{width:86px !important;height:86px !important;border-width:3px !important}
  .rs-team li > div:first-child span{font-size:28px !important}
  .rs-team li > div{font-size:14px}
}

/* Criteres de la page Parents */
.rs-filters button{white-space:nowrap}
@media (max-width: 640px){
  .rs-filters > div{width:100%}
  .rs-filters [role="group"]{display:flex !important;width:100%;box-sizing:border-box}
  .rs-filters [role="group"] button{flex:1 1 0;padding-left:8px !important;padding-right:8px !important;font-size:15px}
}

/* gal-caption-mobile */
@media (max-width: 600px) { .rs-gal figcaption { left: 8px !important; bottom: 8px !important; font-size: 14px !important; padding: 4px 10px !important; line-height: 1.3; border-radius: 10px !important; max-width: calc(100% - 16px); } }

/* sticky-header : le conteneur ne doit pas couper le défilement */
body > div[style*="overflow-x: hidden"]{overflow-x:clip !important}
header{position:sticky !important;top:0 !important;z-index:60 !important}

/* Vous etes */
.rs-whos{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}
.rs-who{position:relative;display:flex;flex-direction:column;gap:12px;padding:30px 26px 76px;border-radius:28px;text-decoration:none;min-height:250px;box-sizing:border-box;transition:transform .2s ease, box-shadow .2s ease}
.rs-who:hover,.rs-who:focus-visible{transform:translateY(-6px);box-shadow:0 14px 0 -4px rgba(31,43,77,.18)}
.rs-who-ic{width:62px;height:62px;border-radius:50%;background:#FFFFFF;color:#2E4A8C;display:grid;place-items:center}
.rs-who-t{font-family:Fredoka,Poppins,sans-serif;font-weight:600;font-size:28px;line-height:1.1}
.rs-who-d{font-size:15px;line-height:1.5}
.rs-who-go{position:absolute;left:26px;bottom:24px;width:42px;height:42px;border-radius:50%;background:#1F2B4D;color:#FFFFFF;display:grid;place-items:center;transition:transform .2s ease}
.rs-who:hover .rs-who-go{transform:translateX(6px)}
@media (max-width:1000px){.rs-whos{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.rs-whos{gap:12px}.rs-who{padding:22px 18px 64px;min-height:220px;border-radius:22px}.rs-who-ic{width:50px;height:50px}.rs-who-t{font-size:22px}.rs-who-d{font-size:14px}.rs-who-go{left:18px;bottom:18px;width:36px;height:36px}}

/* Blocs entreprises */
.rs-blocs{margin:0;padding:16px 0 0;list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px 14px}
.rs-bloc{position:relative;aspect-ratio:2/1;border-radius:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;font-weight:600;text-align:center;padding:10px;box-sizing:border-box}
.rs-bloc-tab{position:absolute;top:-12px;left:50%;transform:translateX(-50%);width:34%;height:16px;border-radius:10px 10px 0 0}
.rs-bloc-free{border:2px dashed rgba(255,255,255,.7)}
.rs-bloc-free .rs-bloc-tab{border:2px dashed rgba(255,255,255,.7);border-bottom:0;top:-14px}
.rs-assemble{display:flex;flex-direction:column;gap:10px;color:#FFFFFF}
.rs-assemble-row{display:flex;flex-wrap:wrap}
.rs-assemble-row span{color:#1F2B4D;font-weight:600;font-size:15px;padding:12px 18px;border-right:2px solid #2E4A8C}
.rs-assemble-row span:first-child{border-radius:14px 0 0 14px}
.rs-assemble-row span:last-child{border-radius:0 14px 14px 0;border-right:0}
@media (max-width:700px){.rs-blocs{grid-template-columns:repeat(2,minmax(0,1fr))}.rs-bloc{aspect-ratio:3/2;font-size:14px}.rs-assemble-row{flex-direction:column}.rs-assemble-row span{border-right:0;border-bottom:2px solid #2E4A8C}.rs-assemble-row span:first-child{border-radius:14px 14px 0 0}.rs-assemble-row span:last-child{border-radius:0 0 14px 14px;border-bottom:0}}


/* blocs-v2 */
.rs-bloc{font-size:17px;gap:10px}
.rs-bloc svg{width:40px;height:40px}
@media (max-width:700px){.rs-bloc{font-size:14px}.rs-bloc svg{width:32px;height:32px}}

/* hero-mark-mobile */
@media (max-width:560px){.rs-hero-mark + img + span{top:-3% !important;right:0 !important;font-size:18px !important;padding:8px 18px !important}.rs-hero-mark + img + span + span{font-size:18px !important;padding:8px 18px !important}.rs-hero-mark svg:nth-of-type(4){display:none}}

/* cta-end + langues des cartes */
.rs-who-l{align-self:flex-start;font-size:14px;font-weight:600;letter-spacing:.02em;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.35)}
.rs-cta-end{position:relative;overflow:hidden;background:#2E4A8C;border-radius:32px;padding:56px 48px;display:flex;flex-direction:column;gap:18px;box-shadow:10px 10px 0 #F5A23F}
.rs-cta-b{font-weight:600;text-decoration:none;padding:14px 28px;border-radius:999px;min-height:52px;box-sizing:border-box;display:inline-flex;align-items:center;transition:transform .2s ease}
.rs-cta-b:hover,.rs-cta-b:focus-visible{transform:translateY(-3px)}
@media (max-width:560px){.rs-cta-end > svg{display:none}.rs-cta-end{padding:36px 22px;border-radius:24px;box-shadow:6px 6px 0 #F5A23F}.rs-cta-b{flex:1 1 100%;justify-content:center}.rs-who-l{font-size:14px}}

/* en-tete : S'inscrire + Contact */
.rs-hdr-ctas{display:flex;align-items:center;gap:10px}
.rs-nav-m{display:none !important}
@media (max-width: 820px){
  .rs-header-in > .rs-hdr-ctas{margin-left:auto}
  .rs-hdr-contact{display:none !important}
  .rs-hdr-inscr{padding:10px 18px !important;min-height:42px !important}
  .rs-header-in.rs-open .rs-nav .rs-nav-m{display:block !important}
}

/* projets larges (Partenaires) */
.rs-proj-foot{padding-left:24px;border-left:1px solid #EFE3CC}
@media (max-width:720px){.rs-proj-foot{padding-left:0;border-left:0;padding-top:14px;border-top:1px solid #EFE3CC}}


/* equipe : portraits carres, photo entiere */
.rs-team li > div:first-child,.rs-track li > div:first-child{border-radius:34% 8% 34% 8% !important}
.rs-team img,.rs-track img{transform:none !important;object-position:center !important}

/* Portraits equipe en grand, format 3:4 */
.rs-team li{width:184px !important}
.rs-team li > div:first-child{width:184px !important;height:240px !important}
.rs-track li{width:176px !important}
.rs-track li > div:first-child{width:168px !important;height:220px !important}
.rs-team img,.rs-track img{object-position:center 30% !important}
@media (max-width: 640px){.rs-team{gap:20px 12px !important}.rs-team li{width:calc(50% - 6px) !important}.rs-team li > div:first-child{width:100% !important;height:auto !important;aspect-ratio:3/4}.rs-track li{width:140px !important}.rs-track li > div:first-child{width:132px !important;height:172px !important}}
