/* ======================================================================
   bigtim.ru — современная страница авторизации и cookie-плашка
   Подключается в head после style.css. Не зависит от других стилей.
   ====================================================================== */

/* ------------------------- СТРАНИЦА ВХОДА ------------------------------ */

/* Мягкий фон только на страницах с формой авторизации */
body:has(.bx-auth) {
    background: linear-gradient(135deg, #eef3fb 0%, #e4ecfa 45%, #dde8fb 100%);
}

/* Центрируем карточку по вертикали и горизонтали внутри main */
main:has(.bx-auth) {
    display: flex;
    flex-direction: column;          /* ошибка/сообщения стопкой над карточкой, а не слева */
    align-items: center;
    justify-content: center;
    padding: 40px 16px;
    gap: 16px;
}

/* Сообщение об ошибке авторизации («Неверный логин или пароль») — над карточкой, как алерт */
main:has(.bx-auth) > .errortext,
main:has(.bx-auth) > .bx-auth-messages,
main:has(.bx-auth) > div:not(.bx-auth):not(.intranet-body) {
    order: -1;
    max-width: 420px;
    width: 100%;
    box-sizing: border-box;
    margin: 0;
    text-align: center;
    color: #e23b3b !important;
    font-weight: 600;
    background: #fff5f5;
    border: 1px solid #ffd6d6;
    border-radius: 12px;
    padding: 12px 16px;
}

/* Карточка авторизации */
.bx-auth {
    width: 100%;
    max-width: 420px;
    margin: 40px auto;               /* запасное центрирование, если :has не поддержан */
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(16, 42, 90, .12), 0 2px 8px rgba(16, 42, 90, .06);
    padding: 40px 36px 32px;
    box-sizing: border-box;
    animation: bxAuthIn .5s cubic-bezier(.16, 1, .3, 1);
}

@keyframes bxAuthIn {
    from { opacity: 0; transform: translateY(14px); }
    to   { opacity: 1; transform: none; }
}

/* Иконка-замок над заголовком (SVG сверху, градиент снизу) */
.bx-auth::before {
    content: "";
    display: block;
    width: 62px;
    height: 62px;
    margin: 0 auto 20px;
    border-radius: 16px;
    background-color: #0d6efd;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z'/%3E%3C/svg%3E"),
        linear-gradient(135deg, #0d6efd, #3b8bff);
    background-repeat: no-repeat, no-repeat;
    background-position: center, center;
    background-size: 30px 30px, cover;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .35);
}

/* Заголовок «Пожалуйста, авторизуйтесь» */
.bx-auth-note {
    text-align: center;
    font-size: 20px;
    font-weight: 700;
    color: #1c2b46;
    margin: 0 0 26px;
}

/* Таблицу формы превращаем в вертикальный стек */
.bx-auth-table,
.bx-auth-table tbody,
.bx-auth-table tr,
.bx-auth-table td {
    display: block;
    width: 100%;
}

.bx-auth-table tr { margin-bottom: 16px; }
.bx-auth .bx-auth-table td { padding: 0; text-align: left; }
.bx-auth-table td:empty { display: none; }   /* убираем пустые ячейки-«лейблы» */

.bx-auth .bx-auth-table td.bx-auth-label,
.bx-auth .bx-auth-label {
    font-weight: 600;
    font-size: 13px;
    color: #5b6b85;
    margin-bottom: 7px;
    text-align: left;
}

/* Поля ввода */
.bx-auth input[type="text"],
.bx-auth input[type="password"],
.bx-auth-input {
    width: 100%;
    height: 46px;
    padding: 10px 14px;
    border: 1.5px solid #e2e8f2;
    border-radius: 12px;
    font-size: 15px;
    background: #f8fafc;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s, background .15s;
}

.bx-auth input[type="text"]:focus,
.bx-auth input[type="password"]:focus,
.bx-auth-input:focus {
    outline: none;
    border-color: #0d6efd;
    background: #ffffff;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, .12);
}

/* «Запомнить меня» */
.bx-auth #USER_REMEMBER {
    width: 16px;
    height: 16px;
    accent-color: #0d6efd;
    vertical-align: middle;
    margin: 0 4px 0 0;
}
.bx-auth label[for="USER_REMEMBER"] {
    font-size: 13px;
    color: #5b6b85;
    cursor: pointer;
}

