/* =============================================================================
 * Lokalizacja w strukturze : /assets/css/booking.css
 * Nazwa pliku              : booking.css
 * Funkcja                  : Unikalny CSS strony rezerwacji — karta formularza,
 *                            wybór usług (checkbox-karty), dynamiczne sloty
 *                            terminów, nota, komunikaty sukcesu/błędu.
 * Wygenerowana wersja      : 1.0.0
 * Historia zmian           :
 *   1.0.0  (2026-05-25)  Pierwsza wersja.
 * Projekt                  : Mademoiselle Professional (redesign 2026)
 * Software                 : polooma.com
 * ========================================================================== */

.booking{background:var(--paper)}
.book-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:22px;
  padding:clamp(1.8rem,4vw,3rem);box-shadow:0 28px 70px rgba(58,42,15,.08)}
.book-step{margin-bottom:2.4rem}
.book-step:last-of-type{margin-bottom:1.6rem}
.book-step-h{display:flex;align-items:center;gap:.9rem;margin-bottom:1.2rem}
.book-step-h .sn{width:34px;height:34px;border-radius:50%;background:var(--gold);color:var(--cream);
  font-family:'Fraunces',serif;display:flex;align-items:center;justify-content:center;font-size:1rem;flex-shrink:0}
.book-step-h h2{font-size:1.25rem;color:var(--mocha);margin:0}
.book-hint{font-size:.8rem;color:var(--muted);margin-top:.9rem}
.svc-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.svc-opt{border:1px solid var(--line);border-radius:14px;padding:1.3rem 1.4rem;cursor:pointer;
  display:flex;gap:1rem;align-items:flex-start;transition:border-color .35s,background .35s,transform .35s;background:var(--paper)}
.svc-opt:hover{transform:translateY(-2px);border-color:var(--gold-soft)}
.svc-opt .box{width:22px;height:22px;border-radius:6px;border:1.5px solid var(--line);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;transition:all .3s;margin-top:.15rem;color:#fff;font-size:.9rem}
.svc-opt .box i{opacity:0;transform:scale(.5);transition:all .3s}
.svc-opt .t{display:block;font-weight:400;color:var(--mocha);font-size:1.02rem;margin-bottom:.2rem}
.svc-opt .d{display:block;font-size:.82rem;color:var(--muted);line-height:1.5}
.svc-opt.sel{border-color:var(--gold);background:rgba(216,184,120,.12)}
.svc-opt.sel .box{background:var(--gold);border-color:var(--gold)}
.svc-opt.sel .box i{opacity:1;transform:scale(1)}
.slot-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.4rem}
.slot{border:1px dashed var(--line);border-radius:14px;padding:1.3rem 1.4rem;background:var(--paper);position:relative}
.slot .slot-lbl{font-family:'Fraunces',serif;font-style:italic;color:var(--gold);font-size:1rem;margin-bottom:1rem;display:block}
.slot-remove{position:absolute;top:1rem;right:1rem;width:24px;height:24px;border-radius:50%;border:1px solid var(--line);
  background:#fff;color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1;display:flex;align-items:center;justify-content:center;transition:all .3s;padding:0}
.slot-remove:hover{border-color:var(--gold);color:var(--gold);transform:rotate(90deg)}
.add-slot{margin-top:1.2rem;background:none;border:1px dashed var(--gold-soft);border-radius:40px;
  padding:.7rem 1.5rem;font-family:'Jost',sans-serif;font-size:.8rem;letter-spacing:.12em;color:var(--gold);cursor:pointer;transition:all .35s}
.add-slot:hover{background:var(--gold);color:var(--cream);border-style:solid}
.add-slot:disabled{opacity:.4;cursor:not-allowed;background:none;color:var(--muted);border-color:var(--line)}
.book-field{margin-bottom:1rem}
.book-field:last-child{margin-bottom:0}
.book-field label{display:block;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:.45rem}
.book-field input,.book-field select{width:100%;padding:.8rem .9rem;border:1px solid var(--line);border-radius:9px;
  background:#fff;font-family:'Jost',sans-serif;font-size:.95rem;color:var(--ink);font-weight:300;transition:border .3s}
.book-field input:focus,.book-field select:focus{outline:none;border-color:var(--gold)}
.book-personal{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.book-note{display:flex;gap:.9rem;align-items:flex-start;background:rgba(216,184,120,.14);border:1px solid var(--line);
  border-left:3px solid var(--gold);border-radius:12px;padding:1.1rem 1.3rem;margin-bottom:1.8rem}
.book-note .ni{color:var(--gold);font-size:1.2rem;flex-shrink:0;line-height:1.3}
.book-note p{font-size:.86rem;color:var(--mocha);margin:0;line-height:1.6}
.book-submit{width:100%;justify-content:center;border:none}
.book-alert{max-width:760px;margin:0 auto 1.5rem;background:#f7e2d6;border:1px solid #d9a187;border-radius:12px;
  padding:1rem 1.3rem;color:#8a3b1c;font-size:.9rem;text-align:center}
.book-success{text-align:center}
.book-success .ni{font-size:3rem;color:var(--gold);display:block;margin-bottom:1rem}
.book-success h2{color:var(--mocha);margin-bottom:1rem}
.book-success p{color:var(--muted);max-width:48ch;margin:0 auto 2rem}
@media(max-width:600px){.svc-options,.slot-grid,.book-personal{grid-template-columns:1fr}}

/* --- Pytania powiązane z usługami --- */
.book-svcq .sn{background:var(--gold-soft)}
.svcq-tag{display:inline-block;background:var(--gold);color:var(--cream);font-size:.62rem;
  letter-spacing:.08em;text-transform:uppercase;padding:.12rem .5rem;border-radius:30px;margin-right:.4rem;vertical-align:middle}

/* --- Sekcja "Erzählen Sie uns mehr" (rozwijana) --- */
.book-more{border-top:1px solid var(--line);margin-top:2rem;padding-top:1.6rem}
.book-more-toggle{display:inline-flex;align-items:center;gap:.6rem;background:none;border:1px dashed var(--gold-soft);
  color:var(--gold);font-family:'Jost',sans-serif;font-size:.92rem;letter-spacing:.03em;cursor:pointer;
  padding:.7rem 1.3rem;border-radius:40px;transition:all .3s}
.book-more-toggle:hover{background:var(--paper);border-style:solid}
.book-more-toggle i{transition:transform .35s}
.book-more-toggle[aria-expanded="true"] i{transform:rotate(45deg)}
.book-more-panel{display:grid;grid-template-rows:0fr;transition:grid-template-rows .42s cubic-bezier(.2,.8,.2,1)}
.book-more-panel.open{grid-template-rows:1fr}
.book-more-panel > div{overflow:hidden}
.book-more-panel > div > *:first-child{margin-top:1.4rem}
.book-more-intro{color:var(--muted);font-size:.92rem;margin-bottom:1.2rem;line-height:1.6}
.book-field textarea{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;
  font-family:'Jost',sans-serif;font-size:.95rem;color:var(--ink);background:var(--paper);resize:vertical;min-height:80px}
.book-field textarea:focus{outline:none;border-color:var(--gold)}
.book-field select{width:100%;padding:.85rem 1rem;border:1px solid var(--line);border-radius:10px;
  font-family:'Jost',sans-serif;font-size:.95rem;color:var(--ink);background:var(--paper)}
.book-field select:focus{outline:none;border-color:var(--gold)}
