/* File: assets/css/components/buttons.css */
/* Buttons (system). Light theme, brand: #0B3D91. */

:where(.btn,.dag-btn,button.btn,a.btn){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.55rem;
  min-height:44px;
  padding:12px 20px;
  border-radius:var(--dag-radius-pill);
  border:1px solid var(--dag-border-strong);
  background:var(--dag-surface);
  color:var(--dag-text);
  text-decoration:none;
  font-weight:700;
  letter-spacing:.01em;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  position:relative;
  overflow:hidden;
  transition:
    transform var(--dag-transition),
    box-shadow var(--dag-transition),
    background var(--dag-transition),
    border-color var(--dag-transition),
    color var(--dag-transition);
}

:where(.btn,.dag-btn):hover{
  background:var(--dag-surface-2);
  border-color:var(--dag-primary);
  color:var(--dag-primary);
  box-shadow:var(--dag-shadow-sm);
}
:where(.btn,.dag-btn):active{transform:translateY(1px)}
:where(.btn,.dag-btn):focus-visible{box-shadow:var(--dag-ring), var(--dag-shadow-sm); outline:none}

/* Primary — solid blue, белый текст */
.btn--primary,
.btn-primary,
.dag-btn--primary{
  border-color:transparent;
  background:var(--dag-primary);
  color:var(--dag-primary-contrast);
}
.btn--primary:hover,
.btn-primary:hover,
.dag-btn--primary:hover{
  background:var(--dag-primary-hover);
  color:var(--dag-primary-contrast);
  border-color:transparent;
}
.btn--primary:active,
.btn-primary:active,
.dag-btn--primary:active{background:var(--dag-primary-active)}

/* Secondary — night-blue solid */
.btn--secondary,
.dag-btn--secondary{
  border-color:transparent;
  background:var(--dag-secondary);
  color:var(--dag-secondary-contrast);
}
.btn--secondary:hover,
.dag-btn--secondary:hover{
  background:var(--dag-secondary-hover);
  color:var(--dag-secondary-contrast);
  border-color:transparent;
}

/* Accent — silver pill (для второстепенных CTA: View / Details) */
.btn--accent,
.dag-btn--accent{
  border-color:var(--dag-accent);
  background:var(--dag-accent);
  color:var(--dag-accent-contrast);
}
.btn--accent:hover,
.dag-btn--accent:hover{
  background:var(--dag-accent-hover);
  border-color:var(--dag-accent-hover);
  color:var(--dag-secondary);
}

/* Outline (alias к ghost) */
.btn--outline,
.btn--ghost,
.dag-btn--ghost{
  background:transparent;
  border-color:var(--dag-primary);
  color:var(--dag-primary);
  box-shadow:none;
}
.btn--outline:hover,
.btn--ghost:hover,
.dag-btn--ghost:hover{
  background:var(--dag-primary);
  color:var(--dag-primary-contrast);
  border-color:var(--dag-primary);
}

/* Sizes */
.btn--sm,.dag-btn--sm{min-height:38px;padding:9px 14px;font-size:14px}
.btn--lg,.dag-btn--lg{min-height:52px;padding:14px 26px;font-size:16px}
.btn--block,.dag-btn--block{width:100%}

/* Disabled */
:where(.btn,.dag-btn)[disabled],
:where(.btn,.dag-btn).disabled,
:where(.btn,.dag-btn)[aria-disabled="true"]{
  opacity:.5;
  cursor:not-allowed;
  transform:none;
  box-shadow:none;
}

/* Native input buttons */
:where(input[type='submit'],input[type='button'],input[type='reset']){
  appearance:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 20px;
  border-radius:var(--dag-radius-pill);
  border:1px solid transparent;
  background:var(--dag-primary);
  color:var(--dag-primary-contrast);
  font-weight:700;
  cursor:pointer;
  transition:transform var(--dag-transition), box-shadow var(--dag-transition), background var(--dag-transition);
}
:where(input[type='submit'],input[type='button'],input[type='reset']):hover{
  background:var(--dag-primary-hover);
  box-shadow:var(--dag-shadow-sm);
}
:where(input[type='submit'],input[type='button'],input[type='reset']):active{transform:translateY(1px)}
:where(input[type='submit'],input[type='button'],input[type='reset']):focus-visible{
  box-shadow:var(--dag-ring), var(--dag-shadow-sm); outline:none;
}
:where(input[type='reset']){
  background:var(--dag-surface);
  color:var(--dag-text);
  border-color:var(--dag-border-strong);
}
:where(input[type='reset']):hover{
  background:var(--dag-surface-2);
  color:var(--dag-primary);
  border-color:var(--dag-primary);
}

/* Gutenberg button */
:where(.wp-block-button__link){
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:12px 20px;
  border-radius:var(--dag-radius-pill);
  background:var(--dag-primary);
  color:var(--dag-primary-contrast);
  text-decoration:none;
  font-weight:700;
  border:1px solid transparent;
  transition:background var(--dag-transition), box-shadow var(--dag-transition);
}
:where(.wp-block-button__link:hover){background:var(--dag-primary-hover); box-shadow:var(--dag-shadow-sm)}

@media (prefers-reduced-motion: reduce){
  :where(.btn,.dag-btn,.wp-block-button__link,input[type='submit'],input[type='button'],input[type='reset']){
    transition:none !important;
  }
  :where(.btn,.dag-btn):active{transform:none !important}
}
