/* Renoriflow — общие стили публичной формы записи.
   Подключается в book.php и salon.php.
   Префикс rf- : не пересекается с dbm-*, cat-btn, bk-*, sl-*.
   Брейкпоинт 980/981 — как в кабинете. */

.rf{
  --rf-accent:#141c2e;
  --rf-on-accent:#fff;
  --rf-ink:#141c2e;
  --rf-ink-2:#6b7482;
  --rf-ink-3:#8a94a2;
  --rf-ink-4:#a4aeba;
  --rf-ink-off:#c3ccd7;
  --rf-line:#e8ecf2;
  --rf-line-2:#eef2f7;
  --rf-line-3:#f0f3f7;
  --rf-fill:#f7f9fc;
  --rf-fill-2:#f1f4f9;
  --rf-fill-3:#f6f8fb;
  --rf-fill-4:#f4f7fb;
  --rf-tab:#e5ecf4;
  --rf-sel:#eaf1fa;
  --rf-sel-line:#dbe6f3;
  --rf-gold:#8a6a2e;
  --rf-err-bg:#fdf4f3;
  --rf-err-line:#f2d9d6;
  --rf-err:#8e3b34;
  --rf-err-2:#a05a52;
  --rf-err-field:#d05a5a;
  --rf-r-s:8px;
  --rf-r-m:11px;
  --rf-r-l:14px;
  --rf-r-xl:16px;
  --rf-sh:0 1px 2px rgba(16,24,40,.04),0 14px 30px -20px rgba(16,24,40,.2);
  --rf-sh-s:0 1px 2px rgba(16,24,40,.04);
  --rf-font:'Manrope',system-ui,-apple-system,'Segoe UI',sans-serif;
  font-family:var(--rf-font);
  color:var(--rf-ink);
}
.rf *{box-sizing:border-box}

/* карточка-контейнер шага */
.rf-card{
  background:#fff;
  border:1px solid #eceff4;
  border-radius:var(--rf-r-xl);
  box-shadow:var(--rf-sh);
  padding:20px 22px 22px;
}
.rf-card__head{
  display:flex;align-items:baseline;justify-content:space-between;
  gap:16px;margin-bottom:14px;
}
.rf-card__title{
  margin:0;font-size:17px;font-weight:700;
  letter-spacing:-.01em;color:var(--rf-ink);
}
.rf-card__note{font-size:12px;font-weight:500;color:var(--rf-ink-3)}

/* индикатор шагов */
.rf-steps{
  display:flex;gap:4px;background:var(--rf-tab);
  border-radius:10px;padding:4px;margin-bottom:14px;
}
.rf-steps__i{
  flex:1;text-align:center;padding:10px 0;border-radius:var(--rf-r-s);
  font-size:12.5px;font-weight:500;color:#9aa4b1;
  background:transparent;white-space:nowrap;
}
.rf-steps__i--done{color:var(--rf-ink-2)}
.rf-steps__i--on{
  background:var(--rf-accent);color:var(--rf-on-accent);font-weight:700;
}

/* кнопки */
.rf-btn{
  display:inline-block;padding:13px 26px;border:0;
  border-radius:var(--rf-r-m);cursor:pointer;text-align:center;
  font-family:var(--rf-font);font-size:14px;font-weight:700;
  background:var(--rf-accent);color:var(--rf-on-accent);
  text-decoration:none;line-height:1.2;
}
.rf-btn--off{background:#c2ccd8;cursor:default}
.rf-btn--wide{display:block;width:100%;padding:15px 0;font-size:15px}
.rf-btn--quiet{
  background:var(--rf-fill-2);color:var(--rf-ink);
}
.rf-back{
  font-size:13px;font-weight:600;color:var(--rf-ink-2);
  cursor:pointer;text-decoration:none;
}
.rf-edit{
  font-size:12px;font-weight:600;color:var(--rf-gold);cursor:pointer;
  text-decoration:none;border-bottom:1px solid rgba(138,106,46,.35);
}

/* строка-подвал шага */
.rf-foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:16px;margin-top:18px;padding-top:16px;
  border-top:1px solid var(--rf-line-3);
}
.rf-foot__note{font-size:13px;font-weight:500;color:var(--rf-ink-2)}

