/* Проектные кнопки pppoker — залитые яркие вместо ядрового outline-стиля.
   Грузится ПОСЛЕ forge toast.css (через block head_extra в _base.html.tera),
   поэтому побеждает каскад без повышения специфичности.

   Ядро рисует .ds-btn--* как контур (прозрачный фон + цветная рамка/текст),
   заливка только на hover — выглядит блёкло. Здесь заливаем по умолчанию. */

.ds-btn--primary,
.ds-btn--success,
.ds-btn--danger {
    font-weight: 600;
    border-style: solid;
    border-width: 1px;
}

/* Primary — бренд-зелёный, залитый. Текст контрастный (--accent-fg). */
.ds-btn--primary,
.ds-btn--primary:hover {
    background: var(--ds-info);
    border-color: var(--ds-info);
    color: var(--accent-fg);
}
.ds-btn--primary:hover { filter: brightness(1.12); }

/* Success — зелёный посветлее, залитый. */
.ds-btn--success,
.ds-btn--success:hover {
    background: var(--ds-success);
    border-color: var(--ds-success);
    color: var(--accent-fg);
}
.ds-btn--success:hover { filter: brightness(1.12); }

/* Danger — красный, залитый, белый текст. */
.ds-btn--danger,
.ds-btn--danger:hover {
    background: var(--ds-error);
    border-color: var(--ds-error);
    color: #fff;
}
.ds-btn--danger:hover { filter: brightness(1.12); }

/* Action-кнопки в таблицах (edit/delete/разрыв связи) — ядро держит их
   полупрозрачными (opacity 0.4) пока строка не в hover. Делаем всегда в полный
   цвет: на тёмной теме приглушённые кнопки почти не видны. */
.admin-table__actions .ds-btn,
.admin-table__actions a.ds-btn {
    opacity: 0.8;
}

/* Ghost — вторичная (отмена/копировать). Зелёный оттенок (как весь сайт):
   зелёная рамка + основной текст; на hover — лёгкая зелёная заливка. */
.ds-btn--ghost {
    border-color: color-mix(in srgb, var(--ds-info) 55%, var(--line));
    color: var(--ds-info);
}
.ds-btn--ghost:hover {
    border-color: var(--ds-info);
    color: var(--ds-info);
    background: color-mix(in srgb, var(--ds-info) 10%, transparent);
    filter: none;
}

/* Активная (нажатая) ghost-кнопка тоггла колонок — залитый зелёный, как primary,
   чтобы было видно что группа раскрыта. */
.ds-btn--ghost.is-on {
    background: var(--ds-info);
    border-color: var(--ds-info);
    color: var(--accent-fg);
}

/* bool-toggle (Флаг) кликабелен — даём hover как у ghost-кнопок (ядровый
   hover слишком слабый: только цвет рамки). + cursor pointer для явности. */
.ds-bool-toggle { cursor: pointer; }
.ds-bool-toggle:hover .ds-bool-toggle__square {
    border-color: var(--ds-info);
    color: var(--ds-info);
    background: color-mix(in srgb, var(--ds-info) 12%, transparent);
}

/* icon-only ядро делает 38px (--ds-control-height); обычные ds-btn — 34px
   (padding 10+10 + 12 line + 2 border). Выравниваем: border-box + 34px, иначе
   при content-box высота = 34 + 2 border = 36 и кнопка выше остальных. */
.ds-btn--icon-only {
    box-sizing: border-box;
    width: 34px;
    height: 34px;
}