/* Кнопка «Войти» */
.bx-auth input[type="submit"],
.bx-auth .authorize-submit-cell .btn,
.bx-auth .btn-primary {
    width: 100%;
    height: 48px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #0d6efd, #3b8bff);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 4px;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .3);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
.bx-auth input[type="submit"]:hover,
.bx-auth .btn-primary:hover {
    filter: brightness(1.05);
    box-shadow: 0 10px 26px rgba(13, 110, 253, .4);
}
.bx-auth input[type="submit"]:active,
.bx-auth .btn-primary:active { transform: translateY(1px); }

/* Ссылки «Забыли пароль» / «Зарегистрироваться» */
.bx-auth p {
    text-align: center;
    font-size: 14px;
    line-height: 1.55;
    color: #6b7890;
    margin: 16px 0 0;
}
.bx-auth a {
    color: #0d6efd;
    text-decoration: none;
    font-weight: 600;
}
.bx-auth a:hover { text-decoration: underline; }

/* Разделитель перед блоком регистрации */
.bx-auth noindex + noindex {
    display: block;
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid #eef0f4;
}

/* «Глазик» для полей пароля */
.pw-wrap { position: relative; display: block; width: 100%; }
.pw-wrap input { padding-right: 46px !important; }
.pw-toggle {
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    padding: 0;
    border: none;
    background: transparent;
    color: #8a97ab;
    border-radius: 9px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: color .15s, background .15s;
}
.pw-toggle:hover { color: #0d6efd; background: #eef3fb; }
.pw-toggle svg { width: 20px; height: 20px; display: block; }
.pw-toggle .icon-off { display: none; }
.pw-toggle.is-on .icon-on { display: none; }
.pw-toggle.is-on .icon-off { display: block; }


/* ---------------------- ФОРМА РЕГИСТРАЦИИ ----------------------------- */

/* Карточка регистрации чуть шире — полей больше */
.bx-auth:has(.bx-registration-table) { max-width: 480px; }

/* Таблицу регистрации тоже превращаем в вертикальный стек */
.bx-registration-table,
.bx-registration-table thead,
.bx-registration-table tbody,
.bx-registration-table tfoot,
.bx-registration-table tr,
.bx-registration-table td {
    display: block;
    width: 100%;
    border: none;
    background: none;
}

.bx-registration-table tr { margin-bottom: 14px; }
.bx-registration-table td { padding: 0; text-align: left; }
.bx-registration-table td:empty { display: none; }

/* Подписи полей (левая ячейка строки) */
.bx-registration-table td:first-child {
    font-weight: 600;
    font-size: 13px;
    color: #5b6b85;
    margin-bottom: 7px;
}

/* Поля ввода и капча */
.bx-registration-table input[type="text"],
.bx-registration-table input[type="password"] {
    width: 100%;
    height: 46px;
    padding: 10px 14px;
    border: 1.5px solid #e2e8f2;
    border-radius: 12px;
    font-size: 15px;
    background: #f8fafc;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.bx-registration-table input[type="text"]:focus,
.bx-registration-table input[type="password"]:focus {
    outline: none;
    border-color: #0d6efd;
    background: #fff;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, .12);
}

/* Заголовки-секции: «Регистрация», «Защита от автоматической регистрации» */
.bx-registration-table thead td,
.bx-registration-table tr > td[colspan="2"] {
    font-size: 16px;
    color: #1c2b46;
    text-align: center;
    margin-bottom: 8px;
}
.bx-registration-table thead td b { font-size: 20px; }

/* Капча */
.bx-registration-table img[alt="CAPTCHA"] {
    border-radius: 10px;
    border: 1px solid #e2e8f2;
}

/* Кнопка «Регистрация» */
.bx-registration-table tfoot input[type="submit"] {
    width: 100%;
    height: 48px;
    border: none;
    border-radius: 12px;
    background: linear-gradient(135deg, #0d6efd, #3b8bff);
    color: #fff;
    font-size: 16px;
    font-weight: 600;
    cursor: pointer;
    margin-top: 4px;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .3);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
.bx-registration-table tfoot input[type="submit"]:hover {
    filter: brightness(1.05);
    box-shadow: 0 10px 26px rgba(13, 110, 253, .4);
}
.bx-registration-table tfoot input[type="submit"]:active { transform: translateY(1px); }

/* Обязательное поле */
.bx-auth .starrequired { color: #e23b3b; margin-right: 3px; }

/* Согласие на обработку ПД (добавляется скриптом) */
.bx-auth .form-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    margin: 4px 0 16px;
    font-size: 13px;
    color: #5b6b85;
    text-align: left;
}
.bx-auth .form-check input { accent-color: #0d6efd; margin-top: 2px; }


/* ------------------------- COOKIE-ПЛАШКА ------------------------------ */

.cookie-banner {
    position: fixed;
    left: 50%;
    bottom: 24px;
    transform: translateX(-50%) translateY(160%);
    width: min(680px, calc(100% - 32px));
    background: #ffffff;
    border: 1px solid #eef0f4;
    border-radius: 16px;
    box-shadow: 0 16px 44px rgba(16, 42, 90, .18);
    padding: 18px 20px;
    display: flex;
    align-items: center;
    gap: 16px;
    z-index: 1050;
    visibility: hidden;
    opacity: 0;
    transition: transform .5s cubic-bezier(.16, 1, .3, 1), opacity .4s ease, visibility 0s linear .5s;
}

.cookie-banner.is-visible {
    visibility: visible;
    opacity: 1;
    transform: translateX(-50%) translateY(0);
    transition: transform .55s cubic-bezier(.16, 1, .3, 1), opacity .4s ease;
}

.cookie-banner__icon {
    font-size: 30px;
    line-height: 1;
    flex: 0 0 auto;
}
.cookie-banner__body { flex: 1 1 auto; }
.cookie-banner__title {
    font-weight: 700;
    font-size: 15px;
    color: #1c2b46;
    margin-bottom: 3px;
}
.cookie-banner__text {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    color: #5b6b85;
}
.cookie-banner__text a {
    color: #0d6efd;
    text-decoration: none;
    font-weight: 600;
}
.cookie-banner__text a:hover { text-decoration: underline; }

.cookie-banner__btn {
    flex: 0 0 auto;
    border: none;
    border-radius: 11px;
    padding: 11px 26px;
    font-size: 15px;
    font-weight: 600;
    color: #fff;
    cursor: pointer;
    background: linear-gradient(135deg, #0d6efd, #3b8bff);
    box-shadow: 0 8px 18px rgba(13, 110, 253, .3);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
.cookie-banner__btn:hover {
    filter: brightness(1.06);
    box-shadow: 0 10px 22px rgba(13, 110, 253, .4);
}
.cookie-banner__btn:active { transform: translateY(1px); }

@media (max-width: 560px) {
    .cookie-banner {
        flex-wrap: wrap;
        bottom: 12px;
        padding: 16px;
        gap: 12px;
    }
    .cookie-banner__icon { font-size: 26px; }
    .cookie-banner__btn { width: 100%; }
}


/* ----------------- ЮРИДИЧЕСКАЯ СТРАНИЦА (sopd.php) -------------------- */

body:has(.legal-doc) {
    background: linear-gradient(180deg, #f4f7fc 0%, #eaf0fa 100%);
}
main:has(.legal-doc) {
    padding: 40px 16px 56px;
}

.legal-doc {
    max-width: 880px;
    margin: 0 auto;
    background: #ffffff;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(16, 42, 90, .10), 0 2px 8px rgba(16, 42, 90, .05);
    padding: 48px 56px;
    box-sizing: border-box;
    animation: bxAuthIn .5s cubic-bezier(.16, 1, .3, 1);
}

/* Ссылка «Вернуться на сайт» */
.legal-back {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 14px;
    font-weight: 600;
    color: #0d6efd;
    text-decoration: none;
    margin-bottom: 22px;
    transition: gap .15s, color .15s;
}
.legal-back:hover { gap: 10px; color: #055ee4; }

/* Заголовки документа */
.legal-doc h1 {
    font-size: 28px;
    font-weight: 800;
    line-height: 1.25;
    color: #1c2b46;
    margin: 0 0 8px;
}
.legal-doc h3 {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .05em;
    text-transform: uppercase;
    color: #8a97ab;
    margin: 0 0 28px;
    padding-bottom: 26px;
    border-bottom: 1px solid #eef0f4;
}
.legal-doc h4 {
    font-size: 18px;
    font-weight: 700;
    color: #0d6efd;
    margin: 32px 0 14px;
    scroll-margin-top: 20px;
}

/* Параграфы */
.legal-doc p {
    font-size: 15px;
    line-height: 1.75;
    color: #3a4660;
    margin: 0 0 12px;
}
@media (max-width: 600px) {
    .legal-doc { padding: 28px 20px; border-radius: 14px; }
    .legal-doc h1 { font-size: 23px; }
    main:has(.legal-doc) { padding: 20px 12px 36px; }
}


/* ===================== ВЕРХНЯЯ ПАНЕЛЬ (header) ======================== */

header.sticky-top {
    background: rgba(255, 255, 255, .85);
    -webkit-backdrop-filter: saturate(180%) blur(12px);
    backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid #eef0f4 !important;
    box-shadow: 0 2px 16px rgba(16, 42, 90, .06);
    z-index: 1030;
    padding-top: .65rem !important;
    padding-bottom: .65rem !important;
}
header .container { max-width: min(1760px, 96vw); }

/* Раскладка: слева навигация, справа действия пользователя */
header .header-menu-wrapper {
    align-items: center;
    gap: 10px 14px;
    flex-wrap: wrap;
}
header .header-menu-wrapper .nav {
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
header .header-menu-wrapper .nav li { margin: 0 !important; }

/* Логотип */
header .header-brand-li { margin-right: 6px !important; }
header .header-brand {
    display: inline-flex;
    align-items: baseline;
    font-size: 22px;
    font-weight: 800;
    letter-spacing: -.02em;
    color: #0d6efd;
    text-decoration: none;
    line-height: 1;
    padding: 2px 8px 2px 0;
}
header .header-brand span { color: #1c2b46; font-weight: 700; }
header .header-brand:hover { filter: brightness(1.05); }

/* Текстовые ссылки: Каталог / Контакты / Заказы / Личный кабинет */
header .nav-link {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 8px 12px !important;
    border-radius: 10px;
    color: #3a4660 !important;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.2;
    transition: background .15s, color .15s;
}
header .nav-link:hover { background: #eef3fb; color: #0d6efd !important; }
header .nav-link .bi { font-size: 16px; opacity: .85; }

/* Кнопки управления (btn-light и div.btn) — единые «пилюли» */
header .btn-light,
header .header-buttons .btn {
    background: #f3f6fb !important;
    border: 1px solid #e6ebf3 !important;
    color: #34425e !important;
    border-radius: 10px !important;
    font-weight: 600;
    font-size: 13.5px;
    line-height: 1.2;
    padding: 8px 14px !important;
    box-shadow: none !important;
    transition: background .15s, border-color .15s, color .15s, transform .12s;
}
header .btn-light:hover,
header .header-buttons .btn:hover {
    background: #0d6efd !important;
    border-color: #0d6efd !important;
    color: #fff !important;
    transform: translateY(-1px);
}

/* Правый блок действий */
header .header-buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 10px;
}
header .header-buttons .login { display: flex; align-items: center; gap: 6px; }

/* Вертикальные разделители между группами */
header .nav-sep {
    flex: 0 0 auto;
    align-self: center;
    width: 1px;
    height: 24px;
    background: #e2e8f2;
    margin: 0 2px;
    padding: 0 !important;
    display: inline-block;
}
/* Прячем «висящий» разделитель, если за ним нет элементов */
header .nav li.nav-sep:last-child { display: none; }

/* Корзина + Избранное — единый сегмент, визуально отделён */
header .cart {
    display: inline-flex;
    align-items: center;
    gap: 2px;
    background: #f3f6fb;
    border: 1px solid #e6ebf3;
    border-radius: 12px;
    padding: 3px;
}
header .cart .change,
header .cart .dropdown { display: inline-flex; align-items: center; }
header .cart a,
header .cart .nav-link {
    white-space: nowrap;
    padding: 6px 12px !important;
    border-radius: 9px;
    color: #34425e !important;
    font-weight: 600;
    font-size: 13.5px;
    background: transparent;
}
header .cart .nav-link:hover { background: #fff; color: #0d6efd !important; }
header .cart .bi-star-fill { color: #ffc107 !important; }
header .cart .bi { font-size: 15px; }

/* Кнопка «Выход» — мягкий красный акцент */
header .header-buttons > button {
    border: 1px solid #ffd6d6 !important;
    background: #fff5f5 !important;
    color: #e23b3b !important;
    border-radius: 10px !important;
    font-weight: 600;
    font-size: 13.5px;
    line-height: 1.2;
    padding: 8px 14px !important;
    transition: background .15s, border-color .15s, color .15s;
}
header .header-buttons > button:hover {
    background: #e23b3b !important;
    border-color: #e23b3b !important;
    color: #fff !important;
}

/* Мобильная адаптация */
@media (max-width: 991px) {
    header .header-menu-wrapper { gap: 8px 10px; }
    header .header-brand { font-size: 20px; }
    header .nav-link,
    header .btn-light,
    header .header-buttons .btn,
    header .header-mgmt-toggle,
    header .header-buttons > button { font-size: 13px; padding: 7px 11px !important; }
}

/* --- Меню «Управление» (сворачивает админ-кнопки) --- */
header .header-mgmt { position: relative; list-style: none; }
header .header-mgmt-toggle {
    display: inline-flex; align-items: center; gap: 7px;
    padding: 8px 14px !important;
    border-radius: 10px;
    background: #eef3fb;
    border: 1px solid #dce7f8;
    color: #0d6efd !important;
    font-weight: 600; font-size: 14px; line-height: 1.2;
    text-decoration: none; cursor: pointer; white-space: nowrap;
    transition: background .15s, border-color .15s;
}
header .header-mgmt-toggle:hover,
header .header-mgmt-toggle[aria-expanded="true"] { background: #0d6efd; border-color: #0d6efd; color: #fff !important; }
header .header-mgmt-toggle .bi-sliders2 { font-size: 15px; }
header .header-mgmt-caret { font-size: 11px; transition: transform .2s; }
header .header-mgmt-toggle[aria-expanded="true"] .header-mgmt-caret { transform: rotate(180deg); }

header .header-mgmt-menu.dropdown-menu {
    border: 1px solid #eef0f4;
    border-radius: 14px;
    box-shadow: 0 18px 50px rgba(16, 42, 90, .16);
    padding: 8px;
    margin-top: 0;
    min-width: 250px;
}

/* Открытие по наведению И по клику — перебиваем общее правило (width:800px; right:0) */
header .header-mgmt:hover > .header-mgmt-menu,
header .header-mgmt .header-mgmt-menu.show {
    display: block !important;
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: auto !important;
    width: auto !important;
    min-width: 250px !important;
    max-width: none !important;
    margin: 0 !important;
    z-index: 1060 !important;
}
/* Подсветка триггера и стрелки при наведении */
header .header-mgmt:hover .header-mgmt-toggle {
    background: #0d6efd; border-color: #0d6efd; color: #fff !important;
}
header .header-mgmt:hover .header-mgmt-caret { transform: rotate(180deg); }
header .header-mgmt-menu .dropdown-item {
    display: flex; align-items: center; gap: 10px;
    border-radius: 9px;
    padding: 10px 12px;
    font-size: 14px; font-weight: 500; color: #34425e;
    transition: background .15s, color .15s;
}
header .header-mgmt-menu .dropdown-item:hover { background: #eef3fb; color: #0d6efd; }
header .header-mgmt-menu .dropdown-item .bi { font-size: 16px; color: #0d6efd; flex: 0 0 auto; }

/* --- Каталог (главная) — во всю ширину, как шапка/футер --- */
body:has(.main-filters) .container { max-width: min(1760px, 96vw) !important; }


/* ====================================================================== */
/*  СТРАНИЦА КОНТАКТОВ                                                     */
/* ====================================================================== */

body:has(.contacts-page) { background: linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%); }
.contacts-page { max-width: 1040px; padding-top: 36px; padding-bottom: 48px; }
.contacts-title {
    font-size: 30px; font-weight: 800; color: #1c2b46; margin: 0 0 24px;
}
.contacts-grid {
    display: grid;
    grid-template-columns: 0.85fr 1.15fr;
    gap: 22px;
    align-items: start;
}
.contacts-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 18px 50px rgba(16, 42, 90, .10), 0 2px 8px rgba(16, 42, 90, .05);
    padding: 30px 32px;
    animation: bxAuthIn .5s cubic-bezier(.16, 1, .3, 1);
}
.contacts-card h3 {
    font-size: 19px; font-weight: 700; color: #1c2b46; margin: 0 0 18px;
    display: flex; align-items: center; gap: 9px;
}
.contacts-card h3 .bi { color: #0d6efd; }
.contacts-list { list-style: none; margin: 0; padding: 0; }
.contacts-list li {
    display: flex; align-items: center; gap: 12px;
    padding: 11px 0; border-bottom: 1px solid #f0f3f8;
    font-size: 15px; color: #3a4660;
}
.contacts-list li:last-child { border-bottom: none; }
.contacts-list .bi {
    flex: 0 0 38px; height: 38px; width: 38px;
    display: inline-flex; align-items: center; justify-content: center;
    background: #eef3fb; color: #0d6efd; border-radius: 10px; font-size: 17px;
}
.contacts-list a { color: #0d6efd; text-decoration: none; font-weight: 600; }
.contacts-list a:hover { text-decoration: underline; }

/* Форма обратной связи */
.contacts-form-card .form-group { margin-bottom: 16px !important; margin-top: 0 !important; }
.contacts-form-card label {
    display: block; font-weight: 600; font-size: 13px; color: #5b6b85; margin-bottom: 6px;
}
.contacts-form-card .form-control {
    width: 100% !important;
    border: 1.5px solid #e2e8f2; border-radius: 12px;
    padding: 11px 14px; font-size: 15px; background: #f8fafc;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.contacts-form-card .form-control:focus {
    outline: none; border-color: #0d6efd; background: #fff;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, .12);
}
.contacts-form-card .form-check {
    display: flex; align-items: flex-start; gap: 9px; margin: 6px 0 18px !important;
    font-size: 14px; color: #5b6b85;
}
.contacts-form-card .form-check-input { width: 18px !important; height: 18px !important; margin-top: 1px; accent-color: #0d6efd; }
.contacts-form-card .form-check label { margin: 0; font-weight: 400; }
.contacts-form-card .btn-success {
    width: 100%; border: none; border-radius: 12px; height: 50px;
    background: linear-gradient(135deg, #0d6efd, #3b8bff) !important;
    color: #fff; font-size: 16px !important; font-weight: 600 !important;
    margin-top: 4px !important;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .3);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
.contacts-form-card .btn-success:hover { filter: brightness(1.05); box-shadow: 0 10px 26px rgba(13, 110, 253, .4); }
.contacts-form-card .btn-success:active { transform: translateY(1px); }

@media (max-width: 800px) {
    .contacts-grid { grid-template-columns: 1fr; }
    .contacts-card { padding: 24px 20px; }
}


/* ====================================================================== */
/*  ЛИЧНЫЙ КАБИНЕТ                                                         */
/* ====================================================================== */

body:has(.personal-cabinet) { background: linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%); }
.personal-cabinet { max-width: min(1760px, 96vw); padding-top: 36px; padding-bottom: 48px; }
.personal-title { font-size: 30px; font-weight: 800; color: #1c2b46; margin: 0 0 8px; }

.personal-cabinet .personal-page-nav {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
    gap: 20px;
    margin-top: 22px;
}
.personal-cabinet .personal-page-nav > p {
    grid-column: 1 / -1;
    margin: 0; font-size: 15px; line-height: 1.65; color: #5b6b85;
    background: #fff; border-radius: 14px; padding: 18px 22px;
    border-left: 4px solid #0d6efd;
    box-shadow: 0 4px 16px rgba(16, 42, 90, .05);
}
.personal-cabinet .personal-page-nav > script { display: none; }
.personal-cabinet .personal-page-nav > div {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(16, 42, 90, .08), 0 2px 6px rgba(16, 42, 90, .04);
    padding: 26px 26px 22px;
    transition: transform .15s, box-shadow .15s;
}
.personal-cabinet .personal-page-nav > div:hover {
    transform: translateY(-3px);
    box-shadow: 0 20px 48px rgba(16, 42, 90, .12);
}
.personal-cabinet .personal-page-nav h2 {
    font-size: 18px; font-weight: 700; color: #1c2b46; margin: 0 0 16px;
    padding-bottom: 14px; border-bottom: 1px solid #eef0f4;
}
.personal-cabinet .lsnn { list-style: none; margin: 0; padding: 0; }
.personal-cabinet .lsnn li { margin: 0 0 4px; }
.personal-cabinet .lsnn a {
    display: flex; align-items: center; gap: 9px;
    padding: 9px 12px; border-radius: 10px;
    color: #34425e; text-decoration: none; font-weight: 500; font-size: 14.5px;
    transition: background .15s, color .15s, padding-left .15s;
}
.personal-cabinet .lsnn a::before {
    content: "\F138"; font-family: "bootstrap-icons"; font-size: 13px; color: #0d6efd;
}
.personal-cabinet .lsnn a:hover { background: #eef3fb; color: #0d6efd; padding-left: 16px; }


/* ====================================================================== */
/*  СТРАНИЦА ЗАКАЗОВ (sale.personal.order.list)                           */
/* ====================================================================== */

body:has(.orders-page) { background: linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%); }
.orders-page { max-width: 1100px; padding-top: 36px; padding-bottom: 48px; }
.orders-title { font-size: 30px; font-weight: 800; color: #1c2b46; margin: 0 0 22px; }

/* --- Карточка-контейнер списка заказов (фильтр + таблица) --- */
.orders-page .sale-order-list-container {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(16, 42, 90, .08), 0 2px 6px rgba(16, 42, 90, .04);
    margin-bottom: 22px;
    padding: 24px 26px;
    overflow: visible;
}
/* Широкая рабочая область — таблица заказов занимает почти весь экран */
.orders-page.container,
.orders-page { max-width: min(1760px, 96vw) !important; }

/* Шапка заказа: «Заказ №… от …, цена» */
.orders-page .sale-order-list-title-container,
.orders-page .sale-order-list-accomplished-title-container {
    padding: 18px 24px !important;
    font-size: 16px; font-weight: 700; color: #1c2b46;
    line-height: 1.5;
}
.orders-page .sale-order-list-container > .row > .sale-order-list-title-container,
.orders-page .sale-order-list-container > .row > .sale-order-list-accomplished-title-container {
    border-bottom: 1px solid #eef0f4;
    background: #fbfcfe;
}
.orders-page .sale-order-list-accomplished-title-container .sale-order-list-accomplished-title-container {
    padding: 0 !important; border: none; background: none;
}

/* Заголовки-линии внутри (Оплата / Отгрузка) */
.orders-page .sale-order-list-inner-title-line {
    display: flex !important; align-items: center; gap: 12px;
    padding: 18px 24px 0 !important;
}
.orders-page .sale-order-list-inner-title-line-item {
    font-weight: 700; color: #1c2b46; font-size: 14px; white-space: nowrap;
}
.orders-page .sale-order-list-inner-title-line-border {
    flex: 1; height: 1px; background: #eef0f4; border: none !important;
}

/* Блоки оплаты/отгрузки/содержимого */
.orders-page .sale-order-list-payment,
.orders-page .sale-order-list-shipment,
.orders-page .sale-order-list-inner-row-template,
.orders-page .sale-order-list-inner-row-body { padding: 12px 24px !important; }
.orders-page .sale-order-list-payment-title,
.orders-page .sale-order-list-shipment-title { font-weight: 600; color: #34425e; margin-bottom: 4px; }
.orders-page .sale-order-list-payment-price,
.orders-page .sale-order-list-payment-number,
.orders-page .sale-order-list-shipment-id { color: #5b6b85; font-size: 14px; }

/* Статус-бейджи */
.orders-page .sale-order-list-status-success,
.orders-page .sale-order-list-status-alert,
.orders-page .sale-order-list-status-restricted {
    display: inline-block; padding: 4px 12px; border-radius: 20px;
    font-weight: 600; font-size: 12.5px; line-height: 1.4;
}
.orders-page .sale-order-list-status-success { color: #1a7f4b; background: #e8f7ef; }
.orders-page .sale-order-list-status-alert { color: #b3601a; background: #fdf2e3; }
.orders-page .sale-order-list-status-restricted { color: #d22f2f; background: #fdecec; }
.orders-page .sale-order-list-status-restricted-message { color: #d22f2f; font-size: 13px; }
.orders-page .sale-order-list-status-restricted-message-block { padding: 0 24px 8px; }

/* Дата выполнения / отмены */
.orders-page .sale-order-list-accomplished-date { padding: 0 24px 16px !important; color: #5b6b85; font-size: 14px; }
.orders-page .sale-order-list-accomplished-date-number { color: #0d6efd; font-weight: 700; }
.orders-page .sale-order-list-accomplished-date.canceled-order .sale-order-list-accomplished-date-number,
.orders-page .canceled-order .sale-order-list-accomplished-date-number { color: #e23b3b; }

/* Контейнеры кнопок */
.orders-page .sale-order-list-button-container,
.orders-page .sale-order-list-about-container,
.orders-page .sale-order-list-cancel-container,
.orders-page .sale-order-list-repeat-container,
.orders-page .sale-order-list-shipment-button-container,
.orders-page .sale-order-list-repeat-accomplished,
.orders-page .sale-order-list-about-accomplished {
    display: inline-block !important;
    padding: 0 0 16px 24px !important;
}

/* Кнопки заказа */
.orders-page .sale-order-list-button,
.orders-page .sale-order-list-repeat-link,
.orders-page .sale-order-list-cancel-link,
.orders-page .sale-order-list-about-link,
.orders-page .sale-order-list-change-payment,
.orders-page .sale-order-list-cancel-payment {
    display: inline-block;
    border-radius: 10px !important;
    padding: 9px 18px !important;
    font-weight: 600; font-size: 13.5px; text-decoration: none;
    border: 1px solid #e6ebf3 !important;
    background: #f3f6fb !important; color: #34425e !important;
    transition: background .15s, border-color .15s, color .15s, transform .12s;
}
/* Главная кнопка действия — акцентная */
.orders-page .sale-order-list-button:not(.inactive-button),
.orders-page .sale-order-list-about-link {
    background: linear-gradient(135deg, #0d6efd, #3b8bff) !important;
    border-color: #0d6efd !important; color: #fff !important;
    box-shadow: 0 6px 16px rgba(13, 110, 253, .25);
}
.orders-page .sale-order-list-button:not(.inactive-button):hover,
.orders-page .sale-order-list-about-link:hover { filter: brightness(1.05); transform: translateY(-1px); }
.orders-page .sale-order-list-repeat-link:hover,
.orders-page .sale-order-list-change-payment:hover {
    background: #0d6efd !important; border-color: #0d6efd !important; color: #fff !important; transform: translateY(-1px);
}
.orders-page .sale-order-list-cancel-link:hover,
.orders-page .sale-order-list-cancel-payment:hover {
    background: #e23b3b !important; border-color: #e23b3b !important; color: #fff !important;
}
.orders-page .sale-order-list-button.inactive-button { opacity: .55; cursor: default; }

/* Верхняя строка истории заказов / фильтр */
.orders-page .sale-order-history-link {
    display: inline-block; color: #0d6efd; font-weight: 600; text-decoration: none;
    padding: 8px 14px; border-radius: 10px; margin: 0 6px 14px 0;
    background: #fff; border: 1px solid #e6ebf3;
}
.orders-page .sale-order-history-link:hover { background: #eef3fb; }

/* Таблицы внутри заказа (товары) */
.orders-page table { width: 100%; border-collapse: separate; border-spacing: 0; margin: 0; }
.orders-page table td, .orders-page table th { padding: 8px 10px; border-bottom: 1px solid #f0f3f8; }

/* Чек об оплате */
.orders-page .sale-order-list-payment-check { padding: 6px 24px 12px; }
.orders-page .sale-order-list-top-border { display: none; }


/* ====================================================================== */
/*  ФУТЕР                                                                  */
/* ====================================================================== */

.site-footer {
    margin-top: 48px !important;
    border-top: 1px solid #e6ebf3 !important;
    background: #fff;
}
.site-footer-inner {
    max-width: min(1760px, 96vw); margin: 0 auto;
    display: grid;
    grid-template-columns: 1.6fr 1fr 1fr;
    gap: 32px;
    padding: 40px 24px 28px;
}
.site-footer-brand .footer-brand {
    font-size: 24px; font-weight: 800; letter-spacing: -.02em;
    color: #0d6efd; text-decoration: none; display: inline-block; margin-bottom: 12px;
}
.site-footer-brand .footer-brand span { color: #1c2b46; }
.site-footer-brand p { font-size: 14px; line-height: 1.65; color: #6b7890; margin: 0; max-width: 360px; }
.site-footer-col h4 {
    font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em;
    color: #9aa6ba; margin: 0 0 16px;
}
.site-footer-col .footer-links { list-style: none; margin: 0; padding: 0; }
.site-footer-col .footer-links li {
    display: flex; align-items: center; gap: 9px;
    font-size: 14.5px; color: #3a4660; padding: 6px 0;
}
.site-footer-col .footer-links .bi { color: #0d6efd; font-size: 15px; flex: 0 0 auto; }
.site-footer-col .footer-links a { color: #3a4660; text-decoration: none; transition: color .15s; }
.site-footer-col .footer-links a:hover { color: #0d6efd; }

.site-footer-bottom {
    border-top: 1px solid #eef0f4;
}
.site-footer-bottom .footer-copy {
    max-width: min(1760px, 96vw); margin: 0 auto; padding: 18px 24px;
    text-align: center; font-size: 13.5px; color: #9aa6ba;
}
.site-footer-bottom .footer-copy a { color: #6b7890; text-decoration: none; }
.site-footer-bottom .footer-copy a:hover { color: #0d6efd; text-decoration: underline; }

/* На странице авторизации футер компактный */
body:has(.bx-auth) .site-footer-inner { display: none; }
body:has(.bx-auth) .site-footer { margin-top: 0 !important; background: transparent; }
body:has(.bx-auth) .site-footer-bottom { border-top: none; }

@media (max-width: 800px) {
    .site-footer-inner { grid-template-columns: 1fr; gap: 24px; padding: 30px 20px 22px; }
}


/* ====================================================================== */
/*  ВЫПАДАЮЩАЯ КОРЗИНА (sale.basket.basket.small / top)                    */
/* ====================================================================== */

header .cart .dropdown { position: relative; }

/* Поповер корзины — переопределяем общее правило hover-дропдаунов (width:800px) */
header .cart .dropdown-menu.basket-dropdown,
header .cart .dropdown:hover > .dropdown-menu.basket-dropdown {
    display: none;
    position: absolute;
    right: 0 !important;
    left: auto !important;
    top: calc(100% + 12px) !important;
    width: 460px !important;
    max-width: 94vw !important;
    margin: 0 !important;
    padding: 8px 8px 10px !important;
    background: #fff;
    border: 1px solid #eef0f4;
    border-radius: 16px;
    box-shadow: 0 24px 60px rgba(16, 42, 90, .20);
    z-index: 1060;
    list-style: none;
    animation: bxAuthIn .25s ease;
}
header .cart .dropdown:hover > .dropdown-menu.basket-dropdown { display: block; }

/* Хвостик-стрелка поповера */
header .cart .basket-dropdown::before {
    content: "";
    position: absolute;
    top: -7px; right: 24px;
    width: 14px; height: 14px;
    background: #fff;
    border-left: 1px solid #eef0f4;
    border-top: 1px solid #eef0f4;
    transform: rotate(45deg);
}

/* Заголовок */
.basket-dropdown__head {
    display: flex; align-items: center; gap: 8px;
    font-weight: 700; font-size: 14px; color: #1c2b46;
    padding: 8px 10px 12px;
}
.basket-dropdown__head .bi { color: #0d6efd; font-size: 16px; }
.basket-dropdown__count {
    margin-left: auto;
    background: #eef3fb; color: #0d6efd;
    font-size: 12px; font-weight: 700;
    min-width: 22px; height: 22px; padding: 0 7px;
    border-radius: 11px;
    display: inline-flex; align-items: center; justify-content: center;
}

/* Таблица товаров */
.basket-dropdown__table { width: 100%; margin: 0 !important; border: none; table-layout: fixed; }
.basket-dropdown__table td { border: none !important; padding: 10px 6px !important; vertical-align: middle; overflow: hidden; }
/* Пустые строки от вложенных <tr> в шаблоне — убираем */
.basket-dropdown__table tr:not(:has(td)) { display: none; }
/* Ширины колонок: название тянется, кол-во и удаление фиксированы */
.basket-dropdown__table col:first-child { width: auto; }
.basket-dropdown__table td:nth-child(2) { width: 64px; }
.basket-dropdown__table td:last-child { width: 44px; }

/* Шапка таблицы */
.basket-dropdown__thead td {
    font-size: 11px !important; text-transform: uppercase; letter-spacing: .03em;
    color: #9aa6ba; font-weight: 600;
    padding: 4px 8px !important; border-bottom: 1px solid #eef0f4 !important;
}

/* Строки товаров */
.basket-dropdown__table tr:not(.basket-dropdown__thead) { border-bottom: 1px solid #f4f6fa; }
.basket-dropdown__table tr:not(.basket-dropdown__thead):last-child { border-bottom: none; }

/* Наименование (первая ячейка) — полный перенос, ничего не обрезается */
.basket-dropdown__table td:first-child { padding-right: 12px !important; }
.basket-dropdown__table td:first-child a {
    color: #2b3a59 !important; font-weight: 600; font-size: 13px;
    text-decoration: none; line-height: 1.4;
    display: block;
    white-space: normal; overflow-wrap: break-word; word-break: normal;
}
.basket-dropdown__table td:first-child a:hover { color: #0d6efd !important; }

/* Количество (вторая ячейка) */
.basket-dropdown__table td:nth-child(2) {
    text-align: center; white-space: normal; overflow-wrap: anywhere;
    color: #5b6b85; font-size: 12.5px; font-weight: 600;
}

/* Кнопка удаления (последняя ячейка) */
.basket-dropdown__table td:last-child { text-align: center; }
.basket-dropdown__table td:last-child a {
    display: inline-flex; align-items: center; justify-content: center;
    width: 34px; height: 34px; border-radius: 10px;
    background: #fff5f5; color: #e23b3b !important; cursor: pointer;
    transition: background .15s, color .15s, transform .12s;
}
.basket-dropdown__table td:last-child a:hover { background: #e23b3b; color: #fff !important; transform: translateY(-1px); }
.basket-dropdown__table td:last-child a i { font-size: 15px; }

/* Подвал: итог + кнопка */
.basket-dropdown__foot {
    display: flex; align-items: center; justify-content: space-between; gap: 12px;
    padding: 14px 8px 4px; margin-top: 6px;
    border-top: 1px solid #eef0f4; list-style: none;
}
.basket-dropdown__total { font-size: 13px; color: #5b6b85; white-space: nowrap; }
.basket-dropdown__total b { color: #1c2b46; font-size: 15.5px; }
.basket-dropdown__btn {
    background: linear-gradient(135deg, #0d6efd, #3b8bff);
    color: #fff !important; text-decoration: none;
    padding: 10px 16px; border-radius: 11px;
    font-weight: 600; font-size: 13px; white-space: nowrap;
    box-shadow: 0 8px 18px rgba(13, 110, 253, .3);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
.basket-dropdown__btn:hover { filter: brightness(1.06); box-shadow: 0 10px 22px rgba(13, 110, 253, .4); }
.basket-dropdown__btn:active { transform: translateY(1px); }

@media (max-width: 560px) {
    header .cart .dropdown-menu.basket-dropdown,
    header .cart .dropdown:hover > .dropdown-menu.basket-dropdown { width: 320px !important; }
    .basket-dropdown__foot { flex-direction: column; align-items: stretch; }
    .basket-dropdown__btn { text-align: center; }
}


/* ====================================================================== */
/*  ЛИЧНЫЙ КАБИНЕТ — общий каркас страниц (профиль, корзина, подписки,     */
/*  оформление, оплата)                                                    */
/* ====================================================================== */

body:has(.lk-page) { background: linear-gradient(180deg, #f4f7fc 0%, #eef3fb 100%); }
.lk-page { max-width: 1100px; padding-top: 36px; padding-bottom: 48px; }
.lk-checkout { max-width: min(1760px, 96vw); }
/* Широкая страница ЛК — во всю ширину, как шапка и футер */
.lk-page.lk-wide { max-width: min(1760px, 96vw) !important; }
.lk-title { font-size: 30px; font-weight: 800; color: #1c2b46; margin: 0 0 22px; }

.lk-card {
    background: #fff;
    border-radius: 18px;
    box-shadow: 0 14px 40px rgba(16, 42, 90, .08), 0 2px 6px rgba(16, 42, 90, .04);
    padding: 28px 32px;
}
.lk-card > h1:first-child,
.lk-card > h2:first-child,
.lk-card > h3:first-child { margin-top: 0; }
.lk-card h1, .lk-card h2, .lk-card h3, .lk-card h4 { color: #1c2b46; }

/* ---- Формы личного кабинета (профиль / корзина / подписки) ---- */

/* Таблицы (profile-table, data-table) */
.lk-form .data-table,
.lk-form table.profile-table,
.lk-form table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    margin: 0;
}
.lk-form .data-table td,
.lk-form .data-table th {
    padding: 11px 12px;
    border: none;
    border-bottom: 1px solid #f0f3f8;
    vertical-align: middle;
}
.lk-form .profile-header,
.lk-form .data-table th {
    font-size: 16px; font-weight: 700; color: #1c2b46;
    background: transparent;
}
.lk-form .field-name { color: #5b6b85; font-weight: 600; font-size: 14px; }
.lk-form .starrequired { color: #e23b3b; margin-right: 3px; }

/* Поля ввода */
.lk-form input[type="text"],
.lk-form input[type="password"],
.lk-form input[type="email"],
.lk-form input[type="number"],
.lk-form input[type="tel"],
.lk-form select,
.lk-form textarea,
.lk-form .bx-auth-input,
.lk-form .form-control {
    border: 1.5px solid #e2e8f2 !important;
    border-radius: 10px !important;
    padding: 9px 12px !important;
    font-size: 14px;
    background: #f8fafc !important;
    max-width: 100%;
    box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
.lk-form input[type="text"]:focus,
.lk-form input[type="password"]:focus,
.lk-form input[type="email"]:focus,
.lk-form input[type="number"]:focus,
.lk-form select:focus,
.lk-form textarea:focus,
.lk-form .bx-auth-input:focus,
.lk-form .form-control:focus {
    outline: none;
    border-color: #0d6efd !important;
    background: #fff !important;
    box-shadow: 0 0 0 4px rgba(13, 110, 253, .12);
}
.lk-form input[type="checkbox"],
.lk-form input[type="radio"] { accent-color: #0d6efd; width: 17px; height: 17px; vertical-align: middle; }

/* Кнопки */
.lk-form input[type="submit"],
.lk-form button[type="submit"],
.lk-form .btn-primary,
.lk-form .btn-success {
    border: none !important;
    border-radius: 11px !important;
    padding: 11px 22px !important;
    background: linear-gradient(135deg, #0d6efd, #3b8bff) !important;
    color: #fff !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    cursor: pointer;
    box-shadow: 0 8px 18px rgba(13, 110, 253, .25);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
.lk-form input[type="submit"]:hover,
.lk-form button[type="submit"]:hover,
.lk-form .btn-primary:hover { filter: brightness(1.05); box-shadow: 0 10px 22px rgba(13, 110, 253, .35); }
.lk-form input[type="submit"]:active { transform: translateY(1px); }
.lk-form input[type="reset"] {
    border: 1px solid #e6ebf3 !important;
    background: #f3f6fb !important;
    color: #34425e !important;
    border-radius: 11px !important;
    padding: 10px 18px !important;
    font-weight: 600; cursor: pointer;
    transition: background .15s;
}
.lk-form input[type="reset"]:hover { background: #e9eef6 !important; }

/* Ссылки внутри */
.lk-form a { color: #0d6efd; }

/* Чекбокс «безопасный пароль» и пр. иконки профиля не растягиваем */
.lk-form .bx-auth-secure { margin-top: 8px; font-size: 13px; color: #6b7890; }

@media (max-width: 600px) {
    .lk-card { padding: 20px 16px; }
    .lk-title { font-size: 24px; }
}


/* ====================================================================== */
/*  ДЕТАЛЬНАЯ СТРАНИЦА ТОВАРА (catalog.element)                            */
/* ====================================================================== */

body:has(.product-item-detail-info-container) {
    background: linear-gradient(180deg, #f6f8fc 0%, #eef3fb 100%);
}

/* Заголовок товара */
.product-item-detail-info-container-title,
.product-item-detail-short-title-text {
    color: #1c2b46 !important;
    font-weight: 700;
}

/* Карточка-обёртка основной информации */
.product-item-detail-info-container {
    background: #fff;
    border-radius: 16px;
    box-shadow: 0 10px 32px rgba(16, 42, 90, .06);
    padding: 20px 22px;
    margin-bottom: 18px;
}

/* Цена */
.product-item-detail-price-current {
    color: #0d6efd !important;
    font-weight: 800 !important;
}
.product-item-detail-price-old {
    color: #9aa6ba !important;
    text-decoration: line-through;
}

/* Кнопка «Купить / В корзину» */
.btn.product-item-detail-buy-button {
    border-radius: 12px !important;
    padding: 12px 26px !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    border: none !important;
    background: linear-gradient(135deg, #0d6efd, #3b8bff) !important;
    color: #fff !important;
    box-shadow: 0 8px 20px rgba(13, 110, 253, .3);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
.btn.product-item-detail-buy-button:hover {
    filter: brightness(1.06);
    box-shadow: 0 10px 26px rgba(13, 110, 253, .42);
    transform: translateY(-1px);
}
.btn-link.product-item-detail-buy-button {
    background: #f3f6fb !important;
    color: #0d6efd !important;
    box-shadow: none;
}

/* Поле количества */
.product-item-quantity,
.product-item-detail-info-container .product-item-amount-field {
    border: 1.5px solid #e2e8f2 !important;
    border-radius: 10px !important;
    padding: 8px 12px !important;
    background: #f8fafc !important;
}
.product-item-amount-field-block,
.product-item-amount-controls { border-radius: 10px !important; }

/* Свойства товара */
.product-item-detail-properties {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
}
.product-item-detail-properties td,
.product-item-detail-properties .product-item-detail-properties-name,
.product-item-detail-properties .product-item-detail-properties-value {
    padding: 9px 12px !important;
    border-bottom: 1px solid #f0f3f8 !important;
    font-size: 14px;
}
.product-item-detail-properties-name { color: #5b6b85 !important; font-weight: 600; }
.product-item-detail-properties-value { color: #2b3a59 !important; }

/* Вкладки (Описание / Характеристики и т.п.) */
.product-item-detail-tabs-list { border-bottom: 1px solid #eef0f4 !important; gap: 4px; }
.product-item-detail-tab-link {
    color: #5b6b85 !important;
    font-weight: 600 !important;
    padding: 12px 16px !important;
    border: none !important;
    text-decoration: none;
}
.product-item-detail-tab.active .product-item-detail-tab-link,
.product-item-detail-tab-link:hover { color: #0d6efd !important; }
.product-item-detail-tab.active {
    border-bottom: 2px solid #0d6efd !important;
}

/* Заголовки блоков каталога */
.catalog-block-header {
    color: #1c2b46 !important;
    font-weight: 700 !important;
    margin: 6px 0 16px;
}

/* Слайдер картинок */
.product-item-detail-slider-container { border-radius: 14px; overflow: hidden; background: #fff; }
.product-item-detail-slider-controls-image.active,
.product-item-detail-slider-controls-image:hover { border-color: #0d6efd !important; }

/* Метки/лейблы (скидка и пр.) */
.product-item-label-text { border-radius: 8px !important; }

/* Кнопки короткой карточки */
.product-item-detail-short-card-btn { border-radius: 10px !important; }


/* ====================================================================== */
/*  ДЕТАЛЬНАЯ КАРТОЧКА ТОВАРА (include/getelementsfordetail.php)           */
/*  Скоуп .bigt-detail — каталог-листинг не затрагивается                  */
/* ====================================================================== */

/* Детальная страница товара — во всю ширину, как шапка и футер */
body:has(.product-item-detail-tab-link) .container,
body:has(.bigt-detail) .container { max-width: min(1760px, 96vw) !important; }

.bigt-detail { width: 100% !important; padding: 0 !important; }
.bigt-detail .card {
    border: 1px solid #eef0f4 !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 32px rgba(16,42,90,.06) !important;
    padding: 10px 14px 16px;
}
.bigt-detail .toplinks .bi { color: #5b6b85; transition: color .15s; }
.bigt-detail .toplinks .bi:hover { color: #0d6efd; }

/* Бейдж статуса (на заказ / в наличии) */
.bigt-detail .badge.bg-warning {
    background: #fff4e0 !important; color: #b3601a !important;
    border-radius: 20px !important; padding: 6px 13px !important;
    font-weight: 600 !important; font-size: 12px !important;
}

/* Артикул */
.bigt-detail .card-text { color: #5b6b85; }
.bigt-detail .card-text span { color: #1c2b46; font-weight: 700; }

/* Таблица свойств */
.bigt-detail table.table-bordered {
    border: 1px solid #eef0f4 !important; border-radius: 12px; overflow: hidden;
    border-collapse: separate !important; border-spacing: 0 !important; margin-bottom: 16px;
}
.bigt-detail table.table-bordered th,
.bigt-detail table.table-bordered td {
    border: none !important;
    border-bottom: 1px solid #f0f3f8 !important;
    border-right: 1px solid #f4f6fa !important;
    padding: 9px 12px !important; font-size: 13.5px; vertical-align: middle;
}
.bigt-detail table.table-bordered thead th {
    background: #f3f6fb !important; color: #5b6b85 !important;
    font-weight: 700 !important; font-size: 11.5px; text-transform: uppercase; letter-spacing: .02em;
}
.bigt-detail table.table-bordered tbody th {
    background: #fbfcfe !important; color: #5b6b85 !important; font-weight: 600 !important;
}
.bigt-detail table.table-bordered td { color: #2b3a59; }
.bigt-detail table.table-bordered th:last-child,
.bigt-detail table.table-bordered td:last-child { border-right: none !important; }
.bigt-detail table.table-bordered tr:last-child th,
.bigt-detail table.table-bordered tr:last-child td { border-bottom: none !important; }

/* Количество — степпер */
.bigt-detail .bminus .bi, .bigt-detail .bplus .bi,
.bigt-detail .count .bi-dash-circle, .bigt-detail .count .bi-plus-circle {
    font-size: 1.7rem; color: #0d6efd; cursor: pointer; transition: filter .15s;
}
.bigt-detail .bminus .bi:hover, .bigt-detail .bplus .bi:hover { filter: brightness(1.1); }
.bigt-detail .count-number,
.bigt-detail .forcount input[type="text"],
.bigt-detail .forcount input[type="number"] {
    border: 1.5px solid #e2e8f2 !important; border-radius: 10px !important;
    background: #f8fafc !important; text-align: center; padding: 7px 8px;
}

/* Единица измерения (радио) */
.bigt-detail .edinica .form-check-input { accent-color: #0d6efd; width: 17px; height: 17px; }
.bigt-detail .edinica .form-check-label { color: #34425e; }

/* Итого */
.bigt-detail .itogo { color: #1c2b46; align-items: center; }
.bigt-detail .totalprice { font-weight: 800 !important; color: #0d6efd !important; }
.bigt-detail .oneprice, .bigt-detail .partprice, .bigt-detail .kgprice { color: #1c2b46; }

/* Кнопка «В корзину» */
.bigt-detail .btn-primary {
    border: none !important; border-radius: 12px !important; padding: 11px 22px !important;
    background: linear-gradient(135deg,#0d6efd,#3b8bff) !important;
    font-weight: 600 !important; box-shadow: 0 8px 20px rgba(13,110,253,.3) !important;
}
.bigt-detail .btn-primary:hover { filter: brightness(1.06); }
.bigt-detail .btn-primary .bi-cart-fill { margin-right: 6px; }


/* ====================================================================== */
/*  КАРТОЧКИ ТОВАРОВ В КАТАЛОГЕ (в стиле детальной карточки)               */
/*  Скоуп :has(.main-filters) — только страницы каталога                   */
/* ====================================================================== */

body:has(.main-filters) .card {
    border: 1px solid #eef0f4 !important;
    border-radius: 16px !important;
    box-shadow: 0 6px 22px rgba(16,42,90,.06) !important;
    background: #fff;
    transition: transform .15s, box-shadow .15s, border-color .15s;
}
body:has(.main-filters) .card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 40px rgba(16,42,90,.13) !important;
    border-color: #dce7f8 !important;
}

/* Картинка */
body:has(.main-filters) .card .card-img,
body:has(.main-filters) .card .card-img-top { border-radius: 12px; }

/* Бейдж статуса (на заказ / в наличии) */
body:has(.main-filters) .card .badge.bg-warning {
    background: #fff4e0 !important; color: #b3601a !important;
    border-radius: 20px !important; padding: 5px 11px !important;
    font-weight: 600 !important; font-size: 11px !important;
}

/* Название и текст */
body:has(.main-filters) .card .card-title { font-size: 14px; font-weight: 700; color: #1c2b46; line-height: 1.35; }
body:has(.main-filters) .card .card-title a { color: #1c2b46; text-decoration: none; }
body:has(.main-filters) .card .card-title a:hover { color: #0d6efd; }
body:has(.main-filters) .card .card-text { color: #5b6b85; font-size: 13px; }
body:has(.main-filters) .card .card-text span { color: #1c2b46; font-weight: 600; }

/* Цена / итог */
body:has(.main-filters) .card .totalprice { font-weight: 800 !important; color: #0d6efd !important; }

/* Степпер количества */
body:has(.main-filters) .card .bminus .bi,
body:has(.main-filters) .card .bplus .bi,
body:has(.main-filters) .card .count .bi-dash-circle,
body:has(.main-filters) .card .count .bi-plus-circle { color: #0d6efd; cursor: pointer; }
body:has(.main-filters) .card .count-number,
body:has(.main-filters) .card .forcount input[type="text"],
body:has(.main-filters) .card .forcount input[type="number"] {
    border: 1.5px solid #e2e8f2 !important; border-radius: 9px !important;
    background: #f8fafc !important; text-align: center;
}

/* Единица измерения */
body:has(.main-filters) .card .edinica .form-check-input { accent-color: #0d6efd; }

/* Кнопки */
body:has(.main-filters) .card .btn-primary {
    border: none !important; border-radius: 11px !important;
    background: linear-gradient(135deg,#0d6efd,#3b8bff) !important;
    font-weight: 600 !important; box-shadow: 0 6px 16px rgba(13,110,253,.25) !important;
}
body:has(.main-filters) .card .btn-primary:hover { filter: brightness(1.06); }
body:has(.main-filters) .card .btn-outline-primary {
    border: 1.5px solid #d4e2fb !important; color: #0d6efd !important;
    border-radius: 11px !important; font-weight: 600 !important; background: #fff !important;
}
body:has(.main-filters) .card .btn-outline-primary:hover { background: #eef3fb !important; color: #0d6efd !important; }

/* Иконки в углу карточки */
body:has(.main-filters) .card .toplinks .bi { color: #8a97ab; transition: color .15s; }
body:has(.main-filters) .card .toplinks .bi:hover { color: #0d6efd; }


/* ====================================================================== */
/*  ИЗБРАННОЕ                                                              */
/*  (ширина и стиль карточек подхватываются от каталога через .main-filters)*/
/* ====================================================================== */

.favorites-head { padding-top: 28px; padding-bottom: 4px; }
.favorites-title {
    font-size: 30px; font-weight: 800; color: #1c2b46; margin: 0;
    display: flex; align-items: center; gap: 12px; text-transform: none;
    height: auto; width: auto;
}
.favorites-title .bi { color: #ffc107; font-size: 27px; }

/* Режим «список» — таблица избранного (и каталога) */
body:has(.main-filters) .table-view { overflow-x: auto; }
body:has(.main-filters) .table-view table.table-bordered {
    width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; margin: 0;
    border: 1px solid #eef0f4 !important; border-radius: 14px; overflow: hidden;
    box-shadow: 0 6px 22px rgba(16,42,90,.05); font-size: 13px;
}
body:has(.main-filters) .table-view table.table-bordered th,
body:has(.main-filters) .table-view table.table-bordered td {
    border: none !important; border-bottom: 1px solid #f0f3f8 !important;
    padding: 11px 12px !important; vertical-align: middle;
}
body:has(.main-filters) .table-view table.table-bordered thead th {
    background: #f3f6fb; color: #5b6b85; font-weight: 700; font-size: 11px;
    text-transform: uppercase; letter-spacing: .02em;
}
body:has(.main-filters) .table-view table.table-bordered tbody tr:last-child td { border-bottom: none !important; }
body:has(.main-filters) .table-view table.table-bordered tbody tr:hover td { background: #f9fbfe; }
body:has(.main-filters) .table-view table.table-bordered .btn-primary {
    border: none !important; border-radius: 10px !important;
    background: linear-gradient(135deg,#0d6efd,#3b8bff) !important; font-weight: 600 !important;
}


/* ====================================================================== */
/*  КОРЗИНА (/personal/cart/)                                              */
/* ====================================================================== */

/* Вкладки сортировки (активные / отложенные / подписка / недоступные) */
.lk-cart .sortbutton {
    border-radius: 10px !important; font-weight: 600 !important; font-size: 13.5px !important;
    padding: 8px 16px !important; margin: 0 8px 10px 0 !important;
    border: 1px solid #e6ebf3 !important; background: #f3f6fb !important; color: #34425e !important;
    transition: border-color .15s, color .15s, background .15s;
}
.lk-cart .sortbutton:hover { border-color: #0d6efd !important; color: #0d6efd !important; }
.lk-cart .sortbutton.current { background: #eef3fb !important; border-color: #0d6efd !important; color: #0d6efd !important; }

/* Блоки кнопок (удалить выбранное / оформить заказ) */
.lk-cart .buttons_block { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; margin: 6px 0 16px; }
/* Кнопки-инпуты имеют инлайн width:Xem — текст обрезается; подгоняем под содержимое */
.lk-cart .buttons_block .button,
.lk-cart .buttons_block input.btn,
.lk-cart .buttons_block input[type="button"],
.lk-cart .buttons_block input[type="submit"],
.lk-cart .delallcheckedthem {
    width: auto !important; min-width: 0 !important; max-width: none !important;
    white-space: nowrap; height: auto;
}
/* Красный ✕ удаления в первой колонке */
.lk-cart .equipment .bi-x-square { color: #e23b3b !important; font-size: 18px; line-height: 1; }
.lk-cart .equipment td:first-child .setaside { display: inline-block; margin-top: 6px; }
.lk-cart .btn-primary {
    background: linear-gradient(135deg,#0d6efd,#3b8bff) !important; border: none !important;
    border-radius: 11px !important; font-weight: 600 !important; padding: 11px 24px !important; color: #fff !important;
    box-shadow: 0 8px 18px rgba(13,110,253,.25) !important;
}
.lk-cart .btn-primary:hover { filter: brightness(1.06); }
.lk-cart .btn-outline-danger,
.lk-cart .btn-outline-primary,
.lk-cart .btn-outline-success,
.lk-cart .btn-outline-dark,
.lk-cart .btn-outline-secondary { border-radius: 11px !important; font-weight: 600 !important; }

/* Горизонтальный скролл широкой таблицы */
.lk-cart-tablewrap { overflow-x: auto; border-radius: 14px; box-shadow: 0 0 0 1px #e6ebf3; margin: 0 0 18px; }

/* Таблица товаров */
.lk-cart .equipment.mycurrentorders {
    margin: 0 !important; width: 100%; border-collapse: separate; border-spacing: 0;
    font-size: 13px; background: #fff; min-width: 1000px;
}
.lk-cart .equipment.mycurrentorders th,
.lk-cart .equipment.mycurrentorders td {
    border: none !important; border-bottom: 1px solid #f0f3f8 !important;
    padding: 12px 10px !important; vertical-align: middle !important;
}
.lk-cart .equipment.mycurrentorders thead th {
    background: #f3f6fb; color: #5b6b85 !important; font-weight: 700 !important;
    font-size: 11px !important; text-transform: uppercase; letter-spacing: .02em;
    border-bottom: 2px solid #e2e8f2 !important; white-space: nowrap;
}
.lk-cart .equipment.mycurrentorders tbody tr:hover td { background: #f9fbfe; }
.lk-cart .equipment.mycurrentorders tbody tr.summary td {
    background: #f8fafc; font-size: 14px !important; color: #1c2b46;
    border-top: 2px solid #e2e8f2 !important; border-bottom: none !important;
}
.lk-cart .cart-item-name { width: 26% !important; }
.lk-cart .cart-item-name a,
.lk-cart .equipment a:not(.btn):not(.plus):not(.minus):not(.setaside) {
    color: #2b3a59 !important; text-decoration: none; font-weight: 600;
}
.lk-cart .cart-item-name a:hover { color: #0d6efd !important; }
.lk-cart .cart-item-price, .lk-cart .summary td:last-child, .lk-cart .price { color: #0d6efd !important; font-weight: 700 !important; }
.lk-cart .picture { width: 84px !important; }
.lk-cart .picture img { max-width: 72px !important; max-height: 72px; object-fit: contain; border-radius: 8px; }
.lk-cart .setaside { color: #0d6efd !important; font-size: 12.5px; text-decoration: none; }
.lk-cart .setaside:hover { text-decoration: underline; }

/* Поле количества + степпер */
.lk-cart .equipment.mycurrentorders .form-control[name^="QUANTITY"] {
    width: 60px !important; text-align: center; display: inline-block;
    border: 1.5px solid #e2e8f2 !important; border-radius: 8px !important; background: #f8fafc !important;
    padding: 7px 6px !important; font-weight: 600;
}
.lk-cart .count_nav { display: inline-flex; flex-direction: column; gap: 3px; vertical-align: middle; margin-left: 6px; }
.lk-cart .count_nav .plus, .lk-cart .count_nav .minus {
    display: inline-flex; align-items: center; justify-content: center;
    width: 28px; height: 19px; border-radius: 6px; background: #eef3fb; color: #0d6efd !important;
    text-decoration: none; cursor: pointer; transition: background .15s, color .15s; line-height: 1;
}
.lk-cart .count_nav .plus::before { content: "+"; font-weight: 700; font-size: 15px; }
.lk-cart .count_nav .minus::before { content: "\2212"; font-weight: 700; font-size: 15px; }
.lk-cart .count_nav .plus:hover, .lk-cart .count_nav .minus:hover { background: #0d6efd; color: #fff !important; }

/* Чекбоксы */
.lk-cart .equipment.mycurrentorders input[type="checkbox"] { width: 17px; height: 17px; accent-color: #0d6efd; }


/* Корзина — строка «Итого»: метка слева, сумма синим (после исправления colspan) */
.lk-cart .equipment.mycurrentorders tr.summary td:first-child { color: #5b6b85; font-weight: 700; }
.lk-cart .equipment.mycurrentorders tr.summary td:nth-last-child(2) { color: #0d6efd !important; font-weight: 800 !important; font-size: 15px; }


/* ====================================================================== */
/*  ВОССТАНОВЛЕНИЕ ПАРОЛЯ (?forgot_password=yes) — как карточка входа       */
/* ====================================================================== */

body:has(form[name="bform"] input[value="SEND_PWD"]) {
    background: linear-gradient(135deg, #eef3fb 0%, #e4ecfa 45%, #dde8fb 100%);
}
main:has(form[name="bform"] input[value="SEND_PWD"]) {
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    padding: 40px 16px; gap: 14px;
}

/* Карточка = форма */
main:has(input[value="SEND_PWD"]) form[name="bform"] {
    width: 100%; max-width: 440px; box-sizing: border-box;
    background: #fff; border-radius: 18px;
    box-shadow: 0 18px 50px rgba(16,42,90,.12), 0 2px 8px rgba(16,42,90,.06);
    padding: 40px 34px 30px;
    animation: bxAuthIn .5s cubic-bezier(.16, 1, .3, 1);
}
/* Иконка-замок над формой */
main:has(input[value="SEND_PWD"]) form[name="bform"]::before {
    content: ""; display: block; width: 62px; height: 62px; margin: 0 auto 18px;
    border-radius: 16px; background-color: #0d6efd;
    background-image:
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='white'%3E%3Cpath d='M8 1a2 2 0 0 1 2 2v4H6V3a2 2 0 0 1 2-2zm3 6V3a3 3 0 0 0-6 0v4a2 2 0 0 0-2 2v5a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V9a2 2 0 0 0-2-2z'/%3E%3C/svg%3E"),
        linear-gradient(135deg, #0d6efd, #3b8bff);
    background-repeat: no-repeat, no-repeat; background-position: center, center;
    background-size: 30px 30px, cover; box-shadow: 0 8px 20px rgba(13,110,253,.35);
}
main:has(input[value="SEND_PWD"]) form[name="bform"] > p:first-of-type {
    text-align: center; color: #5b6b85; font-size: 14px; line-height: 1.5; margin: 0 0 18px;
}
main:has(input[value="SEND_PWD"]) form[name="bform"] b {
    display: block; color: #5b6b85; font-size: 13px; font-weight: 600; margin-bottom: 6px;
}
main:has(input[value="SEND_PWD"]) form[name="bform"] input[type="text"] {
    width: 100%; height: 46px; padding: 10px 14px; border: 1.5px solid #e2e8f2;
    border-radius: 12px; font-size: 15px; background: #f8fafc; box-sizing: border-box;
    transition: border-color .15s, box-shadow .15s, background .15s;
}
main:has(input[value="SEND_PWD"]) form[name="bform"] input[type="text"]:focus {
    outline: none; border-color: #0d6efd; background: #fff; box-shadow: 0 0 0 4px rgba(13,110,253,.12);
}
main:has(input[value="SEND_PWD"]) form[name="bform"] > div > div:last-child {
    font-size: 12.5px; color: #9aa6ba; margin-top: 7px; line-height: 1.45;
}
main:has(input[value="SEND_PWD"]) form[name="bform"] input[type="submit"] {
    width: 100%; height: 48px; border: none; border-radius: 12px;
    background: linear-gradient(135deg, #0d6efd, #3b8bff); color: #fff; font-size: 16px; font-weight: 600;
    cursor: pointer; box-shadow: 0 8px 20px rgba(13,110,253,.3);
    transition: filter .15s, box-shadow .15s, transform .12s;
}
main:has(input[value="SEND_PWD"]) form[name="bform"] input[type="submit"]:hover { filter: brightness(1.05); }

/* Ссылка «Авторизация» — под карточкой по центру */
main:has(input[value="SEND_PWD"]) > div:not([class]) {
    width: 100%; max-width: 440px; text-align: center; margin: 0 !important;
}
main:has(input[value="SEND_PWD"]) > div a { color: #0d6efd !important; text-decoration: none; font-weight: 600; }
main:has(input[value="SEND_PWD"]) > div a:hover { text-decoration: underline; }
