/* LEGACY — единая система кнопок.
   Три размера (L 48 / M 42 / S 34), одно скругление, один шрифт, четыре стиля в цветах сайта.
   В рядах действий кнопки одинаковой ширины; на телефоне — выше и ровной сеткой.
   Подключается последним, поэтому правила с !important. */

:root{
  --lb-navy:#0e1b2d;
  --lb-navy-hover:#1d3550;
  --lb-gold:#e3c98e;
  --lb-gold-hover:#d6b670;
  --lb-ink:#112840;
  --lb-line:#d9e1e6;
  --lb-line-hover:#c2ced6;
  --lb-danger:#a54848;
  --lb-danger-line:#ecd2d2;
  --lb-radius:12px;
  --lb-l:48px;
  --lb-m:42px;
  --lb-s:34px;
}

/* ---------- Геометрия: общее для всех кнопок ---------- */
html body :is(
  .btn,.hbtn,.back,.apply,.submit,.secondary-action,
  .account-cta,.legacy-footer-cta,.legacy-cookie-ok,
  .event-more,.event-apply,
  .activity-app-action,.dependent-action,.dependent-add-btn,.mini,.dog-handler-remove,
  .comp-page-back,.application-success-primary,.support-submit,.pick-send,
  .activity-link,.subs-go
){
  display:inline-flex;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  box-sizing:border-box!important;
  border-radius:var(--lb-radius)!important;
  font-family:inherit!important;
  font-weight:700!important;
  letter-spacing:0!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  white-space:nowrap!important;
  cursor:pointer;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease,transform .18s ease!important;
}
html body :is(.btn,.hbtn,.apply,.submit,.secondary-action,.event-more,.event-apply,.activity-app-action,.dependent-action,.mini,.account-cta,.dependent-add-btn):not(:disabled):hover{transform:translateY(-1px)}
html body :is(.btn,.hbtn,.apply,.submit,.secondary-action,.activity-app-action,.dependent-action,.mini):disabled{opacity:.55!important;cursor:not-allowed!important;transform:none!important}
html body :is(.btn,.hbtn,.apply,.submit,.secondary-action,.activity-app-action,.dependent-action,.mini,.event-more,.event-apply):focus-visible{outline:2px solid var(--lb-gold)!important;outline-offset:2px!important}

/* Кнопки-блоки (на всю ширину своей карточки) */
html body :is(.apply,.submit,.secondary-action,.pick-send){display:flex;width:100%}
/* L — главные действия страницы */
html body :is(.apply,.submit,.account-cta,.legacy-footer-cta,.application-success-primary,.pick-send){
  min-height:var(--lb-l)!important;height:auto!important;
  padding:0 24px!important;font-size:14.5px!important;
}
/* M — обычные кнопки */
html body :is(.btn,.hbtn,.back,.secondary-action,.event-more,.event-apply,.dependent-add-btn,.legacy-cookie-ok,.comp-page-back,.support-submit,.activity-link,.subs-go){
  min-height:var(--lb-m)!important;height:auto!important;
  padding:0 18px!important;font-size:13.5px!important;
}
/* S — кнопки внутри карточек и строк таблиц */
html body :is(.activity-app-action,.dependent-action,.mini,.dog-handler-remove,.nf-go){
  min-height:var(--lb-s)!important;height:auto!important;
  padding:0 14px!important;font-size:12.5px!important;
}
html body .nf-go{border-radius:var(--lb-radius)!important}

