/* ===== formulaires ===== */
  [hidden]{display:none!important}
  .card{background:#fff;border-radius:var(--r);padding:24px;border:1px solid rgba(0,0,0,.04);margin-bottom:16px}
  .card :is(h3,h2.h3){font-size:17px;margin-bottom:4px;display:flex;align-items:center;gap:10px}
  .card :is(h3,h2.h3) .n{width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:12px;display:grid;place-items:center;font-weight:700}
  .card .sub{font-size:13.5px;color:var(--mut);margin-bottom:18px}
  .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
  .grid3{display:grid;grid-template-columns:110px 1fr;gap:14px}
  .f{display:flex;flex-direction:column;gap:6px}
  .f.full{grid-column:1/-1}
  .f label{font-size:12px;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.08em}
  .f input,.f select,.f textarea{border:1px solid var(--line-in);border-radius:12px;padding:13px 14px;font-family:inherit;font-size:15px;background:var(--paper);color:var(--ink);width:100%;transition:.2s}
  .f textarea{min-height:88px;resize:vertical}
  .f input:focus,.f select:focus,.f textarea:focus{outline:none;border-color:var(--cobalt);box-shadow:0 0 0 4px var(--sky);background:#fff}
  .f .hint{font-size:12.5px;color:var(--mut-2)}
  .f .ok{color:#1f9d55;font-size:12.5px;display:flex;align-items:center;gap:5px}
  .row-sw{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 0;border-top:1px solid var(--line);margin-top:6px}
  .row-sw b{font-size:14.5px;display:block}.row-sw p{font-size:13px;color:var(--mut)}
  .chk{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--mut);cursor:pointer}
  .chk input{width:20px;height:20px;accent-color:var(--cobalt);margin-top:1px;flex:none}
  .chk span{flex:1}
  .chk a{color:var(--cobalt);font-weight:600}
  /* paiement */
  .pm{display:grid;gap:10px}
  .pm label{display:flex;align-items:center;gap:14px;border:2px solid var(--line);border-radius:14px;padding:14px 16px;cursor:pointer;transition:.2s;background:#fff}
  .pm label:hover{border-color:var(--line-2)}
  .pm label.on{border-color:var(--cobalt);box-shadow:0 0 0 4px var(--sky)}
  .pm input{width:20px;height:20px;accent-color:var(--cobalt);flex:none}
  .pm .t b{display:block;font-size:15px}.pm .t p{font-size:13px;color:var(--mut)}
  .pm .logos{margin-left:auto;display:flex;gap:6px}
  .pm .logos i{font-style:normal;font-size:12px;font-weight:700;letter-spacing:.04em;border:1px solid var(--line-2);border-radius:5px;padding:3px 6px;color:var(--mut)}
  .pm .logos i.tw{color:#000;border-color:#000}
  .pane{display:none;padding:18px 4px 6px}.pane.on{display:block}
  .secure{display:flex;gap:18px;flex-wrap:wrap;margin-top:18px;font-size:13px;color:var(--mut)}
  .secure span{display:flex;align-items:center;gap:7px}.secure .svg{width:15px;height:15px;color:#1f9d55;stroke-width:2.2}
  .twint{display:flex;align-items:center;gap:18px;background:var(--sand);border-radius:12px;padding:16px}
  .twint .qr{width:84px;height:84px;border-radius:10px;background:repeating-conic-gradient(#0a0e1c 0 25%,#fff 0 50%) 0 0/16px 16px;border:6px solid #fff;flex:none}
  .twint p{font-size:13.5px;color:var(--mut)}
  .mini{display:grid;grid-template-columns:1fr 1fr;gap:8px 20px;font-size:14px}
  .mini span{color:var(--mut)}.mini b{font-weight:600}
  .card .edit{font-size:13.5px;font-weight:600;color:var(--cobalt);margin-left:auto}
  /* confirmation */
  .conf{max-width:760px;margin:0 auto;text-align:center}
  .conf .big{width:72px;height:72px;border-radius:50%;background:#1f9d55;color:#fff;display:grid;place-items:center;margin:0 auto 18px;box-shadow:0 20px 40px -20px rgba(31,157,85,.6)}
  .conf .big .svg{width:34px;height:34px;stroke-width:2.6}
  .conf h1{font-size:clamp(30px,4vw,44px)}
  .conf .ref{display:inline-flex;gap:8px;align-items:center;margin-top:14px;background:#fff;border:1px solid var(--line);border-radius:999px;padding:8px 16px;font-size:14px}
  .conf .ref b{font-family:ui-monospace,Menlo,monospace;letter-spacing:.06em}
  .conf .acts{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:22px}
  .conf .card{text-align:left;margin-top:28px}
  .tl{display:grid;gap:0;margin-top:6px}
  .tl>div{display:grid;grid-template-columns:26px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
  .tl>div:last-child{border:none}
  .tl i{width:26px;height:26px;border-radius:50%;background:var(--sky);color:var(--cobalt);display:grid;place-items:center;font-style:normal;font-size:12px;font-weight:700}
  .tl b{display:block}.tl p{color:var(--mut);font-size:13px}
  @media(max-width:1000px){.grid2,.grid3{grid-template-columns:1fr}.mini{grid-template-columns:1fr}}
  @media(max-width:1000px){.card{padding:18px}}
.lang a,.lang span{position:relative}.lang a::after{content:"";position:absolute;inset:-7px -4px}footer .fcols a{position:relative;display:block;padding:7px 0}footer .fcols a::after{content:"";position:absolute;inset:-5px 0}.fbot a{display:inline-block;padding:12px 0}.sw::before{content:"";position:absolute;inset:-9px}.pay i,.sum .pay i{font-size:12px}.veh .badge{font-size:12px}@media(max-width:700px){.nav .btn{min-height:44px;display:inline-flex;align-items:center}.qty button{width:44px;height:44px}.tel{min-height:44px}}.booking button.btn{width:100%;font-family:inherit}.st-ok{margin-top:14px;background:#e0f5e9;color:#146b3f;border-radius:12px;padding:12px 14px;font-weight:600}.f .ok,.f .ok svg{color:#177a48}.chk a{color:var(--cobalt-dk)}.lang span.on{opacity:1}.req{color:#c81e26;font-weight:700;margin-left:2px}:focus-visible{outline:3px solid #1c45d9;outline-offset:2px;box-shadow:0 0 0 5px #fff}.st-ok{color:#146b3f}.optx{margin-top:10px}.optx input{border:1px solid var(--line-in);border-radius:10px;padding:10px 12px;font:inherit;font-size:14px;width:100%;max-width:340px;background:var(--paper)}.optx label{display:block;font-size:12px;font-weight:600;color:var(--mut);text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}.req-note{font-size:12.5px;color:var(--mut);margin-top:10px}.f .st-err{margin-top:6px}
