.rendez-vous{grid-template-columns:minmax(0,.75fr) minmax(0,1.6fr);align-items:start;gap:clamp(32px,4.5vw,72px);display:grid}.rendez-vous-texte{position:sticky;top:112px}.rendez-vous-texte .eyebrow{margin-bottom:var(--s-5)}.rendez-vous-texte h2{margin:0}.rendez-vous-texte p:not(.eyebrow){margin-top:var(--s-5);color:var(--muted);max-width:32ch}.reservation{gap:var(--s-5);min-width:0;display:grid}.reservation [hidden]{display:none!important}.reservation-meta{color:var(--muted);flex-wrap:wrap;gap:6px 18px;margin:0;font-size:.875rem;display:flex}.reservation-meta span{align-items:center;gap:6px;display:inline-flex}.reservation-meta svg{color:var(--ink)}.reservation-choix{gap:var(--s-4);display:grid}.reservation-titre{color:var(--ink);outline:none;margin:0;font-size:1.125rem;font-weight:600;line-height:1.3}.reservation-titre:first-letter{text-transform:uppercase}.reservation-titre small,.reservation-jour-long small,.reservation-quand small{color:var(--muted);font-size:.8125rem;font-weight:400}.reservation-avis{color:var(--accent);margin:0;font-weight:600}.reservation-jours{scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;padding:2px 8px 10px 2px;scroll-padding-inline:2px;display:flex;overflow-x:auto}.reservation-jours::-webkit-scrollbar{display:none}.reservation-entete{justify-content:space-between;align-items:center;gap:12px;display:flex}.reservation-fleches{gap:8px;display:none}.reservation-fleches button{border:var(--stroke)solid var(--ink);background:var(--sheet);width:40px;height:40px;color:var(--ink);cursor:pointer;place-items:center;display:grid}.reservation-fleches button:disabled{border-color:var(--line-ink);color:var(--line-ink);cursor:default}@media (hover:hover) and (pointer:fine){.reservation-fleches{display:flex}.reservation-fleches button:not(:disabled):hover{color:var(--accent);border-color:var(--accent)}}.reservation-jour{scroll-snap-align:start;border:var(--stroke)solid var(--ink);background:var(--sheet);min-height:76px;color:var(--ink);font:inherit;cursor:pointer;transition:transform .15s var(--ease-pen),box-shadow .15s var(--ease-pen);flex:0 0 64px;justify-items:center;gap:1px;padding:8px 4px;display:grid}.reservation-jour span{color:var(--muted);font-size:.8125rem;line-height:1.2}.reservation-jour strong{font-size:1.5rem;font-weight:700;line-height:1.1}.reservation-jour[aria-pressed=true]{background:var(--brand);border-color:var(--brand);color:var(--paper);box-shadow:var(--riso-decal)0 var(--accent)}.reservation-jour[aria-pressed=true] span{color:inherit}.reservation-jour-fantome{cursor:default;border-color:var(--line-ink);animation:1.4s ease-in-out infinite alternate reservation-respire}@keyframes reservation-respire{0%{opacity:.35}to{opacity:.9}}.reservation-heures{gap:var(--s-4);display:grid}.reservation-jour-long{margin:0;font-weight:600}.reservation-jour-long:first-letter{text-transform:uppercase}.reservation-periode{grid-template-columns:96px minmax(0,1fr);align-items:start;gap:12px;display:grid}.reservation-periode-nom{font-family:var(--font-hand);color:var(--accent);padding-top:12px;font-size:1.375rem;line-height:1}.reservation-heures-liste{grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;display:grid}.reservation-heure{border:var(--stroke)solid var(--ink);background:var(--sheet);min-height:44px;color:var(--ink);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;transition:transform .15s var(--ease-pen),box-shadow .15s var(--ease-pen),background-color .15s;font-weight:600}.reservation-heure:active{background:var(--brand);color:var(--paper)}@media (hover:hover){.reservation-jour:not(.reservation-jour-fantome):not([aria-pressed=true]):hover,.reservation-heure:hover{box-shadow:var(--riso-decal)0 var(--accent);transform:translate(-2px,-2px)}}.reservation-jour:focus-visible,.reservation-heure:focus-visible,.reservation-changer:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.contact-form.reservation-form{box-shadow:none;background:0 0;border:0;border-radius:0;gap:14px;padding:0;display:grid}.contact-form.reservation-form:before,.contact-form.reservation-form:after{content:none}.contact-form.reservation-form label,.contact-form.reservation-form .form-row,.contact-form.reservation-form .form-row label{margin:0}.contact-form.reservation-form textarea{min-height:92px}.contact-form.reservation-form .form-note{margin:0}.reservation[data-etape=coordonnees] .reservation-meta{display:none}.reservation-rappel{border:var(--stroke)solid var(--ink);background:var(--warm);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:4px 16px;padding:12px 16px;display:flex}.reservation-changer{min-height:44px;color:var(--ink);font:inherit;text-underline-offset:4px;cursor:pointer;background:0 0;border:0;padding:0 4px;font-weight:600;text-decoration:underline}.reservation-changer:hover{color:var(--accent)}.reservation-confirmer{justify-self:start;min-height:52px}.reservation-form .form-feedback p{margin:0}.reservation-confirme{justify-items:start;gap:var(--s-3);display:grid}.reservation-confirme p{margin:0}.reservation-coche{border:var(--stroke)solid var(--ink);background:var(--brand);width:52px;height:52px;color:var(--paper);box-shadow:var(--riso-decal)0 var(--accent);place-items:center;display:grid}.reservation-confirme .reservation-titre{font-size:1.75rem}.reservation-quand{font-size:1.125rem;font-weight:600}.reservation-quand:first-letter{text-transform:uppercase}.reservation-suite{flex-wrap:wrap;gap:4px 24px;display:flex}.reservation-suite a,.reservation-secours a{min-height:44px;color:var(--ink);align-items:center;gap:6px;font-weight:600;display:inline-flex}.reservation-panne{justify-items:start;gap:var(--s-2);display:grid}.reservation-panne p{margin:0}.reservation-secours{color:var(--muted);flex-wrap:wrap;align-items:center;gap:0 12px;margin:0;font-size:.9375rem;display:flex}.reservation-suite a:hover,.reservation-secours a:hover{color:var(--accent)}.contact-dialog.creneau-fenetre{width:min(760px,100% - 32px)}.contact-dialog-content:is([data-mode=rdv],[data-mode=boutique]) h2{margin:0 56px 0 0;font-size:clamp(26px,3.4vw,32px)}.contact-dialog-content:is([data-mode=rdv],[data-mode=boutique]) .contact-back{min-height:44px;margin:0 0 4px;padding:0}.contact-dialog-content[data-mode=boutique] .contact-back+p{color:var(--muted);margin:4px 0 20px}.contact-dialog-content[data-mode=rdv] .reservation{margin-top:var(--s-4)}@media (prefers-reduced-motion:reduce){.reservation-jour,.reservation-heure{transition:none}.reservation-jour-fantome{opacity:.6;animation:none}}@media (max-width:740px){.rendez-vous{gap:var(--s-6);grid-template-columns:minmax(0,1fr)}.rendez-vous-texte{position:static}.rendez-vous-texte p:not(.eyebrow){font-size:1rem}.rendez-vous .reservation-jours{margin-right:calc(-1*var(--page-pad,20px))}.reservation-jour{flex-basis:60px}.reservation-periode{grid-template-columns:minmax(0,1fr);gap:6px}.reservation-periode-nom{padding-top:0}.reservation-heures-liste{grid-template-columns:repeat(4,minmax(0,1fr))}.reservation-confirmer{justify-self:stretch}.contact-dialog.creneau-fenetre{border:0;border-radius:0;width:100%;max-width:none;height:100dvh;max-height:none;margin:0}}@media (max-width:600px){.contact-dialog-content[data-mode=rdv] .reservation-jours{margin-right:-20px}}@media (max-width:359px){.reservation-heures-liste{grid-template-columns:repeat(3,minmax(0,1fr))}}
