/* ==========================================================================
   Rezervace – sladění modulu s designem tennis-servis.cz
   --------------------------------------------------------------------------
   Přídavek k rezervace.css. Původní rezervace.css se nemění; tenhle soubor
   se načítá až PO něm a jen přebíjí proměnné --rz-* a pár drobností.
   Smazáním tohoto souboru (a jeho <link>u) se modul vrátí do původní podoby.

   Hodnoty jsou převzaté ze style.css tématu, sekce 01 Tokens:
   --red #e2071a · --black #0a0a0a · --ink #141414 · --graphite #222222
   --gray-700 #4a4a4a · --gray-500 #8c8c8c · --gray-300 #d6d6d6
   --light #f5f5f5 · --paper #fafafa · --line #e6e6e6
   Písma Saira Condensed (nadpisy) a Barlow (text) modul dědí z webu.

   Tenhle web je hranatý: --r je 3px, ne 14px. Zaoblení se proto srovnává
   dolů, ne nahoru, jinak by kalendář vypadal jako cizí prvek.
   ========================================================================== */

.rz {
  /* plochy */
  --rz-bg: var(--light);
  --rz-card: var(--white);
  --rz-line: var(--line);

  /* text */
  --rz-text: var(--ink);
  --rz-muted: var(--gray-700);        /* 8.9:1 na bílé, projde AA */

  /* dny v kalendáři */
  --rz-free: #eef3ee;
  --rz-free-text: #1f3a24;            /* 9.6:1 na --rz-free */
  --rz-busy: var(--gray-200);
  --rz-busy-text: #5c5c5c;            /* 5.4:1 na --rz-busy, výchozí šedá neprojde */
  --rz-partial: #fde8ea;              /* světlý nádech značkové červené */

  /* akcent = primární tlačítko webu */
  --rz-accent: var(--red);
  --rz-accent-text: var(--white);

  --rz-ok: #1f6b33;
  --rz-bad: var(--red-ink);

  --rz-radius: 3px;                   /* --r, stejně jako karty a inputy */

  border: 1px solid var(--line);
}

/* ---------- nadpis zdroje („Individuální trénink“) ---------- */
.rz .rz-name {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: clamp(1.375rem, 1.1rem + 1vw, 1.75rem);
  line-height: 0.98;
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--black);
}

/* ---------- formulářová pole jako .field na webu ---------- */
.rz label {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.875rem;                /* 14px, pod tím už je to nečitelné */
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--gray-700);
}
.rz .rz-check span {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 0.9375rem;
  letter-spacing: 0;
  text-transform: none;
  color: var(--gray-700);
}

.rz input:not([type=checkbox]),
.rz select,
.rz textarea {
  padding: 14px 16px;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--white);
  font-family: var(--font-body);
  /* 16px, jinak iOS při kliknutí do pole přiblíží stránku */
  font-size: 1rem;
  color: var(--black);
}
.rz input:focus,
.rz select:focus,
.rz textarea:focus {
  outline: none;
  border-color: var(--black);
  box-shadow: none;
}

/* ---------- „Rezervovat“ = .btn ---------- */
.rz .rz-submit {
  min-height: 52px;
  padding: 0 28px;
  border-radius: var(--r-sm);
  background: var(--red);
  color: var(--white);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  box-shadow: none;
  transition: background-color 0.3s var(--ease), transform 0.3s var(--ease);
}
.rz .rz-submit:not(:disabled):hover {
  opacity: 1;
  background: var(--black);
  transform: none;
}
.rz .rz-submit:not(:disabled):active { transform: translateY(1px); }
.rz .rz-submit:disabled {
  opacity: 1;
  background: var(--gray-200);
  color: var(--gray-600);
  box-shadow: none;
}

/* ---------- „Nová rezervace“ = sekundární tlačítko ---------- */
.rz .rz-again {
  min-height: 48px;
  border: 1px solid var(--line);
  border-radius: var(--r-sm);
  background: var(--white);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.9375rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--black);
  transition: border-color 0.3s var(--ease), color 0.3s var(--ease);
}
.rz .rz-again:hover { background: var(--white); border-color: var(--black); }

/* ---------- drobnosti ---------- */
.rz .rz-day { border-radius: var(--r-sm); }
.rz .rz-sel.rz-start { border-top-left-radius: var(--r-sm); border-bottom-left-radius: var(--r-sm); }
.rz .rz-sel.rz-end { border-top-right-radius: var(--r-sm); border-bottom-right-radius: var(--r-sm); }
.rz .rz-nav { border-color: var(--line); border-radius: var(--r-sm); }

/* zprávy po odeslání */
.rz .rz-ok { background: rgba(31, 107, 51, 0.1); }
.rz .rz-bad { background: var(--red-wash); }

/* QR panel */
.rz .rz-qr svg { border-color: var(--line); border-radius: var(--r-sm); }
.rz .rz-copy:hover { border-bottom-color: var(--red); }
