/* Thème clair unique, comme le site. Layout : colonne de lecture 68ch + sommaire collant à gauche sur grand écran ; visuels pleine largeur du conteneur */
:root{color-scheme:light;
  --gp-berry:#A6338A; --gp-berry-fonce:#8A2A73; --gp-rose:#CC53AD;
  --gp-creme:#FBF8F3; --gp-pierre:#F1EAE0; --gp-bordure:#E8E0D4;
  --gp-encre:#2E2A2B; --gp-texte:#4A4544; --gp-taupe:#6b5f57;
  --gp-carte:#FFFFFF; --gp-peau:#E9C9AE; --gp-peau-ombre:#D6AD8D; --gp-cheveu:#5A3B2A; --gp-cheveu-clair:#7B5440; --gp-ok:#2F7D5B; --gp-alerte:#B5562B;
  --gp-serif:"Playfair Display",Georgia,"Times New Roman",serif;
  --gp-sans:"Source Sans 3","Segoe UI",system-ui,-apple-system,sans-serif;
  --gp-mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}

body{background:var(--gp-creme);color:var(--gp-texte);margin:0}
.gp{font-family:var(--gp-sans);font-size:1.08rem;line-height:1.7;color:var(--gp-texte);background:var(--gp-creme);padding-block:32px 72px}
.gp *{box-sizing:border-box}
.gp-wrap{max-width:1200px;margin:0 auto;padding-inline:24px;display:grid;grid-template-columns:1fr;gap:48px}
@media (max-width:700px){.gp-wrap{gap:28px}}
@media (min-width:1080px){.gp-wrap{grid-template-columns:250px minmax(0,1fr)}}
.gp-main{min-width:0;max-width:760px}
.gp h1,.gp h2,.gp h3{font-family:var(--gp-serif);color:var(--gp-encre);text-wrap:balance;line-height:1.2;font-weight:600}
.gp h1{font-size:clamp(2rem,4.6vw,3.1rem);margin:.2em 0 .4em;letter-spacing:-.01em}
.gp h2{font-size:clamp(1.5rem,3vw,2rem);margin:2.4em 0 .6em;scroll-margin-top:24px}
.gp h3{font-size:1.25rem;margin:1.8em 0 .5em;scroll-margin-top:24px}
.gp p{margin:0 0 1em}
.gp a{color:var(--gp-berry);text-underline-offset:3px}
.gp a:focus-visible,.gp button:focus-visible,.gp input:focus-visible,.gp label:focus-within{outline:2px solid var(--gp-berry);outline-offset:2px}
.gp strong{color:var(--gp-encre)}
.gp .rep{font-size:1.12rem;color:var(--gp-encre)} /* réponse directe sous chaque titre (bloc cité par les IA) */
.gp ul,.gp ol{padding-left:1.3em;margin:0 0 1.2em}
.gp li{margin:.3em 0}
.gp-eyebrow{font-family:var(--gp-sans);font-size:.78rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gp-berry);font-weight:700}
.gp-meta{font-size:.92rem;color:var(--gp-taupe);display:flex;flex-wrap:wrap;gap:6px 16px}
.gp-partie{margin:3.2em 0 0;padding-top:1.4em;border-top:1px solid var(--gp-bordure)}
.gp-partie .gp-eyebrow{display:block;margin-bottom:.2em}

/* sommaire */
.gp-toc{font-size:.93rem;line-height:1.45}
@media (min-width:1080px){.gp-toc{position:sticky;top:calc(env(safe-area-inset-top,0px) + 20px);max-height:calc(100vh - 40px);overflow:auto;padding-right:8px}}
.gp-toc details{border:1px solid var(--gp-bordure);background:var(--gp-carte);padding:12px 14px;border-radius:3px}
.gp-toc summary{cursor:pointer;font-weight:700;color:var(--gp-encre)}
.gp-toc ol{list-style:none;padding:0;margin:.6em 0 0}
.gp-toc li{margin:0}
.gp-toc a{display:block;padding:4px 0 4px 10px;border-left:2px solid transparent;color:var(--gp-texte);text-decoration:none}
.gp-toc a:hover{color:var(--gp-berry)}
.gp-toc a.on{border-left-color:var(--gp-berry);color:var(--gp-berry);font-weight:600}
.gp-toc .p{font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gp-taupe);margin:12px 0 2px;font-weight:700}
.gp-toc li.hl a{background:color-mix(in srgb,var(--gp-berry) 9%,transparent)}

