/* =====================================================
   Стили таблицы остатков на сайте (шорткод [elecond_stock]).
   Адаптировано из боевых стилей сайта elecond.ru.
   Ширина таблицы — ВСЕГДА 100% родительского блока.
   Максимальная высота задаётся inline из настроек плагина.
   Фильтры находятся ВНУТРИ ячеек шапки (под названием колонки).

   АДАПТИВНОСТЬ: все размеры (шрифты, отступы, ширины/высоты) —
   fluid-значения через clamp(): линейная интерполяция между
   48rem (768px) и 120rem (1920px). Ниже 768px — минимум, выше 1920px — максимум.
   Формула: clamp(MIN, calc(MIN + (MAX - MIN) * ((100vw - 48rem) / 72)), MAX)
   Толщины рамок и скругления — в px (не масштабируются).
   Печать — в pt и mm (отдельный блок внизу).
   ===================================================== */

/* ===== ОБЁТКА И КОНТЕЙНЕР ПРОКРУТКИ ===== */

.eep-stock-wrapper {
    /* --- Fluid-переменные размеров (rem: 1rem = 16px) --- */

    /* Шрифты */
    --eep-fs-title:   clamp(1.25rem,   calc(1.25rem   + 1.39    * ((100vw - 48rem) / 72)), 2.64rem);  /* H1: 20→42px (2.2vw на 1920px) */
    --eep-fs-head:    clamp(0.75rem,   calc(0.75rem   + 0.3125  * ((100vw - 48rem) / 72)), 1.0625rem); /* шапка: 12→17px */
    --eep-fs-body:    clamp(0.6875rem, calc(0.6875rem + 0.25    * ((100vw - 48rem) / 72)), 0.9375rem); /* тело: 11→15px */
    --eep-fs-select:  clamp(0.6875rem, calc(0.6875rem + 0.1875  * ((100vw - 48rem) / 72)), 0.875rem);  /* фильтр: 11→14px */
    --eep-fs-ui:      clamp(0.875rem,  calc(0.875rem  + 0.125   * ((100vw - 48rem) / 72)), 1rem);      /* поиск/сообщение: 14→16px */
    --eep-fs-counter: clamp(1rem,      calc(1rem      + 0.125   * ((100vw - 48rem) / 72)), 1.125rem);  /* счётчик: 16→18px */
    --eep-fs-btn:     clamp(0.75rem,   calc(0.75rem   + 0.125   * ((100vw - 48rem) / 72)), 0.875rem);  /* кнопка сброса: 12→14px */

    /* Отступы ячеек */
    --eep-pad-head-v:  clamp(0.375rem, calc(0.375rem + 0.175  * ((100vw - 48rem) / 72)), 0.55rem); /* шапка верт. */
    --eep-pad-head-h:  clamp(0.2rem,   calc(0.2rem   + 0.12   * ((100vw - 48rem) / 72)), 0.32rem); /* шапка гориз. */
    --eep-pad-body-v:  clamp(0.55rem,  calc(0.55rem  + 0.2    * ((100vw - 48rem) / 72)), 0.75rem); /* тело верт. */
    --eep-pad-body-h:  clamp(0.2rem,   calc(0.2rem   + 0.1    * ((100vw - 48rem) / 72)), 0.3rem);  /* тело гориз. */
    --eep-pad-first-h: clamp(0.6rem,   calc(0.6rem   + 0.4    * ((100vw - 48rem) / 72)), 1rem);    /* 1-я колонка гориз. */

    /* Отступы элементов управления */
    --eep-pad-select-v: clamp(0.3rem,   calc(0.3rem   + 0.15   * ((100vw - 48rem) / 72)), 0.45rem); /* селект верт. */
    --eep-pad-select-h: clamp(0.2rem,   calc(0.2rem   + 0.1    * ((100vw - 48rem) / 72)), 0.3rem);  /* селект гориз. */
    --eep-pad-search-v: clamp(0.6rem,   calc(0.6rem   + 0.2    * ((100vw - 48rem) / 72)), 0.8rem);  /* поиск верт. */
    --eep-pad-search-h: clamp(0.75rem,  calc(0.75rem  + 0.25   * ((100vw - 48rem) / 72)), 1rem);    /* поиск гориз. */
    --eep-pad-btn-v:    clamp(0.7rem,   calc(0.7rem   + 0.2    * ((100vw - 48rem) / 72)), 0.9rem);  /* кнопка верт. */
    --eep-pad-btn-h:    clamp(1.2rem,   calc(1.2rem   + 0.4    * ((100vw - 48rem) / 72)), 1.6rem);  /* кнопка гориз. */
    --eep-pad-nores-v:  clamp(0.9rem,   calc(0.9rem   + 0.3    * ((100vw - 48rem) / 72)), 1.2rem);  /* сообщение верт. */
    --eep-pad-nores-h:  clamp(0.75rem,  calc(0.75rem  + 0.25   * ((100vw - 48rem) / 72)), 1rem);    /* сообщение гориз. */

    /* Прочие размеры */
    --eep-gap-panel:     clamp(0.625rem, calc(0.625rem + 0.3125 * ((100vw - 48rem) / 72)), 0.9375rem); /* зазоры панели: 10→15px */
    --eep-margin-wrap-v: clamp(1.25rem,  calc(1.25rem  + 1.25   * ((100vw - 48rem) / 72)), 2.5rem);    /* отступ обёртки: 20→40px */
    --eep-search-max-w:  clamp(16rem,    calc(16rem    + 14     * ((100vw - 48rem) / 72)), 30rem);      /* макс. ширина поиска: 256→480px */
    --eep-nores-mt:      clamp(0.5rem,   calc(0.5rem   + 0.125  * ((100vw - 48rem) / 72)), 0.625rem);  /* отступ сообщения сверху: 8→10px */

    /* Ширина ВСЕГДА 100% родительского блока (колонки страницы) */
    width: 100%;
    margin: var(--eep-margin-wrap-v) auto;
    font-family: "pt_sans", Sans-serif;
}

