/* ==========================================================================
   Taxanto: „Umów rozmowę” i „Zostań klientem”
   Korzysta ze zmiennych i komponentów z main.css (.form, .field, .btn, .chip-card, .est).
   ========================================================================== */

/* Układ: formularz i kolumna boczna */
.rz-wrap{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:clamp(1.5rem,4vw,3.5rem);align-items:start}
.rz-wrap--waski{grid-template-columns:minmax(0,40rem)}
.rz-side{display:grid;gap:1rem}
@media (max-width:900px){.rz-wrap{grid-template-columns:minmax(0,1fr)}}

/* Karty */
.rz-card{display:grid;gap:1rem;align-content:start;padding:clamp(1.25rem,1rem + 1.2vw,2rem);border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.rz-card>*{min-width:0}
.rz-card__title{font-size:1.375rem}
.rz-card__label{margin:0;font-size:.75rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--moss)}
.rz-card p{font-size:.9688rem;color:var(--text-2);margin-bottom:0}
.rz-note,.rz-info{margin:0;font-size:.8125rem;line-height:1.55;color:var(--text-3)}
.rz-note a,.rz-info a{color:var(--forest)}
.rz-card .rz-note{font-size:.8125rem;color:var(--text-3)}

.rz-steps{list-style:none;counter-reset:krok;display:grid;gap:1.1rem}
.rz-steps li{counter-increment:krok;position:relative;padding-left:2.75rem;font-size:.9688rem;color:var(--text-2);line-height:1.5}
.rz-steps li::before{content:counter(krok);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-sm);border:1px solid var(--line-2);font-size:.8125rem;font-weight:650;color:var(--forest);font-variant-numeric:tabular-nums}
.rz-steps strong{display:block;color:var(--text);font-weight:650;font-size:.9688rem}

/* Podsumowanie rezerwacji */
.rz-dl{display:grid;grid-template-columns:minmax(5.5rem,auto) 1fr;margin:0;border-top:1px solid var(--line)}
.rz-dl dt,.rz-dl dd{margin:0;padding:.75rem 0;border-bottom:1px solid var(--line)}
.rz-dl dt{padding-right:1.25rem;font-size:.875rem;color:var(--text-3)}
.rz-dl dd small{color:var(--text-3);font-size:.8125rem}
.rz-actions{display:flex;flex-wrap:wrap;gap:.75rem}
.rz-actions form{margin:0}

/* Formularz rezerwacji: trzy kroki */
.rz{gap:2rem}
.rz__krok{margin:0;padding:0;border:0;min-width:0;display:grid;gap:1.25rem}
.rz__krok+.rz__krok{padding-top:2rem;border-top:1px solid var(--line)}
/* Legenda jako zwykły element siatki: wtedy linia nad krokiem biegnie nad nią, a nie przez nią. */
.rz__krok legend{float:left;width:100%;display:flex;align-items:center;gap:.75rem;padding:0;font-size:1.1875rem;font-weight:650;letter-spacing:-.01em}
.rz__nr{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--r-sm);background:var(--forest);color:#fff;font-size:.875rem;font-weight:600;font-variant-numeric:tabular-nums}
.rz__grupa{display:grid;gap:.6rem}
.rz__etykieta{margin:0;font-size:.8125rem;font-weight:550;color:var(--text-2)}
.rz__chipy{display:flex;flex-wrap:wrap;gap:8px}
.rz-chip{position:relative;cursor:pointer}
.rz-chip input{position:absolute;opacity:0;pointer-events:none}
.rz-chip span{display:flex;align-items:center;justify-content:center;min-height:44px;padding:.55rem 1rem;border:1px solid var(--line-2);border-radius:var(--r-md);font-size:.9375rem;font-weight:550;line-height:1.2;text-align:center;transition:border-color .15s,background-color .15s}
.rz-chip:hover span{border-color:var(--moss)}
.rz-chip input:checked+span{border-color:var(--ink);background:var(--sage-50);box-shadow:inset 0 0 0 1px var(--ink)}
.rz-chip input:checked+span small{color:var(--text-2)}
.rz-chip input:focus-visible+span{outline:2px solid var(--forest);outline-offset:2px}
.rz-chip--brak span{border-style:dashed;color:var(--text-3);background:var(--paper);cursor:default}
.rz__wybrany{margin:0;font-size:.9688rem;font-weight:600;color:var(--forest)}
.rz__wybrany:empty{display:none}

/* Kalendarz terminów (budowany skryptem z listy wyboru) */
.rz-kal{display:grid;gap:1.25rem}
.rz-kal[hidden]{display:none}
.rz-kal__tydzien{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}
.rz-kal__naglowek{font-size:.75rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--text-3);text-align:center;padding-bottom:.15rem}
.rz-kal__dzien span{flex-direction:column;gap:.1rem;min-height:56px;padding:.4rem .25rem}
.rz-kal__dzien b{font-size:1.125rem;font-weight:650;line-height:1;font-variant-numeric:tabular-nums}
.rz-kal__dzien small{font-size:.6875rem;font-weight:500;color:var(--text-3);line-height:1.1}
.rz-kal__godziny{display:grid;grid-template-columns:repeat(auto-fill,minmax(5.25rem,1fr));gap:8px}
.rz-kal__godziny .rz-chip span{font-variant-numeric:tabular-nums}
.rz-kal__tytul{margin:0;font-size:.9375rem;font-weight:600}
.rz-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Zostań klientem */
.zk-zastrzezenie{margin-top:1.25rem;max-width:52rem}
.zk-noscript{margin-top:1rem}
/* Formularz jest tu kolumną siatki: bez tego długi napis na przycisku rozpycha go poza ekran telefonu. */
[data-zostan] .form{grid-template-columns:minmax(0,1fr)}
[data-zostan] .form>.btn{white-space:normal;text-align:center}
.zk-albo{display:flex;align-items:center;gap:1rem;margin:0;font-size:.8125rem;color:var(--text-3)}
.zk-albo::before,.zk-albo::after{content:"";flex:1;height:1px;background:var(--line)}
.zk-suma{margin:0;color:var(--text-2)}
.rz-card .zk-suma{font-size:1rem}
.zk-suma strong{font-family:var(--f-serif);font-size:clamp(2.25rem,1.8rem + 1.6vw,3rem);font-weight:600;letter-spacing:-.02em;line-height:1;color:var(--ink);font-variant-numeric:tabular-nums}
.zk-pozycje{list-style:none;display:grid;border-top:1px solid var(--line)}
.zk-pozycje li{display:flex;justify-content:space-between;gap:1rem;padding:.6rem 0;border-bottom:1px solid var(--line);font-size:.9375rem;color:var(--text-2)}
.zk-pozycje b{color:var(--ink);font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}

@media (max-width:560px){
	.rz-actions .btn,.rz-actions form{width:100%}
	.rz-actions form .btn{width:100%}
	.rz-dl{grid-template-columns:1fr}
	.rz-dl dt{padding:.75rem 0 0;border-bottom:0}
	.rz-dl dd{padding-top:.15rem}
}
