/* Unified public button layer. Loaded after page CSS so CTA controls stay consistent. */
:root {
  --site-button-height: 38px;
  --site-button-padding-y: 10px;
  --site-button-padding-x: 20px;
  --site-button-radius: 10px;
  --site-button-font: 12px;
  --site-button-gap: 6px;
  --site-button-bg: rgba(255,255,255,.045);
  --site-button-bg-hover: rgba(255,255,255,.075);
  --site-button-border: rgba(255,255,255,.10);
  --site-button-text: #e6edf3;
  --site-button-shadow: 0 8px 18px rgba(0,0,0,.18), inset 0 1px 0 rgba(255,255,255,.05);
  --site-chip-bg: rgba(255,255,255,.045);
  --site-chip-bg-hover: rgba(255,255,255,.075);
  --site-chip-border: rgba(255,255,255,.10);
  --site-chip-text: rgba(230,237,243,.82);
}

[data-theme="light"] {
  --site-button-bg: rgba(14,22,36,.055);
  --site-button-bg-hover: rgba(14,22,36,.085);
  --site-button-border: rgba(14,22,36,.12);
  --site-button-text: #0e1624;
  --site-button-shadow: 0 8px 18px rgba(14,22,36,.08), inset 0 1px 0 rgba(255,255,255,.72);
  --site-chip-bg: rgba(14,22,36,.055);
  --site-chip-bg-hover: rgba(14,22,36,.085);
  --site-chip-border: rgba(14,22,36,.12);
  --site-chip-text: #526174;
}

.btn,
.btn-primary,
.btn-secondary,
.btn-ghost,
.btn-hero-primary,
.btn-hero-secondary,
.hero-modal-submit,
.cookie-btn,
.btn-submit-article,
.sm-submit,
.calc-cta,
.hf-submit,
.cr-vacancy-btn,
.cr-cta a,
.btn-like,
.btn-comments-toggle,
.comment-form .btn-submit,
.case-lead-open,
.btn-show-more,
.mobile-nav .m-cta,
.nav-cta,
.doc-download,
.tasks-show-more,
.btn-write,
.btn-logout {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: var(--site-button-gap) !important;
  min-height: var(--site-button-height) !important;
  padding: var(--site-button-padding-y) var(--site-button-padding-x) !important;
  border-radius: var(--site-button-radius) !important;
  border: 1px solid var(--site-button-border) !important;
  background: var(--site-button-bg) !important;
  color: var(--site-button-text) !important;
  box-shadow: var(--site-button-shadow) !important;
  text-shadow: none !important;
  font: inherit !important;
  font-size: var(--site-button-font) !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  cursor: pointer;
  transition: background .2s, border-color .2s, box-shadow .2s, transform .2s, color .2s !important;
}

.btn:hover,
.btn-primary:hover,
.btn-secondary:hover,
.btn-ghost:hover,
.btn-hero-primary:hover,
.btn-hero-secondary:hover,
.hero-modal-submit:hover,
.cookie-btn:hover,
.btn-submit-article:hover,
.sm-submit:hover,
.calc-cta:hover,
.hf-submit:hover,
.cr-vacancy-btn:hover,
.cr-cta a:hover,
.btn-like:hover,
.btn-comments-toggle:hover,
.btn-comments-toggle[aria-expanded="true"],
.comment-form .btn-submit:hover,
.case-lead-open:hover,
.btn-show-more:hover,
.mobile-nav .m-cta:hover,
.nav-cta:hover,
.doc-download:hover,
.tasks-show-more:hover,
.btn-write:hover,
.btn-logout:hover {
  background: var(--site-button-bg-hover) !important;
  border-color: var(--site-button-border) !important;
  color: var(--site-button-text) !important;
  box-shadow: var(--site-button-shadow) !important;
  transform: translateY(-1px) !important;
}

.btn:disabled,
.btn-primary:disabled,
.btn-secondary:disabled,
.btn-ghost:disabled,
.hero-modal-submit:disabled,
.btn-submit-article:disabled,
.sm-submit:disabled,
.calc-cta:disabled,
.hf-submit:disabled,
.btn-like:disabled,
.btn-comments-toggle:disabled,
.comment-form .btn-submit:disabled {
  opacity: .55 !important;
  cursor: default !important;
  transform: none !important;
}

.btn-like.liked,
.btn-comments-toggle[aria-expanded="true"] {
  background: var(--site-button-bg-hover) !important;
  border-color: var(--site-button-border) !important;
  color: var(--site-button-text) !important;
}

.case-tag,
.blog-card-tag,
.about-cases-list .case-card-v .case-tag,
.cr-vacancy-tag {
  color: var(--site-chip-text) !important;
  background: var(--site-chip-bg) !important;
  border: 1px solid var(--site-chip-border) !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

.case-card:hover .case-tag,
.blog-card:hover .blog-card-tag,
.about-cases-list .case-card-v:hover .case-tag,
.cr-vacancy:hover .cr-vacancy-tag {
  color: var(--site-chip-text) !important;
  background: var(--site-chip-bg-hover) !important;
  border-color: var(--site-chip-border) !important;
}
