/* App-specific overrides on top of the Metronic theme */

:root {
    --sb-accent: #f59e0b; /* solar amber */
}

/* Internal price hints (admin only) */
.sb-internal {
    color: #b45309;
    font-size: 0.75rem;
}

/* Admin toggle: hide internal values (margin/profit) without breaking layout */
.sb-hide .sb-internal {
    visibility: hidden;
}

/* KnpPaginator default markup → tlačítka */
.sb-pagination .pagination {
    display: flex;
    align-items: center;
    gap: 4px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.sb-pagination .pagination li > a,
.sb-pagination .pagination li > span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    border-radius: 8px;
    font-size: 0.8125rem;
    color: var(--color-secondary-foreground, #4b5563);
    border: 1px solid var(--color-border, #e5e7eb);
    text-decoration: none;
}
.sb-pagination .pagination li > a:hover {
    background: var(--color-muted, #f3f4f6);
}
.sb-pagination .pagination li.current > span {
    background: var(--color-primary, #1b84ff);
    color: #fff;
    border-color: var(--color-primary, #1b84ff);
}
.sb-pagination .pagination li.disabled > span {
    opacity: 0.4;
}

/* Reorder handles in offer items – hidden until reorder mode is toggled on.
   Scoped to the offer-items table only, so always-on sortables (parametry, autořazení) keep their grips. */
[data-controller~="offer-items"] [data-drag-handle] {
    overflow: hidden;
    cursor: default;
}
[data-controller~="offer-items"] [data-drag-handle] > i {
    display: none;
}
[data-controller~="offer-items"].reorder-active [data-drag-handle] {
    cursor: grab;
}
[data-controller~="offer-items"].reorder-active [data-drag-handle] > i {
    display: inline;
}

/* Select2 → sjednotit velikost s Metronic inputy (jinak je box i text obří) */
.select2-container {
    font-size: 0.8125rem;
    width: 100% !important;
}
.select2-container--default .select2-selection--single {
    height: 2.375rem;
    display: flex;
    align-items: center;
    border: 1px solid var(--color-border, #e5e7eb);
    border-radius: 0.5rem;
    background: var(--color-input, #fff);
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
    line-height: 1.25;
    padding: 0 0.75rem;
    color: var(--color-mono, #111827);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder {
    color: var(--color-secondary-foreground, #6b7280);
}
.select2-container--default .select2-selection--single .select2-selection__arrow {
    height: 100%;
    right: 4px;
}
.select2-container--default.select2-container--focus .select2-selection--single,
.select2-container--default.select2-container--open .select2-selection--single {
    border-color: var(--color-primary, #1b84ff);
}
.select2-dropdown {
    border-color: var(--color-border, #e5e7eb);
    border-radius: 0.5rem;
    font-size: 0.8125rem;
    z-index: 100000;
}
.select2-container--default .select2-results__option {
    padding: 0.375rem 0.75rem;
}
.select2-container--default .select2-search--dropdown .select2-search__field {
    padding: 0.375rem 0.5rem;
    border-color: var(--color-border, #e5e7eb);
    border-radius: 0.375rem;
}

/* Quill editor – default .ql-container má height:100%, což v gridu bez pevné výšky
   rodiče zkolabuje a obsah přeteče přes pole pod editorem. Dáme mu vlastní omezenou
   výšku se scrollem a ohraničení, aby byl samostatně uzavřený. */
[data-controller="quill"] .ql-toolbar.ql-snow,
[data-controller="quill"] .ql-container.ql-snow {
    border-color: var(--border, #e5e7eb);
}
[data-controller="quill"] .ql-toolbar.ql-snow {
    border-top-left-radius: 0.5rem;
    border-top-right-radius: 0.5rem;
}
[data-controller="quill"] .ql-container.ql-snow {
    height: auto;
    border-bottom-left-radius: 0.5rem;
    border-bottom-right-radius: 0.5rem;
}
[data-controller="quill"] .ql-editor {
    min-height: 140px;
    max-height: 320px;
    overflow-y: auto;
}

/* Native <dialog> modal: center it (some base styles reset the margin).
   overflow:visible aby se select2 dropdown (renderovaný do dialogu kvůli top-layer)
   neořezával na hraně modalu. */
dialog {
    margin: auto;
    max-height: 90vh;
    overflow: visible;
}
dialog::backdrop {
    background: rgba(0, 0, 0, 0.45);
}
