/* Page title + action buttons (index / show / edit). */
.page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem 1rem;
  margin-bottom: 1.5rem;
}

.page-header h1,
.page-header h2 {
  margin-bottom: 0;
}

.page-header-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-left: auto;
}

.form-page-actions > input[type="hidden"] {
  display: none;
}

.form-page-actions .btn {
  white-space: normal;
}

.card-header .d-flex.align-items-center:has(> .btn),
.card-header .d-flex.align-items-center:has(> .dropdown),
.card-header .d-flex.align-items-center:has(> form) {
  gap: 0.5rem;
}

.card-header .d-flex.align-items-center:has(> .btn) > .btn,
.card-header .d-flex.align-items-center:has(> .btn) > form,
.card-header .d-flex.align-items-center:has(> .btn) > .dropdown {
  margin-left: 0;
  margin-right: 0;
}

@media (max-width: 767.98px) {
  .page-header {
    flex-direction: column;
    align-items: stretch;
    flex-wrap: nowrap;
  }

  .page-header h1,
  .page-header h2,
  .page-header h3 {
    width: 100%;
    text-align: center;
    margin-bottom: 0;
  }

  .page-header-actions {
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: stretch;
    width: 100%;
    margin-left: 0;
    gap: 0.5rem;
  }

  .page-header-actions > .btn,
  .page-header-actions > form,
  .page-header-actions > .btn-group,
  .page-header-actions > .input-group {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  .page-header-actions > form.button_to {
    display: flex;
  }

  .page-header-actions > form.button_to .btn,
  .page-header-actions > .btn-group .btn {
    width: 100%;
  }

  .form-page-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 0.5rem;
  }

  .form-page-actions > .d-flex,
  .form-page-actions > .d-grid {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100%;
    gap: 0.5rem;
  }

  .form-page-actions .btn,
  .form-page-actions > form,
  .form-page-actions > form .btn,
  .card-footer .btn,
  .card-body > form > .btn,
  .card-body form:not(.d-inline):not(.product-select-form):not(.task-status-form) > .btn:not(.btn-sm) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    white-space: normal;
  }

  .card-footer .d-flex {
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    gap: 0.5rem;
  }

  .card-header.d-flex.justify-content-between.align-items-center,
  .card-header > .d-flex.justify-content-between.align-items-center,
  .card-header .d-flex.justify-content-between.align-items-center {
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 0.5rem;
  }

  .card-header .d-flex.align-items-center:has(> .btn),
  .card-header .d-flex.align-items-center:has(> .dropdown),
  .card-header .d-flex.align-items-center:has(> form) {
    display: grid !important;
    grid-template-columns: 1fr;
    width: 100% !important;
    max-width: 100% !important;
    gap: 0.5rem;
    margin: 0 !important;
  }

  .card-header .dropdown,
  .card-header form,
  .card-header .btn {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .card-header form.d-flex {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  .card-header form .form-select,
  .card-header form .btn {
    width: 100% !important;
  }

  .card-header .btn {
    display: flex !important;
    justify-content: center;
    align-items: center;
    white-space: normal;
    text-align: center;
  }

  .card-header .badge {
    width: auto !important;
    align-self: center;
  }
}