/* en bref */
.gp-bref{background:var(--gp-carte);border:1px solid var(--gp-bordure);padding:20px 22px;margin:1.4em 0 2em;border-radius:3px}
.gp-bref h2{margin:0 0 .5em;font-size:1.2rem}
.gp-bref ol{margin:0;padding-left:1.2em}

/* citation Dvora */
.gp-dvora{margin:2em 0;display:grid;grid-template-columns:64px minmax(0,1fr);gap:16px;align-items:start}
.gp-dvora img{width:64px;height:64px;border-radius:50%;object-fit:cover;border:2px solid var(--gp-berry)}
.gp-dvora blockquote{margin:0;font-family:var(--gp-serif);font-size:1.22rem;line-height:1.5;color:var(--gp-encre);font-style:italic}
.gp-dvora figcaption{font-size:.86rem;color:var(--gp-taupe);margin-top:.5em;font-style:normal;font-family:var(--gp-sans)}

/* figures */
.gp figure{margin:2em 0}
.gp figure img,.gp figure video{width:100%;height:auto;display:block;border-radius:2px;background:var(--gp-pierre)}
.gp figcaption{font-size:.9rem;color:var(--gp-taupe);margin-top:.5em}
.gp-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gp-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
@media (max-width:560px){.gp-trio{grid-template-columns:repeat(2,minmax(0,1fr))}}
.gp-duo img,.gp-trio img{aspect-ratio:4/5;object-fit:cover}

/* tableaux */
.gp-table{overflow-x:auto;margin:1.6em 0;border:1px solid var(--gp-bordure);background:var(--gp-carte)}
.gp-table table{border-collapse:collapse;width:100%;min-width:560px;font-size:.95rem;line-height:1.45}
.gp-table th,.gp-table td{padding:10px 12px;text-align:left;vertical-align:top;border-bottom:1px solid var(--gp-bordure)}
.gp-table thead th{background:var(--gp-pierre);color:var(--gp-encre);font-weight:700;font-size:.85rem}
.gp-table caption{caption-side:bottom;text-align:left;padding:8px 12px;font-size:.84rem;color:var(--gp-taupe)}
.gp-table td.num{font-variant-numeric:tabular-nums;white-space:nowrap}

/* widgets communs */
.gp-widget{background:var(--gp-carte);border:1px solid var(--gp-bordure);padding:20px;margin:2em 0;border-radius:3px}
.gp-widget h3,.gp-widget .t{margin:0 0 .3em;font-family:var(--gp-serif);font-size:1.2rem;color:var(--gp-encre);font-weight:600}
.gp-widget .sous{font-size:.92rem;color:var(--gp-taupe);margin:0 0 1em}
.gp-btns{display:flex;flex-wrap:wrap;gap:8px}
.gp-btn{font:inherit;font-size:.92rem;padding:8px 14px;border:1px solid var(--gp-bordure);background:var(--gp-creme);color:var(--gp-encre);border-radius:999px;cursor:pointer}
.gp-btn[aria-pressed="true"],.gp-btn.on{background:var(--gp-berry);border-color:var(--gp-berry);color:var(--gp-creme)}
.gp-svg{width:100%;height:auto;display:block}
.gp-svg text{font-family:var(--gp-sans);fill:var(--gp-texte)}

