/* Le Grand Manège : stickers à liseré blanc sur décor photo lumineux. Jamais de fond uni ni noir. */
@font-face{font-family:'Bungee';src:url(/static/fonts/Bungee-latin.woff2) format('woff2');font-weight:400;font-display:swap}
@font-face{font-family:'Baloo 2';src:url(/static/fonts/Baloo2-latin.woff2) format('woff2');font-weight:400 800;font-display:swap}
:root{--n:#2B1457;--v:#5B2A9E;--rose:#E0338F;--o:#FF8A3D;--j:#FFD23F;--ink:#241A38;--lav:#F4ECFF}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%}
html{background:linear-gradient(160deg,#E4D6FA,#C9B0F2 55%,#FFD9BF) fixed}
body{font-family:'Baloo 2',system-ui,sans-serif;color:var(--ink);font-size:16px;line-height:1.45;font-weight:600;position:relative;overflow-x:hidden}
img{max-width:100%}
a{color:var(--v);font-weight:800}
.decor{position:fixed;inset:0;width:100%;height:100%;object-fit:cover;object-position:center;z-index:-1}
.cache{display:none !important}
h1,h2,.titre,.acc{font-family:'Bungee',cursive;font-weight:400;color:var(--n);line-height:1.1;margin:0 0 10px}
h1{font-size:clamp(24px,6vw,36px)}h2{font-size:clamp(17px,4vw,22px)}
.titre{font-size:clamp(32px,9vw,56px);color:#fff;text-align:center;text-shadow:3px 4px 0 var(--n),-2px -2px 0 var(--n),2px -2px 0 var(--n),-2px 2px 0 var(--n)}
.titre span{color:var(--j)}.titre.petit{font-size:clamp(24px,6vw,38px)}

.haut{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:10px 14px;max-width:1100px;margin:0 auto}
.marque{display:flex;align-items:center;gap:6px;text-decoration:none;background:#fff;border-radius:999px;padding:4px 12px 4px 4px;box-shadow:0 0 0 3px var(--n),3px 4px 0 rgba(36,26,56,.3)}
.marque img{width:40px;height:40px;object-fit:contain}
.marque span{font-family:'Bungee',cursive;font-weight:400;color:var(--n);font-size:15px}.marque b{font-weight:400;color:var(--rose)}
.haut nav{display:flex;gap:6px;flex-wrap:wrap}
.haut nav a{background:#fff;color:var(--n);text-decoration:none;border-radius:999px;padding:6px 12px;font-weight:800;font-size:14px;box-shadow:0 0 0 3px var(--n)}

.carte{background:#fff;border:4px solid #fff;border-radius:20px;box-shadow:0 0 0 3px var(--n),5px 7px 0 rgba(36,26,56,.3);padding:16px;margin:0 0 16px}
.note{font-size:13.5px;color:#5B4A7A;margin:8px 0 0}.note.fort{font-size:14.5px;color:var(--ink);margin:0 0 10px}
.msg{display:none;color:#C1304A;font-weight:800;margin:8px 0 0}.msg.show{display:block}
.big,button.big{display:block;width:100%;text-align:center;text-decoration:none;font-family:'Bungee',cursive;font-weight:400;font-size:clamp(16px,4.6vw,21px);color:#fff;
 background:linear-gradient(135deg,var(--o),var(--rose));border:none;border-radius:999px;padding:15px 18px;cursor:pointer;box-shadow:0 5px 0 var(--n)}
.big:active{transform:translateY(3px);box-shadow:0 2px 0 var(--n)}
.big.petit{font-size:15px;padding:10px 14px}
button:disabled{opacity:.6;cursor:default}
button.lien{background:none;border:0;padding:0;color:var(--v);font:inherit;font-weight:800;text-decoration:underline;cursor:pointer}
input[type=email],input[type=text]{font:700 17px 'Baloo 2',sans-serif;padding:13px 15px;border:3px solid var(--ink);border-radius:16px;width:100%;background:#fff;color:var(--ink)}
input:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--j);outline-offset:2px}
form{display:flex;flex-direction:column;gap:10px;margin:0}
.opts{display:flex;flex-wrap:wrap;gap:8px}.opts.col{flex-direction:column}
.opt{font:800 15px 'Baloo 2',sans-serif;color:var(--n);background:#fff;border:3px solid var(--v);border-radius:999px;padding:9px 14px;cursor:pointer}
.opt.large{border-radius:16px;text-align:left;width:100%;line-height:1.25;padding:11px 14px}.opt b{color:var(--rose);margin-right:4px}
.opt:hover{background:var(--lav)}

/* landing */
.p-landing main{min-height:100vh;min-height:100dvh}
.landing{position:relative;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:space-between;padding:22px 14px 18px}
.duo{position:relative;z-index:2;display:flex;align-items:flex-end;justify-content:center;width:100%;max-width:560px;flex:1 1 auto}
.duo img{display:block;height:auto;filter:drop-shadow(0 6px 0 rgba(36,26,56,.28))}
.duo .c{width:56%;max-width:320px;margin-right:-6%;transform:rotate(-3deg)}
.duo .p{width:46%;max-width:260px;transform:rotate(4deg);margin-bottom:2%}
.o{position:absolute;z-index:1;width:clamp(48px,14vw,84px);height:auto;filter:drop-shadow(2px 4px 0 rgba(36,26,56,.25));animation:gmf 4s ease-in-out infinite}
.o1{left:5%;top:16%}.o2{right:6%;top:22%;animation-delay:-1.3s}.o3{left:8%;top:48%;animation-delay:-2.2s}.o4{right:7%;top:52%;animation-delay:-3s}
@keyframes gmf{0%,100%{transform:translateY(0) rotate(-6deg)}50%{transform:translateY(-12px) rotate(6deg)}}
@media (prefers-reduced-motion:reduce){.o{animation:none}}
.cta{position:relative;z-index:3;width:100%;max-width:440px;text-align:center;margin:0}
.cta .acc{font-size:clamp(16px,4.6vw,21px)}
.p-landing .pied{position:relative;z-index:3}

/* pages */
.page{max-width:760px;margin:10px auto 30px;padding:0 14px;position:relative}
.page.etroite{max-width:460px}
.texte p,.texte li{font-size:15.5px}
.etapes li{margin:0 0 10px}
.sticker-haut{display:block;margin:-10px auto 4px;width:120px;height:auto}
.sticker-bas{display:block;margin:-6px auto 0;width:200px;height:auto;filter:drop-shadow(0 6px 0 rgba(36,26,56,.28))}
.grille{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px}
.yt{position:relative;display:block;width:100%;max-width:320px;margin:0 auto;padding:0;border:3px solid var(--n);border-radius:14px;overflow:hidden;cursor:pointer;background:var(--v);aspect-ratio:9/16}
.yt img{width:100%;height:100%;object-fit:cover;display:block}
.yt .play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:64px;height:64px;border-radius:50%;background:var(--rose);color:#fff;font-size:26px;line-height:64px;box-shadow:0 0 0 4px #fff}
.yt-frame{display:block;width:100%;max-width:320px;margin:0 auto;aspect-ratio:9/16;border:3px solid var(--n);border-radius:14px}

/* espace */
.espace{max-width:1100px;margin:0 auto;padding:6px 14px 20px}
.colonnes{columns:1;column-gap:16px}
.colonnes .carte{break-inside:avoid;display:inline-block;width:100%}
@media (min-width:900px){.colonnes{columns:2}}
@media (min-width:1280px){.colonnes{columns:3}}
.cpt{font-family:'Bungee',cursive;font-weight:400;color:var(--rose);text-align:center;margin:0 0 8px;font-size:18px}.cpt b{font-size:1.4em}
.faits{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 0 10px}
.faits div{background:var(--lav);border:3px solid var(--v);border-radius:14px;padding:8px 4px;text-align:center;font-weight:800;color:var(--v);font-size:13px;line-height:1.1}
.faits b{display:block;font-family:'Bungee',cursive;font-weight:400;font-size:20px;color:var(--n);margin-bottom:2px}
.tst{display:inline-block;background:var(--j);border:3px solid var(--n);border-radius:999px;padding:1px 10px;font-weight:800;margin-bottom:6px}
.rep{background:#FFF3E6;border-color:#FFF3E6;box-shadow:0 0 0 3px var(--o),5px 7px 0 rgba(36,26,56,.3)}
.qq{font-weight:800;font-size:17px;color:var(--n);margin:0 0 2px}
fieldset.qb{border:0;border-top:3px dashed #C9B0F2;margin:10px 0 0;padding:8px 0 0}
fieldset.qb legend{font-weight:800;padding:0;margin-bottom:6px}
.qb label{display:block;background:var(--lav);border:3px solid var(--v);border-radius:12px;padding:8px 10px;margin:0 0 6px;cursor:pointer}
.qb label.sub{background:none;border:0;padding:0}
.corr li{margin:0 0 8px}
.bientot{display:flex;gap:12px;align-items:center}.bientot img{flex:0 0 auto}.bientot p{margin:0}
details summary{cursor:pointer;font-weight:800;color:var(--v)}

.pied{text-align:center;padding:14px;color:#fff;font-size:13px;text-shadow:0 1px 2px rgba(36,26,56,.8)}
.pied p{margin:2px 0}.pied a{color:#fff}

/* épisodes (mode contenu) */
.lien-ep{display:block;text-decoration:none;color:var(--ink)}
.lien-ep:hover{transform:translateY(-2px)}
.num{display:inline-block;font-weight:800;color:var(--rose);font-size:14px;margin:0 0 6px}
.url{display:inline-block;background:var(--j);color:var(--n);border-radius:999px;padding:2px 10px;font-weight:800;font-size:13px}
.photo{margin:14px 0}.photo img{display:block;width:100%;height:auto;border:3px solid var(--n);border-radius:14px}
.photo figcaption{font-size:12.5px;color:#5B4A7A;margin-top:4px}
.question{background:var(--lav);border:3px solid var(--v);border-radius:16px;padding:12px 14px;margin:14px 0}
.choix{list-style:none;margin:6px 0 0;padding:0}.choix li{margin:4px 0}.choix b{color:var(--rose);margin-right:4px}
.reveal{border:3px dashed var(--o);border-radius:16px;padding:10px 14px;margin:0 0 14px;background:#FFF3E6}
.reveal summary{font-family:'Bungee',cursive;font-weight:400;color:var(--n);font-size:17px}
.appel{font-size:12px;vertical-align:super;text-decoration:none;margin-left:2px}
.sources{font-size:13.5px;padding-left:20px}.sources li{margin:0 0 6px;overflow-wrap:anywhere}
.cta-ep{text-align:center}
