/* Le Livre Calme · formato B «Le Livre en feutrine» (elegido por Fabri, 13/11).
   Cada sección es una hoja de fieltro de un libro de actividades: borde de costura punteada, dos ojales del anillado
   y un mecanismo distinto (bolsillo con abrojo, botones, solapas, cordón, broches, etiqueta). */
:root{
  --ciel:#BADDF0;--rose:#F2CFCB;--sauge:#B7CBA6;--jaune:#F6D06E;--creme:#F7EEDC;--nuit:#2F3A4A;
  --encre:#33302E;--doux:#5A534D;--terre:#E1665D;--terre-fonce:#B84A3C;--vert-fonce:#3F7449;--bleu-fonce:#3F6FAE;--bleu:#719FD6;--vert:#5E9468;--blanc:#FBFAF5;--fond:#E9DFD2;
  --cta:#00b042;--cta-ombre:#007a2e;--titre:Fredoka,"Trebuchet MS",sans-serif;
  color-scheme:only light
}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{font:400 17px/1.55 Nunito,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--encre);background:var(--fond);
  background-image:radial-gradient(rgba(90,70,40,.06) 1px,transparent 1.3px);background-size:7px 7px;-webkit-font-smoothing:antialiased}
img,video{display:block;max-width:100%;height:auto}
b{font-weight:800}
s{text-decoration-thickness:2px}
a{color:inherit}
:focus-visible{outline:3px solid var(--bleu);outline-offset:3px;border-radius:6px}

/* el libro: hojas apiladas una debajo de otra */
.livre{max-width:820px;margin:0 auto;padding:16px 12px 8px}
.page{position:relative;border-radius:24px;padding:30px 20px 30px 46px;margin-bottom:18px;
  background-image:radial-gradient(rgba(0,0,0,.035) 1px,transparent 1.2px);background-size:5px 5px;
  box-shadow:0 2px 0 rgba(0,0,0,.06),0 12px 22px rgba(60,40,20,.13)}