/* simulation */
.gp-sim{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;align-items:center}
@media (max-width:700px){.gp-sim{grid-template-columns:1fr}}
.gp-sim-stage{position:relative;background:linear-gradient(180deg,var(--gp-pierre),var(--gp-creme));border-radius:2px;overflow:hidden}
.gp-range{width:100%;accent-color:var(--gp-berry)}
.gp-sim-legend{font-size:.95rem}
.gp-sim-legend b{color:var(--gp-encre)}
.gp-zoom{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.gp-zoom figure{margin:0;text-align:center}
.gp-zoom svg{border-radius:50%;border:1px solid var(--gp-bordure)}
#gp-wig{transition:transform .9s cubic-bezier(.2,.8,.2,1),opacity .6s}
@media (prefers-reduced-motion:reduce){#gp-wig{transition:none}}

/* anatomie */
.gp-anat{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
@media (max-width:700px){.gp-anat{grid-template-columns:1fr}}
.gp-anat .zone{cursor:pointer;transition:opacity .2s}
.gp-anat .zone:hover,.gp-anat .zone.on{opacity:1!important;stroke:var(--gp-encre);stroke-width:2}
.gp-anat-info{border-left:3px solid var(--gp-berry);padding:4px 0 4px 14px;min-height:150px}
.gp-anat-info h4{margin:0 0 .3em;font-family:var(--gp-serif);font-size:1.15rem;color:var(--gp-encre)}

/* calculateur */
.gp-calc{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:14px;align-items:end}
.gp-calc label{display:flex;flex-direction:column;gap:4px;font-size:.88rem;color:var(--gp-taupe)}
.gp-calc input,.gp-calc select{font:inherit;font-size:1rem;padding:8px 10px;border:1px solid var(--gp-bordure);background:var(--gp-creme);color:var(--gp-encre);border-radius:3px;width:100%}
.gp-calc-out{margin-top:16px;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
.gp-calc-out div{background:var(--gp-pierre);padding:12px 14px;border-radius:3px}
.gp-calc-out b{display:block;font-family:var(--gp-serif);font-size:1.6rem;color:var(--gp-encre);font-variant-numeric:tabular-nums}
.gp-calc-out span{font-size:.85rem;color:var(--gp-taupe)}

/* checklist */
.gp-check{list-style:none;padding:0;margin:0}
.gp-check li{margin:0;border-bottom:1px solid var(--gp-bordure)}
.gp-check label{display:grid;grid-template-columns:22px minmax(0,1fr);gap:10px;padding:10px 0;cursor:pointer}
.gp-check input{width:18px;height:18px;margin-top:4px;accent-color:var(--gp-berry)}
.gp-check input:checked + span{color:var(--gp-taupe);text-decoration:line-through;text-decoration-color:var(--gp-berry)}
.gp-progress{height:6px;background:var(--gp-pierre);border-radius:6px;overflow:hidden;margin:6px 0 14px}
.gp-progress i{display:block;height:100%;width:0;background:var(--gp-berry);transition:width .3s}

/* orientation */
.gp-quiz fieldset{border:0;padding:0;margin:0 0 14px}
.gp-quiz legend{font-weight:700;color:var(--gp-encre);margin-bottom:6px;padding:0}
.gp-quiz-out{background:var(--gp-pierre);padding:14px 16px;border-radius:3px;margin-top:6px}
.gp-quiz-out ol{margin:.4em 0 0}

/* frise */
.gp-frise{list-style:none;padding:0;margin:1em 0 0;position:relative}
.gp-frise li{position:relative;padding:0 0 18px 30px;margin:0}
.gp-frise li::before{content:"";position:absolute;left:7px;top:10px;bottom:-4px;width:2px;background:var(--gp-bordure)}
.gp-frise li:last-child::before{display:none}
.gp-frise li::after{content:"";position:absolute;left:1px;top:6px;width:14px;height:14px;border-radius:50%;background:var(--gp-creme);border:3px solid var(--gp-berry)}
.gp-frise b{color:var(--gp-encre);display:block}

/* encarts */
.gp-note{background:var(--gp-pierre);padding:14px 18px;margin:1.6em 0;border-radius:3px;font-size:.98rem}
.gp-note.halakha{border-left:3px solid var(--gp-berry)}
.gp-video{max-width:360px}
.gp-sources{font-size:.9rem}
.gp-sources li{margin:.4em 0}
.gp-faq details{border-bottom:1px solid var(--gp-bordure);padding:12px 0}
.gp-faq summary{cursor:pointer;font-family:var(--gp-serif);font-size:1.12rem;color:var(--gp-encre);font-weight:600;list-style-position:outside}
.gp-faq details p{margin:.6em 0 0}
.gp-maj{font-size:.88rem;color:var(--gp-taupe);border-top:1px solid var(--gp-bordure);padding-top:12px;margin-top:3em}

/* ---------- mobile d'abord : ajustements ---------- */
.gp-btn{white-space:normal;text-align:left;line-height:1.3}
.gp-faq summary h3{display:inline;font-size:1.1rem;margin:0;font-family:var(--gp-serif)}
.gp-main > figure:first-of-type img{max-height:560px;object-fit:cover;object-position:top}
.gp-video{margin-inline:auto}
@media (max-width:700px){
  .gp{font-size:1.02rem}
  .gp h2{margin-top:2em}
  .gp-sim-stage{max-width:420px;margin:0 auto}
  .gp-dvora{grid-template-columns:48px minmax(0,1fr);gap:12px}
  .gp-dvora img{width:48px;height:48px}
  .gp-dvora blockquote{font-size:1.08rem}
  .gp-widget{padding:16px 14px}
  .gp-anat svg{max-width:340px;margin:0 auto}
}
@media (max-width:640px){
  .gp-table{overflow:visible;border:0;background:transparent}
  .gp-table table{min-width:0;font-size:.95rem}
  .gp-table thead{display:none}
  .gp-table tbody,.gp-table tr{display:block}
  .gp-table tr{background:var(--gp-carte);border:1px solid var(--gp-bordure);border-radius:3px;margin-bottom:10px;padding:6px 0}
  .gp-table td{display:grid;grid-template-columns:40% minmax(0,1fr);gap:10px;border:0;padding:6px 12px}
  .gp-table td::before{content:attr(data-label);font-weight:700;color:var(--gp-taupe);font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
  .gp-table td:first-child{grid-template-columns:1fr;font-size:1.04rem;color:var(--gp-encre);border-bottom:1px solid var(--gp-bordure);padding-bottom:8px}
  .gp-table td:first-child::before{display:none}
  .gp-table td.num{white-space:normal}
  .gp-table caption{display:block;padding:4px 0}
}
.gp-mes-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:560px){.gp-mes-duo{grid-template-columns:1fr}.gp-mes-duo svg{max-width:300px;margin:0 auto}}
/* illustrations */
.gp-pose{position:relative;overflow:hidden;border-radius:3px;background:var(--gp-creme);aspect-ratio:760/1023;max-width:460px;margin:0 auto}
.gp-pose-zoom{position:absolute;inset:0;transition:transform .8s cubic-bezier(.2,.8,.2,1);transform-origin:62% 22%}
.gp-pose-zoom img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gp-pose-wig{-webkit-mask-image:linear-gradient(to bottom,#000 calc(var(--p,100%) - 8%),transparent var(--p,100%));mask-image:linear-gradient(to bottom,#000 calc(var(--p,100%) - 8%),transparent var(--p,100%))}
.gp-pose.moyen .gp-pose-zoom{transform:scale(1.9)}
.gp-pose-photo{position:absolute;inset:0;margin:0;background:var(--gp-creme)}
.gp-pose-photo img{width:100%;height:100%;object-fit:cover;aspect-ratio:auto}
.gp-pose-photo figcaption{position:absolute;left:0;right:0;bottom:0;margin:0;padding:10px 12px;background:color-mix(in srgb,var(--gp-encre) 72%,transparent);color:var(--gp-creme);font-size:.85rem}
.gp-long-fig,.gp-mes-fig{position:relative;max-width:420px;margin:0 auto;width:100%}
.gp-mes-fig{max-width:100%}
.gp-long-fig img,.gp-mes-fig img{display:block;width:100%;height:auto;border-radius:3px}
.gp-long-svg,.gp-mes-svg{position:absolute;inset:0;width:100%;height:100%}
.gp-long-svg text{font-family:var(--gp-sans);font-weight:700}
.gp-dens-trio img{aspect-ratio:3/4;object-fit:cover;width:100%;border-radius:2px}
.gp-dens-trio p{font-size:.92rem;margin:.5em 0 0;line-height:1.45}
@media (max-width:560px){.gp-dens-trio{grid-template-columns:1fr}.gp-dens-trio>div{display:grid;grid-template-columns:110px minmax(0,1fr);gap:12px;align-items:center}.gp-dens-trio p{margin:0}}
@media (prefers-reduced-motion:reduce){.gp-pose-zoom{transition:none}}
/* pose et distance, version 2 */
.gp-pose img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.gp-dist{position:relative;overflow:hidden;border-radius:3px;aspect-ratio:3/4;max-width:460px;margin:0 auto;background:var(--gp-pierre)}
.gp-dist-zoom,.gp-dist-macro{position:absolute;inset:0}
.gp-dist-zoom{transform-origin:52.8% 26.4%;will-change:transform}
.gp-dist-zoom img,.gp-dist-macro img{width:100%;height:100%;object-fit:cover;display:block;aspect-ratio:auto}
.gp-dist-macro{opacity:0;pointer-events:none}
.gp-dist-badge{position:absolute;top:10px;left:10px;background:color-mix(in srgb,var(--gp-encre) 75%,transparent);color:var(--gp-creme);font-weight:700;font-size:.9rem;padding:4px 10px;border-radius:999px;font-variant-numeric:tabular-nums}
.gp-dist-echelle{position:relative;height:1.3em;font-size:.8rem;color:var(--gp-taupe);margin:2px 8px 0}
.gp-dist-echelle span{position:absolute;transform:translateX(-50%);white-space:nowrap}
.gp-dist-echelle span:first-child{transform:none}.gp-dist-echelle span:last-child{transform:translateX(-100%)}

/* le thème centre les titres sur mobile : le guide reste aligné à gauche */
.gp .gp-main h1,.gp .gp-main h2,.gp .gp-main h3,.gp .gp-main p,.gp .gp-main li{text-align:left}
