/* booking.css — только UZ: выбор слота, запись на замер. Тёплая система + высокий контраст. */

.booking .subtitle { color: var(--accent-ink); font-weight: 600; }
.booking-msg {
  margin: 4px 0 16px; padding: 14px 16px; border-radius: 12px;
  background: var(--accent-soft); border: 1px solid var(--accent-line); color: var(--accent-ink);
  font-size: 16px; line-height: 1.45; font-weight: 600;
}
.booking-none { margin: 4px 0 18px; padding: 18px 20px; border-radius: 16px; background: var(--surface); border: 1px solid var(--line-2); }
.booking-none-t { font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--ink); }
.booking-none-s { color: var(--text); font-size: 16px; margin-top: 4px; }

.dayblock { margin: 8px 0 18px; }
.dayblock.day-expand { margin-top: 4px; padding-top: 14px; border-top: 1px dashed var(--line-2); }
.dayblock-t { font-family: var(--display); font-weight: 700; font-size: 18px; letter-spacing: -.01em; color: var(--ink); margin-bottom: 10px; }

/* слоты — крупные кнопки под палец */
.slots { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.slot {
  cursor: pointer; min-height: 58px; padding: 15px 12px;
  font-family: var(--display); font-weight: 700; font-size: 18px; letter-spacing: -.01em;
  color: var(--ink); background: var(--surface); border: 1.5px solid var(--line-2); border-radius: 14px;
  box-shadow: var(--shadow-soft); font-variant-numeric: tabular-nums;
  transition: border-color .15s, background .15s, transform .1s;
}
.slot:hover { border-color: var(--accent); }
.slot:active { transform: scale(.98); }
.slot.taken { cursor: default; color: var(--faint); background: var(--bg-2); border-color: var(--line); box-shadow: none; text-decoration: line-through; }

/* дни-чипсы */
.daychips-title { font-family: var(--display); font-weight: 700; font-size: 15px; color: var(--text); text-transform: uppercase; letter-spacing: .02em; margin: 6px 0 10px; }
.daychips { display: flex; flex-wrap: wrap; gap: 9px; }
.daychip {
  cursor: pointer; display: flex; flex-direction: column; align-items: center; gap: 2px;
  min-width: 78px; padding: 11px 14px; background: var(--surface); border: 1.5px solid var(--line-2);
  border-radius: 14px; box-shadow: var(--shadow-soft); transition: border-color .15s, background .15s;
}
.daychip:hover { border-color: var(--accent); }
.daychip.sel { border-color: var(--accent); background: var(--accent-soft); box-shadow: 0 0 0 1.5px var(--accent); }
.daychip.full { opacity: .55; cursor: default; text-decoration: line-through; }
.daychip-d { font-family: var(--display); font-weight: 700; font-size: 15px; color: var(--ink); }
.daychip-w { font-size: 14px; color: var(--text); }

/* выбранный слот в форме контакта / подтверждении */
.chosen-slot {
  display: inline-block; align-self: flex-start; margin: 0 0 18px;
  font-family: var(--display); font-weight: 700; font-size: 18px; color: var(--accent-ink);
  background: var(--accent-soft); border: 1px solid var(--accent-line); border-radius: 100px; padding: 9px 18px;
}
.booking.thanks .chosen-slot.big { align-self: center; font-size: 19px; margin: 6px auto 16px; }
.price-note { font-weight: 600; color: var(--text); }

/* экран телефона: пояснение под полем + блок оплаты на встрече */
.phone-note { font-size: 16px; color: var(--text); margin: 8px 0 0; line-height: 1.45; }
.payinfo {
  margin: 18px 0 4px; padding: 16px 18px; border-radius: 14px;
  background: var(--surface); border: 1px solid var(--line-2); border-left: 4px solid var(--accent);
}
.payinfo-t { font-family: var(--display); font-weight: 700; font-size: 17.5px; letter-spacing: -.01em; color: var(--ink); }
.payinfo-b { font-size: 16px; line-height: 1.5; color: var(--text); margin-top: 5px; }

/* Стили информационного блока записи */
.price-old { display: block; font-size: 18px; color: #CDBBA6; text-decoration: line-through; margin-bottom: 3px; font-variant-numeric: tabular-nums; }
.price-24 { display: block; margin-top: 9px; font-size: 15px; color: #DCC9B4; }
/* строка оффера на экране слотов */
.slot-offer { font-size: 15px; color: var(--accent-ink); font-weight: 600; margin: -6px 0 14px; }

/* патч: жирный абзац на экране 9 (в рамках существующего .lead) */
.lead-strong { font-weight: 700; color: var(--ink); }
/* патч: отступ перед смысловым блоком «Один замер вместо нескольких» (экран 10) */
.offer-benefit-title { margin-top: 28px; }
/* патч: условие цены под заголовком карточки на экране телефона (экран 13) */
.payinfo-24 { font-size: 14.5px; color: var(--accent-ink); font-weight: 600; margin: 2px 0 6px; }

/* Фото-квалификация */
.photo-upload { margin-top: 22px; }
.photo-input { position:absolute; width:1px; height:1px; opacity:0; pointer-events:none; }
.photo-pick { width:100%; min-height:116px; border:2px dashed #c9cec9; border-radius:18px; background:#f8faf8; display:flex; align-items:center; justify-content:center; flex-direction:column; gap:8px; padding:20px; font:700 16px/1.2 inherit; cursor:pointer; }
.photo-pick .photo-plus { font-size:34px; line-height:1; }
.photo-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:10px; margin-top:14px; }
.photo-card { position:relative; aspect-ratio:4/3; border-radius:14px; overflow:hidden; background:#eef1ee; }
.photo-card img { width:100%; height:100%; object-fit:cover; display:block; }
.photo-status { margin:12px 0 0; font-size:14px; font-weight:700; }
.photo-status.ok { color:#176b3a; }
.photo-status.err { color:#a92b2b; }
.photo-next { margin-top:18px; width:100%; }

.photo-skip { width:100%; margin-top:14px; border:0; background:transparent; color:#555; font:600 15px/1.35 inherit; text-decoration:underline; text-underline-offset:3px; cursor:pointer; padding:10px 6px; }
.photo-skip:active { opacity:.65; }