/* ===== ЗАГОЛОВОК ТАБЛИЦЫ (H1) =====
   Текст берётся из строки 1 Excel-файла (с подставленной датой) */

.eep-stock-title {
    font-family: "pt_sans", Sans-serif;
    font-size: var(--eep-fs-title);
    font-weight: bold;
    text-transform: uppercase;
    line-height: 1.3em;
    color: var(--e-global-color-text, #333333);
    margin: 0 0 var(--eep-gap-panel);
}

/* Контейнер прокрутки: overflow обязателен для работы sticky-шапки.
   max-height приходит inline из настроек (по умолчанию 85vh) —
   вертикальный скролл появится только если таблица выше */
.eep-stock-table-scroll {
    min-width: 100%;
    position: relative;
    overflow: auto;
    border: 1px solid #c4c4c4; /* px: рамка не масштабируется */
    background: #fff;
}

/* ===== ПАНЕЛЬ: ПОИСК, СЧЁТЧИК, СБРОС ===== */

.eep-stock-panel {
    display: flex;
    gap: var(--eep-gap-panel);
    align-items: center;
    flex-wrap: wrap;
    margin-bottom: var(--eep-gap-panel);
}

.eep-stock-search {
    flex: 1 1 16rem;
    max-width: var(--eep-search-max-w);
    padding: var(--eep-pad-search-v) var(--eep-pad-search-h);
    border: 1px solid #c4c4c4;
    border-radius: 4px;
    font-size: var(--eep-fs-ui);
    font-family: "pt_sans", Sans-serif;
    background: #fff;
    color: #333;
}

.eep-stock-search:focus {
    outline: none;
    border-color: var(--e-global-color-secondary, #16336e);
    box-shadow: 0 0 0 2px rgba(22, 51, 110, 0.15);
}

.eep-stock-counter {
    font-weight: bold;
    font-size: var(--eep-fs-counter);
    color: #333;
    margin-left: auto;
}

.eep-stock-count {
    color: var(--e-global-color-primary, #16336e);
}

.eep-stock-reset {
    background: var(--e-global-color-secondary, #16336e);
    color: #ffffff;
    border: none;
    border-radius: 3px;
    padding: var(--eep-pad-btn-v) var(--eep-pad-btn-h);
    font-family: "pt_sans", Sans-serif;
    font-weight: bold;
    font-size: var(--eep-fs-btn);
    text-transform: uppercase;
    letter-spacing: 0.02em;
    cursor: pointer;
}

.eep-stock-reset:hover {
    opacity: 0.9;
}

/* ===== БАЗА ТАБЛИЦЫ ===== */

.eep-stock-table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin-bottom: 0 !important;
    background: #fff;
}

/* ===== ШАПКА ===== */

.eep-stock-table thead {
    background-color: var(--e-global-color-secondary, #16336e);
    border: none;
}

/* Закрепляем шапку при прокрутке внутри контейнера */
.eep-stock-table-scroll .eep-stock-table thead {
    position: sticky;
    top: 0;
    z-index: 100;
    background-color: var(--e-global-color-secondary, #16336e); /* фон обязателен */
    display: table-header-group;
}

.eep-stock-table thead th {
    color: var(--e-global-color-5330dee, #ffffff);
    font-family: "pt_sans", Sans-serif;
    font-size: var(--eep-fs-head);
    line-height: 1.3;
    font-weight: bold;
    text-transform: none;
    background-color: var(--e-global-color-secondary, #16336e);
    padding: var(--eep-pad-head-v) var(--eep-pad-head-h);
    /* правая и нижняя рамки: внешние даёт контейнер, без удвоения линий */
    border-right: 1px solid #c4c4c4;
    border-bottom: 1px solid #c4c4c4;
    vertical-align: middle;
    text-align: center;
}

.eep-stock-table thead th:last-child {
    border-right: none;
}

/* Заголовок первой колонки (наименование) — по левому краю,
   с теми же отступами, что и у ячеек тела первой колонки */
.eep-stock-table thead th:first-child {
    text-align: left;
    padding-left: var(--eep-pad-first-h);
    padding-right: var(--eep-pad-first-h);
}

/* ===== СЕЛЕКТ ФИЛЬТРА ВНУТРИ ЯЧЕЙКИ ШАПКИ ===== */

/* Селект стоит блоком ПОД названием колонки в той же ячейке th */
.eep-stock-table thead th .eep-stock-filter-select {
    display: block;
    width: 95%;
    margin: 0.5em auto 0;
    padding: var(--eep-pad-select-v) var(--eep-pad-select-h);
    border: 1px solid #c4c4c4;
    border-radius: 3px;
    background: #fff;
    color: #333;
    font-family: "pt_sans", Sans-serif;
    font-size: var(--eep-fs-select);
    font-weight: normal;
    line-height: 1.2;
    height: auto;
    cursor: pointer;
}

/* В первой колонке (выравнивание слева) селект тоже прижат к левому краю */
.eep-stock-table thead th:first-child .eep-stock-filter-select {
    margin-left: 0;
    margin-right: auto;
}

/* Значения в выпадающем списке — тем же шрифтом */
.eep-stock-filter-select option {
    font-size: var(--eep-fs-select);
    font-weight: normal;
}

/* ===== СООБЩЕНИЕ "НИЧЕГО НЕ НАЙДЕНО" ===== */

.eep-stock-noresults {
    margin-top: var(--eep-nores-mt);
    padding: var(--eep-pad-nores-v) var(--eep-pad-nores-h);
    border: 1px solid #c4c4c4;
    border-radius: 4px;
    background: #f8f9fb;
    color: #555;
    font-size: var(--eep-fs-ui);
    text-align: center;
}

/* ===== ТЕЛО ТАБЛИЦЫ ===== */

.eep-stock-table tbody td {
    font-family: "pt_sans", Sans-serif;
    font-size: var(--eep-fs-body);
    line-height: 1.3;
    text-transform: none;
    color: var(--e-global-color-text, #333333);
    box-sizing: border-box;
    padding: var(--eep-pad-body-v) var(--eep-pad-body-h);
    border-right: 1px solid #c4c4c4;
    border-bottom: 1px solid #c4c4c4;
    vertical-align: middle;
    text-align: center;
    background: #fff;
}

.eep-stock-table tbody td:last-child {
    border-right: none;
}

.eep-stock-table tbody tr:last-child td {
    border-bottom: none;
}

/* Первая колонка (наименование) — по левому краю */
.eep-stock-table tbody td:first-child {
    text-align: left;
    padding-left: var(--eep-pad-first-h);
    padding-right: var(--eep-pad-first-h);
}

/* Сообщение "нет данных" */
.eep-stock-table td[colspan] {
    text-align: center !important;
    padding: 1.5em !important;
    color: #888;
}

/* Сообщения об ошибках вне таблицы */
.eep-stock-message {
    padding: 15px;
    border-radius: 4px;
    margin: 20px 0;
}

.eep-stock-error {
    background: #fff0f0;
    border: 1px solid #f5c6cb;
    color: #721c24;
}

/* ===== АДАПТИВНОСТЬ — МОБИЛЬНЫЕ (max-width: 767px) =====
   ТОЛЬКО переключение раскладки панели. Все размеры (шрифты,
   отступы) уже адаптивные через clamp() и здесь не дублируются */

@media (max-width: 767px) {
    /* Поиск занимает всю строку панели */
    .eep-stock-search {
        flex: 1 1 100%;
        max-width: 100%;
    }

    /* Счётчик без прижима вправо */
    .eep-stock-counter {
        margin-left: 0;
    }
}

/* ===== СТИЛИ ДЛЯ ПЕЧАТИ =====
   Размеры в pt, страница в mm — без изменений */

@media print {
    /* Точная передача цветов и фона на печать */
    .eep-stock-wrapper,
    .eep-stock-table-scroll,
    .eep-stock-table,
    .eep-stock-table th,
    .eep-stock-table td {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }

    /* Страница: A4 книжная, поля 10 мм */
    @page {
        size: A4 portrait;
        margin: 10mm;
    }

    /* Панель поиска, селекты фильтров и сообщение на бумаге не нужны */
    .eep-stock-panel,
    .eep-stock-filter-select,
    .eep-stock-noresults {
        display: none !important;
    }

    /* Таблица на всю ширину листа, без ограничений прокрутки */
    .eep-stock-wrapper {
        width: 100% !important;
        margin: 0 !important;
    }

    .eep-stock-table-scroll {
        max-height: none !important;
        overflow: visible !important;
        border: none !important;
    }

    /* На печати рамки со склейкой (collapse), шапка повторяется на каждой странице */
    .eep-stock-table {
        border-collapse: collapse !important;
        width: 100% !important;
    }

    .eep-stock-table thead {
        position: static !important;
        display: table-header-group !important; /* шапка на каждой странице */
    }

    .eep-stock-table th,
    .eep-stock-table td {
        border: 1px solid #c4c4c4 !important;
        line-height: 1.2;
        padding: 0.4em 0.3em;
    }

    /* В печати фиксированные размеры в pt */
    .eep-stock-title {
        font-size: 14pt;
    }

    .eep-stock-table thead th {
        font-size: 9pt;
    }

    .eep-stock-table tbody td {
        font-size: 8pt;
    }

    /* Первая колонка (наименование) — по левому краю и в шапке, и в теле */
    .eep-stock-table thead th:first-child,
    .eep-stock-table tbody td:first-child {
        text-align: left;
        padding-left: 0.8em;
        padding-right: 0.8em;
    }

    /* Строки не разрывать между страницами */
    .eep-stock-table tr {
        page-break-inside: avoid;
        break-inside: avoid;
    }
}

/* КОНЕЦ ФАЙЛА */