/* ludiqland.fr : le jeu de l'oie (tapis vert, pions rouge, jaune, bleu) */
:root{--tapis:#2f8f5b;--tapis-f:#21704a;--creme:#fff8e8;--carton:#fffdf6;--encre:#22302a;--gris:#5f6b65;--trait:#eadfc6;
  --rouge:#e04f3f;--jaune:#f6c343;--bleu:#3b7dd8;--vert:#2f8f5b}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--creme);color:var(--encre);font:400 1.04rem/1.75 "Varela Round",system-ui,sans-serif}
a{color:var(--tapis-f)}
img{max-width:100%;height:auto;display:block}
.lancer{position:absolute;left:-999px}.lancer:focus{left:1rem;top:1rem;background:var(--carton);padding:.5rem 1rem;z-index:9}
h1,h2,h3,h4{font-family:"Baloo 2",system-ui,sans-serif;font-weight:800;line-height:1.12;color:var(--encre)}
.p-rouge{--p:var(--rouge)}.p-jaune{--p:var(--jaune)}.p-bleu{--p:var(--bleu)}.p-vert{--p:var(--vert)}
.pion{display:inline-block;width:.85em;height:1.05em;margin-right:.35em;vertical-align:-.12em;background:var(--p,var(--rouge));border-radius:50% 50% 30% 30% / 40% 40% 20% 20%;box-shadow:inset -2px -3px 0 rgba(0,0,0,.18)}

/* boîte de jeu (en-tête) */
.boite{background:var(--tapis);border-bottom:6px solid var(--jaune)}
.boite__in{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.8rem 2rem;padding:.9rem clamp(1rem,4vw,2rem)}
.boite__nom{display:flex;align-items:center;gap:.7rem;color:#fff;text-decoration:none;font:800 1.8rem/1 "Baloo 2",sans-serif}
.de{display:grid;grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(3,1fr);width:36px;height:36px;padding:5px;background:#fff;border-radius:8px;transform:rotate(-10deg)}
.de i{width:6px;height:6px;border-radius:50%;background:var(--rouge)}
.de i:nth-child(1){grid-area:1/1}.de i:nth-child(2){grid-area:2/2}.de i:nth-child(3){grid-area:3/3}
.boite__nav{display:flex;flex-wrap:wrap;gap:.35rem}
.boite__nav a{display:inline-flex;align-items:center;padding:.3rem .8rem;background:rgba(255,255,255,.12);border-radius:999px;color:#fff;text-decoration:none;font:600 .95rem/1.3 "Baloo 2",sans-serif}
.boite__nav a:hover,.boite__nav a[aria-current]{background:#fff;color:var(--encre)}

main{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 3rem}

/* case départ */
.depart-case{margin:2.6rem 0 1.6rem;padding:1.6rem 1.8rem;background:var(--carton);border:4px solid var(--p,var(--tapis));border-radius:24px;box-shadow:6px 6px 0 var(--p,var(--tapis))}
.depart-case__k{display:inline-flex;align-items:center;padding:.15rem .8rem;background:var(--p,var(--tapis));color:#fff;border-radius:999px;font:800 .85rem/1.4 "Baloo 2",sans-serif;text-transform:uppercase;letter-spacing:.06em}
.depart-case__k .pion{background:#fff}
.depart-case h1{margin:.5rem 0 .3rem;font-size:clamp(2rem,4.6vw,3rem)}
.depart-case p{margin:0;color:var(--gris);max-width:760px}

/* plateau en serpentin */
.plateau{position:relative;padding:1.6rem;background:var(--tapis);border-radius:28px;box-shadow:inset 0 0 0 6px var(--tapis-f)}
.rangee{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}
.rangee+.rangee{margin-top:2.4rem}
.rangee--retour{direction:rtl}
.rangee--retour>li{direction:ltr}
.rangee>li{position:relative;min-width:0}
/* le chemin d'une case à l'autre */
.rangee>li:not(:last-child)::after{content:"";position:absolute;top:50%;right:-1.2rem;width:1.2rem;height:6px;margin-top:-3px;background:repeating-linear-gradient(90deg,#fff 0 6px,transparent 6px 10px)}
.rangee--retour>li:not(:last-child)::after{right:auto;left:-1.2rem}
.rangee:not(:last-child)>li:last-child::before{content:"";position:absolute;left:50%;bottom:-2.4rem;width:6px;height:2.4rem;margin-left:-3px;background:repeating-linear-gradient(180deg,#fff 0 6px,transparent 6px 10px)}
.case{position:relative;display:flex;flex-direction:column;gap:.3rem;height:100%;padding:.6rem .6rem .9rem;background:var(--carton);border:4px solid var(--p);border-radius:18px;text-decoration:none;color:var(--encre);box-shadow:0 5px 0 rgba(0,0,0,.18)}
.case__n{position:absolute;top:-.9rem;left:-.6rem;z-index:1;display:grid;place-items:center;width:2.4rem;height:2.4rem;background:var(--p);color:#fff;border:3px solid #fff;border-radius:50%;font:800 1.05rem/1 "Baloo 2",sans-serif}
.case__img img{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px}
.case__r{margin-top:.2rem;font:600 .78rem/1.2 "Baloo 2",sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--gris)}
.case__t{font:800 1.04rem/1.25 "Baloo 2",sans-serif;overflow-wrap:anywhere}
.case:hover{transform:translateY(-3px) rotate(-1deg)}
.arrivee-case{margin:1.6rem 0 0;text-align:center;color:var(--gris)}
.arrivee-case span{display:inline-block;margin-right:.6rem;padding:.2rem 1rem;background:var(--rouge);color:#fff;border-radius:999px;font:800 .95rem/1.4 "Baloo 2",sans-serif;text-transform:uppercase}
.vide{text-align:center;color:var(--gris)}

/* carte de jeu (article) */
.partie{max-width:1000px;margin:2.6rem auto 0}
.carte-jeu{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1.6rem;align-items:center;padding:1.4rem;background:var(--carton);border:5px solid var(--p);border-radius:26px;box-shadow:8px 8px 0 var(--p)}
.partie--page .carte-jeu{grid-template-columns:minmax(0,1fr)}
.carte-jeu__r{display:inline-flex;align-items:center;padding:.15rem .8rem;background:var(--p);color:#fff;border-radius:999px;text-decoration:none;font:800 .85rem/1.4 "Baloo 2",sans-serif}
.carte-jeu__r .pion{background:#fff}
.carte-jeu h1{margin:.6rem 0 .5rem;font-size:clamp(1.8rem,3.8vw,2.5rem)}
.carte-jeu__m{margin:0;font-size:.9rem;color:var(--gris)}
.carte-jeu__img{margin:0}
.carte-jeu__img img{width:100%;border-radius:16px}
.partie__texte{max-width:760px;margin:2.2rem auto 0;overflow-wrap:anywhere}
.partie__texte h2{font-size:1.6rem;margin:2.4rem 0 .8rem}
.partie__texte h2::before{content:"";display:inline-block;width:.75em;height:.75em;margin-right:.4em;background:var(--jaune);border-radius:4px;transform:rotate(12deg)}
.partie__texte h3{font-size:1.25rem;margin:1.8rem 0 .6rem;color:var(--tapis-f)}
.partie__texte p{margin:0 0 1.1rem}
.partie__texte ul,.partie__texte ol{padding-left:1.4rem;margin:0 0 1.2rem}
.partie__texte li{margin:.35rem 0}
.partie__texte li::marker{color:var(--rouge)}
.partie__texte blockquote{margin:1.5rem 0;padding:1rem 1.3rem;background:#fff3cc;border-radius:16px}
.partie__texte table{width:100%;border-collapse:collapse;margin:1.4rem 0;font-size:.95rem;display:block;overflow-x:auto}
.partie__texte th,.partie__texte td{border:2px solid var(--trait);padding:.55rem .7rem;text-align:left;vertical-align:top}
.partie__texte th{background:var(--tapis);color:#fff;font-family:"Baloo 2",sans-serif}
.partie__texte figure{margin:1.5rem 0}
.partie__texte details{margin:0 0 1.4rem;padding:.8rem 1rem;background:var(--carton);border:2px solid var(--trait);border-radius:14px}
.partie__texte summary{cursor:pointer;font-weight:700}
.partie__texte input,.partie__texte select,.partie__texte button{font:inherit;max-width:100%}
.cases-voisines h2{margin:3rem 0 1.4rem;font-size:1.7rem}

/* règle du jeu (pied) */
.regle{margin-top:3.5rem;background:var(--encre);color:#e8efe9;border-top:6px solid var(--jaune)}
.regle__in{max-width:1180px;margin:0 auto;padding:2.2rem clamp(1rem,4vw,2rem) 1rem;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr) minmax(0,1fr);gap:1.5rem 2.5rem}
.regle__carte{padding:1.2rem 1.4rem;background:var(--carton);color:var(--encre);border-radius:18px;transform:rotate(-1.5deg)}
.regle__t{margin:0 0 .4rem;font:800 1.2rem/1 "Baloo 2",sans-serif;color:var(--rouge)}
.regle__carte p:last-child{margin:0}
.regle ul{list-style:none;margin:0;padding:0}
.regle li{margin:.35rem 0}
.regle a{color:#fff;text-decoration:none}
.regle a:hover{text-decoration:underline}
.regle__an{max-width:1180px;margin:0 auto;padding:0 clamp(1rem,4vw,2rem) 1.6rem;font:800 .9rem/1 "Baloo 2",sans-serif;color:var(--jaune)}

@media (max-width:900px){
  .rangee{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rangee>li::after,.rangee>li::before{display:none}
  .rangee--retour{direction:ltr}
  .carte-jeu,.regle__in{grid-template-columns:minmax(0,1fr)}
}
