/* Rezerwacje spotkan: strony /spotkania (layouts/rezerwacje, styl ekranow logowania) i Kalendarz konsultacji w panelu klienta. */
.rz-kalendarz, .rz-strona {
	--rz-primary: #2152FF;
	--rz-primary-soft: #eef2ff;
	--rz-text: #344767;
	--rz-muted: #7b809a;
	--rz-border: #e9ecef;
}
.rz-kalendarz { color: var(--rz-text); }
.rz-kalendarz .d-none { display: none !important; }

/* lista typow */
.rz-typy { display: grid; grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr)); gap: 1rem; }
.rz-typ {
	display: flex; flex-direction: column; gap: .35rem; padding: 1.25rem; border: 1px solid var(--rz-border); border-radius: .75rem;
	color: var(--rz-text) !important; text-decoration: none; transition: border-color .15s, box-shadow .15s;
}
.rz-typ:hover { border-color: var(--rz-primary); box-shadow: 0 4px 16px rgba(33, 82, 255, .12); }
.rz-typ-produkt { align-self: flex-start; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; padding: .15rem .5rem; border-radius: 1rem; background: var(--rz-primary-soft); color: var(--rz-primary); }
.rz-produkt-goaml { background: #e8f5e9; color: #2e7d32; }
.rz-produkt-goregulaminy { background: #fff3e0; color: #e65100; }
.rz-typ-nazwa { font-weight: 700; font-size: 1.05rem; }
.rz-typ-czas { display: inline-flex; align-items: center; gap: .25rem; font-size: .85rem; color: var(--rz-muted); }
.rz-typ-czas i { font-size: 1.1rem; }
.rz-typ-opis { font-size: .85rem; color: var(--rz-muted); }

/* strona typu */
.rz-uklad { display: grid; grid-template-columns: minmax(14rem, 1fr) 2.4fr; gap: 2rem; }
.rz-uklad > *, .rz-siatka > *, .rz-pola > * { min-width: 0; }
@media (max-width: 960px) { .rz-uklad { grid-template-columns: 1fr; gap: 1rem; } }
.rz-opis { border-right: 1px solid var(--rz-border); padding-right: 1.5rem; }
@media (max-width: 960px) { .rz-opis { border-right: 0; padding-right: 0; border-bottom: 1px solid var(--rz-border); padding-bottom: 1rem; } }
.rz-logo { justify-content: flex-start !important; margin-bottom: 1rem !important; }
.rz-tytul { font-size: 1.35rem; font-weight: 700; color: var(--rz-text); margin: 0 0 .75rem; }
.rz-meta { display: flex; align-items: center; gap: .4rem; margin: 0 0 .35rem; font-size: .9rem; color: var(--rz-muted); font-weight: 600; }
.rz-meta i { font-size: 1.2rem; }
.rz-opis-tekst { margin-top: 1rem; font-size: .875rem; color: var(--rz-text); }
.rz-inne { margin-top: 1.25rem; font-size: .85rem; }
.rz-inne a { display: inline-flex; align-items: center; gap: .25rem; }

/* kalendarz */
.rz-czasy { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem; margin-bottom: 1rem; }
.rz-etykieta { font-size: .85rem; color: var(--rz-muted); margin-right: .25rem; }
.rz-czas, .rz-godzina, .rz-dzien, .rz-nawigacja {
	border: 1px solid var(--rz-border); background: #fff; color: var(--rz-text); border-radius: .5rem; cursor: pointer; font: inherit;
}
.rz-czas { padding: .35rem .8rem; font-size: .85rem; font-weight: 600; }
.rz-czas.is-active, .rz-godzina.is-active, .rz-dzien.is-active { background: var(--rz-primary); border-color: var(--rz-primary); color: #fff; }
.rz-siatka { display: grid; grid-template-columns: 1.5fr 1fr; gap: 1.5rem; }
@media (max-width: 640px) { .rz-siatka { grid-template-columns: 1fr; } }
.rz-miesiac-naglowek { display: flex; align-items: center; justify-content: space-between; margin-bottom: .5rem; }
.rz-miesiac-nazwa { font-weight: 700; text-transform: capitalize; }
.rz-nawigacja { width: 2.25rem; height: 2.25rem; display: inline-flex; align-items: center; justify-content: center; padding: 0; }
.rz-nawigacja:disabled { opacity: .35; cursor: default; }
.rz-dni-tygodnia, .rz-dni { display: grid; grid-template-columns: repeat(7, 1fr); gap: .3rem; }
.rz-dni-tygodnia span { text-align: center; font-size: .72rem; font-weight: 700; color: var(--rz-muted); text-transform: uppercase; }
.rz-dzien { aspect-ratio: 1 / 1; min-height: 2.25rem; font-weight: 600; font-size: .9rem; border-color: transparent; background: transparent; }
.rz-dzien:disabled { color: #c3c7cf; cursor: default; }
.rz-dzien.is-wolny { background: var(--rz-primary-soft); color: var(--rz-primary); }
.rz-dzien.is-wolny:hover { border-color: var(--rz-primary); }
.rz-dzien.is-wolny.is-active { background: var(--rz-primary); color: #fff; }
.rz-strefa { display: flex; align-items: center; gap: .3rem; margin: .75rem 0 0; font-size: .8rem; color: var(--rz-muted); }
.rz-strefa i { font-size: 1rem; }
.rz-wybrany-dzien { font-weight: 700; margin: 0 0 .5rem; min-height: 1.5rem; }
.rz-godziny { display: grid; grid-template-columns: repeat(auto-fill, minmax(5rem, 1fr)); gap: .4rem; max-height: 22rem; overflow-y: auto; }
.rz-godzina { padding: .55rem .25rem; font-weight: 600; color: var(--rz-primary); border-color: rgba(33, 82, 255, .4); }
.rz-godzina:hover { border-color: var(--rz-primary); }
.rz-brak, .rz-ladowanie { font-size: .875rem; color: var(--rz-muted); }

/* formularz */
.rz-formularz { margin-top: 1.5rem; padding-top: 1.25rem; border-top: 1px solid var(--rz-border); }
.rz-pola { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
@media (max-width: 640px) { .rz-pola { grid-template-columns: 1fr; } }
.rz-podsumowanie { display: flex; align-items: center; gap: .4rem; font-weight: 700; margin: 0 0 1rem; color: var(--rz-text); }
.rz-podsumowanie i { color: var(--rz-primary); }
.rz-zgoda { display: flex; gap: .6rem; align-items: flex-start; margin: 0 0 .75rem; font-size: .85rem; cursor: pointer; }
.rz-zgoda input { margin-top: .2rem; flex: 0 0 auto; }
.rz-zgoda small { display: block; margin-top: .25rem; color: var(--rz-muted); font-size: .75rem; line-height: 1.45; }
.rz-ukryte { position: absolute; left: -10000px; top: auto; width: 1px; height: 1px; overflow: hidden; }
.rz-blad { display: flex; gap: .5rem; align-items: flex-start; padding: .75rem 1rem; margin-bottom: 1rem; border-radius: .5rem; background: #fdecea; color: #b71c1c; font-size: .875rem; }
.rz-wyslij { margin-top: .5rem; }

/* potwierdzenie */
.rz-szczegoly { padding: 1rem 1.25rem; margin: 1rem 0; border-radius: .75rem; background: #f8f9fa; }
.rz-szczegoly p { display: flex; align-items: center; gap: .5rem; margin: 0 0 .4rem; font-size: .9rem; }
.rz-szczegoly i { color: var(--rz-primary); font-size: 1.2rem; }
.rz-szczegoly-nazwa { font-weight: 700; font-size: 1rem !important; }
.rz-szczegoly.is-anulowana span { text-decoration: line-through; color: var(--rz-muted); }
.rz-akcja { margin-top: .75rem; border: 1px solid var(--rz-border); border-radius: .75rem; padding: .75rem 1rem; }
.rz-akcja summary { cursor: pointer; font-weight: 700; }
.rz-akcja[open] summary { margin-bottom: 1rem; }
.rz-akcja .rz-siatka { grid-template-columns: 1fr; }

/* szeroka karta ekranow logowania ma card-body bez odstepu (uklad rejestracji) - tu z odstepem */
body.md-auth.rz-strona .md-auth-card-wide > .card-body { padding: 2rem; }
@media (max-width: 575.98px) { body.md-auth.rz-strona .md-auth-card-wide > .card-body { padding: 1.5rem 1.25rem; } }
.rz-akcja .rz-dzien { aspect-ratio: auto; height: 2.5rem; }