/* чипы цены и времени */
.rf-chip{
  padding:4px 10px;border-radius:var(--rf-r-s);
  background:var(--rf-fill-2);font-size:12.5px;font-weight:700;
  color:var(--rf-ink);white-space:nowrap;
}
.rf-chip--soft{
  background:var(--rf-fill-3);font-weight:500;color:var(--rf-ink-2);
}
.rf-count{font-size:12px;font-weight:600;color:var(--rf-ink-3)}

/* отметка выбора: квадрат — можно выбрать несколько */
.rf-mark{
  flex:0 0 auto;width:21px;height:21px;border-radius:6px;
  display:grid;place-items:center;background:#fff;
  border:1.5px solid #d7dde6;color:#fff;
  font-size:11px;font-weight:700;
}
.rf-mark--on{background:var(--rf-accent);border-color:var(--rf-accent)}

/* блок ошибки */
.rf-alert{
  display:flex;gap:13px;align-items:flex-start;
  padding:16px 18px;border-radius:var(--rf-r-l);
  background:var(--rf-err-bg);border:1px solid var(--rf-err-line);
}
.rf-alert__title{font-size:15px;font-weight:700;color:var(--rf-err)}
.rf-alert__text{font-size:13px;line-height:1.55;color:var(--rf-err-2)}

/* сводка */
.rf-sum{
  display:flex;flex-direction:column;gap:11px;padding:18px;
  border-radius:var(--rf-r-l);background:var(--rf-fill);
  border:1px solid var(--rf-line-2);
}
.rf-sum__cap{
  font:600 10.5px/1 var(--rf-font);letter-spacing:.14em;
  text-transform:uppercase;color:var(--rf-ink-3);
}
.rf-sum__row{display:flex;align-items:baseline;gap:10px}
.rf-sum__k{flex:0 0 96px;font-size:12.5px;font-weight:500;color:var(--rf-ink-3)}
.rf-sum__v{flex:1;font-size:13.5px;font-weight:600;color:var(--rf-ink);line-height:1.35}
.rf-sum__v--strong{font-weight:800}