.page::before{content:"";position:absolute;inset:8px;border:2px dashed rgba(51,48,46,.26);border-radius:17px;pointer-events:none}
.oeillet{position:absolute;left:14px;width:17px;height:17px;border-radius:50%;background:var(--fond);box-shadow:inset 0 0 0 3.5px #b9b2a8,0 1px 0 rgba(255,255,255,.6)}
.o1{top:min(64px,26%)}.o2{bottom:min(64px,26%)}
.ciel{background-color:var(--ciel)}.rose{background-color:var(--rose)}.sauge{background-color:var(--sauge)}
.jaune{background-color:var(--jaune)}.creme{background-color:var(--creme)}
.nuit{background-color:var(--nuit);color:var(--blanc)}
.nuit::before{border-color:rgba(255,255,255,.3)}

h1,h2,h3{font-family:var(--titre);font-weight:700;line-height:1.12;text-wrap:balance}
h1{font-size:clamp(2rem,7.4vw,3.1rem);text-align:center;margin:12px auto 12px;max-width:16ch}
h1 mark{background:var(--jaune);color:inherit;border-radius:12px;padding:0 8px;-webkit-box-decoration-break:clone;box-decoration-break:clone}
h2{font-size:clamp(1.55rem,5.4vw,2.2rem);text-align:center;margin-bottom:16px}
h3{font-size:1.18rem;margin-bottom:4px}
.intro{text-align:center;max-width:46ch;margin:-6px auto 18px}
.nuit .intro{color:#d9dde4}

/* 1 · inicio: marca cosida, bolsillo con la foto y solapa con el precio */
.marque{text-align:center}
.marque span{display:inline-block;font:600 1.05rem var(--titre);letter-spacing:.02em;background:var(--blanc);border-radius:99px;padding:5px 16px;box-shadow:0 2px 0 rgba(0,0,0,.08)}
.chapo{text-align:center;max-width:40ch;margin:0 auto 22px;font-size:1.06rem}
.poche{position:relative;margin:14px auto 0;width:min(92%,440px)}
.poche img{width:100%;border-radius:16px;box-shadow:0 10px 18px rgba(60,40,20,.25)}
.scratch{position:absolute;z-index:2;top:-11px;left:50%;width:52px;height:20px;margin-left:-26px;border-radius:5px;background:#EDEAE3;
  background-image:repeating-linear-gradient(90deg,#cfc8bc 0 2px,transparent 2px 4px);box-shadow:0 2px 3px rgba(0,0,0,.15)}
.rabat{position:absolute;left:-5%;right:-5%;bottom:-24px;min-height:70px;padding:8px 14px;background:var(--terre-fonce);color:#fff;border-radius:14px 14px 20px 20px;
  box-shadow:0 7px 12px rgba(0,0,0,.2);display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:4px 14px;font:600 1rem var(--titre)}
.rabat::before{content:"";position:absolute;inset:6px;border:2px dashed rgba(255,255,255,.55);border-radius:10px;pointer-events:none}
.rabat s{font-size:1.05rem}
.rabat b{font:700 2.2rem/1 var(--titre)}
.cta{display:block;max-width:440px;margin:44px auto 0;text-align:center;background:var(--cta);color:#fff;font:700 1.22rem/1.3 var(--titre);
  padding:17px 18px 15px;border-radius:99px;text-decoration:none;box-shadow:0 6px 0 var(--cta-ombre);transition:transform .12s,box-shadow .12s}
.cta small{display:block;font:700 .84rem/1.35 Nunito,sans-serif;margin-top:3px}
.cta:hover{transform:translateY(-2px);box-shadow:0 8px 0 var(--cta-ombre)}
.cta:active{transform:translateY(4px);box-shadow:0 2px 0 var(--cta-ombre)}
.rassure{list-style:none;display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin-top:16px;font-size:.88rem;font-weight:700}
.rassure li::before{content:"";display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--vert);margin-right:6px;vertical-align:1px}

/* 2 · dolores: cada frase va cosida con un botón de cuatro agujeros */
.boutons{list-style:none;display:grid;gap:10px;max-width:620px;margin:0 auto}
.boutons li{display:flex;gap:14px;align-items:center;background:var(--blanc);border-radius:16px;padding:13px 16px;font-weight:600;position:relative}
.boutons li::after{content:"";position:absolute;inset:4px;border:1.5px dashed rgba(51,48,46,.18);border-radius:12px;pointer-events:none}
.bt{flex:none;width:36px;height:36px;border-radius:50%;background:var(--terre);box-shadow:inset 0 0 0 4px rgba(255,255,255,.28),0 2px 0 rgba(0,0,0,.12);position:relative}
.bt::after{content:"";position:absolute;inset:11px;background:
  radial-gradient(circle at 25% 25%,var(--encre) 2px,transparent 2.6px),radial-gradient(circle at 75% 25%,var(--encre) 2px,transparent 2.6px),
  radial-gradient(circle at 25% 75%,var(--encre) 2px,transparent 2.6px),radial-gradient(circle at 75% 75%,var(--encre) 2px,transparent 2.6px)}
.b2{background:var(--bleu)}.b3{background:var(--jaune)}.b4{background:var(--vert)}.b5{background:#B88BC4}
.fin-page{text-align:center;max-width:48ch;margin:20px auto 0}

/* 3 · tres perfiles: tres solapas de fieltro blanco */
.trois{display:grid;gap:12px}
.carte-f{background:var(--blanc);border-radius:18px;padding:20px 18px 18px;position:relative;text-align:center}
.carte-f::before{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(51,48,46,.2);border-radius:14px;pointer-events:none}
.pastille{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:50%;color:#fff;font:700 1.25rem var(--titre);margin-bottom:8px;box-shadow:inset 0 0 0 4px rgba(255,255,255,.25)}
.carte-f p{color:var(--doux);font-size:.97rem}

/* 4 · cómo funciona: un cordón que une tres ojales */
.lacet{list-style:none;counter-reset:l;position:relative;max-width:560px;margin:0 auto;display:grid;gap:22px}
.lacet::before{content:"";position:absolute;left:23px;top:24px;bottom:24px;border-left:4px dotted var(--terre)}
.lacet li{counter-increment:l;position:relative;padding-left:68px;min-height:48px}
.lacet li::before{content:counter(l);position:absolute;left:0;top:0;width:50px;height:50px;border-radius:50%;background:var(--blanc);
  box-shadow:inset 0 0 0 6px #d9cfc0,0 2px 0 rgba(0,0,0,.08);display:grid;place-items:center;font:700 1.3rem var(--titre);color:var(--terre)}
.lacet b{display:block;font:700 1.15rem var(--titre)}
.lacet span{color:var(--doux)}

/* 5 · qué recibe: 12 colecciones como cuadrados de fieltro */
.collections{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.collections figure{background:var(--blanc);border-radius:14px;padding:6px 6px 8px;box-shadow:0 2px 0 rgba(0,0,0,.07)}
.collections img{border-radius:10px;aspect-ratio:1;object-fit:cover;width:100%}
.collections figcaption{font:600 .85rem/1.2 var(--titre);text-align:center;margin-top:6px}
.aussi{list-style:none;display:grid;gap:8px;margin:20px auto 0;max-width:600px}
.aussi li{background:rgba(255,255,255,.6);border-radius:12px;padding:10px 14px 10px 40px;position:relative}
.aussi li::before{content:"";position:absolute;left:14px;top:50%;width:14px;height:14px;margin-top:-7px;border-radius:50%;background:var(--terre);box-shadow:inset 0 0 0 3px rgba(255,255,255,.4)}

/* 6 · por dentro: páginas reales del PDF, se tocan para agrandar */
.hojas{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.hojas figure{background:var(--blanc);border-radius:12px;padding:6px;box-shadow:0 4px 10px rgba(60,40,20,.14)}
.hojas img{border-radius:6px;cursor:zoom-in;width:100%}
.hojas figcaption{font-size:.82rem;font-weight:700;text-align:center;margin:6px 2px 2px;line-height:1.3}
.video{margin:22px auto 0;max-width:340px;text-align:center}
.video video{width:100%;border-radius:16px;box-shadow:0 8px 16px rgba(60,40,20,.22);background:#fff}
.video p{font-size:.9rem;margin-top:8px}

/* 7 · bonos: cada uno sujeto con un broche a presión */
.bonus{display:grid;gap:14px}
.bonus article{display:flex;gap:16px;align-items:center;background:var(--blanc);border-radius:18px;padding:14px;position:relative}
.bonus article::before{content:"";position:absolute;top:-7px;left:50%;width:18px;height:18px;margin-left:-9px;border-radius:50%;background:#C9CDD3;box-shadow:inset 0 0 0 4px #9EA4AD,0 2px 2px rgba(0,0,0,.15)}
.bonus img{flex:none;width:96px;border-radius:6px;box-shadow:0 4px 10px rgba(60,40,20,.2)}
.bonus p{font-size:.95rem;color:var(--doux)}
.bonus .valeur{font-size:.9rem;margin-bottom:2px;color:var(--encre)}
.valeur b{display:inline-block;background:var(--vert-fonce);color:#fff;font:600 .78rem var(--titre);text-transform:uppercase;letter-spacing:.06em;padding:2px 9px;border-radius:99px;margin-left:4px}

/* 8 · oferta: la hoja oscura con la etiqueta cosida */
.sceau{display:block;width:max-content;margin:0 auto 10px;background:var(--jaune);color:var(--encre);font:700 .82rem var(--titre);text-transform:uppercase;letter-spacing:.1em;padding:6px 16px;border-radius:8px;transform:rotate(-2deg)}
.recap{list-style:none;max-width:560px;margin:0 auto}
.recap li{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1.5px dashed rgba(255,255,255,.25)}
.recap s{flex:none;opacity:.75;white-space:nowrap}
.total{text-align:center;margin-top:20px}
.total s{opacity:.8}
.prix-final{font:600 1.15rem var(--titre);margin-top:4px}
.prix-final b{display:block;font:700 3.4rem/1 var(--titre);color:var(--jaune)}
.petit{font-size:.88rem;opacity:.85;margin-top:6px}
.nuit .cta{margin-top:24px}

/* 9 · garantía: un parche redondo con el 7 */
.garantie{display:flex;gap:20px;align-items:center;max-width:600px;margin:0 auto}
.garantie h2{text-align:left;margin-bottom:6px}
.sept{flex:none;width:104px;height:104px;border-radius:50%;background:var(--blanc);display:grid;place-content:center;text-align:center;
  font:700 2.8rem/1 var(--titre);color:var(--vert);box-shadow:inset 0 0 0 6px var(--blanc),inset 0 0 0 8px rgba(94,148,104,.5),0 4px 10px rgba(0,0,0,.12)}
.sept small{font:600 .85rem var(--titre);color:var(--encre)}

/* 10 · preguntas */
details{max-width:640px;margin:0 auto 10px;background:var(--blanc);border-radius:14px}
summary{cursor:pointer;list-style:none;padding:15px 48px 15px 18px;font:600 1.05rem/1.3 var(--titre);position:relative}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:14px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--terre-fonce);color:#fff;display:grid;place-items:center;font:700 1.1rem/1 var(--titre)}
details[open] summary::after{content:"−"}
details p{padding:0 18px 16px;color:var(--doux)}

/* 11 · cierre */
#fin .intro{margin-top:0}
#fin .cta{margin-top:10px}

footer{max-width:820px;margin:0 auto;padding:10px 20px 110px;text-align:center;font-size:.8rem;color:var(--doux)}
footer p+p{margin-top:4px}

/* botón fijo del celular */
.barre{position:fixed;left:0;right:0;bottom:0;z-index:20;padding:10px 12px calc(10px + env(safe-area-inset-bottom));background:rgba(233,223,210,.96);
  box-shadow:0 -4px 14px rgba(0,0,0,.12);transform:translateY(110%);transition:transform .25s}
.barre.on{transform:none}
.barre a{display:flex;align-items:center;justify-content:space-between;gap:10px;max-width:520px;margin:0 auto;background:var(--cta);color:#fff;text-decoration:none;
  font:700 1.05rem var(--titre);padding:12px 18px;border-radius:99px;box-shadow:0 4px 0 var(--cta-ombre)}
.barre span{font-size:1.1rem;white-space:nowrap}
.barre s{font-size:.85rem;margin-right:4px}

/* zoom de las páginas */
.zoom-caja{position:fixed;inset:0;z-index:50;background:rgba(30,26,22,.92);display:grid;place-items:center;overflow:hidden;touch-action:none}
.zoom-caja[hidden]{display:none}
.zoom-caja img{max-width:94vw;max-height:86vh;border-radius:6px;transform-origin:center;user-select:none;-webkit-user-drag:none}
.zoom-cerrar{position:absolute;top:12px;right:12px;width:46px;height:46px;border-radius:50%;border:0;background:var(--blanc);color:var(--encre);font:700 1.6rem/1 var(--titre);cursor:pointer;z-index:2}
.zoom-ayuda{position:absolute;bottom:16px;left:0;right:0;text-align:center;color:#eee;font-size:.85rem}

@media (min-width:700px){
  .page{padding:44px 48px 44px 72px}
  .oeillet{left:24px;width:20px;height:20px}
  .o1{top:min(90px,26%)}.o2{bottom:min(90px,26%)}
  .trois{grid-template-columns:repeat(3,1fr)}
  .collections{grid-template-columns:repeat(4,1fr);gap:14px}
  .hojas{grid-template-columns:repeat(4,1fr)}
  .bonus{grid-template-columns:repeat(2,1fr)}
  .bonus article:last-child{grid-column:1/-1;max-width:calc(50% - 7px);justify-self:center}
  .barre{display:none}
  footer{padding-bottom:30px}
}
@media (max-width:380px){
  .page{padding:26px 14px 26px 38px}
  .oeillet{left:11px;width:15px;height:15px}
  .bonus img{width:78px}
}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .cta,.barre{transition:none}
}
