/* Page du livret « Et toi, m'aimes-tu ? » — couleurs reprises de la couverture (bleu nuit, violet), accents Caritas. */
.lv-page{--lv-night:#101a4d;--lv-deep:#0b1236;--lv-violet:#5a2d82;--lv-lilac:#c9a6e6;--lv-cream:#f7f3ee;background:#fff}
.lv-page .lv-kicker{margin:0 0 10px;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red,#e3101b)}
.lv-page h1,.lv-page .lv-head h2{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;letter-spacing:-.01em}
.lv-head{max-width:760px;margin:0 auto 38px;text-align:center}
.lv-head h2{margin:0 0 12px;font-size:clamp(30px,4.4vw,48px);line-height:1.1}
.lv-head p{margin:0;color:var(--muted);font-size:18px;line-height:1.55}
.lv-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- En-tête : les pages forment le livret ---------- */
.lv-hero{position:relative;overflow:hidden;color:#fff;background:radial-gradient(120% 90% at 20% 30%,#2a2f86 0%,var(--lv-night) 45%,var(--lv-deep) 100%)}
.lv-hero::before{content:"";position:absolute;inset:0;background:radial-gradient(60% 50% at 85% 15%,rgba(201,166,230,.28),transparent 70%),radial-gradient(40% 40% at 10% 90%,rgba(227,16,27,.18),transparent 70%);pointer-events:none}
.lv-hero::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(90deg,var(--lv-violet),#8c4fc0,var(--lv-violet))}
.lv-hero-in{position:relative;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:clamp(30px,6vw,90px);align-items:center;width:min(1200px,calc(100% - 64px));margin:0 auto;min-height:min(86vh,820px);padding:70px 0 80px}
.lv-stage{position:relative;justify-self:center;width:clamp(230px,27vw,360px);aspect-ratio:300/460}
.lv-card{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:6px;opacity:0;background:#fff;box-shadow:0 18px 40px -18px rgba(0,0,0,.6);will-change:transform}
.lv-card.lv-cover{border-radius:4px 10px 10px 4px;box-shadow:0 40px 90px -30px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.08)}
.lv-hero.is-done .lv-cover{animation:lvGlow 3.2s ease-in-out 1 both}
@keyframes lvGlow{0%{filter:brightness(1)}35%{filter:brightness(1.08)}100%{filter:brightness(1)}}
.lv-hero-copy{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1)}
.lv-hero.is-done .lv-hero-copy{opacity:1;transform:none}
.lv-hero .lv-kicker{color:var(--lv-lilac)}
.lv-hero h1{margin:0 0 18px;color:#fff;font-size:clamp(40px,6.2vw,78px);line-height:1.02}
.lv-lead{margin:0 0 30px;max-width:30ch;font-size:clamp(19px,1.9vw,23px);line-height:1.5;color:rgba(255,255,255,.88)}
.lv-ctas{display:flex;flex-wrap:wrap;gap:14px 24px;align-items:center}
.lv-link{color:#fff;font-weight:700;text-decoration:underline;text-underline-offset:5px;text-decoration-color:rgba(255,255,255,.4)}
.lv-link:hover{text-decoration-color:#fff}
@media(max-width:860px){.lv-hero-in{grid-template-columns:1fr;text-align:center;padding:48px 0 64px;min-height:0}.lv-lead{margin-left:auto;margin-right:auto}.lv-ctas{justify-content:center}.lv-stage{width:min(62vw,280px)}}

/* ---------- Feuilleter ---------- */
.lv-flip-s{padding:clamp(70px,9vw,120px) 0;background:var(--lv-cream)}
.lv-book{display:grid;justify-items:center;gap:22px}
.lv-spread{position:relative;display:grid;grid-template-columns:1fr 1fr;width:min(920px,100%,calc((100vh - 230px) * 1.304));aspect-ratio:2*900/1380;perspective:2600px;filter:drop-shadow(0 30px 40px rgba(16,26,77,.22))}
.lv-spread::after{content:"";position:absolute;top:0;bottom:0;left:50%;width:40px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,rgba(0,0,0,.12) 45%,rgba(0,0,0,.18) 50%,rgba(0,0,0,.12) 55%,transparent);pointer-events:none}
.lv-spread.is-single::after{display:none}
.lv-p{display:block;width:100%;height:100%;object-fit:cover;background:#fff}
.lv-p.is-left{border-radius:8px 0 0 8px}.lv-p.is-right{border-radius:0 8px 8px 0}
.lv-p.is-cover{grid-column:2;border-radius:3px 8px 8px 3px}
.lv-leaf{position:absolute;top:0;bottom:0;width:50%;transform-style:preserve-3d;z-index:3}
.lv-leaf.is-fwd{left:50%;transform-origin:left center}
.lv-leaf.is-back{left:0;transform-origin:right center}
.lv-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 0 30px rgba(0,0,0,.12)}
.lv-back{transform:rotateY(180deg)}
.lv-book-nav{display:flex;align-items:center;gap:18px}
.lv-book-nav button{width:52px;height:52px;border-radius:50%;background:#fff;color:var(--lv-night);font-size:22px;font-weight:800;box-shadow:0 10px 24px -12px rgba(16,26,77,.5);transition:transform .2s,background .2s,color .2s}
.lv-book-nav button:hover:not(:disabled){background:var(--lv-night);color:#fff;transform:translateY(-2px)}
.lv-book-nav button:disabled{opacity:.35;cursor:default}
.lv-count{min-width:60px;text-align:center;font-weight:700;color:var(--muted)}
.lv-more{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;justify-content:center;margin:0;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:20px;color:var(--lv-night)}
.lv-more a{display:inline-flex;align-items:center;gap:8px;font-family:inherit;font-style:normal;font-family:'Plus Jakarta Sans',sans-serif;font-size:15px;font-weight:800;color:var(--red,#e3101b)}
.lv-more a svg,.lv-ctas .btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2.2}

/* ---------- Histoire ---------- */
.lv-story{padding:clamp(70px,9vw,120px) 0}
.lv-story-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.lv-chapter{position:relative;padding:34px 30px 30px;border-radius:26px;background:#fff;box-shadow:0 22px 50px -30px rgba(16,26,77,.35);border-top:5px solid var(--lv-violet)}
.lv-num{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:44px;line-height:1;color:var(--lv-lilac)}
.lv-chapter h3{margin:10px 0 12px;font-size:21px;line-height:1.25}
.lv-chapter p{margin:0 0 12px;line-height:1.6;color:#3c3e45}
.lv-chapter blockquote{margin:16px 0 0;padding:16px 18px;border-radius:16px;background:#f3eef9;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:18px;line-height:1.45;color:var(--lv-night)}
.lv-chapter cite{display:block;margin-top:8px;font-family:'Plus Jakarta Sans',sans-serif;font-style:normal;font-size:13px;color:var(--muted)}
@media(max-width:980px){.lv-story-grid{grid-template-columns:1fr}}

/* ---------- Pour qui ---------- */

/* ---------- Réservation (verrouillée tant qu'elle n'est pas ouverte) ---------- */
.lv-order{position:relative;padding:clamp(70px,9vw,120px) 0;background:#fff;overflow:hidden}
.lv-form{max-width:860px;margin:0 auto}
.lv-qty{max-width:520px}
.lv-note{display:grid;gap:6px;margin-top:16px;font-weight:600}
.lv-note textarea{width:100%;padding:12px 14px;border-radius:14px;font:inherit}
.lv-done{max-width:640px;margin:0 auto;padding:30px;border-radius:24px;background:var(--lv-cream);text-align:center}
.lv-lock{position:absolute;inset:0;display:block;padding:24px;background:rgba(8,10,28,0);transition:background 1.6s ease;pointer-events:none;z-index:5}
.lv-lock-msg{position:sticky;top:calc(50vh - 90px);display:grid;gap:12px;max-width:560px;margin:0 auto;text-align:center;color:#fff;opacity:0;transform:translateY(10px);transition:opacity 1s ease .7s,transform 1s ease .7s}
.lv-lock-msg strong{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(32px,5vw,56px);line-height:1.1}
.lv-lock-msg span{font-size:18px;color:rgba(255,255,255,.78)}
.lv-order.is-dark .lv-lock{background:rgba(8,10,28,.99);pointer-events:auto}
.lv-order.is-dark .lv-lock-msg{opacity:1;transform:none}
.lv-order.is-locked .lv-form{cursor:pointer}
@media(prefers-reduced-motion:reduce){.lv-lock,.lv-lock-msg,.lv-hero-copy{transition:none}}

/* ---------- Apparitions douces au défilement ---------- */
.lv-js [data-lv-reveal]{opacity:0;transform:translateY(18px);transition:opacity .9s ease,transform .9s cubic-bezier(.2,.8,.2,1);transition-delay:calc(var(--d,0) * 140ms)}
.lv-js [data-lv-reveal].is-in{opacity:1;transform:none}

/* ---------- Huit chemins : un à la fois ---------- */
.lv-ways-s{padding:clamp(60px,8vw,110px) 0;background:linear-gradient(180deg,#fff 0%,#f6f1fb 100%)}
.lv-ways{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:clamp(30px,6vw,90px);align-items:center}
.lv-ways-intro h2{margin:0 0 16px;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(30px,3.8vw,44px);line-height:1.12}
.lv-ways-intro p:last-child{margin:0;max-width:44ch;font-size:18px;line-height:1.65;color:#4a4c55}
.lv-way-stage{position:relative;padding:clamp(28px,4vw,48px) 0;border-top:1px solid rgba(90,45,130,.25);border-bottom:1px solid rgba(90,45,130,.25)}
.lv-way-list{position:relative;display:grid;margin:0;padding:0;list-style:none;min-height:210px}
.lv-way{grid-area:1/1;display:grid;align-content:center;gap:10px;opacity:0;transform:translateY(14px);transition:opacity .7s ease,transform .7s cubic-bezier(.2,.8,.2,1);pointer-events:none}
.lv-way.is-on{opacity:1;transform:none;pointer-events:auto}
.lv-way-n{position:absolute;right:0;top:50%;transform:translateY(-50%);font-family:'Playfair Display',Georgia,serif;font-style:italic;font-size:clamp(110px,14vw,180px);line-height:1;color:rgba(90,45,130,.09);pointer-events:none}
.lv-way-k{position:relative;font-size:13px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--red,#e3101b)}
.lv-way strong{position:relative;font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(28px,3.4vw,40px);line-height:1.15;color:var(--lv-night)}
.lv-way em{position:relative;font-style:normal;font-size:clamp(17px,1.6vw,20px);line-height:1.5;color:#55576a}
.lv-way-nav{display:flex;align-items:center;gap:18px;margin-top:26px}
.lv-way-nav>button{width:46px;height:46px;border-radius:50%;background:#fff;color:var(--lv-night);font-size:20px;font-weight:800;box-shadow:0 8px 20px -12px rgba(16,26,77,.45);transition:background .2s,color .2s}
.lv-way-nav>button:hover{background:var(--lv-night);color:#fff}
.lv-way-dots{display:flex;gap:8px}
.lv-way-dots button{width:10px;height:10px;padding:0;border-radius:999px;background:rgba(16,26,77,.18);transition:width .35s,background .35s}
.lv-way-dots button[aria-current="true"]{width:28px;background:var(--lv-violet)}
@media(max-width:860px){.lv-ways{grid-template-columns:1fr}.lv-way-list{min-height:190px}}

/* ---------- Pour qui : une ligne, des chiffres, une phrase ---------- */
.lv-for{padding:clamp(70px,9vw,120px) 0;background:var(--lv-cream)}
.lv-for .lv-head{margin-bottom:44px}
.lv-aud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0 auto;padding:0;max-width:1080px;list-style:none}
.lv-aud li{padding:6px 22px;text-align:center;font-size:18px;font-weight:600;line-height:1.4;color:var(--lv-night)}
.lv-aud li+li{border-left:1px solid rgba(16,26,77,.18)}
.lv-figs{display:flex;justify-content:center;margin:56px auto 0;max-width:760px}
.lv-figs div{flex:1;display:grid;justify-items:center;gap:4px;padding:0 20px}
.lv-figs div+div{border-left:1px solid rgba(16,26,77,.18)}
.lv-figs strong{font-family:'Playfair Display',Georgia,serif;font-style:italic;font-weight:600;font-size:clamp(46px,6vw,68px);line-height:1;color:var(--lv-violet)}
.lv-figs span{font-size:15px;color:var(--muted)}
.lv-for-note{max-width:62ch;margin:44px auto 0;text-align:center;font-size:17px;line-height:1.7;color:#4a4c55}
@media(max-width:860px){.lv-aud{grid-template-columns:1fr 1fr;row-gap:18px}.lv-aud li:nth-child(3){border-left:0}}
@media(max-width:520px){.lv-aud{grid-template-columns:1fr}.lv-aud li{padding:14px 0}.lv-aud li+li{border-left:0;border-top:1px solid rgba(16,26,77,.14)}.lv-figs div{padding:0 10px}}
@media(prefers-reduced-motion:reduce){.lv-js [data-lv-reveal],.lv-way{transition:none}}
