/* -----------------------------------------------------------------------------
   SynQore: unified button rendering & action layout (EasyAdmin 4.29 / CIOSIX stage-74)

   Single source of truth for:
   - button typography/sizing normalization
   - the list (index) action split layout (secondary / datagrid-filters / main)
   - the batch actions toolbar
   - the form-header action split layout
   Loaded globally so the layout is identical on every page.
----------------------------------------------------------------------------- */

/* ---------- Typography / sizing normalization ------------------------------ */

/*
 * EasyAdmin 4.29 uses `font-weight: var(--button-font-weight, 500)` -> 500 ("bold").
 * Revert to the pre-update Bootstrap default (400) for a consistent, regular weight.
 */
:root {
    --button-font-weight: 400;
}

/*
 * CIOSIX core.scss overrides `--button-padding-y-sm` with a stale shorthand
 * (`3px 7px`) that conflicts with EA 4.29's padding/height model. Restore the
 * EasyAdmin default so `.btn-sm` buttons share the same sizing rhythm as `.btn`.
 * `!important` is required because core.css is loaded after this stylesheet.
 */
:root {
    --button-padding-y-sm: 2px !important;
    --button-padding-x-sm: 8px;
}

/* EasyAdmin 4.29 uses `space-between`; this moves labels to the right in full-width buttons. */
.ea .btn {
    justify-content: center;
}

/* Small raw buttons without EA's .btn-label wrapper must keep usable inner spacing. */
.ea .btn.btn-sm {
    padding: var(--button-padding-y-sm) var(--button-padding-x-sm);
}

.ea button[data-copy-address-button].btn-sm,
.ea button[data-paste-address-button].btn-sm {
    min-inline-size: 2rem;
    min-block-size: 2rem;
    padding-inline: .55rem;
}

.offer-order-transaction-edit #areaPositions [data-testid="bulk-delete-positions-button"]:not(:disabled) {
    cursor: pointer;
}

/* Tom Select already draws its own arrow; Bootstrap's .form-select arrow on the wrapper duplicates it. */
.ea .ts-wrapper.form-select {
    background-image: none !important;
}

/* Keep input-group addons and action buttons visually aligned with EasyAdmin's 30px form controls. */
.ea .input-group > .input-group-text,
.ea .input-group > .btn,
.ea .input-group > .btn:hover,
.ea .input-group > .btn:focus,
.ea .input-group > .btn:active {
    align-items: center;
    align-self: stretch !important;
    block-size: auto !important;
    box-sizing: border-box;
    display: inline-flex;
    justify-content: center;
    min-block-size: 0 !important;
    max-block-size: none !important;
}

.ea .input-group > .input-group-text {
    block-size: auto !important;
    font-size: 0.875rem;
    line-height: 1.5;
    padding-block: 3px 4px;
}

.ea .input-group > .btn,
.ea .input-group > .btn:hover,
.ea .input-group > .btn:focus,
.ea .input-group > .btn:active {
    flex: 0 0 auto;
    inline-size: auto !important;
    line-height: 1;
    margin-block: 0 !important;
    min-inline-size: 2.5rem;
    padding-block: 0 !important;
    padding-inline: .75rem !important;
}

.ea .input-group > .btn:not(:first-child),
.ea .input-group > .btn:not(:first-child):hover,
.ea .input-group > .btn:not(:first-child):focus,
.ea .input-group > .btn:not(:first-child):active {
    margin-inline-start: -1px !important;
}

/* ---------- List (index) action split layout ------------------------------- */

.ea .content-header .page-actions .global-actions.global-actions-split {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    column-gap: .75rem;
    row-gap: .5rem;
}

/* EasyAdmin Core adds margin-right to `.content-header .datagrid-filters`; not needed with our flex layout */
.ea .content-header .page-actions .global-actions.global-actions-split .datagrid-filters {
    margin-right: 0 !important;
}

/* EasyAdmin toggles visibility with Bootstrap `d-none` / `d-block`; keep flex when visible */
.ea .content-header .page-actions .global-actions.global-actions-split.d-block {
    display: flex !important;
}

.ea .content-header .page-actions .global-actions.global-actions-split .global-actions-secondary,
.ea .content-header .page-actions .global-actions.global-actions-split .global-actions-main {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
}

/* Avoid double spacing (EasyAdmin uses margin-left between adjacent buttons) */
.ea .content-header .page-actions .global-actions.global-actions-split .btn + .btn {
    margin-left: 0 !important;
}

/* ---------- Batch actions toolbar ------------------------------------------ */

.ea .content-header .page-actions .batch-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    column-gap: .75rem;
    row-gap: .5rem;
}

.ea .content-header .page-actions .batch-actions.d-block {
    display: flex !important;
}

.ea .content-header .page-actions .batch-actions .batch-actions-secondary,
.ea .content-header .page-actions .batch-actions .batch-actions-main {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
}

.ea .content-header .page-actions .batch-actions .btn + .btn {
    margin-left: 0 !important;
}

/* Some batch actions render as <form> wrappers; keep them inline */
.ea .content-header .page-actions .batch-actions form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

/* ---------- Form header action split layout -------------------------------- */

.ea .content-header .page-actions .global-actions.global-actions-split.global-actions-split--form-header {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    width: 100%;
    column-gap: .75rem;
    row-gap: .5rem;
}

.ea .content-header .page-actions .global-actions-split--form-header .global-actions-anchor-navigation {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .25rem .5rem;
    width: 100%;
    padding-bottom: .25rem;
    border-bottom: 1px solid var(--border-color);
}

.ea .content-header .page-actions .global-actions-split--form-header .global-actions-anchor-navigation .action-anchor-link {
    display: inline-flex;
    align-items: center;
    gap: .25rem;
    margin: 0;
    padding: .125rem .5rem;
    color: var(--text-color);
    text-decoration: none;
    border-radius: 999px;
    background-color: rgb(255, 255, 255);
}

.ea .content-header .page-actions .global-actions-split--form-header .global-actions-anchor-navigation .action-anchor-link-badge {
    font-size: .7rem;
}

.ea .content-header .page-actions .global-actions-split--form-header .global-actions-anchor-navigation .action-anchor-link:hover,
.ea .content-header .page-actions .global-actions-split--form-header .global-actions-anchor-navigation .action-anchor-link:focus {
    background-color: rgba(255, 255, 255, .9);
    text-decoration: none;
}

.ea .content-header .page-actions .global-actions-split--form-header .global-actions-secondary,
.ea .content-header .page-actions .global-actions-split--form-header .global-actions-main {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: wrap;
    gap: .5rem;
}

/* Avoid double spacing (EasyAdmin uses margin-left between adjacent buttons) */
.ea .content-header .page-actions .global-actions-split--form-header .btn + .btn {
    margin-left: 0 !important;
}

@media (max-width: 991.98px) {
    .ea .content-header .page-actions .global-actions-split--form-header .global-actions-main,
    .ea .content-header .page-actions .global-actions-split--form-header .global-actions-secondary,
    .ea .content-header .page-actions .global-actions-split--form-header .global-actions-anchor-navigation {
        justify-content: flex-start;
    }
}
