/* KvestZania - бронирование: календарь и форма */

.book{padding:clamp(15px,2vw,22px)}
.book:hover{transform:none}
.book__step{padding-bottom:16px;margin-bottom:16px;border-bottom:1px solid var(--line)}
.book__step:last-of-type{border-bottom:0}
.book__row{display:grid;grid-template-columns:1.6fr .9fr .9fr;gap:16px;align-items:start}
.book__row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* календарь */
.book__cal{display:grid;grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:7px}
.book__cal-load{grid-column:1/-1;color:var(--txt-dim);font-size:15px;padding:14px 0}
.book__month{grid-column:1/-1;font-weight:700;font-size:15px;margin:6px 0 1px;text-transform:capitalize;color:var(--txt-dim)}
.book__day{
  display:flex;flex-direction:column;gap:2px;padding:9px 10px;border-radius:11px;cursor:pointer;
  background:var(--bg-2);border:1.5px solid var(--line);transition:.15s;text-align:left;
}
.book__day.is-weekend{background:rgba(200,38,79,.05)}
.book__day:hover:not([disabled]){border-color:var(--green);background:rgba(20,184,119,.06)}
.book__day.is-sel{border-color:var(--green);background:rgba(20,184,119,.12)}
.book__day[disabled]{opacity:.35;cursor:not-allowed}
.book__day-d{font-weight:700;font-size:13.5px;white-space:nowrap}
.book__day-f{font-size:11.5px;color:var(--green);font-weight:600}
.book__day-f.is-low{color:var(--wine-lt)}
.book__day[disabled] .book__day-f{color:var(--txt-dim)}

/* время */
.book__times{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.book__time{
  padding:9px 17px;border-radius:999px;border:1.5px solid var(--line);
  background:var(--bg-2);font-weight:600;font-size:15px;transition:.15s;
}
.book__time:hover:not([disabled]){border-color:var(--green);color:var(--green)}
.book__time.is-sel{background:var(--green);color:#03140c;border-color:transparent}
.book__time[disabled]{opacity:.3;cursor:not-allowed;text-decoration:line-through}

/* итог и форма */
.book__foot{display:grid;grid-template-columns:.9fr 1.1fr;gap:20px;align-items:start;padding-top:4px}
.book__sum{
  padding:17px;border-radius:16px;
  background:var(--bg-2);border:1.5px solid rgba(20,184,119,.22);
}
.book__done h3{font-size:21px;margin-bottom:8px;color:var(--green)}
.book__done p{color:var(--txt-dim)}

@media (max-width:980px){
  .book__row{grid-template-columns:1fr;gap:18px}
  .book__foot{grid-template-columns:1fr}
}
@media (max-width:560px){
  .book__cal{grid-template-columns:repeat(auto-fill,minmax(125px,1fr))}
  .book__row2{grid-template-columns:1fr}
}

/* шапка страницы бронирования: заголовок и пояснение вплотную к форме */
.book__intro{padding-block:10px 14px}
.book__intro h1{margin-bottom:8px;max-width:18ch}
.book__intro p{margin:0;color:var(--txt-dim);font-size:16px;line-height:1.5;max-width:70ch}

/* раунд III: простая форма - имя, дата, телефон; стили формы - .lead в style.css */
.book--simple{max-width:520px}
