/* =========================================================
   Дополнение к стилям шаблона (style.css не меняется):
   согласия в шаге «Ваши данные», ловушка для ботов,
   неактивные даты в ленте записи, переключатель RU / EN,
   страница клиента «моя запись».
   Те же токены, что у шаблона: карточка, рамка, янтарный акцент.
   ========================================================= */

.field-check{margin-top:2px;}
.check{
  display:flex;align-items:flex-start;gap:12px;cursor:pointer;
  font-size:14.5px;line-height:1.5;color:var(--ink-soft);
}
.check-box{
  position:relative;flex:none;display:grid;place-items:center;width:22px;height:22px;margin-top:1px;
  border:1.5px solid var(--line-2);border-radius:7px;background:var(--card);overflow:hidden;isolation:isolate;
  transition:border-color .3s ease,box-shadow .3s ease,scale .45s var(--ease-back);
}
.check-box::before{content:"";position:absolute;inset:0;z-index:-1;background:var(--grad-fire);opacity:0;transition:opacity .3s ease;}
.check-box .icon{
  width:15px;height:15px;color:var(--night);stroke-width:3;
  stroke-dasharray:24;stroke-dashoffset:24;transition:stroke-dashoffset .45s var(--ease-out) .05s;
}
.check input:checked + .check-box{border-color:transparent;scale:1.06;}
.check input:checked + .check-box::before{opacity:1;}
.check input:checked + .check-box .icon{stroke-dashoffset:0;}
.check input:focus-visible + .check-box{outline:3px solid var(--orange);outline-offset:2px;}
.check-text a{color:var(--rust);}
@media (hover:hover){.check:hover .check-box{border-color:var(--orange);}}
.field-check.is-invalid .check-box{border-color:var(--red);box-shadow:0 0 0 4px rgba(232,57,47,.13);}
.field-check .field-error{margin-left:34px;}

/* Ловушка для ботов — вне экрана, но не display:none (некоторые боты такие поля пропускают). */
.hp-field{position:absolute !important;left:-9999px !important;width:1px;height:1px;overflow:hidden;}

/* Дата без свободного времени для выбранной сцены — неактивна (как «занято» у времени). */
.date-chip.is-off{cursor:not-allowed;}
.date-chip.is-off .date-chip-in{
  opacity:.42;border-style:dashed;box-shadow:none;transform:none;
  background:repeating-linear-gradient(-45deg,transparent 0 6px,rgba(11,27,26,.05) 6px 12px),var(--paper);
}
@media (hover:hover){.date-chip.is-off:hover .date-chip-in{border-color:var(--line-2);transform:none;}}

/* Страница клиента «моя запись» (/booking/<токен>) — карточка подтверждения шаблона на тёмном фоне. */
.manage{min-height:100vh;min-height:100svh;display:grid;place-items:center;padding:40px var(--gutter);color:var(--cream);}
.manage-card{width:100%;max-width:560px;}
.manage-card .eyebrow{color:var(--amber);}
.manage-note{margin:18px 0 0;font-size:14px;line-height:1.55;color:var(--on-dark-2);}
.manage-note a{color:var(--amber);}
.manage-error{margin:16px 0 0;font-size:14px;color:#ff9b8a;}
.manage-ask{display:grid;gap:12px;}
.manage-label{font:500 11px/1.3 var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--on-dark-3);}
.manage-reason{
  width:100%;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,245,232,.2);
  background:rgba(255,245,232,.06);color:var(--cream);font:500 15px/1.5 var(--sans);resize:vertical;
}
.manage-reason:focus{outline:none;border-color:var(--amber);box-shadow:0 0 0 4px rgba(255,181,71,.18);}
.manage .btn[disabled]{opacity:.6;cursor:progress;}

/* Переключатель языка RU / EN — капсула в духе меню шапки: на компьютере — в шапке, на телефоне — в мобильном меню. */
.lang-switch{display:flex;flex:none;gap:2px;padding:3px;border-radius:999px;border:1px solid rgba(255,245,232,.16);}
.lang-switch a{
  padding:9px 10px;border-radius:999px;font:500 11px/1 var(--mono);letter-spacing:.14em;
  color:var(--on-dark-2);text-decoration:none;transition:color .3s ease,background-color .3s ease;
}
.lang-switch a.is-active{color:var(--night);background:var(--amber);}
.lang-switch a:focus-visible{outline:2px solid var(--amber);outline-offset:2px;}
@media (hover:hover){.lang-switch a:not(.is-active):hover{color:var(--cream);background:rgba(255,245,232,.07);}}
.lang-switch--menu a{padding:12px 16px;font-size:12.5px;}
@media (max-width:1023px){.topbar .lang-switch{display:none;}}
