/* F-041. Theme adapter for the installed shadcn/ui Button.
   The explicit marker also works on native HTML in the Jinja handoff.
   Important paint/size declarations form the boundary with legacy page CSS;
   add future button variants here rather than overriding them per page.
   Tabs, switches, calendar days and disclosure rows keep their own semantics. */
:root {
  --button-bg: #fff;
  --button-text: #43536b;
  --button-border: #ced8e8;
  --button-hover: #edf3ff;
  --button-hover-border: #a6bde3;
  --button-active: #dce8ff;
  --button-selected: #e8f0ff;
  --button-primary: #214ce3;
  --button-primary-hover: #193dc2;
  --button-primary-active: #1634a3;
  --button-primary-text: #fff;
  --button-focus: #315cf0;
}
html[data-theme="dark"] {
  --button-bg: #182332;
  --button-text: #c6d4e8;
  --button-border: #465a73;
  --button-hover: #263b57;
  --button-hover-border: #7596c0;
  --button-active: #324d70;
  --button-selected: #233c5e;
  --button-primary: #8db8ff;
  --button-primary-hover: #aecbff;
  --button-primary-active: #78a7f2;
  --button-primary-text: #12213b;
  --button-focus: #8db8ff;
}
[data-cabinet-button] {
  --action-bg: var(--button-bg);
  --action-text: var(--button-text);
  --action-border: var(--button-border);
  --action-hover: var(--button-hover);
  --action-hover-border: var(--button-hover-border);
  --action-active: var(--button-active);
  --action-hover-text: var(--ui-link);
  --action-height: 40px;
  --action-padding: 14px;
  --action-padding-block: 8px;
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  gap: 8px;
  box-sizing: border-box;
  height: auto !important;
  min-height: var(--action-height) !important;
  padding: var(--action-padding-block) var(--action-padding) !important;
  border: 1px solid var(--action-border) !important;
  border-radius: 8px !important;
  background: var(--action-bg) !important;
  color: var(--action-text) !important;
  box-shadow: none !important;
  font-family: inherit;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 20px !important;
  text-decoration: none !important;
  cursor: pointer;
  touch-action: manipulation;
  transition: background-color 150ms ease, border-color 150ms ease, color 150ms ease !important;
}
[data-cabinet-button][data-variant="default"] {
  --action-bg: var(--button-primary);
  --action-text: var(--button-primary-text);
  --action-border: var(--button-primary);
  --action-hover: var(--button-primary-hover);
  --action-hover-border: var(--button-primary-hover);
  --action-active: var(--button-primary-active);
  --action-hover-text: var(--button-primary-text);
}
[data-cabinet-button][data-variant="ghost"] {
  --action-bg: transparent;
  --action-border: transparent;
  --action-hover-border: transparent;
}
[data-cabinet-button]:is([aria-pressed="true"],[aria-current="page"],[data-copy-state="copied"]),
[data-cabinet-button].release-feedback-option:has([data-state="checked"],input:checked) {
  --action-bg: var(--button-selected);
  --action-text: var(--ui-link);
  --action-border: var(--button-hover-border);
}
[data-cabinet-button][data-size="sm"],
[data-cabinet-button][data-size="icon-sm"] { --action-height: 36px; --action-padding: 10px; --action-padding-block: 6px; }
[data-cabinet-button][data-size="lg"] { --action-height: 48px; --action-padding: 20px; }
[data-cabinet-button][data-size^="icon"] {
  width: var(--action-height) !important;
  min-width: var(--action-height) !important;
  height: var(--action-height) !important;
  padding: 0 !important;
}
[data-cabinet-button] > svg { width: 16px; height: 16px; flex-shrink: 0; }
[data-cabinet-button].header-control svg { width: 20px; height: 20px; }
[data-cabinet-button].favorite-button svg { width: 20px; height: 20px; }
@media (hover: hover) {
  [data-cabinet-button]:not(:disabled,[aria-disabled="true"],[aria-busy="true"]):hover {
    background: var(--action-hover) !important;
    border-color: var(--action-hover-border) !important;
    color: var(--action-hover-text) !important;
  }
}
[data-cabinet-button]:not(:disabled,[aria-disabled="true"],[aria-busy="true"]):active {
  background: var(--action-active) !important;
  border-color: var(--action-hover-border) !important;
  color: var(--action-hover-text) !important;
}
[data-cabinet-button]:focus-visible,
[data-cabinet-button].release-feedback-option:has(:focus-visible) {
  outline: 2px solid var(--button-focus) !important;
  outline-offset: 3px !important;
}
[data-cabinet-button]:is(:disabled,[aria-disabled="true"]) {
  opacity: .45 !important;
  cursor: not-allowed;
  pointer-events: auto;
}
[data-cabinet-button][aria-busy="true"] { cursor: progress; }
[data-cabinet-button][hidden] { display: none !important; }
[data-cabinet-button] .command-shine { display: none; }
[data-cabinet-button] .command-icon,
[data-cabinet-button].header-control svg {
  transform: none !important; rotate: none !important; scale: none !important;
  animation: none !important; transition: none !important;
}
/* Preserve the copy/check success feedback, with an opacity transition only. */
[data-cabinet-button] .copy-button-icons svg {
  transform: none !important; transition: opacity 150ms ease !important;
}
[data-cabinet-button].search-back { white-space: normal; text-align: center; }
.signal-reactions { gap: 8px; }
@media (hover: hover) {
  .smooth-tab-button:not(:disabled):hover { background: var(--button-hover); color: var(--ui-link); }
}
.smooth-tab-button:not(:disabled):active { background: var(--button-active); }
@media (max-width: 650px) {
  [data-cabinet-button].header-favorites { width: 36px; min-width: 36px; padding: 0 !important; }
  [data-cabinet-button].header-control { --action-height: 36px; }
  [data-cabinet-button].search-submit { width: 48px !important; min-width: 48px; padding: 0 !important; }
  [data-cabinet-button].search-submit > .search-button-label { display: none !important; }
}
@media (max-width: 480px) {
  [data-cabinet-button].logout-button { --action-height: 36px; padding-inline: 8px !important; }
}
@media (pointer: coarse) {
  [data-cabinet-button]:not(.header-control,.logout-button,.search-clear,.login-password-toggle) { --action-height: 44px; }
  [data-cabinet-button][data-size="lg"] { --action-height: 48px; }
}
@media (prefers-reduced-motion: reduce) {
  [data-cabinet-button], [data-cabinet-button] .copy-button-icons svg { transition: none !important; }
}

/* One pagination presentation for releases archive and company lists. */
:where(.infonevod-ui) .light .cabinet-pagination { padding:20px 20px 22px; border-top:1px solid var(--ui-border); }
.cabinet-pagination ul { display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; padding:0; margin:0; list-style:none; }
.cabinet-pagination p { text-align:center; margin:10px 0 0; font-size:13px; color:var(--ui-meta); }
.cabinet-page-gap { display:inline-flex; align-items:center; justify-content:center; width:22px; color:var(--ui-meta); }
@media (max-width:650px) {
  :where(.infonevod-ui) .light .cabinet-pagination { padding-inline:12px; }
}