/* поля */
.rf-field{display:flex;flex-direction:column;gap:6px}
.rf-field__lab{display:flex;align-items:baseline;gap:8px}
.rf-field__name{font-size:12.5px;font-weight:600;color:var(--rf-ink)}
.rf-field__hint{font-size:11.5px;font-weight:500;color:var(--rf-ink-4)}
.rf-field__msg{font-size:12px;font-weight:600;color:#b4483f}
.rf-input{
  width:100%;padding:13px 14px;border-radius:var(--rf-r-m);
  border:1.5px solid #e4e9f0;background:#fafbfd;
  font-family:var(--rf-font);font-size:14.5px;font-weight:500;
  color:var(--rf-ink);outline:none;
}
.rf-input:focus{border-color:var(--rf-accent);background:#fff}
.rf-input--bad{border-color:var(--rf-err-field);background:#fdf6f6}

/* согласие под кнопкой */
.rf-consent{
  display:block;margin-top:2px;font-size:11.5px;line-height:1.45;
  color:var(--rf-ink-3);text-align:center;
}
.rf-consent a{color:var(--rf-ink-3);border-bottom:1px solid rgba(138,148,162,.4)}

/* мобильная раскладка */
@media (max-width:980px){
  .rf-card{border-radius:var(--rf-r-l);padding:14px}
  .rf-card__title{font-size:16px}
  .rf-steps{border-radius:9px;padding:3px;margin-bottom:12px}
  .rf-steps__i{padding:9px 0;font-size:11.5px;border-radius:7px}
  .rf-btn{padding:15px 0;width:100%;display:block;font-size:15px}
  .rf-foot{flex-direction:column;align-items:stretch;gap:10px}
  .rf-sum__k{flex:0 0 78px;font-size:11.5px}
  .rf-sum__v{font-size:13px}
  .rf-input{padding:14px;font-size:15px}
  .rf-mark{width:20px;height:20px}
}

/* шаг «Услуга» */
.rf-svc{display:flex;flex-direction:column;gap:10px}
.rf-svc__row{
  display:flex;align-items:center;gap:14px;
  padding:15px 17px;border-radius:var(--rf-r-l);
  background:#fff;border:1.5px solid var(--rf-line);
  text-decoration:none;cursor:pointer;
}
.rf-svc__row:hover{border-color:#d5dce6}
.rf-svc__ico{
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  background:var(--rf-fill-3);
}
.rf-svc__body{
  flex:1;display:flex;flex-direction:column;gap:6px;min-width:0;
}
.rf-svc__name{
  font-size:15.5px;font-weight:600;letter-spacing:-.005em;
  color:var(--rf-ink);line-height:1.3;overflow-wrap:break-word;
}
.rf-svc__meta{
  display:flex;align-items:center;gap:7px;flex-wrap:wrap;
}
.rf-svc__meta:empty{display:none}
.rf-svc__chev{
  flex:0 0 auto;width:22px;text-align:center;
  font-size:19px;line-height:1;color:var(--rf-ink-3);
}
.rf-empty{
  padding:26px 4px;text-align:center;
  font-size:13.5px;line-height:1.55;color:var(--rf-ink-2);
}
@media (max-width:980px){
  .rf-svc{gap:9px}
  .rf-svc__row{gap:12px;padding:13px 14px;min-height:58px}
  .rf-svc__ico{width:36px;height:36px}
  .rf-svc__name{font-size:14.5px}
  .rf-svc__meta{gap:6px}
}

/* шаг «Варианты» */
.rf-svc__item{
  border-radius:var(--rf-r-l);
}
.rf-svc__item.is-open{
  background:#fbfcfe;
  border:1.5px solid var(--rf-accent);
}
.rf-svc__item.is-open > .rf-svc__row{
  border:0;background:transparent;
}
.rf-svc__item.is-open > .rf-svc__row .rf-svc__chev{
  transform:rotate(90deg);
}
.rf-var{
  display:grid;grid-template-columns:repeat(2,1fr);gap:8px;
  padding:0 17px 16px 71px;
}
.rf-var__row{
  display:flex;align-items:center;gap:11px;
  padding:12px 14px;border-radius:var(--rf-r-m);
  background:#fafbfd;border:1.5px solid var(--rf-line-2);
  cursor:pointer;text-align:left;font-family:var(--rf-font);
  width:100%;
}
.rf-var__row.cat-sel{
  background:var(--rf-sel);border-color:var(--rf-accent);
}
.rf-var__row.cat-sel .rf-mark{
  background:var(--rf-accent);border-color:var(--rf-accent);
}
.rf-var__row.cat-sel .rf-mark::after{content:'✓'}
.rf-var__body{
  flex:1;display:flex;flex-direction:column;gap:2px;min-width:0;
}
.rf-var__name{
  font-size:13.5px;font-weight:600;color:var(--rf-ink);
  line-height:1.3;overflow-wrap:break-word;
}
.rf-var__dur{font-size:11.5px;font-weight:500;color:var(--rf-ink-2)}
.rf-var__price{
  flex:0 0 auto;font-size:14px;font-weight:700;color:var(--rf-ink);
}
.rf-var__sum{
  grid-column:1/-1;
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;padding:11px 14px;border-radius:var(--rf-r-m);
  background:#f3f7fc;border:1px dashed var(--rf-sel-line);
}
.rf-var__sum-k{font-size:12.5px;font-weight:600;color:var(--rf-ink-2)}
.rf-var__sum-v{font-size:13px;font-weight:700;color:var(--rf-ink);text-align:right}
.rf-mark{width:18px;height:18px;font-size:10px}
@media (max-width:980px){
  .rf-var{grid-template-columns:1fr;gap:7px;padding:0 14px 14px 22px}
  .rf-var__row{min-height:48px}
}
