/* Accueil : maquette du héros, grille « bento », parcours, étapes. */
.lp .ic{width:1em;height:1em;vertical-align:-.12em}

/* Maquette : page de réservation + agenda du jour (HTML/CSS, aucune image) */
.lp-stage{margin:clamp(40px,7vw,72px) auto 0;max-width:1040px;background:var(--tile);border-radius:28px 28px 0 0;padding:clamp(18px,4vw,40px) clamp(14px,4vw,40px) 0;text-align:left}
.lpm-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:16px;align-items:end}
.lpm-card{background:var(--card);border-radius:20px 20px 0 0;box-shadow:0 2px 20px rgba(0,0,0,.07);overflow:hidden;min-width:0}
.lpm-top{display:flex;gap:12px;align-items:center;padding:16px 20px;border-bottom:1px solid var(--line)}
.lpm-top b{display:block;font-size:1.02rem;letter-spacing:-.015em;line-height:1.25}
.lpm-top small{display:block;color:var(--mute);font-size:.84rem;margin-top:2px}
.lpm-av{width:40px;height:40px;border-radius:12px;background:var(--a);color:#fff;display:grid;place-items:center;font-weight:700;font-size:1.1rem;flex:none}
.lpm-body{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:18px;padding:16px 20px 20px}
.lpm-mo{font-weight:600;font-size:.9rem;margin-bottom:8px}
.lpm-cal{display:grid;grid-template-columns:repeat(7,1fr);gap:3px;text-align:center;font-size:.78rem}
.lpm-cal>*{display:grid;place-items:center;aspect-ratio:1;border-radius:50%;color:var(--mute);opacity:.55;min-width:0}
.lpm-cal .w{aspect-ratio:auto;opacity:1;font-size:.68rem;font-weight:600;padding-bottom:2px}
.lpm-cal .av{background:var(--accbg);color:var(--link);font-weight:700;opacity:1}
.lpm-cal .on{background:var(--a);color:#fff;font-weight:700;opacity:1}
.lpm-side{display:grid;gap:6px;align-content:start;min-width:0}
.lpm-day{font-weight:600;font-size:.9rem;margin-bottom:2px}
.lpm-slots{display:grid;gap:6px}
.lpm-slots span{border:1.5px solid var(--a);color:var(--link);border-radius:10px;padding:5px;text-align:center;font-weight:600;font-size:.85rem}
.lpm-slots span.on{background:var(--a);color:#fff}
.lpm-tz{font-size:.72rem;color:var(--mute);margin-top:4px}
.lpm-agenda{padding:16px 20px 20px}
.lpm-agenda .mh{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;font-weight:600}
.lpm-agenda .sub{color:var(--mute);font-size:.84rem}
.lpm-agenda ul{list-style:none;margin:12px 0 0;padding:0}
.lpm-agenda li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;padding:10px 0;border-top:1px solid var(--line);font-size:.88rem;align-items:center}
.lpm-agenda li>b{font-weight:600;white-space:nowrap;grid-row:span 2}
.lpm-agenda li small{color:var(--mute);font-size:.78rem}
.lpm-agenda li .chip{justify-self:start;margin-top:3px}
.lpm-agenda li.off span.t{text-decoration:line-through;color:var(--mute)}
.chip{display:inline-block;border-radius:980px;padding:2px 10px;font-size:.74rem;font-weight:600;background:var(--okbg);color:var(--ok);white-space:nowrap;line-height:1.5}
.chip.w2{background:var(--waitbg);color:var(--wait)}.chip.b{background:var(--accbg);color:var(--link)}.chip.x{background:var(--badbg);color:var(--bad)}

/* Grille bento */
.lp-bento{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:18px}
.lp-tile{background:var(--tile);border-radius:28px;padding:clamp(26px,3.4vw,40px);display:flex;flex-direction:column;gap:10px;min-width:0;overflow:hidden}
.lp-sec.alt .lp-tile{background:var(--tile2)}
.lp-tile .k{font-size:.8rem;font-weight:600;color:var(--mute);text-transform:uppercase;letter-spacing:.06em}
.lp-tile h3{font-size:clamp(1.45rem,2.4vw,2rem);letter-spacing:-.03em;line-height:1.1}
.lp-tile p{color:var(--mute);margin:0}
.lp-bento .lp-tile.dark{background:#1d1d1f;color:#f5f5f7}.lp-tile.dark p,.lp-tile.dark .k{color:#a1a1a6}
@media (prefers-color-scheme:dark){.lp-bento .lp-tile.dark{background:#2c2c2e}}
.lp-tile.acc{background:var(--a)!important;color:#fff}.lp-tile.acc p,.lp-tile.acc .k,.lp-tile.acc li{color:#f2f2f7}
.s2{grid-column:span 2}.s3{grid-column:span 3}.s4{grid-column:span 4}.s6{grid-column:span 6}
.lp-tile ul{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:6px;font-size:.96rem}
.lp-tile li{padding-left:22px;position:relative;color:var(--mute)}
.lp-tile li::before{content:"";position:absolute;left:2px;top:.5em;width:10px;height:6px;border-left:2px solid var(--link);border-bottom:2px solid var(--link);transform:rotate(-45deg)}
.lp-tile.dark li::before{border-color:#aeaeb2}.lp-tile.acc li::before{border-color:#fff}
.lp-big{font-size:clamp(2.2rem,5vw,3.6rem);font-weight:700;letter-spacing:-.04em;line-height:1;margin-top:6px}
.lp-big span{font-size:.45em;font-weight:600;color:#a1a1a6;letter-spacing:-.01em;margin-inline:.2em}

/* Pastilles en chaîne */
.lp-chain{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:0 auto;padding:0;list-style:none;max-width:860px}
.lp-chain li{background:var(--tile);color:var(--ink);border-radius:980px;padding:8px 18px;font-weight:600;font-size:.95rem}
.lp-chain li.arr{background:none;padding:0;color:var(--mute);font-size:1.3rem;font-weight:400}
.lp-tools{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:34px auto 0;padding:0;list-style:none;max-width:860px}
.lp-tools li{border:1px solid var(--line);color:var(--mute);border-radius:980px;padding:5px 14px;font-size:.88rem}

/* Comment ça marche : 4 parcours */
.lp-flows{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.lp-flow-card{background:var(--tile2);border-radius:28px;padding:clamp(26px,3.4vw,40px);min-width:0}
.lp-sec:not(.alt) .lp-flow-card{background:var(--tile)}
.lp-flow-card h3{font-size:clamp(1.35rem,2.2vw,1.8rem);overflow-wrap:anywhere}
.lp-flow-card>p{color:var(--mute);margin:8px 0 0}
.lp-flow-steps{list-style:none;counter-reset:fs;margin:18px 0 0;padding:0;display:grid;gap:10px}
.lp-flow-steps li{counter-increment:fs;display:flex;gap:12px;align-items:flex-start;font-size:.95rem;line-height:1.35;min-width:0;overflow-wrap:anywhere}
.lp-flow-steps li::before{content:counter(fs);flex:none;width:1.6rem;height:1.6rem;border-radius:50%;background:var(--accbg);color:var(--link);display:grid;place-items:center;font-weight:700;font-size:.8rem}
.lp-flow-steps b{font-weight:600;padding-top:.12rem}

/* Simple, du début à la fin */
.lp-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px;margin:0;padding:0;list-style:none;counter-reset:s}
.lp-steps li{counter-increment:s;display:grid;gap:8px;align-content:start}
.lp-steps li::before{content:counter(s);font-size:3.4rem;font-weight:700;letter-spacing:-.04em;color:var(--a);line-height:1}
.lp-steps h3{font-size:1.5rem;letter-spacing:-.025em;line-height:1.15}
.lp-steps p{color:var(--mute);margin:0}

@media (max-width:980px){.lp-bento .s2,.lp-bento .s3,.lp-bento .s4{grid-column:span 6}.lp-steps{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:720px){.lp-flows{grid-template-columns:minmax(0,1fr)}.lpm-grid{grid-template-columns:minmax(0,1fr)}.lpm-agenda{display:none}.lpm-body{grid-template-columns:minmax(0,1fr)}.lp-tile,.lp-flow-card{border-radius:24px}}
@media (max-width:640px){.lp-steps{grid-template-columns:minmax(0,1fr)}.lp-bento{gap:14px}}
@media (prefers-reduced-motion:no-preference){.lp-stage .lpm-card{animation:lpup .8s cubic-bezier(.2,.7,.2,1) both}@keyframes lpup{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}}
@media (max-width:720px){.lp-chain li.arr{display:none}}