/* ---------- Стили ---------- */
/* Белая с рамкой (вторичная) */
html body :is(.btn.light,.secondary-action,.event-more,.activity-app-action,.dependent-action,.mini,.back:not(.hero-back),.comp-page-back){
  background:#fff!important;color:var(--lb-ink)!important;
  border:1px solid var(--lb-line)!important;box-shadow:none!important;
}
html body :is(.btn.light,.secondary-action,.event-more,.activity-app-action,.dependent-action,.mini):not(:disabled):hover{
  border-color:var(--lb-line-hover)!important;background:#fbfcfc!important;
}
/* Тёмно-синяя (основная) */
html body :is(.btn.primary,.submit,.subs-go,.activity-link){
  background:var(--lb-navy)!important;color:#fff!important;border:1px solid var(--lb-navy)!important;
}
html body :is(.btn.primary,.submit,.subs-go,.activity-link):not(:disabled):hover{
  background:var(--lb-navy-hover)!important;border-color:var(--lb-navy-hover)!important;
  box-shadow:0 8px 20px rgba(14,27,45,.16)!important;
}
/* Золотая (акцент: записаться, оплатить) */
html body :is(.btn.gold,.apply,.event-apply,.account-cta,.activity-app-action.pay,.pick-send,.application-success-primary){
  background:var(--lb-gold)!important;color:var(--lb-navy)!important;border:1px solid var(--lb-gold)!important;
}
html body :is(.btn.gold,.apply,.event-apply,.account-cta,.activity-app-action.pay,.pick-send,.application-success-primary):not(:disabled):hover{
  background:var(--lb-gold-hover)!important;border-color:var(--lb-gold-hover)!important;
  box-shadow:0 8px 20px rgba(170,135,60,.22)!important;
}
html body .apply.disabled{background:#eef1f3!important;border-color:#e3e8ec!important;color:#8a97a3!important;box-shadow:none!important;transform:none!important;cursor:default!important}
/* Опасная (удалить, отозвать) */
html body :is(.btn.danger,.activity-app-action.danger,.dependent-action.delete,.mini.danger,.dog-handler-remove){
  background:#fff!important;color:var(--lb-danger)!important;border:1px solid var(--lb-danger-line)!important;box-shadow:none!important;
}
html body :is(.btn.danger,.activity-app-action.danger,.dependent-action.delete,.mini.danger,.dog-handler-remove):not(:disabled):hover{
  background:#fff5f5!important;border-color:#dcb0b0!important;
}
/* Кнопки шапки на тёмном фоне */
html body .header .hbtn,html body .header .back{
  background:rgba(255,255,255,.04)!important;color:#fff!important;border:1px solid rgba(255,255,255,.22)!important;
}
html body .header .hbtn:hover,html body .header .back:hover{background:rgba(255,255,255,.1)!important;border-color:rgba(255,255,255,.4)!important}

/* ---------- Ряды действий: одинаковая ширина ---------- */
html body :is(.activity-app-actions,.dependent-actions,.dog-invite-actions,.card-actions,.event-actions,.pick-actions){
  display:flex;flex-wrap:wrap!important;gap:8px!important;align-items:stretch!important;
}
html body :is(.activity-app-actions,.dependent-actions,.dog-invite-actions,.card-actions,.event-actions)>:is(a,button){
  flex:1 1 0!important;min-width:max-content!important;
}
/* Карточка заявки узкая — кнопки всегда сеткой 2×2 */
html body .activity-app-actions{display:grid;grid-template-columns:1fr 1fr!important}
html body .activity-app-actions>:is(a,button){min-width:0!important;width:100%!important}
html body .activity-app-actions>:is(a,button):last-child:nth-child(odd){grid-column:1/-1}
html body .activity-app-actions>.activity-app-note{grid-column:1/-1}
html body .modal-actions{display:flex;gap:10px!important;justify-content:flex-end!important;flex-wrap:wrap!important}
html body .modal-actions>:is(a,button){min-width:150px!important}
html body .event-actions{min-width:260px}
html body .event-actions .event-opens{flex:1 1 0!important;min-height:var(--lb-m)!important;border-radius:var(--lb-radius)!important;justify-content:center!important}

/* ---------- Телефон ---------- */
@media (max-width:640px){
  :root{--lb-l:52px;--lb-m:46px;--lb-s:40px}
  html body :is(.apply,.submit,.account-cta,.application-success-primary,.pick-send){font-size:15px!important}
  html body :is(.btn,.secondary-action,.event-more,.event-apply){font-size:14px!important}
  html body :is(.activity-app-action,.dependent-action,.mini){font-size:13px!important}
  /* Ряды действий — ровная сетка в две колонки, нечётная последняя кнопка на всю ширину */
  html body :is(.activity-app-actions,.dependent-actions,.dog-invite-actions,.card-actions,.event-actions,.dog-actions){
    display:grid;grid-template-columns:1fr 1fr!important;gap:8px!important;width:100%!important;min-width:0!important;
  }
  html body :is(.activity-app-actions,.dependent-actions,.dog-invite-actions,.card-actions,.event-actions,.dog-actions)>:is(a,button){
    width:100%!important;min-width:0!important;
  }
  html body :is(.activity-app-actions,.dependent-actions,.dog-invite-actions,.card-actions,.event-actions,.dog-actions)>:is(a,button):last-child:nth-child(odd){grid-column:1/-1}
  /* В половину ширины длинный текст переносится, а не вылезает */
  html body :is(.activity-app-actions,.dependent-actions,.dog-invite-actions,.card-actions,.event-actions,.dog-actions,.modal-actions)>:is(a,button){
    white-space:normal!important;padding:8px 10px!important;line-height:1.2!important;font-size:13px!important}
  /* Кнопка раздела под заголовком — на всю ширину */
  html body .section-head>.btn{width:100%!important}
  html body .modal-actions{display:grid;grid-template-columns:1fr 1fr!important}
  html body .modal-actions>:is(a,button){min-width:0!important;width:100%!important}
  html body .modal-actions>:is(a,button):last-child:nth-child(odd){grid-column:1/-1}
  /* Одиночные главные кнопки в карточках — на всю ширину */
  html body :is(.secondary-action,.apply,.submit,.dependent-add-btn,.pick-send){width:100%!important}
}

/* Спрятанное страницей остаётся спрятанным */
html body [hidden]{display:none!important}

/* Телефон: «Назад» в шапке — компактная квадратная кнопка со стрелкой */
@media (max-width:620px){
  html body .header .back{font-size:0!important;padding:0!important;width:var(--lb-m)!important;min-width:var(--lb-m)!important;gap:0!important}
  html body .header .back:after{font-size:18px!important}
}
