@import url("./shared/booking-tokens.css");
/* Shared booking surfaces; the homepage hero keeps its existing treatment. */
.public-booking { color-scheme:only light; background:var(--gcg-surface); }
.public-booking :is(.next-card, .weekly-rows, .public-journey, .training-session) { font-family:var(--gcg-font); color:var(--gcg-text); line-height:1.5; }
.public-booking .button { min-height:var(--gcg-button-height); border-radius:var(--gcg-button-radius); font-size:var(--gcg-text-body); line-height:1.5; white-space:normal; }
.public-booking .button.primary { background:var(--gcg-button-bg); border-color:var(--gcg-button-bg); color:var(--gcg-surface); box-shadow:none; }
.public-booking .button.primary:hover { background:var(--gcg-action-hover); border-color:var(--gcg-action-hover); }
.public-booking :is(button, a, input, textarea, select, summary):focus-visible { outline:3px solid var(--gcg-focus); outline-offset:4px; }
.public-booking :is(.site-header a, .site-header button, .more-link, .training-back) { min-height:var(--gcg-touch-min); display:inline-flex; align-items:center; }
.public-booking .next-card { border:1px solid var(--gcg-border); border-radius:var(--gcg-card-radius); background:var(--gcg-surface); }
.public-booking .training-choice { --training-accent:var(--gcg-mixed-ink); --training-background:var(--gcg-mixed-bg); --training-border:var(--gcg-mixed-border); }
.public-booking .training-choice-women { --training-accent:var(--gcg-women-ink); --training-background:var(--gcg-women-bg); --training-border:var(--gcg-women-border); }
.public-booking .training-choice-description { font-size:var(--gcg-text-small); color:var(--gcg-muted); }
.public-booking .weekly-slot { border-radius:var(--gcg-card-radius); padding:var(--gcg-card-padding); gap:8px 12px; }
.public-booking .weekly-slot.mixed { background:var(--gcg-mixed-bg); border-color:var(--gcg-mixed-border); }
.public-booking .weekly-slot.women { background:var(--gcg-women-bg); border-color:var(--gcg-women-border); }
.public-booking .weekly-slot:hover { border-color:var(--gcg-action); }
.public-booking .weekly-slot strong { font-size:1.25rem; white-space:normal; }
.public-booking .weekly-name, .public-booking .weekly-free, .public-booking .weekly-date { font-size:var(--gcg-text-small); line-height:1.5; }
.public-booking .weekly-name { color:var(--gcg-text); overflow-wrap:anywhere; }
.public-booking .weekly-date { grid-column:1; color:var(--gcg-muted); }
.public-booking .weekly-free, .public-booking .weekly-slot.women .weekly-free { color:var(--gcg-action); }
.public-booking .weekly-slot .weekly-free.full { color:var(--gcg-muted); }
.public-booking .weekly-legend { flex-wrap:wrap; font-size:var(--gcg-text-small); }
.public-booking .weekly-legend i { background:var(--gcg-mixed-bg); border-color:var(--gcg-mixed-border); }
.public-booking .weekly-legend i.pink { background:var(--gcg-women-bg); border-color:var(--gcg-women-border); }
.public-booking :is(.weekly-empty, .weekly-note, .weekly-demo) { font-size:var(--gcg-text-small); color:var(--gcg-muted); line-height:1.6; }
.public-booking .weekly-status { margin-block:16px; font-size:var(--gcg-text-small); color:var(--gcg-muted); }
.public-booking .weekly-status:empty { margin:0; }
.public-booking .public-journey { overflow-wrap:anywhere; background:var(--gcg-surface); border-color:var(--gcg-border); border-radius:var(--gcg-dialog-radius); width:min(540px,calc(100% - 32px)); padding:28px; }
.public-booking .public-journey h2 { font-size:1.75rem; line-height:1.2; overflow-wrap:anywhere; margin-bottom:24px; }
.public-booking .public-journey p { font-size:var(--gcg-text-body); color:var(--gcg-muted); line-height:1.6; }
.public-booking .public-journey .live-close { width:var(--gcg-touch-min); height:var(--gcg-touch-min); background:var(--gcg-mixed-bg); color:var(--gcg-action); }
.public-booking .public-session-kind { display:inline-block; padding:6px 10px; border-radius:8px; margin:4px 44px 16px 0; font-size:var(--gcg-text-small); font-weight:750; background:var(--gcg-mixed-bg); color:var(--gcg-mixed-ink); }
.public-booking .public-session-kind[data-kind=women] { background:var(--gcg-women-bg); color:var(--gcg-women-ink); }
.public-booking .public-session-kind[data-kind=beginner] { background:var(--gcg-border); color:var(--gcg-text); }
.public-booking .public-session-info { border:1px solid var(--gcg-border); border-radius:var(--gcg-card-radius); padding:4px 18px; }
.public-booking .public-session-info > p { display:flex; align-items:center; gap:12px; margin:0; padding:14px 0; }
.public-booking .public-session-info > p + p { border-top:1px solid var(--gcg-border); }
.public-booking .public-session-info svg { width:22px; height:22px; flex-shrink:0; fill:none; stroke:var(--gcg-action); stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.public-booking .public-session-info strong { display:block; color:var(--gcg-text); }
.public-booking .public-session-info small { display:block; font-size:var(--gcg-text-small); margin-top:4px; }
.public-booking .public-journey .live-actions { margin-top:24px; }
.public-booking .training-session { padding:var(--gcg-card-padding); border:1px solid var(--gcg-border); border-radius:var(--gcg-card-radius); margin-block:12px; }
.public-booking[data-training=zmiesane] .training-session { background:var(--gcg-mixed-bg); border-color:var(--gcg-mixed-border); }
.public-booking[data-training=zeny] .training-session { background:var(--gcg-women-bg); border-color:var(--gcg-women-border); }
.public-booking .training-session > div { min-width:0; overflow-wrap:anywhere; }
@media(max-width:620px) {
  .public-booking .weekly-row { grid-template-columns:minmax(0,1fr); }
  .public-booking .weekly-slot { display:grid; grid-template-columns:minmax(0,1fr); gap:4px; }
  .public-booking .weekly-free { grid-column:1; grid-row:auto; margin-top:8px; }
  .public-booking .public-journey { padding:24px 20px; }
  .public-booking .training-session { flex-wrap:wrap; }
}
@media(prefers-reduced-motion:reduce) {
  .public-booking *, .public-booking *::before, .public-booking *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; }
}
