/* ============================================================
   AlcoCon — надстройка над styles.css Onsus.
   Цвета и шрифты заменены в styles.css.
   ============================================================ */

/* ---------- Типографика ---------- */
.main-title, .main-title-2, .main-title-3,
.title-sidebar, .title-sidebar-2,
.product-title, .product-title-2,
.price-text, .price-text-2,
.tf-btn, .tf-btn-icon,
.nav-list .item-link,
.menu-tab-line .tab-link,
.tf-nav-menu .title,
.ft-heading {
    font-family: "Onest", sans-serif;
}

.alc-sku, .count-box, .toolbar-count {
    font-variant-numeric: tabular-nums;
}

.alc-sku {
    font-family: "IBM Plex Mono", ui-monospace, monospace;
}

/* Контентная ширина 1300 (у Onsus 1520): 1330 минус паддинги контейнера */
.container {
    max-width: 1330px;
}

/* Сайдбар под узкий контейнер */
@media (min-width: 992px) {
    .s-banner-wrapper .wrap-item-1 {
        max-width: 270px;
    }

    .s-banner-wrapper .wrap-item-2 {
        width: calc(100% - 290px);
    }
}

/* Свайп в каруселях: картинки и ссылки не перехватывают drag */
.swiper img,
.swiper a {
    -webkit-user-drag: none;
    user-select: none;
}

.swiper:not(.alc-hero) {
    cursor: grab;
}

.swiper:not(.alc-hero):active {
    cursor: grabbing;
}

/* Контраст серого текста Onsus: #909090 на белом даёт 3.2:1, #73787d - 4.46:1.
   Поднимаем до WCAG AA (>= 4.5:1), оттенок тот же. */
:root {
    --text: #6e7378;
    --gray-2: #6a6f74;
}

/* ---------- Топбар ---------- */
.tf-topbar .tf-cur-item {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

/* ---------- Шапка ---------- */
.tf-header .logo-site img {
    height: 58px;
    width: auto;
}

.alc-phones {
    align-items: center;
    gap: 12px;
}

.alc-phones-ico {
    font-size: 34px;
    color: var(--primary);
}

.alc-phones .content {
    display: flex;
    flex-direction: column;
    gap: 4px; /* подписи под номерами убраны, номерам нужен свой воздух */
}

.alc-phone {
    display: flex;
    align-items: baseline;
    gap: 8px;
    white-space: nowrap;
    color: var(--gray);
}

.alc-phone-num {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 20px;
    font-variant-numeric: tabular-nums;
}

.alc-phone:hover .alc-phone-num {
    color: var(--primary);
}

/* Кнопка «Каталог» в header-bottom */
.header-bt-left {
    display: flex;
    align-items: center;
    gap: 24px;
}

.alc-catalog-wrap {
    position: relative;
    display: flex;
    align-items: center;
    align-self: stretch;
}

.alc-catalog-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    border: 0;
    border-radius: 8px;
    background: var(--primary);
    color: var(--white);
    cursor: pointer;
    transition: background-color .25s ease;
}

.alc-catalog-btn:hover,
.alc-catalog-btn.is-open {
    background: var(--primary-2);
}

.alc-catalog-btn i {
    font-size: 18px;
}

.alc-catalog-btn .caret {
    font-size: 11px;
    transition: transform .25s ease;
}

.alc-catalog-btn.is-open .caret {
    transform: rotate(180deg);
}

.alc-catalog-drop {
    position: absolute;
    top: 100%;
    left: 0;
    width: 300px;
    z-index: 200;
    padding-top: 8px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(8px);
    transition: opacity .25s ease, transform .25s ease, visibility .25s;
}

.alc-catalog-wrap.is-open .alc-catalog-drop {
    opacity: 1;
    visibility: visible;
    transform: none;
}

.alc-catalog-drop .menu-category-list {
    border-top: 1px solid var(--gray-5);
    border-radius: 10px;
    background: var(--white);
    box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.05);
}

.tf-nav-menu .sub-menu-container {
    background: var(--white);
    min-width: 250px;
}

.tf-nav-menu .sub-menu-list .sub-menu-item a {
    white-space: nowrap;
}

/* ---------- Первый экран ---------- */
/* Подменю категорий: поверх следующих секций (у tf-sw-iconbox z-index:1)
   и всегда от верха списка, а не от пункта - иначе у нижних пунктов
   вылезает за сайдбар */
.s-banner-wrapper {
    position: relative;
    z-index: 20;
}

.s-banner-wrapper .wrap-item-1 {
    position: relative;
    z-index: 5; /* выше .swiper (z-index 1) соседнего слайдера */
}

/* Подменю открывается рядом с пунктом: верхние пункты - от верха пункта,
   нижние (с 5-го) - прижато к низу пункта, чтобы не вылезать за сайдбар.
   Показ управляет alcocon.js (класс is-open с задержками), а не :hover -
   иначе при движении курсора по диагонали соседние пункты перехватывают. */
.s-banner-wrapper .wrap-item-1 .tf-nav-menu {
    position: relative;
}

.s-banner-wrapper .wrap-item-1 .menu-category-list,
.s-banner-wrapper .wrap-item-1 .menu-item:nth-child(-n+3) {
    position: static; /* пункты 1-3: длинные списки от верха сайдбара */
}

.s-banner-wrapper .wrap-item-1 .menu-item:nth-child(n+4) {
    position: relative; /* пункт 4: от верха пункта */
}

.s-banner-wrapper .wrap-item-1 .sub-menu-container {
    top: 0;
    bottom: auto;
    transition: opacity .2s ease, transform .2s ease, visibility 0s linear .2s;
}

.s-banner-wrapper .wrap-item-1 .menu-item:nth-child(n+5) .sub-menu-container {
    top: auto;
    bottom: 0; /* пункты 5-7: прижато к низу пункта */
}

.s-banner-wrapper .wrap-item-1 .menu-item:hover .sub-menu-container {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
}

.s-banner-wrapper .wrap-item-1 .menu-item.is-open .sub-menu-container,
.s-banner-wrapper .wrap-item-1 .menu-item.is-open:hover .sub-menu-container {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transform: translateY(0);
    transition-delay: 0s;
}

.s-banner-wrapper .wrap-item-1 .menu-item.is-open > .item-link {
    color: var(--primary);
}

.s-banner-wrapper .wrap-item-1 .tf-nav-menu,
.s-banner-wrapper .wrap-item-1 .main-nav {
    height: 100%;
    display: flex;
    flex-direction: column;
}

.s-banner-wrapper .wrap-item-1 .menu-category-list {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.s-banner-wrapper .wrap-item-1 .menu-item {
    flex: 1;
    display: flex;
}

.s-banner-wrapper .wrap-item-1 .menu-item .item-link {
    width: 100%;
    align-items: center;
}

.s-banner-wrapper .wrap-item-1 .item-link > span {
    padding-right: 26px;
}

.alc-hero {
    height: 100%;
    border-radius: 8px;
    overflow: hidden;
}

.alc-hero .swiper-slide {
    height: auto;
}

.alc-hero .banner-image-product-4 {
    min-height: 470px;
    height: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 36px 56px 68px;
    background-size: cover;
    background-position: center;
    isolation: isolate;
}

.alc-hero .banner-image-product-4::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(20, 24, 29, .42);
    z-index: 0;
    border-radius: 8px;
}

.alc-hero .banner-image-product-4 .content {
    position: relative;
    z-index: 2;
    max-width: 600px;
    gap: 22px;
}

.alc-hero .banner-image-product-4 h2 {
    font-size: 32px;
    line-height: 40px;
}

.alc-hero .banner-image-product-4 h1 {
    font-size: 34px;
    line-height: 42px;
}

.alc-hero .alc-lead {
    max-width: 48ch;
    opacity: .82;
}

.alc-hero .alc-kicker {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    letter-spacing: .08em;
    opacity: .85;
}

.alc-hero .alc-kicker i {
    color: var(--primary);
    font-size: 15px;
}

.alc-hero .alc-hero-img {
    position: absolute;
    right: 56px;
    top: calc(50% - 12px);
    transform: translateY(-50%);
    width: 340px;
    max-width: 32%;
    aspect-ratio: 1 / 1;
    background: var(--white);
    border-radius: 8px;
    padding: 22px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0px 12px 30px -18px rgba(0, 0, 0, .45);
}

.alc-hero .alc-hero-img img {
    max-height: 100%;
    width: auto;
    object-fit: contain;
}

.alc-hero .alc-hero-dots {
    position: absolute;
    left: 56px;
    bottom: 26px;
    z-index: 3;
    justify-content: flex-start;
}

.alc-hero .alc-hero-dots .swiper-pagination-bullet {
    background: rgba(255, 255, 255, .5);
}

.alc-hero .alc-hero-dots .swiper-pagination-bullet-active {
    background: var(--white);
}

.alc-hero .alc-hero-nav {
    position: absolute;
    right: 24px;
    bottom: 22px;
    z-index: 3;
    display: flex;
    gap: 8px;
}

.alc-hero .alc-hero-nav .nav-swiper {
    position: static;
    margin: 0;
    transform: none;
    width: 40px;
    height: 40px;
    border-radius: 8px;
    background: rgba(255, 255, 255, .14);
    color: var(--white);
    border: 0;
}

.alc-hero .alc-hero-nav .nav-swiper:hover {
    background: var(--primary);
}

.alc-hero .alc-hero-nav .nav-swiper::after {
    content: none;
}

/* ---------- Плитки категорий ---------- */
.alc-tile .img-style {
    background: var(--white);
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.alc-tile .img-style img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.alc-tile .content {
    padding-top: 14px;
}

.alc-tile .content h6 {
    font-size: 15px;
    line-height: 22px;
}

.alc-tile .content .caption {
    margin-top: 2px;
}

/* ---------- Карточка товара ---------- */
/* У клиента одно фото на товар: hover-дубль убран, Onsus прятал основное фото */
.card-product .card-product-wrapper:hover .product-img .img-product {
    opacity: 1;
}

.card-product .alc-sku {
    position: absolute;
    top: 10px;
    right: 12px;
    font-size: 12px;
    color: var(--text);
}

.card-product .alc-flags {
    position: absolute;
    left: 10px;
    bottom: 10px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 5px;
}

.alc-flag {
    display: inline-block;
    padding: 4px 9px;
    border-radius: 6px;
    font-family: "Onest", sans-serif;
    font-size: 12px;
    line-height: 16px;
    font-weight: 600;
    color: var(--white);
    background: var(--secondary);
}

.alc-flag.flag-new,
.alc-flag.flag-skud {
    background: var(--primary);
}

.alc-flag.flag-cert {
    background: #0c7a34;
}

.alc-stock {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-top: 6px;
    font-size: 13px;
    line-height: 18px;
    color: #0c7a34;
}

.alc-stock i {
    font-size: 12px;
}

.alc-stock.is-ask {
    color: var(--text);
}

.card-product .alc-ask {
    font-size: 15px;
    color: var(--text-2);
}

.card-product .product-img img {
    object-fit: contain;
    background: var(--white);
}

/* ---------- Промо-плитки ---------- */
.alc-promo .img-box {
    aspect-ratio: 4 / 3;
}

.alc-promo .img-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.alc-promo .content .box-title .product-title-2:last-child {
    opacity: .8;
    max-width: 34ch;
}

/* ---------- Заявка ---------- */
.alc-request {
    position: relative;
    padding: 40px 48px;
    isolation: isolate;
    overflow: hidden;
    border-radius: 8px;
}

.alc-request::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(20, 24, 29, .55);
    z-index: -1;
}

.alc-request .ft-center {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    flex-wrap: wrap;
}

.alc-request .notice {
    display: flex;
    flex-direction: column;
    gap: 6px;
    margin: 0;
    max-width: 560px;
}

.alc-request .notice .main-title {
    display: flex;
    align-items: center;
    gap: 12px;
}

.alc-request .notice .body-text-3 {
    color: rgba(255, 255, 255, .78);
}

.alc-request .form-newsletter {
    flex: 1 1 380px;
    max-width: 520px;
}

.alc-request .subscribe-content {
    display: flex;
    gap: 10px;
}

.alc-request .subscribe-content fieldset {
    flex: 1;
    margin: 0;
    padding: 0;
    border: 0;
}

.alc-request .subscribe-email {
    width: 100%;
    height: 50px;
    border-radius: 8px;
    border: 0;
    padding: 0 18px;
}

/* ---------- SEO-блок ---------- */
.alc-seo {
    padding: 36px 40px;
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    background: var(--white);
}

.alc-seo h5,
.alc-seo h1,
.alc-seo h2 {
    /* На главной это h1, на остальных h5 - межстрочный задаём явно,
       иначе браузерные значения по умолчанию сдвигают блок на пару пикселей. */
    line-height: 25px;
    margin-bottom: 18px;
}

.alc-seo-body {
    line-height: 26px;
    color: var(--text-2);
}

.alc-seo-intro {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 48px;
}

.alc-seo-body p {
    margin-bottom: 14px;
}

.alc-seo-body .body-text {
    margin: 18px 0 10px;
}

.alc-seo-h {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 24px;
    color: var(--secondary);
    margin: 26px 0 10px;
}

.alc-seo-grid > div > .alc-seo-h:first-child {
    margin-top: 0;
}

.alc-seo-body a.link {
    color: var(--secondary);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.alc-seo-body a.link:hover {
    color: var(--primary);
}

.alc-seo-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0 48px;
    padding-top: 4px;
}

.alc-list {
    padding-left: 0;
    list-style: none;
    margin-bottom: 14px;
}

.alc-list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 8px;
    font-size: 16px;
    line-height: 26px;
}

.alc-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 8px;
    height: 2px;
    background: var(--primary);
}

.alc-seo-toggle {
    margin-top: 6px;
    display: inline-flex;
    gap: 8px;
}

.alc-seo-toggle i {
    font-size: 11px;
    transition: transform .25s ease;
}

.alc-seo-toggle[aria-expanded="true"] i {
    transform: rotate(180deg);
}

.alc-seo-toggle .when-open,
.alc-seo-toggle.collapsed .when-closed {
    display: inline;
}

.alc-seo-toggle .when-closed,
.alc-seo-toggle.collapsed .when-open {
    display: none;
}

/* ---------- Подвал ---------- */
.tf-footer .method-payment p {
    max-width: 34ch;
    line-height: 22px;
}

.tf-footer .ft-logo .logo-site img {
    height: 60px;
    width: auto;
}

.tf-footer .ft-bottom {
    justify-content: space-between;
}

/* ---------- Кнопка «наверх» с кольцом прогресса ---------- */
#goTop {
    right: 24px;
    bottom: 24px;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    border: 0;
    background: var(--white);
    color: var(--gray);
    box-shadow: 0px 6px 18px -8px rgba(0, 0, 0, .35);
}

#goTop .border-progress {
    top: -3px;
    left: -3px;
    width: calc(100% + 6px);
    height: calc(100% + 6px);
    border-radius: 50%;
    border: 3px solid var(--primary);
}

#goTop .icon {
    display: block;
    font-size: 18px;
}

#goTop:hover {
    color: var(--primary);
}

/* ---------- WhatsApp слева с пульсацией ---------- */
.alc-wa {
    position: fixed;
    left: 24px;
    bottom: 24px;
    z-index: 100;
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: #25d366;
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 32px;
    box-shadow: 0px 8px 22px -10px rgba(37, 211, 102, .9);
}

.alc-wa:hover {
    color: var(--white);
    background: #1fb95a;
}

.alc-wa-pulse {
    position: absolute;
    inset: 0;
    border-radius: 50%;
    border: 2px solid #25d366;
    animation: alc-pulse 2.2s ease-out infinite;
}

@keyframes alc-pulse {
    0% {
        transform: scale(1);
        opacity: .8;
    }

    100% {
        transform: scale(1.7);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .alc-wa-pulse {
        animation: none;
    }
}

/* ---------- Мобильные ---------- */
.tf-toolbar-bottom .toolbar-item a .toolbar-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
}

.tf-toolbar-bottom .toolbar-item a .toolbar-icon i {
    font-size: 22px;
    line-height: 1;
    color: var(--gray);
}

.canvas-mb .logo-site img {
    height: 40px;
    width: auto;
}

@media (max-width: 1399.98px) {
    .alc-hero .banner-image-product-4 h2 {
        font-size: 27px;
        line-height: 35px;
    }

    .alc-hero .alc-hero-img {
        width: 260px;
        right: 32px;
    }
}

@media (max-width: 1199.98px) {
    .alc-hero .banner-image-product-4 {
        padding: 26px 36px 66px;
    }

    .alc-hero .alc-hero-dots {
        left: 36px;
    }

}

@media (max-width: 991.98px) {
    .alc-hero .banner-image-product-4 {
        min-height: 0;
        padding: 30px 24px 68px;
    }

    .alc-hero .alc-hero-img {
        display: none;
    }

    .alc-hero .alc-hero-dots {
        left: 24px;
        bottom: 26px;
    }

    .alc-hero .alc-hero-nav {
        right: 16px;
        bottom: 16px;
    }

    .alc-seo {
        padding: 24px 20px;
    }

    .alc-seo-grid,
    .alc-seo-intro {
        grid-template-columns: 1fr;
    }

    .alc-request {
        padding: 28px 20px;
    }

    #goTop {
        bottom: 84px;
        right: 16px;
        width: 44px;
        height: 44px;
    }

    .alc-wa {
        left: 16px;
        bottom: 84px;
        width: 48px;
        height: 48px;
        font-size: 24px;
    }
}

@media (max-width: 767.98px) {
    .tf-header .logo-site img {
        height: 46px;
    }
}

@media (max-width: 575.98px) {
    .alc-hero .banner-image-product-4 h2 {
        font-size: 23px;
        line-height: 30px;
    }

    .alc-hero .banner-image-product-4 h1 {
        font-size: 26px;
        line-height: 32px;
    }

}

.alc-phones-ico {
    font-size: 30px;
}

.flat-title .gap-20 {
    gap: 24px;
}

/* Навигация в одну строку под контейнер 1300 */
.header-bottom .nav-list {
    gap: 4px;
}

.header-bottom .nav-list .item-link {
    white-space: nowrap;
    padding-left: 12px;
    padding-right: 12px;
}

.header-bt-left {
    gap: 16px;
}

.alc-catalog-btn {
    padding: 11px 16px;
}

.alc-phones {
    padding-left: 18px;
    gap: 10px;
}

.alc-phone-num {
    font-size: 14px;
}

/* Табы: ряд табов прокручивается, ссылка справа не выталкивается */
.alc-tabs-title {
    display: flex;
    align-items: center;
    gap: 20px;
}

.alc-tabs-title .flat-title-tab-default {
    flex: 1;
    min-width: 0;
    overflow-x: auto;
    scrollbar-width: none;
}

.alc-tabs-title .flat-title-tab-default::-webkit-scrollbar {
    display: none;
}

.alc-tabs-title .menu-tab-line {
    flex-wrap: nowrap;
    white-space: nowrap;
}

/* ---------- Планшет ---------- */
@media (max-width: 1199.98px) {
    /* поиск без выбора категории — иначе полю не хватает места */
    .form-search-product .select-category,
    .form-search-product .br-line {
        display: none;
    }

    /* на тач-устройствах кнопки карточки видны всегда — артикул уводим влево */
    .card-product .alc-sku {
        left: 12px;
        right: auto;
    }

    .alc-promo .content .box-title .main-title-2 {
        font-size: 21px;
        line-height: 28px;
    }
}

/* ============================================================
   Ревизия 7
   ============================================================ */

/* ---------- Единая типографика ---------- */
.flat-title h5 {
    font-size: 22px;
    line-height: 28px;
}

.menu-tab-line .tab-link {
    font-size: 17px;
    line-height: 24px;
}

.card-product .name-product {
    font-size: 14px;
    line-height: 20px;
}

.card-product .price-text {
    font-size: 19px;
}

.alc-hero .banner-image-product-4 h2 {
    font-size: 30px;
    line-height: 38px;
}

.alc-hero .banner-image-product-4 h1 {
    font-size: 30px;
    line-height: 36px;
}

.alc-hero .banner-image-product-4 .main-title-3 {
    font-size: 17px;
    line-height: 24px;
}

.tf-icon-box .body-text {
    font-size: 15px;
}

/* ---------- Ссылка со стрелкой ---------- */
.alc-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray);
    white-space: nowrap;
}

.alc-link i {
    font-size: 15px;
    transition: transform .25s ease;
}

.alc-link:hover {
    color: var(--primary);
}

.alc-link:hover i {
    transform: translateX(3px);
}

.alc-link-white {
    color: var(--white);
    font-size: 15px;
}

.alc-link-white:hover {
    color: var(--white);
    text-decoration: none;
}

/* Подчёркиваем только текст. Если подчеркнуть ссылку целиком, линия идёт и
   под стрелкой, а пропуски вокруг её хвоста читаются как рваный пунктир. */
.alc-link-white:hover span {
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-decoration-skip-ink: none;
    text-underline-offset: 4px;
}

.tf-btn.alc-btn-white {
    display: inline-flex;
    gap: 8px;
    background: var(--white);
    color: var(--gray);
    padding: 12px 22px;
}

.tf-btn.alc-btn-white i {
    font-size: 16px;
    transition: transform .25s ease;
}

.tf-btn.alc-btn-white:hover {
    background: var(--primary);
    color: var(--white);
}

.tf-btn.alc-btn-white:hover i {
    transform: translateX(3px);
}

/* ---------- Стрелки слайдеров и бокового меню ---------- */
.nav-swiper i {
    font-size: 16px;
}

.tf-nav-menu .item-link::after {
    font-family: "Phosphor-Bold";
    content: "\e13a";
    font-size: 13px;
    color: var(--text);
}

.tf-nav-menu .menu-item:hover .item-link::after {
    color: var(--primary);
}

/* ---------- Промо-плитки ---------- */
.alc-promo .content .box-title .main-title-2 {
    font-size: 22px;
    line-height: 28px;
}

.alc-promo .content .box-title .product-title-2 {
    font-size: 12px;
    line-height: 18px;
    letter-spacing: .08em;
    opacity: .75;
}

.alc-promo-text {
    font-size: 14px;
    line-height: 21px;
    opacity: .85;
    max-width: 34ch;
    margin-top: 4px;
}

/* ---------- Бегущая лента производителей (CSS, без прыжков) ---------- */
.alc-marquee {
    overflow: hidden;
    border-top: 1px solid var(--gray-5);
    border-bottom: 1px solid var(--gray-5);
    mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
    -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}

.alc-marquee-track {
    display: flex;
    width: max-content;
    animation: alc-marquee 42s linear infinite;
}

.alc-marquee:hover .alc-marquee-track {
    animation-play-state: paused;
}

.alc-marquee-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-width: 230px;
    padding: 22px 36px;
    border-right: 1px solid var(--gray-5);
    text-align: center;
    white-space: nowrap;
}

.alc-marquee-item img {
    display: block;
    height: var(--h, 36px);
    width: auto;
}

.alc-marquee-cap {
    font-size: 12px;
    line-height: 16px;
    color: var(--text);
}

@keyframes alc-marquee {
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .alc-marquee-track {
        animation: none;
    }
}

/* ---------- Плавающая шапка: тень минимальная ---------- */
header.header-type-stc {
    box-shadow: 0 1px 0 var(--gray-5) !important;
}

/* ---------- Подвал ---------- */
.alc-ft-contacts {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.alc-ft-contacts li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
}

.alc-ft-contacts li > i {
    flex: none;
    font-size: 20px;
    line-height: 22px;
    color: var(--primary);
}

.alc-ft-contacts li > div {
    display: flex;
    flex-direction: column;
    gap: 1px;
}

.alc-ft-contacts span {
    font-size: 12px;
    line-height: 16px;
    color: var(--text);
}

.alc-ft-big {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 22px;
    color: var(--gray);
}

.alc-ft-mid {
    font-size: 14px;
    line-height: 20px;
    color: var(--gray);
}

.alc-ft-big:hover,
.alc-ft-mid:hover {
    color: var(--primary);
}

.alc-ft-msg {
    display: flex;
    gap: 8px;
    margin-top: 18px;
}

.alc-ft-msg-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: 1px solid var(--gray-4);
    border-radius: 8px;
    color: var(--gray);
    transition: border-color .2s ease, color .2s ease;
}

.alc-ft-msg-btn i {
    font-size: 19px;
}

.alc-ft-msg-btn:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.tf-footer .ft-menu-list li a {
    font-size: 14px;
}

.tf-footer .ft-heading {
    font-size: 16px;
    margin-bottom: 18px;
}

.tf-footer .social-list a i {
    font-size: 20px;
}

.alc-ft-bottom {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px 32px;
    flex-wrap: wrap;
    padding-top: 18px;
    border-top: 1px solid var(--gray-5);
    color: var(--text);
}

.alc-ft-bottom p {
    margin: 0;
}

.alc-ft-legal {
    display: flex;
    gap: 22px;
}

.alc-ft-legal a:hover,
.alc-ft-by a:hover {
    color: var(--primary);
}

.alc-ft-by a {
    color: var(--gray);
    font-weight: 500;
}

.tf-footer .ft-bottom {
    flex-direction: column;
    align-items: center;
    gap: 18px;
}

@media (max-width: 767.98px) {
    .alc-ft-bottom {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }

    .alc-marquee-item {
        min-width: 180px;
        padding: 16px 22px;
    }
}

.tf-footer .ft-bottom {
    padding-top: 0;
    gap: 0;
}

.alc-ft-msg {
    flex-wrap: wrap;
}

/* ---------- Ревизия 8 ---------- */

/* Плашки преимуществ — не ссылки: без прыжка иконки и без курсора-руки */
.tf-icon-box:hover .icon-box {
    transform: none;
}

.swiper.is-locked {
    cursor: default;
}

/* Стрелки прячем, когда листать нечего */
.flat-title .box-btn-slide.is-hidden {
    display: none;
}

/* Подвал: отступ снизу и соцсети в первом столбце */
/* низ подвала */
.tf-footer .ft-body-bottom {
    padding-bottom: 22px;
}

.tf-footer .ft-bottom {
    padding-bottom: 0; /* у полного styles.css Onsus 50px, на главной после purge 0 */
}

/* Плавающие кнопки (WhatsApp слева 24-88px, «наверх» справа) при скролле
   в самый низ ложились на копирайт и «Powered by» — на 1280 и 1440 это
   перекрывало текст. Вместо возврата большого нижнего запаса нижняя строка
   отступает от краёв ровно на ширину кнопок. */
@media (min-width: 1200px) {
    .alc-ft-bottom {
        padding-left: 78px;
        padding-right: 78px;
    }
}

.tf-footer .ft-logo .alc-ft-msg {
    margin-top: 20px;
}

/* У Onsus колонка с логотипом не сжимается (flex-shrink: 0): на 320px строка
   с оплатой шире экрана и страница уезжает вбок на 1px. */
.tf-footer .ft-inner .ft-logo {
    min-width: 0;
    max-width: 100%;
}

.alc-ft-bottom {
    padding-bottom: 6px;
}

@media (max-width: 767.98px) {
    .tf-footer .ft-body-bottom {
        padding-bottom: 24px;
    }
}

/* ---------- Ревизия 9 ---------- */

/* Мобильные иконки шапки */
.alc-mb-icons {
    gap: 4px;
}

.alc-mb-icons .nav-icon-item {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    position: relative;
}

.alc-mb-icons .nav-icon-item i {
    font-size: 24px;
    color: var(--gray);
}

.alc-mb-icons .count-box {
    position: absolute;
    top: 2px;
    right: 0;
}

/* Бургер-меню */
.canvas-mb .nav-ul-mb .mb-menu-link {
    padding: 6px 0;
    line-height: 24px;
    min-height: 0;
}

.canvas-mb .nav-ul-mb .nav-mb-item {
    padding: 4px 0;
}

.canvas-mb .nav-ul-mb .mb-menu-link > span:first-child {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 15px;
}

.canvas-mb .nav-ul-mb .mb-menu-link > span:first-child i {
    font-size: 20px;
    color: var(--text);
    width: 22px;
    text-align: center;
}

.canvas-mb .sub-nav-menu {
    padding: 4px 0 14px 32px;
}

.canvas-mb .sub-nav-menu li a {
    padding: 8px 0;
    display: block;
    font-size: 14px;
}

.canvas-mb .mb-other-content {
    padding-top: 22px;
    margin-top: 18px;
    border-top: 1px solid var(--gray-5);
}

.alc-mb-label {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--text);
    margin-bottom: 14px;
}

.alc-mb-contacts {
    gap: 16px;
}

.canvas-mb .mb-bottom {
    padding: 14px 20px;
    border-top: 1px solid var(--gray-5);
}

.alc-mb-wa {
    gap: 10px;
}

.alc-mb-wa i {
    font-size: 22px;
    color: var(--white);
}

/* Слайдер на мобильной: заголовок в три строки */
@media (max-width: 575.98px) {
    .alc-hero .banner-image-product-4 h2 {
        font-size: 21px;
        line-height: 27px;
    }

    .alc-hero .banner-image-product-4 h1 {
        font-size: 24px;
        line-height: 30px;
    }

    .alc-hero .alc-lead {
        font-size: 14px;
        line-height: 21px;
    }
}

/* Нижняя навигация не перекрывает подвал */
@media (max-width: 1199.98px) {
    .tf-footer .ft-body-bottom {
        padding-bottom: calc(24px + 74px);
    }

    .alc-wa {
        bottom: 88px;
    }

    #goTop {
        bottom: 88px;
    }
}

/* Мобильный низ подвала: столбик, запас под тулбар и плавающие кнопки */
@media (max-width: 767.98px) {
    .tf-footer .ft-body-bottom {
        padding-bottom: calc(24px + 74px + 64px);
    }

    .alc-ft-bottom {
        gap: 8px;
    }

    .alc-ft-legal {
        flex-direction: column;
        gap: 6px;
    }
}

/* ============================================================
   ВНУТРЕННИЕ СТРАНИЦЫ (ревизия 12): о компании, сертификаты,
   бренды, новости, контакты. Компоненты Onsus + надстройка.
   ============================================================ */

/* ---------- Заголовок страницы (родной flat-title-2 Onsus) ---------- */
.alc-page-head h1 {
    font-size: 34px;
    line-height: 40px;
    letter-spacing: -.01em;
    margin-bottom: 10px;
}

.alc-page-head .product-title {
    color: var(--text-2);
}

.alc-page-head .box-title {
    /* Длинный подзаголовок раздувал левую колонку, и текст справа
       переносился под неё - первый экран оставался наполовину пустым. */
    max-width: 660px;
}

/* Без правой колонки делить нечего: подзаголовок на всю ширину, как текст. */
.alc-page-head .box-title:only-child {
    max-width: none;
}

.alc-page-head .box-text {
    max-width: 62ch;
    font-size: 16px;
    line-height: 28px;
    color: var(--gray);
}

.alc-page-head .box-text p + p {
    margin-top: 12px;
}

.alc-page-hero {
    aspect-ratio: 2.6 / 1;
    border-radius: 8px;
    overflow: hidden;
    margin-top: 30px;
}

.alc-page-hero img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* ---------- Ряды «фото + текст» (о компании) ---------- */
.alc-rows {
    display: grid;
    gap: 56px;
}

.alc-row {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 6fr);
    gap: 48px;
    align-items: center;
}

.alc-row:nth-child(even) .alc-row-img {
    order: 2;
}

.alc-row-img {
    aspect-ratio: 4 / 3;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    overflow: hidden;
    background: var(--white);
}

.alc-row-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.alc-row h2 {
    font-size: 26px;
    line-height: 32px;
    letter-spacing: -.01em;
    margin-bottom: 14px;
}

.alc-row p {
    font-size: 16px;
    line-height: 28px;
    color: var(--gray);
    max-width: 58ch;
}

.alc-row p + p {
    margin-top: 10px;
}

.alc-row .alc-list {
    margin: 14px 0 18px;
}

.alc-row .alc-link {
    margin-top: 6px;
}

/* ---------- Пункты «что мы предлагаем»: сетка с линиями, без карточек ---------- */
.alc-points {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0 40px;
}

.alc-point {
    padding: 22px 0 24px;
    border-top: 1px solid var(--gray-5);
}

.alc-point > i {
    display: block;
    font-size: 30px;
    line-height: 1;
    color: var(--primary);
    margin-bottom: 14px;
}

.alc-point b {
    display: block;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 24px;
    color: var(--secondary);
    margin-bottom: 6px;
}

.alc-point p {
    font-size: 15px;
    line-height: 25px;
    color: var(--gray);
}

/* ---------- Сертификаты ---------- */
/* Разделитель между группами документов - та же тонкая линия, что у рядов
   брендов и пунктов «Что мы предлагаем», один язык на всех страницах. */
.alc-certs-group + .alc-certs-group {
    margin-top: 48px;
    padding-top: 44px;
    border-top: 1px solid var(--gray-5);
}

.alc-certs-group h2 {
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 6px;
}

.alc-certs-group > p {
    color: var(--text-2);
    max-width: 70ch;
    margin-bottom: 22px;
}

.alc-certs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 34px 30px;
}

.alc-cert {
    display: block;
    color: inherit;
}

.alc-cert-img {
    display: block;
    aspect-ratio: 1 / 1.2;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    overflow: hidden;
    background: var(--white);
    position: relative;
    padding: 14px;
}

.alc-cert-img img {
    width: 100%;
    height: 100%;
    /* документы разной ориентации: альбомный сертификат «Аридес» и
       вертикальные письма заводов - показываем лист целиком */
    object-fit: contain;
    object-position: center;
    display: block;
}

.alc-cert:hover .alc-cert-img {
    border-color: var(--secondary);
}

.alc-cert:hover .alc-cert-zoom {
    background: var(--primary);
    border-color: var(--primary);
    color: var(--white);
}

.alc-cert-zoom {
    position: absolute;
    right: 10px;
    bottom: 10px;
    width: 34px;
    height: 34px;
    border-radius: 8px;
    background: var(--white);
    border: 1px solid var(--gray-5);
    color: var(--secondary);
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.alc-cert-name {
    display: block;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 24px;
    color: var(--secondary);
    margin-top: 16px;
}

.alc-cert-doc {
    display: block;
    font-size: 15px;
    line-height: 22px;
    color: var(--primary);
    margin-top: 4px;
}

.alc-cert-term {
    display: block;
    font-size: 14px;
    line-height: 21px;
    color: var(--text);
    margin-top: 6px;
}

.alc-cert-meta {
    display: block;
    font-size: 15px;
    line-height: 24px;
    color: var(--text-2);
    margin-top: 8px;
}

.alc-cert-meta .alc-sku {
    position: static;
    font-size: 12px;
}

/* ---------- Лайтбокс (родной dialog) ---------- */
.alc-lb {
    border: 0;
    padding: 0;
    background: transparent;
    max-width: none;
    max-height: none;
    width: 100vw;
    height: 100vh;
}

.alc-lb::backdrop {
    background: rgba(20, 24, 29, .86);
}

.alc-lb-frame {
    width: 100%;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 24px 72px 20px;
    gap: 14px;
}

.alc-lb img {
    max-width: 100%;
    max-height: calc(100vh - 110px);
    border-radius: 6px;
    background: var(--white);
}

.alc-lb-cap {
    color: var(--white);
    font-size: 14px;
    line-height: 20px;
    text-align: center;
    max-width: 70ch;
    opacity: .85;
}

.alc-lb-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    border: 0;
    border-radius: 8px;
    background: rgba(255, 255, 255, .12);
    color: var(--white);
    font-size: 22px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.alc-lb-btn:hover {
    background: var(--primary);
}

.alc-lb-prev { left: 16px; }
.alc-lb-next { right: 16px; }

.alc-lb-close {
    position: absolute;
    top: 16px;
    right: 16px;
    transform: none;
}

/* ---------- Бренды ---------- */
.alc-brand-row {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 56px;
    padding: 48px 0;
    border-top: 1px solid var(--gray-5);
    scroll-margin-top: 110px;
}

.alc-brand-row:last-child {
    border-bottom: 1px solid var(--gray-5);
}

.alc-brand-logo {
    height: 170px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 28px;
    background: var(--white);
}

.alc-brand-logo img {
    max-width: 100%;
    height: var(--h, 40px);
    width: auto;
}

.alc-brand-row h2 {
    font-size: 26px;
    line-height: 32px;
    letter-spacing: -.01em;
    margin-bottom: 4px;
}

.alc-brand-maker {
    font-size: 15px;
    line-height: 24px;
    color: var(--text-2);
    margin-bottom: 18px;
    max-width: 72ch;
}

.alc-brand-row p.alc-brand-text {
    font-size: 16px;
    line-height: 28px;
    color: var(--gray);
    max-width: 66ch;
}

.alc-brand-row p.alc-brand-text + p.alc-brand-text {
    margin-top: 10px;
}

.alc-brand-docs {
    margin-top: 16px;
    font-size: 15px;
    line-height: 24px;
    color: var(--text-2);
}

.alc-brand-docs a {
    color: var(--secondary);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.alc-brand-docs a:hover {
    color: var(--primary);
}

.alc-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.alc-chips a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 9px 15px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    font-family: "Onest", sans-serif;
    font-size: 15px;
    line-height: 21px;
    color: var(--secondary);
    background: var(--white);
}

.alc-chips a:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.alc-chips a.is-all {
    font-weight: 600;
    border-color: var(--secondary);
}

/* ---------- Новости ---------- */
.alc-news-grid .news-item .entry_image {
    aspect-ratio: 16 / 10;
    border-radius: 8px;
    overflow: hidden;
    display: block;
}

.alc-news-grid .news-item .entry_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.alc-news-grid .news-item h6 {
    font-size: 18px;
    line-height: 25px;
}

.alc-news-grid .news-item .subs {
    max-width: 60ch;
}

.alc-news-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 48px;
    align-items: start;
}

.alc-news-wrap .blog-sidebar {
    display: flex !important; /* Onsus прячет сайдбар до xl, у нас он идёт в сетке */
}

.alc-sb-cta {
    padding: 22px 22px 24px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
}

.alc-sb-cta p.title {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 23px;
    color: var(--secondary);
    margin-bottom: 8px;
}

.alc-sb-cta p.text {
    font-size: 14px;
    line-height: 21px;
    color: var(--text-2);
    margin-bottom: 16px;
}

.sb-recent .image {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.sb-recent .image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* ---------- Статья ---------- */
.alc-article-wrap {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 300px;
    gap: 56px;
    align-items: start;
}

.alc-article-wrap article {
    max-width: 840px;
}

.alc-article-head h1 {
    font-size: 34px;
    line-height: 40px;
    letter-spacing: -.01em;
    margin-bottom: 14px;
}

.alc-article-head .entry_meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px 18px;
    margin-bottom: 22px;
}

.alc-article-head .entry_meta > * {
    display: flex;
    align-items: center;
    gap: 6px;
}

.alc-article-head .entry_meta p {
    margin: 0;
}

.alc-article-cover {
    aspect-ratio: 16 / 9;
    border-radius: 8px;
    overflow: hidden;
    margin-bottom: 30px;
}

.alc-article-cover img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.alc-article {
    color: var(--text-2);
    line-height: 28px;
    font-size: 16px;
}

.alc-article p {
    margin-bottom: 16px;
}

.alc-article h2 {
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -.01em;
    margin: 34px 0 12px;
    color: var(--secondary);
}

.alc-article h3 {
    font-size: 18px;
    line-height: 24px;
    margin: 24px 0 8px;
    color: var(--secondary);
}

.alc-article ul,
.alc-article ol {
    margin: 0 0 18px;
    padding-left: 0;
    list-style: none;
}

.alc-article li {
    position: relative;
    padding-left: 22px;
    margin-bottom: 8px;
}

.alc-article ul li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 12px;
    width: 10px;
    height: 2px;
    background: var(--primary);
}

.alc-article ol {
    counter-reset: alc;
}

.alc-article ol li::before {
    counter-increment: alc;
    content: counter(alc) ".";
    position: absolute;
    left: 0;
    top: 0;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    color: var(--primary);
}

.alc-article strong {
    color: var(--secondary);
    font-weight: 600;
}

/* Ссылки внутри текста статей, страниц и категорий - цветом сайта и
   подчёркиванием, иначе их не отличить от текста. */
.alc-article a {
    color: var(--primary);
    text-decoration: underline;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
}

.alc-article a:hover {
    text-decoration-thickness: 2px;
}

.alc-article a:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 2px;
    border-radius: 2px;
}

.alc-article-foot {
    margin-top: 34px;
    padding-top: 22px;
    border-top: 1px solid var(--gray-5);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.alc-share {
    display: flex;
    align-items: center;
    gap: 10px;
}

.alc-share span {
    font-size: 14px;
    color: var(--text);
}

.alc-share a {
    width: 40px;
    height: 40px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 19px;
    color: var(--secondary);
}

.alc-share a:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.alc-post-nav {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin-top: 40px;
}

.alc-post-nav a {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding: 18px 20px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    color: var(--secondary);
}

.alc-post-nav a:hover {
    border-color: var(--primary);
}

.alc-post-nav a.is-next {
    text-align: right;
    align-items: flex-end;
}

.alc-post-nav .cap {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .06em;
    color: var(--text);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.alc-post-nav .ttl {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 21px;
}

/* ---------- Контакты ---------- */
.alc-contact {
    display: grid;
    grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
    gap: 40px;
    align-items: stretch;
}

.alc-contact-info {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 30px 32px 32px;
}

.alc-contact-info h2 {
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 20px;
}

.alc-contact-info .alc-ft-contacts li {
    padding: 14px 0;
    border-top: 1px solid var(--gray-5);
}

.alc-contact-info .alc-ft-contacts li:first-child {
    border-top: 0;
    padding-top: 0;
}

.alc-contact-info .alc-ft-big {
    font-size: 20px;
    line-height: 26px;
}

.alc-contact-info .alc-ft-mid {
    font-size: 16px;
    line-height: 24px;
}

.alc-contact-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 22px;
}

.alc-contact-actions .tf-btn i {
    color: var(--white);
    font-size: 20px;
    margin-right: 8px;
}

.alc-map {
    position: relative;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    overflow: hidden;
    min-height: 420px;
}

.alc-map-link {
    position: absolute;
    left: 6px;
    z-index: 1;
    color: #eee;
    font-size: 12px;
    line-height: 14px;
}

.alc-map iframe {
    width: 100%;
    height: 100%;
    min-height: 420px;
    display: block;
    border: 0;
}

.alc-contact-form {
    display: grid;
    grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
    gap: 40px;
    margin-top: 40px;
    align-items: start;
}

.alc-form {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 30px 32px 32px;
}

.alc-form h2 {
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 6px;
}

.alc-form > p {
    color: var(--text-2);
    margin-bottom: 20px;
}

.alc-form .row-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px;
}

.alc-form fieldset {
    margin-bottom: 16px;
}

.alc-form label {
    display: block;
    font-size: 13px;
    color: var(--text);
    margin-bottom: 6px;
}

.alc-form input,
.alc-form textarea {
    width: 100%;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 12px 14px;
    font: inherit;
    color: var(--secondary);
    background: var(--white);
}

.alc-form input:focus,
.alc-form textarea:focus {
    outline: 0;
    border-color: var(--secondary);
}

.alc-form textarea {
    min-height: 120px;
    resize: vertical;
}

.alc-form .caption {
    margin-top: 12px;
}

.alc-requisites {
    padding: 30px 32px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
}

.alc-requisites h2 {
    font-size: 22px;
    line-height: 28px;
    margin-bottom: 14px;
}

.alc-requisites dl {
    margin: 0;
    display: grid;
    grid-template-columns: max-content 1fr;
    gap: 8px 18px;
    font-size: 14px;
    line-height: 22px;
}

.alc-requisites dt {
    color: var(--text);
}

.alc-requisites dd {
    margin: 0;
    color: var(--secondary);
}

.alc-requisites p {
    margin-top: 16px;
    color: var(--text-2);
    line-height: 24px;
}

/* ---------- Адаптив внутренних страниц ---------- */
@media (max-width: 1199.98px) {
    .alc-certs {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .alc-news-wrap,
    .alc-article-wrap {
        grid-template-columns: minmax(0, 1fr);
    }

    .alc-news-wrap .blog-sidebar,
    .alc-article-wrap .blog-sidebar {
        display: none !important;
    }

    .alc-brand-row {
        grid-template-columns: 200px minmax(0, 1fr);
        gap: 32px;
    }
}

@media (max-width: 991.98px) {
    .alc-page-head h1 {
        font-size: 28px;
        line-height: 34px;
    }

    .alc-page-hero {
        aspect-ratio: 2 / 1;
    }

    .alc-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 22px;
    }

    .alc-row:nth-child(even) .alc-row-img {
        order: 0;
    }

    .alc-rows {
        gap: 40px;
    }

    .alc-points {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .alc-contact,
    .alc-contact-form {
        grid-template-columns: minmax(0, 1fr);
    }

    .alc-brand-row {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
        padding: 30px 0;
    }

    .alc-brand-logo {
        height: 110px;
        max-width: 280px;
    }
}

@media (max-width: 767.98px) {
    .alc-page-head h1 {
        font-size: 28px;
        line-height: 34px;
    }

    .alc-page-hero {
        aspect-ratio: 3 / 2;
        margin-top: 20px;
    }

    .alc-row h2,
    .alc-brand-row h2 {
        font-size: 21px;
        line-height: 27px;
    }

    .alc-points {
        grid-template-columns: minmax(0, 1fr);
    }

    /* документов три, сканы плотные: на телефоне одна колонка,
       иначе лист нечитаем */
    .alc-certs {
        grid-template-columns: minmax(0, 1fr);
        gap: 26px;
    }

    .alc-cert-img {
        aspect-ratio: 1 / 1.1;
    }

    .alc-certs-group + .alc-certs-group {
        margin-top: 34px;
        padding-top: 30px;
    }

    .alc-lb-frame {
        padding: 64px 12px 16px;
    }

    .alc-lb-btn {
        width: 42px;
        height: 42px;
        top: auto;
        bottom: 14px;
        transform: none;
    }

    .alc-lb-close {
        top: 12px;
        bottom: auto;
    }

    .alc-article-head h1 {
        font-size: 28px;
        line-height: 34px;
    }

    .alc-article h2 {
        font-size: 20px;
        line-height: 26px;
    }

    .alc-post-nav {
        grid-template-columns: 1fr;
    }

    .alc-contact-info,
    .alc-form,
    .alc-requisites {
        padding: 22px 20px 24px;
    }

    .alc-form .row-2 {
        grid-template-columns: 1fr;
        gap: 0;
    }

    .alc-map,
    .alc-map iframe {
        min-height: 300px;
    }
}

/* ---------- Пониженные уровни заголовков (внутренние страницы) ---------- */
.alc-h5 {
    font-size: 22px;
    line-height: 28px;
}

.alc-h6 {
    font-size: 16px;
    line-height: 22px;
}

.alc-news-grid .news-item h2.alc-h6 {
    font-size: 18px;
    line-height: 25px;
    margin: 0;
}

.alc-marquee {
    padding: 4px 0;
}

/* ---------- 404 ---------- */
.alc-404 {
    max-width: 640px;
    margin: 0 auto;
    padding: 24px 0 8px;
}

.alc-404 h1 {
    font-size: 120px;
    line-height: 1.1;
    letter-spacing: -.03em;
    margin-bottom: 18px;
}

.alc-404 .notice {
    max-width: 34ch;
    margin: 0 auto 26px;
    line-height: 30px;
}

.alc-404-search {
    position: relative;
    max-width: 520px;
    margin: 0 auto 22px;
}

.alc-404-search input {
    width: 100%;
    height: 50px;
    padding: 0 56px 0 18px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    font: inherit;
    color: var(--secondary);
    background: var(--white);
}

.alc-404-search input:focus {
    outline: 0;
    border-color: var(--secondary);
}

.alc-404-search fieldset {
    margin: 0;
    padding: 0;
    border: 0;
}

.alc-404-search .button-submit {
    position: absolute;
    right: 5px;
    top: 5px;
    transform: none;
    margin: 0;
    width: 40px;
    height: 40px;
    border: 0;
    border-radius: 8px;
    background: var(--primary);
    color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.alc-404-search .button-submit i {
    color: var(--white);
    font-size: 18px;
}

.alc-404-search .button-submit:hover {
    background: var(--primary-2);
}

.alc-404-btns {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

@media (max-width: 767.98px) {
    .alc-404 h1 {
        font-size: 84px;
    }
}

/* ---------- Баннер внутренней страницы (как слайды главной) ---------- */
.alc-page-banner {
    position: relative;
    min-height: 320px;
    display: flex;
    align-items: center;
    padding: 48px 56px;
    border-radius: 8px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    isolation: isolate;
}

.alc-page-banner::before {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(20, 24, 29, .42);
    z-index: 0;
}

.alc-page-banner-content {
    position: relative;
    z-index: 1;
    max-width: 640px;
}

.alc-page-banner h1 {
    font-size: 36px;
    line-height: 42px;
    letter-spacing: -.01em;
    margin-bottom: 16px;
}

.alc-page-banner .alc-lead {
    font-size: 16px;
    line-height: 26px;
    opacity: .85;
    max-width: 58ch;
}

.alc-page-note {
    max-width: 70ch;
    color: var(--text-2);
    line-height: 26px;
    margin-bottom: 34px;
}

@media (max-width: 991.98px) {
    .alc-page-banner {
        min-height: 260px;
        padding: 32px 28px;
    }

    .alc-page-banner h1 {
        font-size: 28px;
        line-height: 34px;
    }
}

@media (max-width: 767.98px) {
    .alc-page-banner {
        min-height: 0;
        padding: 26px 22px 28px;
    }

    .alc-page-banner h1 {
        font-size: 26px;
        line-height: 32px;
        margin-bottom: 12px;
    }

    .alc-page-banner .alc-lead {
        font-size: 15px;
        line-height: 23px;
    }

    .alc-article-head .entry_meta {
        gap: 4px 14px;
    }
}

/* ---------- Модальное окно заявки ---------- */
.alc-modal .modal-dialog {
    max-width: 520px;
}

.alc-modal .modal-content {
    position: relative;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 34px 36px 32px;
}

.alc-modal h2 {
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -.01em;
    margin-bottom: 8px;
}

.alc-modal-lead {
    color: var(--text-2);
    line-height: 24px;
    margin-bottom: 22px;
    max-width: 44ch;
}

.alc-modal .alc-form {
    border: 0;
    border-radius: 0;
    padding: 0;
}

.alc-modal-close {
    position: absolute;
    top: 14px;
    right: 14px;
    width: 38px;
    height: 38px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    background: var(--white);
    color: var(--secondary);
    font-size: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.alc-modal-close:hover {
    border-color: var(--primary);
    color: var(--primary);
}

.alc-modal-alt {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin-top: 22px;
    padding-top: 20px;
    border-top: 1px solid var(--gray-5);
    font-size: 14px;
    line-height: 22px;
}

.alc-modal-alt span {
    color: var(--text);
}

.alc-modal-alt a {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    color: var(--secondary);
}

.alc-modal-alt a:hover {
    color: var(--primary);
}

.alc-modal-alt i {
    font-size: 18px;
    color: var(--primary);
}

.alc-modal-done {
    padding: 14px 16px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    color: var(--secondary);
    line-height: 24px;
}

@media (max-width: 575.98px) {
    .alc-modal .modal-content {
        padding: 26px 20px 24px;
    }

    .alc-modal h2 {
        font-size: 21px;
        line-height: 27px;
    }
}

/* ============================================================
   ТЕМА WORDPRESS: то, чего не было в статическом прототипе
   ============================================================ */

/* Ловушка для роботов: поле видно только им */
.alc-trap {
    position: absolute;
    left: -9999px;
    width: 1px;
    height: 1px;
    overflow: hidden;
}

/* Ответ формы */
.alc-form-note {
    margin-top: 12px;
    font-size: 14px;
    line-height: 21px;
    color: var(--text-2);
}

.alc-form-note:empty {
    margin-top: 0;
}

.alc-form-note.is-ok {
    color: #0c7a34;
}

.alc-form-note.is-error {
    color: var(--primary);
}

.alc-request .alc-form-note {
    color: var(--white);
    width: 100%;
}

/* Цена в слайде: раньше была h1, в теме h1 занят заголовком страницы */
.alc-hero .alc-hero-price {
    font-family: "Onest", sans-serif;
    /* На телефоне цена такая же, как в макете: там на её месте стоял h1,
       и правило шаблона уменьшало его до 24px. */
    font-size: 24px;
    line-height: 30px;
    margin: 0;
}

@media (min-width: 576px) {
    .alc-hero .alc-hero-price {
        font-size: 30px;
        line-height: 36px;
    }
}

/* Каталог WooCommerce в контейнере темы */
/* Сетка только у списка: класс products WooCommerce вешает и на секцию
   «Похожие», и тогда сетка вкладывалась сама в себя. */
.alc-shop ul.products {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px 24px;
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Клирфикс WooCommerce (::before/::after у списка) в grid становится
   двумя пустыми ячейками и сдвигает первый ряд. */
.woocommerce .alc-shop ul.products::before,
.woocommerce .alc-shop ul.products::after,
.alc-shop ul.products::before,
.alc-shop ul.products::after {
    content: none;
    display: none;
}

/* WooCommerce раскладывает каталог флоатами и ставит ширину в процентах
   (22.05%). В нашей сетке это давало колонки по 68px, поэтому селектор
   здесь той же силы, что у плагина. */
.woocommerce .alc-shop ul.products li.product,
.alc-shop ul.products li.product {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
    float: none;
    clear: none;
}

.woocommerce .alc-shop ul.products li.product::before,
.woocommerce .alc-shop ul.products li.product::after {
    content: none;
}

.alc-shop .woocommerce-result-count,
.alc-shop .woocommerce-ordering {
    margin-bottom: 24px;
}

@media (max-width: 1199.98px) {
    .alc-shop ul.products {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767.98px) {
    .alc-shop ul.products {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 22px 14px;
    }
}

/* Постраничная навигация списка новостей */
.wg-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    justify-content: center;
    margin: 40px 0 0;
    padding: 0;
    list-style: none;
}

.wg-pagination li a,
.wg-pagination li span {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 12px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    color: var(--secondary);
}

.wg-pagination li a:hover,
.wg-pagination li .current {
    border-color: var(--primary);
    color: var(--primary);
}

/* Текст обычной страницы */
.alc-article .alignleft {
    float: left;
    margin: 0 24px 16px 0;
}

.alc-article .alignright {
    float: right;
    margin: 0 0 16px 24px;
}

.alc-article .aligncenter {
    display: block;
    margin: 0 auto 16px;
}

.alc-article img {
    max-width: 100%;
    height: auto;
    border-radius: 8px;
}

/* ---------- Карточка товара WooCommerce ---------- */
.alc-shop .product.type-product > .woocommerce-product-gallery,
.alc-shop .product.type-product > .summary {
    margin-bottom: 40px;
}

.alc-shop div.product .product_title {
    font-family: "Onest", sans-serif;
    font-size: 28px;
    line-height: 36px;
    letter-spacing: -.01em;
    color: var(--secondary);
    margin-bottom: 14px;
}

.alc-shop div.product p.price,
.alc-shop div.product span.price {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 26px;
    line-height: 34px;
    color: var(--secondary);
    margin-bottom: 20px;
}

.alc-shop div.product .woocommerce-product-details__short-description {
    font-size: 16px;
    line-height: 28px;
    color: var(--gray);
    margin-bottom: 22px;
}

.alc-shop div.product form.cart {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px;
    margin-bottom: 24px;
}

.alc-shop div.product form.cart .quantity input {
    width: 84px;
    height: 48px;
    padding: 0 10px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    font: inherit;
    text-align: center;
    color: var(--secondary);
}

.alc-shop div.product form.cart button.button,
.alc-shop .woocommerce-message .button,
.alc-shop .cart .button,
.alc-shop .checkout-button,
.alc-shop .woocommerce-Button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 48px;
    padding: 0 26px;
    border: 0;
    border-radius: 8px;
    background: var(--primary);
    color: var(--white);
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 15px;
    cursor: pointer;
}

.alc-shop div.product form.cart button.button:hover,
.alc-shop .cart .button:hover,
.alc-shop .checkout-button:hover {
    background: var(--primary-2);
    color: var(--white);
}

.alc-shop .product_meta {
    font-size: 14px;
    line-height: 24px;
    color: var(--text-2);
    padding-top: 18px;
    border-top: 1px solid var(--gray-5);
}

.alc-shop .product_meta .sku {
    font-family: "IBM Plex Mono", monospace;
}

.alc-shop .woocommerce-tabs {
    margin-top: 12px;
}

.alc-shop .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 22px;
    margin: 0 0 22px;
    padding: 0 0 12px;
    border-bottom: 1px solid var(--gray-5);
    list-style: none;
}

.alc-shop .woocommerce-tabs ul.tabs::before,
.alc-shop .woocommerce-tabs ul.tabs li::before,
.alc-shop .woocommerce-tabs ul.tabs li::after {
    content: none;
}

.alc-shop .woocommerce-tabs ul.tabs li {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
    border-radius: 0;
}

.alc-shop .woocommerce-tabs ul.tabs li a {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: var(--text-2);
    padding: 0;
}

.alc-shop .woocommerce-tabs ul.tabs li.active a {
    color: var(--primary);
}

.alc-shop .woocommerce-tabs .panel h2,
.alc-shop .woocommerce-Reviews-title,
.alc-shop .related > h2,
.alc-shop .upsells > h2,
.alc-shop .cross-sells > h2 {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 22px;
    line-height: 28px;
    color: var(--secondary);
    margin-bottom: 22px;
}

.alc-shop .related,
.alc-shop .upsells,
.alc-shop .cross-sells {
    clear: both; /* галерея и описание товара у WooCommerce плавающие */
    margin-top: 40px;
    padding-top: 34px;
    border-top: 1px solid var(--gray-5);
}

/* Карточки внутри списков WooCommerce выравниваем по левому краю: плагин
   центрирует, наша карточка построена от левого края. */
.woocommerce .alc-shop ul.products li.product,
.alc-shop ul.products li.product {
    text-align: left;
}

/* ---------- Корзина и оформление ---------- */
.alc-shop table.shop_table {
    border-color: var(--gray-5);
    border-radius: 8px;
}

.alc-shop table.shop_table th {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    color: var(--secondary);
}

.alc-shop .cart_totals h2,
.alc-shop .woocommerce-billing-fields h3,
.alc-shop .woocommerce-additional-fields h3,
.alc-shop #order_review_heading {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 20px;
    color: var(--secondary);
}

.alc-shop .woocommerce-message,
.alc-shop .woocommerce-info,
.alc-shop .woocommerce-error {
    border-top-color: var(--primary);
    background: var(--gray-6, #f7f7f7);
    border-radius: 8px;
}

.alc-shop input[type="text"],
.alc-shop input[type="email"],
.alc-shop input[type="tel"],
.alc-shop input[type="password"],
.alc-shop textarea,
.alc-shop select {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 10px 14px;
    font: inherit;
    color: var(--secondary);
}

/* ---------- Виджеты боковой колонки ---------- */
.blog-sidebar .widget {
    margin-bottom: 30px;
}

.blog-sidebar .widget .sb-title,
.blog-sidebar .widget h2,
.blog-sidebar .widget h3 {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 22px;
    color: var(--secondary);
    margin-bottom: 14px;
}

.blog-sidebar .widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.blog-sidebar .widget li {
    padding: 8px 0;
    border-bottom: 1px solid var(--gray-5);
    font-size: 15px;
    line-height: 23px;
}

/* ---------- Корзина, оформление заказа, кабинет ----------
   Разметку рисует WooCommerce, поэтому здесь только приводим её к типографике
   и кнопкам сайта: красная заливка вместо дефолтного графита, единый радиус 8px
   и колонка входа нормальной ширины вместо растянутой на 1300px. */
.alc-woo-page .alc-page-head {
    margin-bottom: 0;
}

.alc-woo-page .alc-page-head-sec {
    padding-bottom: 18px;
}

.alc-woo-page .alc-article > .wp-block-woocommerce-cart,
.alc-woo-page .alc-article > .wp-block-woocommerce-checkout,
.alc-woo-page .alc-article > .woocommerce {
    margin-top: 8px;
}

.alc-woo-page .alc-article > *:last-child {
    margin-bottom: 0;
}

.alc-woo-page .wc-block-components-button.contained,
.alc-woo-page .woocommerce button.button,
.alc-woo-page .woocommerce a.button,
.alc-woo-page .woocommerce input.button {
    background-color: var(--primary);
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 24px;
    padding: 12px 24px;
    transition: background-color 0.3s ease-in-out;
}

.alc-woo-page .wc-block-components-button.contained:hover,
.alc-woo-page .woocommerce button.button:hover,
.alc-woo-page .woocommerce a.button:hover,
.alc-woo-page .woocommerce input.button:hover {
    background-color: var(--primary-2);
    color: #fff;
}

.alc-woo-page .wc-block-components-button.contained:focus-visible,
.alc-woo-page .woocommerce button.button:focus-visible {
    outline: 2px solid var(--primary-2);
    outline-offset: 2px;
}

.alc-woo-page .wc-block-components-title,
.alc-woo-page .woocommerce h2,
.alc-woo-page .woocommerce h3 {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    color: var(--secondary);
}

/* Классические формы плагина: вход, регистрация, восстановление пароля. */
.alc-woo-page .woocommerce-form-login,
.alc-woo-page .woocommerce-ResetPassword,
.alc-woo-page .woocommerce-form-register {
    max-width: 520px;
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 28px;
}

.alc-woo-page .woocommerce form .form-row input.input-text,
.alc-woo-page .woocommerce form .form-row textarea {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 11px 14px;
    font-size: 15px;
    line-height: 24px;
}

.alc-woo-page .woocommerce form .form-row input.input-text:focus {
    border-color: var(--primary);
    outline: none;
}

.alc-woo-page .woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0 0 24px;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.alc-woo-page .woocommerce-MyAccount-navigation li a {
    display: inline-flex;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 8px 14px;
    font-size: 15px;
    line-height: 22px;
    color: var(--secondary);
}

.alc-woo-page .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
}

.alc-woo-page .wc-block-components-sidebar-layout {
    margin-bottom: 0;
}

/* ---------- Каталог: строка сортировки и пагинация ----------
   WooCommerce отдаёт системный <select> и лавандовые квадраты страниц.
   Приводим их к элементам шаблона: рамка 1px, радиус 8px, активная
   страница — фирменным красным. */
.alc-shop .woocommerce-notices-wrapper:empty {
    display: none;
}

.alc-shop .woocommerce-result-count,
.alc-shop .woocommerce-ordering {
    margin: 0;
}

.alc-shop .woocommerce-result-count {
    font-size: 14px;
    line-height: 22px;
    color: var(--gray-2);
}

.alc-shop .woocommerce-ordering select {
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5l5-5' stroke='%236a6f74' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center;
    padding: 9px 38px 9px 14px;
    font-family: "Onest", sans-serif;
    font-size: 14px;
    line-height: 22px;
    color: var(--secondary);
    cursor: pointer;
}

.alc-shop .woocommerce-ordering select:focus {
    border-color: var(--primary);
    outline: none;
}

.alc-shop .woocommerce-pagination {
    margin-top: 40px;
    padding-top: 15px;
    border-top: 1px solid var(--gray-5);
}

.alc-shop .woocommerce-pagination ul.page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    margin: 0;
    padding: 0;
    border: 0;
    list-style: none;
}

.alc-shop .woocommerce-pagination ul.page-numbers li {
    border: 0;
    margin: 0;
    overflow: visible;
}

.alc-shop .woocommerce-pagination .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 40px;
    height: 40px;
    padding: 0 6px;
    border-radius: 8px;
    background: transparent;
    font-family: "Onest", sans-serif;
    font-size: 15px;
    font-weight: 500;
    line-height: 24px;
    color: var(--secondary);
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.alc-shop .woocommerce-pagination a.page-numbers:hover {
    color: var(--primary);
    background: var(--gray-6);
}

.alc-shop .woocommerce-pagination .page-numbers.current {
    color: var(--primary);
    font-weight: 600;
    background: transparent;
}

.alc-shop .woocommerce-pagination .page-numbers i {
    font-size: 18px;
}

/* ---------- Анимации появления и режим «меньше движения» ----------
   wow.js прячет блок инлайновым visibility: hidden и показывает его при
   прокрутке. Если пользователь отключил анимации в системе, скрипт всё равно
   успеет спрятать текст — возвращаем его принудительно. */
@media (prefers-reduced-motion: reduce) {
    .wow,
    .animated {
        visibility: visible !important;
        animation: none !important;
    }
}

/* ---------- Карточка товара ----------
   Разметку даёт WooCommerce, мы приводим её к типографике сайта: заголовок и
   цена как в каталоге, галерея с рамкой, вкладки без «таблеточного» вида. */
.single-product .alc-shop div.product {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 40px;
    align-items: start;
}

.single-product .alc-shop div.product .woocommerce-product-gallery,
.single-product .alc-shop div.product .summary {
    width: 100%;
    float: none;
    margin: 0;
}

.single-product .alc-shop div.product .woocommerce-product-gallery__wrapper,
.single-product .alc-shop div.product .woocommerce-product-gallery__image {
    border-radius: 10px;
    overflow: hidden;
}

.single-product .alc-shop div.product .woocommerce-product-gallery {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 24px;
    background: #fff;
}

.single-product .alc-shop .flex-control-thumbs {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 16px 0 0;
    padding: 0;
    list-style: none;
}

.single-product .alc-shop .flex-control-thumbs img {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    cursor: pointer;
    opacity: 0.7;
    transition: opacity 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.single-product .alc-shop .flex-control-thumbs img.flex-active,
.single-product .alc-shop .flex-control-thumbs img:hover {
    opacity: 1;
    border-color: var(--primary);
}

.single-product .alc-shop .product_title {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 30px;
    line-height: 38px;
    color: var(--secondary);
    margin: 0 0 14px;
}

.alc-single-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    margin-bottom: 14px;
}

.single-product .alc-shop .summary .price,
.single-product .alc-shop .summary .price .amount {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 36px;
    color: var(--secondary);
}

.single-product .alc-shop .summary .price {
    margin: 0 0 12px;
}

.single-product .alc-shop .summary .price .alc-ask {
    font-size: 22px;
    color: var(--primary);
}

.alc-single-meta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px 20px;
    margin-bottom: 18px;
}

.alc-single-sku {
    font-size: 14px;
    line-height: 22px;
    color: var(--gray-2);
}

.single-product .alc-shop .woocommerce-product-details__short-description {
    font-size: 16px;
    line-height: 28px;
    color: var(--gray);
    margin-bottom: 22px;
}

.single-product .alc-shop .woocommerce-product-details__short-description p {
    margin: 0 0 10px;
}

.single-product .alc-shop form.cart {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 0 18px;
}

.single-product .alc-shop form.cart .quantity input.qty {
    width: 78px;
    height: 46px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    text-align: center;
    font-family: "Onest", sans-serif;
    font-size: 15px;
}

.single-product .alc-shop form.cart button.button {
    background: var(--primary);
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 24px;
    padding: 11px 26px;
    transition: background-color 0.3s ease-in-out;
}

.single-product .alc-shop form.cart button.button:hover {
    background: var(--primary-2);
}

.alc-single-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 20px;
    margin-bottom: 20px;
}

.alc-single-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--secondary);
}

.alc-single-phone i {
    font-size: 20px;
    color: var(--primary);
}

.alc-single-phone:hover {
    color: var(--primary);
}

.single-product .alc-shop .product_meta {
    border-top: 1px solid var(--gray-5);
    padding-top: 16px;
    font-size: 14px;
    line-height: 24px;
    color: var(--gray-2);
}

.single-product .alc-shop .product_meta a {
    color: var(--secondary);
}

.single-product .alc-shop .product_meta a:hover {
    color: var(--primary);
}

/* Вкладки описания: карточка как блок описания товара в шаблоне Onsus
   (.flat-title-tab-product-des) - рамка, серая полоса вкладок, поле 30px.
   Селекторы через div.product: у стилей WooCommerce специфичность 0,4,3 и они
   грузятся после темы, короче - не перебить (вкладки оставались серыми
   «папками» с полукруглыми уголками). */
.single-product .alc-shop div.product .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: 10px;
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    background: var(--white);
    overflow: hidden;
}

/* Лента вкладок: на телефоне листается вбок. overflow-y: hidden обязательно,
   иначе лента ловит вертикальный жест и страница «залипает»; общую линию
   рисуем тенью внутрь, а не рамкой с отрицательным отступом. */
.single-product .alc-shop div.product .woocommerce-tabs ul.tabs {
    display: flex;
    flex-wrap: nowrap;
    gap: 32px;
    margin: 0;
    padding: 0 30px;
    border: 0;
    background: var(--gray-6);
    box-shadow: inset 0 -1px 0 var(--gray-5);
    list-style: none;
    white-space: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    scrollbar-width: none;
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs::-webkit-scrollbar {
    display: none;
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs::before,
.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li::before,
.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li::after,
.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li.active::before,
.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li.active::after {
    content: none;
    display: none;
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li,
.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li.active {
    flex: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: none;
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li a {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 16px 0 15px;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--gray-2);
    box-shadow: inset 0 -2px 0 transparent;
    transition: color 0.2s ease, box-shadow 0.2s ease;
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li a:hover {
    color: var(--secondary);
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--secondary);
    box-shadow: inset 0 -2px 0 var(--primary);
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li a:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: -2px;
}

/* Число отзывов на вкладке. */
.alc-tab-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 24px;
    height: 24px;
    padding: 0 7px;
    border: 1px solid var(--gray-5);
    border-radius: 999px;
    background: var(--white);
    font-size: 13px;
    line-height: 1;
    font-weight: 600;
    color: var(--secondary);
}

.single-product .alc-shop div.product .woocommerce-tabs ul.tabs li.active .alc-tab-count {
    border-color: var(--primary);
    background: var(--primary);
    color: var(--white);
}

.single-product .alc-shop div.product .woocommerce-tabs .panel {
    margin: 0;
    padding: 30px;
    font-size: 16px;
    line-height: 28px;
    color: var(--gray);
}

.single-product .alc-shop .woocommerce-Tabs-panel h2 {
    display: none;
}

.single-product .alc-shop .woocommerce-Tabs-panel p {
    margin: 0 0 12px;
}

.single-product .alc-shop .woocommerce-Tabs-panel > :last-child,
.single-product .alc-shop .woocommerce-Tabs-panel .alc-specs > :last-child {
    margin-bottom: 0;
}

/* Видео и картинки из описаний старого сайта: не шире колонки. */
.single-product .alc-shop .woocommerce-Tabs-panel .wp-video,
.single-product .alc-shop .woocommerce-Tabs-panel video,
.single-product .alc-shop .woocommerce-Tabs-panel img {
    max-width: 100%;
    height: auto;
}

@media (max-width: 767px) {
    .single-product .alc-shop div.product .woocommerce-tabs ul.tabs {
        gap: 20px;
        padding: 0 16px;
    }

    .single-product .alc-shop div.product .woocommerce-tabs ul.tabs li a {
        padding: 14px 0 13px;
        font-size: 15px;
    }

    .single-product .alc-shop div.product .woocommerce-tabs .panel {
        padding: 20px 16px;
        font-size: 15px;
        line-height: 26px;
    }
}

/* Узкий телефон: три вкладки должны помещаться без прокрутки хотя бы на 375+. */
@media (max-width: 575px) {
    .single-product .alc-shop div.product .woocommerce-tabs ul.tabs {
        gap: 16px;
        padding: 0 14px;
    }

    .single-product .alc-shop div.product .woocommerce-tabs ul.tabs li a {
        gap: 6px;
        font-size: 14px;
    }

    .alc-tab-count {
        min-width: 22px;
        height: 22px;
        padding: 0 6px;
        font-size: 12px;
    }
}

.single-product .alc-shop .related > h2,
.single-product .alc-shop .upsells > h2 {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: var(--secondary);
    margin: 0 0 22px;
}

.single-product .alc-shop .related,
.single-product .alc-shop .upsells {
    grid-column: 1 / -1;
}

@media (max-width: 991px) {
    .single-product .alc-shop div.product {
        grid-template-columns: minmax(0, 1fr);
        gap: 28px;
    }

    .single-product .alc-shop .product_title {
        font-size: 24px;
        line-height: 32px;
    }

    .single-product .alc-shop .summary .price,
    .single-product .alc-shop .summary .price .amount {
        font-size: 24px;
        line-height: 32px;
    }
}

/* Артикул уже показан строкой под ценой — в нижней строке он лишний. */
.single-product .alc-shop .product_meta .sku_wrapper {
    display: none;
}


/* ---------- Бренды: плитка логотипов в первом экране ----------
   Страница открывалась двумя абзацами текста, половина экрана пустовала.
   Плитка даёт навигацию по маркам и показывает, с кем работает компания. */
.alc-brand-nav {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 16px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.alc-brand-nav-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 12px;
    height: 100%;
    min-height: 128px;
    padding: 20px 14px;
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    background: #fff;
    text-align: center;
    transition: border-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out;
}

.alc-brand-nav-item:hover {
    border-color: var(--primary);
}

.alc-brand-nav-item img {
    height: var(--h, 34px);
    width: auto;
    max-width: 100%;
    object-fit: contain;
}

.alc-brand-nav-name {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    line-height: 24px;
    color: var(--secondary);
}

.alc-brand-nav-cap {
    font-size: 14px;
    line-height: 20px;
    color: var(--gray-2);
}

.alc-brand-nav-item:hover .alc-brand-nav-cap {
    color: var(--primary);
}

@media (max-width: 1199px) {
    .alc-brand-nav {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .alc-brand-nav {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 12px;
    }

    .alc-brand-nav-item {
        min-height: 104px;
        padding: 16px 10px;
    }
}

/* ---------- Каталог: строка сортировки и воздух до карточек ---------- */
.alc-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 12px 20px;
    margin-bottom: 30px;
}

.alc-shop-toolbar .woocommerce-result-count,
.alc-shop-toolbar .woocommerce-ordering {
    float: none;
    margin: 0;
}

.alc-shop ul.products {
    margin-top: 0;
}

/* ---------- Каталог: пагинация ---------- */
.alc-shop .woocommerce-pagination {
    margin-top: 44px;
    padding-top: 28px;
    border-top: 1px solid var(--gray-5);
}

.alc-shop .woocommerce-pagination ul.page-numbers {
    gap: 8px;
}

.alc-shop .woocommerce-pagination .page-numbers {
    min-width: 44px;
    height: 44px;
    padding: 0 10px;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    background: #fff;
    font-size: 15px;
    font-weight: 500;
    color: var(--secondary);
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out, border-color 0.3s ease-in-out;
}

.alc-shop .woocommerce-pagination a.page-numbers:hover {
    color: var(--primary);
    border-color: var(--primary);
    background: #fff;
}

.alc-shop .woocommerce-pagination .page-numbers.current {
    background: var(--primary);
    border-color: var(--primary);
    color: #fff;
    font-weight: 600;
}

.alc-shop .woocommerce-pagination .page-numbers.dots {
    border-color: transparent;
    background: transparent;
    min-width: 24px;
    padding: 0;
}

.alc-shop .woocommerce-pagination .page-numbers i {
    font-size: 16px;
}

/* ---------- Карточка товара: миниатюры по четыре в ряд ---------- */
.single-product .alc-shop .flex-control-thumbs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

/* WooCommerce задаёт миниатюре ширину 25% - внутри колонки сетки это давало
   картинку в 34 пикселя. Перебиваем селектором подлиннее, без !important. */
.single-product .alc-shop div.product .woocommerce-product-gallery ol.flex-control-thumbs li,
.single-product .alc-shop div.product .woocommerce-product-gallery ul.flex-control-thumbs li {
    width: 100%;
    float: none;
    margin: 0;
}

.single-product .alc-shop .flex-control-thumbs img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: contain;
    background: #fff;
    padding: 6px;
}

/* Главное фото не должно занимать весь экран на больших мониторах. */
.single-product .alc-shop .woocommerce-product-gallery__image img {
    max-height: 520px;
    object-fit: contain;
}

.single-product .alc-shop .woocommerce-product-gallery__image a {
    display: block;
    cursor: zoom-in;
}

/* ================== Корзина, оформление заказа, кабинет ==================
   Разметку рисует WooCommerce блоками. Приводим её к языку сайта: карточки с
   рамкой 1px и радиусом 10px, поля с радиусом 8px, красный акцент у кнопок,
   переключателей и галочек. */
.alc-woo-page .wc-block-components-title,
.alc-woo-page .wc-block-cart__totals-title,
.alc-woo-page .wc-block-components-checkout-step__title,
.alc-woo-page .wc-block-components-checkout-order-summary__title,
.alc-woo-page .wc-block-components-checkout-order-summary__title-text {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    color: var(--secondary);
    text-transform: none;
    letter-spacing: 0;
}

.alc-woo-page .wc-block-components-checkout-step__title,
.alc-woo-page .wc-block-components-title {
    font-size: 20px;
    line-height: 28px;
}

.alc-woo-page .wc-block-cart__totals-title,
.alc-woo-page .wc-block-components-checkout-order-summary__title-text {
    font-size: 16px;
    line-height: 24px;
}

/* Поля ввода и выпадающие списки.
   У плагина селектор длиннее нашего, поэтому повторяем его цепочку целиком,
   иначе поля остаются с дефолтной тёмной рамкой и радиусом 4px. */
.alc-woo-page .wc-block-components-form .wc-block-components-text-input input[type],
.alc-woo-page .wc-block-components-text-input input[type],
.alc-woo-page .wc-blocks-components-select .wc-blocks-components-select__select,
.alc-woo-page .wc-block-components-textarea {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    background: #fff;
    font-family: "Onest", sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: var(--secondary);
    padding: 22px 14px 8px;
}

.alc-woo-page .wc-block-components-textarea {
    padding: 12px 14px;
}

.alc-woo-page .wc-block-components-form .wc-block-components-text-input input[type]:focus,
.alc-woo-page .wc-block-components-text-input input[type]:focus,
.alc-woo-page .wc-blocks-components-select .wc-blocks-components-select__select:focus,
.alc-woo-page .wc-block-components-textarea:focus {
    border-color: var(--primary);
    outline: none;
    box-shadow: none;
}

.alc-woo-page .wc-block-components-form .wc-block-components-text-input label,
.alc-woo-page .wc-block-components-text-input label,
.alc-woo-page .wc-blocks-components-select .wc-blocks-components-select__label {
    color: var(--gray-2);
    font-size: 15px;
}

.alc-woo-page .wc-block-components-text-input.is-active label {
    font-size: 12px;
}

/* Переключатели способов оплаты и галочки */
.alc-woo-page .wc-block-components-radio-control__option {
    border-radius: 8px;
}

.alc-woo-page .wc-block-components-radio-control-accordion-option,
.alc-woo-page .wc-block-components-radio-control > .wc-block-components-radio-control__option {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    margin-bottom: 10px;
}

.alc-woo-page .wc-block-components-radio-control-accordion-option:has(.wc-block-components-radio-control__option-checked),
.alc-woo-page .wc-block-components-radio-control__option-checked {
    border-color: var(--primary);
}

.alc-woo-page .wc-block-components-radio-control__input,
.alc-woo-page .wc-block-components-checkbox__input,
.alc-woo-page input[type="checkbox"],
.alc-woo-page input[type="radio"] {
    accent-color: var(--primary);
}

.alc-woo-page .wc-block-components-checkbox__label,
.alc-woo-page .wc-block-components-radio-control__label {
    font-size: 15px;
    line-height: 24px;
    color: var(--secondary);
}

/* Правая колонка: сумма заказа карточкой */
.alc-woo-page .wc-block-cart__sidebar .wc-block-components-totals-wrapper,
.alc-woo-page .wc-block-checkout__sidebar .wc-block-components-order-summary,
.alc-woo-page .wc-block-checkout__sidebar .wc-block-components-totals-wrapper {
    border-color: var(--gray-5);
}

/* Карточками оформляем только содержательные блоки: контейнеры уведомлений
   пустые, с рамкой они выглядели как пустая карточка. */
.alc-woo-page .wc-block-cart__sidebar > *:not([class*="notices"]),
.alc-woo-page .wc-block-checkout__sidebar > *:not([class*="notices"]) {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 20px 22px;
    background: #fff;
}

.alc-woo-page .wc-block-components-totals-item__label {
    color: var(--gray-2);
    font-size: 15px;
}

.alc-woo-page .wc-block-components-totals-item__value {
    color: var(--secondary);
    font-weight: 600;
}

.alc-woo-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.alc-woo-page .wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: var(--secondary);
}

/* Таблица корзины */
.alc-woo-page .wc-block-cart-items__header {
    border-bottom: 1px solid var(--gray-5);
    font-size: 13px;
    letter-spacing: .04em;
    color: var(--gray-2);
}

.alc-woo-page .wc-block-cart-items__row {
    border-bottom: 1px solid var(--gray-5);
}

.alc-woo-page .wc-block-cart-item__image img {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    background: #fff;
}

.alc-woo-page .wc-block-components-product-name {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 16px;
    line-height: 24px;
    color: var(--secondary);
}

.alc-woo-page .wc-block-components-product-name:hover {
    color: var(--primary);
}

.alc-woo-page .wc-block-components-quantity-selector {
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    overflow: hidden;
}

.alc-woo-page .wc-block-components-quantity-selector__button:hover {
    color: var(--primary);
}

.alc-woo-page .wc-block-cart-item__remove-link {
    color: var(--gray-2);
}

.alc-woo-page .wc-block-cart-item__remove-link:hover {
    color: var(--primary);
}

/* Шаги оформления заказа карточками */
.alc-woo-page .wc-block-components-checkout-step {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 24px 26px;
    margin-bottom: 18px;
    background: #fff;
}

.alc-woo-page .wc-block-checkout__actions_row {
    padding-top: 6px;
}

.alc-woo-page .wc-block-checkout__terms {
    font-size: 14px;
    line-height: 22px;
    color: var(--gray-2);
}

.alc-woo-page .wc-block-checkout__terms a,
.alc-woo-page .wc-block-components-checkout-step__description a {
    color: var(--secondary);
    text-decoration: underline;
}

.alc-woo-page .wc-block-checkout__terms a:hover {
    color: var(--primary);
}

@media (max-width: 991px) {
    .alc-woo-page .wc-block-components-checkout-step {
        padding: 18px 16px;
    }

    .alc-woo-page .wc-block-cart__sidebar > *,
    .alc-woo-page .wc-block-checkout__sidebar > * {
        padding: 16px;
    }
}

/* ---------- Личный кабинет ---------- */
.alc-account-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 30px;
    align-items: start;
}

.alc-woo-page .woocommerce-form-login,
.alc-woo-page .woocommerce-ResetPassword,
.alc-woo-page .woocommerce-form-register {
    max-width: none;
    margin: 0;
    padding: 28px 30px;
}

.alc-woo-page .woocommerce form .form-row {
    margin-bottom: 16px;
}

.alc-woo-page .woocommerce form .form-row label {
    display: block;
    margin-bottom: 6px;
    font-size: 15px;
    line-height: 22px;
    color: var(--gray-2);
}

.alc-woo-page .woocommerce form .form-row .required {
    color: var(--primary);
    text-decoration: none;
}

.alc-woo-page .woocommerce form .form-row input.input-text {
    width: 100%;
    height: 46px;
}

.alc-woo-page .woocommerce .woocommerce-form-login__rememberme {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin: 0 0 0 16px;
    font-size: 15px;
    color: var(--gray);
}

.alc-woo-page .woocommerce .woocommerce-form-login__submit {
    margin: 0;
}

.alc-woo-page .woocommerce .woocommerce-LostPassword {
    margin: 14px 0 0;
    font-size: 15px;
}

.alc-woo-page .woocommerce .woocommerce-LostPassword a {
    color: var(--secondary);
}

.alc-woo-page .woocommerce .woocommerce-LostPassword a:hover {
    color: var(--primary);
}

.alc-account-aside {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 26px 28px;
    background: var(--gray-6);
}

.alc-account-aside h2 {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 18px;
    line-height: 26px;
    color: var(--secondary);
    margin: 0 0 12px;
}

.alc-account-aside ul {
    margin: 0 0 20px;
    padding: 0;
    list-style: none;
}

.alc-account-aside li {
    position: relative;
    padding-left: 26px;
    margin-bottom: 8px;
    font-size: 15px;
    line-height: 24px;
    color: var(--gray);
}

.alc-account-aside li i {
    position: absolute;
    left: 0;
    top: 4px;
    font-size: 16px;
    color: var(--primary);
}

.alc-account-aside .alc-account-help {
    border-top: 1px solid var(--gray-5);
    padding-top: 18px;
    font-size: 15px;
    line-height: 24px;
    color: var(--gray-2);
}

.alc-account-aside .alc-account-phone {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 8px;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: var(--secondary);
}

.alc-account-aside .alc-account-phone i {
    color: var(--primary);
    font-size: 20px;
}

.alc-account-aside .alc-account-phone:hover {
    color: var(--primary);
}

@media (max-width: 991px) {
    .alc-account-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 20px;
    }

    .alc-woo-page .woocommerce-form-login,
    .alc-woo-page .woocommerce-ResetPassword,
    .alc-woo-page .woocommerce-form-register {
        padding: 20px 18px;
    }

    .alc-account-aside {
        padding: 20px 18px;
    }
}

/* Пустые служебные блоки WooCommerce не должны рисоваться карточками. */
.alc-woo-page .wc-block-cart__sidebar > *:empty,
.alc-woo-page .wc-block-checkout__sidebar > *:empty,
.alc-woo-page .wc-block-components-checkout-step:empty,
.alc-woo-page .wc-block-components-notices:empty,
.alc-woo-page .wc-block-components-notices:not(:has(*)) {
    display: none;
}

/* Кнопка «Перейти к оформлению» живёт под карточкой суммы, без второй рамки. */
.alc-woo-page .wc-block-cart__submit-container {
    border: 0;
    padding: 16px 0 0;
    background: none;
}

/* Галочка «Запомнить меня» и кнопка входа в одну строку. */
.alc-woo-page .woocommerce-form-login__rememberme input[type="checkbox"] {
    width: 18px;
    height: 18px;
    margin: 0;
}

.alc-account-aside .alc-account-phone {
    display: flex;
    margin-top: 12px;
}

/* Первая строка внутри карточки суммы уже отделена рамкой самой карточки. */
.alc-woo-page .wc-block-cart__sidebar > *:not([class*="notices"]) > *:first-child,
.alc-woo-page .wc-block-checkout__sidebar > *:not([class*="notices"]) > *:first-child {
    border-top: 0;
    padding-top: 0;
}

/* Клирфикс шаблона превращался в первый элемент флекса и сдвигал
   количество и кнопку на ширину зазора. */
.single-product .alc-shop div.product form.cart::before,
.single-product .alc-shop div.product form.cart::after {
    content: none;
    display: none;
}

/* ---------- Кабинет: разделы слева, содержимое справа ---------- */
.woocommerce-account.logged-in .alc-article > .woocommerce {
    display: grid;
    grid-template-columns: 260px minmax(0, 1fr);
    gap: 30px;
    align-items: start;
}

.alc-woo-page .woocommerce-MyAccount-navigation {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 10px;
    background: #fff;
}

.alc-woo-page .woocommerce-MyAccount-navigation ul {
    display: block;
    margin: 0;
    padding: 0;
    list-style: none;
}

.alc-woo-page .woocommerce-MyAccount-navigation li {
    margin: 0;
    padding: 0;
    border: 0;
}

.alc-woo-page .woocommerce-MyAccount-navigation li::before,
.alc-woo-page .woocommerce-MyAccount-navigation li::marker {
    content: none;
}

.alc-woo-page .woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 11px 14px;
    border: 0;
    border-radius: 8px;
    font-family: "Onest", sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: var(--secondary);
    transition: color 0.3s ease-in-out, background-color 0.3s ease-in-out;
}

.alc-woo-page .woocommerce-MyAccount-navigation li a:hover {
    background: var(--gray-6);
    color: var(--primary);
}

.alc-woo-page .woocommerce-MyAccount-navigation li.is-active a {
    background: var(--primary);
    color: #fff;
    font-weight: 600;
}

.alc-woo-page .woocommerce-MyAccount-content {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 26px 28px;
    background: #fff;
    font-size: 16px;
    line-height: 28px;
    color: var(--gray);
}

.alc-woo-page .woocommerce-MyAccount-content p {
    margin: 0 0 12px;
}

.alc-woo-page .woocommerce-MyAccount-content h2,
.alc-woo-page .woocommerce-MyAccount-content h3 {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: var(--secondary);
    margin: 0 0 14px;
}

.alc-woo-page .woocommerce-MyAccount-content table {
    width: 100%;
    border-collapse: collapse;
}

.alc-woo-page .woocommerce-MyAccount-content th,
.alc-woo-page .woocommerce-MyAccount-content td {
    padding: 12px 10px;
    border-bottom: 1px solid var(--gray-5);
    text-align: left;
    font-size: 15px;
}

@media (max-width: 991px) {
    .woocommerce-account.logged-in .alc-article > .woocommerce {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }

    .alc-woo-page .woocommerce-MyAccount-navigation ul {
        display: flex;
        flex-wrap: wrap;
        gap: 6px;
    }

    .alc-woo-page .woocommerce-MyAccount-content {
        padding: 20px 18px;
    }
}

/* ---------- Пустая корзина ---------- */
.alc-empty-cart {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    padding: 54px 24px 46px;
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    background: #fff;
}

.alc-empty-cart-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 76px;
    height: 76px;
    margin-bottom: 20px;
    border-radius: 50%;
    background: var(--gray-6);
    color: var(--primary);
    font-size: 34px;
}

.alc-empty-cart h2 {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 24px;
    line-height: 32px;
    color: var(--secondary);
    margin: 0 0 10px;
}

.alc-empty-cart p {
    max-width: 52ch;
    margin: 0 0 24px;
    font-size: 16px;
    line-height: 28px;
    color: var(--gray-2);
}

.alc-empty-cart-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
}

.alc-empty-cart-actions .tf-btn {
    padding: 12px 26px;
}

/* ---------- Сообщение «товар в корзине» ---------- */
.alc-toast {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1200;
    display: flex;
    align-items: flex-start;
    gap: 14px;
    max-width: 380px;
    padding: 16px 18px;
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    background: #fff;
    box-shadow: 0 10px 30px rgba(20, 24, 29, 0.14);
    opacity: 0;
    transform: translateY(14px);
    pointer-events: none;
    transition: opacity 0.25s ease-out, transform 0.25s ease-out;
}

.alc-toast.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.alc-toast-ico {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #e8f6ec;
    color: #1f9d55;
    font-size: 18px;
}

.alc-toast-body {
    min-width: 0;
}

.alc-toast-title {
    display: block;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 15px;
    line-height: 22px;
    color: var(--secondary);
}

.alc-toast-name {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 2px 0 10px;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray-2);
}

.alc-toast-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 14px;
    align-items: center;
}

.alc-toast-actions .alc-toast-go {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: var(--primary);
}

.alc-toast-actions .alc-toast-go:hover {
    color: var(--primary-2);
}

.alc-toast-close {
    position: absolute;
    top: 8px;
    right: 8px;
    width: 26px;
    height: 26px;
    border: 0;
    border-radius: 6px;
    background: none;
    color: var(--gray-2);
    font-size: 14px;
    cursor: pointer;
}

.alc-toast-close:hover {
    color: var(--secondary);
    background: var(--gray-6);
}

/* Родную ссылку «Просмотр корзины» прячем: вместо неё сообщение. */
.card-product .added_to_cart,
.wc-block-grid__product .added_to_cart {
    display: none !important;
}

.card-product .add-to-cart.loading {
    opacity: 0.55;
    pointer-events: none;
}

.card-product .add-to-cart.is-added {
    background: #1f9d55;
    border-color: #1f9d55;
    color: #fff;
}

@media (max-width: 575px) {
    .alc-toast {
        right: 12px;
        left: 12px;
        bottom: 88px;
        max-width: none;
    }
}

/* Сетка товаров для блочных страниц (пустая корзина). */
.alc-product-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 30px 24px;
}

@media (max-width: 1199px) {
    .alc-product-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .alc-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 20px 12px;
    }
}

.alc-shortcode-products {
    margin-top: 40px;
}

/* WooCommerce раскладывает кабинет обтеканием с процентной шириной: внутри
   сетки это давало узкую колонку с текстом в столбик. Сбрасываем. */
.woocommerce-account.logged-in .alc-article > .woocommerce > .woocommerce-MyAccount-navigation,
.woocommerce-account.logged-in .alc-article > .woocommerce > .woocommerce-MyAccount-content {
    width: 100%;
    float: none;
    margin: 0;
}

/* Клирфикс .woocommerce занимал первую ячейку сетки, и колонки кабинета
   менялись местами. */
.woocommerce-account.logged-in .alc-article > .woocommerce::before,
.woocommerce-account.logged-in .alc-article > .woocommerce::after {
    content: none;
    display: none;
}

/* Внутри блочных страниц списки получают маркер-тире из типографики статьи.
   В карточке товара он лезет на иконки. */
.alc-article .card-product li::before,
.alc-article .alc-product-grid li::before {
    content: none;
}

.alc-article .card-product ul,
.alc-article .alc-product-grid ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

/* Поле «Страна/регион» шло вплотную к строке с именем. Плагин обнуляет ему
   отступ селектором из трёх классов, поэтому повторяем его цепочку. */
.alc-woo-page .wc-block-components-form .wc-block-components-checkout-step .wc-block-components-address-form__country,
.alc-woo-page .wc-block-components-address-form__country {
    margin-top: 10px;
}

/* ---------- Карточка товара: два телефона ---------- */
.alc-single-phones {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 12px 28px;
}

.alc-single-phones .alc-single-phone {
    align-items: flex-start;
    gap: 10px;
}

.alc-single-phones .alc-single-phone i {
    margin-top: 2px;
}

.alc-single-phone-body {
    display: flex;
    flex-direction: column;
    line-height: 1.25;
}

.alc-single-phone-num {
    font-size: 16px;
    line-height: 22px;
}

.alc-single-phone-cap {
    font-family: "Onest", sans-serif;
    font-weight: 400;
    font-size: 13px;
    line-height: 18px;
    color: var(--gray-2);
}

.alc-single-phone:hover .alc-single-phone-cap {
    color: var(--gray-2);
}

/* ---------- Вкладка «Характеристики» ---------- */
.alc-specs table {
    width: 100%;
    /* separate, а не collapse: иначе скругление рамки не рисуется. */
    border-collapse: separate;
    border-spacing: 0;
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    overflow: hidden;
    font-size: 15px;
    line-height: 24px;
}

.alc-specs td,
.alc-specs th {
    width: auto;
    padding: 11px 16px;
    border-bottom: 1px solid var(--gray-5);
    vertical-align: top;
    text-align: left;
    color: var(--secondary);
}

.alc-specs tr:last-child td {
    border-bottom: 0;
}

.alc-specs tr:nth-child(odd) td {
    background: var(--gray-6);
}

.alc-specs td:first-child {
    width: 40%;
    color: var(--gray-2);
}

.alc-specs p {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 24px;
    color: var(--secondary);
}

.alc-specs ul {
    margin: 0 0 12px;
    padding-left: 20px;
}

.alc-specs li {
    margin-bottom: 4px;
    font-size: 15px;
    line-height: 24px;
}

@media (max-width: 575px) {
    .alc-specs td,
    .alc-specs th {
        padding: 9px 10px;
        font-size: 14px;
        line-height: 21px;
    }

    .alc-specs td:first-child {
        width: 45%;
    }
}

/* ================== Отзывы к товарам ================== */
.single-product .alc-shop .woocommerce-Reviews-title {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: var(--secondary);
    margin: 0 0 18px;
}

.single-product .alc-shop .woocommerce-noreviews {
    margin: 0 0 20px;
    font-size: 15px;
    color: var(--gray-2);
}

.single-product .alc-shop #reviews ol.commentlist {
    display: grid;
    gap: 14px;
    margin: 0 0 32px;
    padding: 0;
    list-style: none;
}

.single-product .alc-shop #reviews ol.commentlist li {
    margin: 0;
    padding: 0;
}

.single-product .alc-shop #reviews ol.commentlist li::before {
    content: none;
}

.single-product .alc-shop #reviews .comment_container {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 18px 22px;
    background: #fff;
}

.single-product .alc-shop #reviews ol.commentlist li .comment-text {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

.single-product .alc-shop #reviews .comment-text .meta {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 10px;
    margin: 0 0 8px;
    padding-right: 110px;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray-2);
}

.single-product .alc-shop #reviews .woocommerce-review__author {
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 16px;
    color: var(--secondary);
}

.single-product .alc-shop #reviews .woocommerce-review__dash {
    display: none;
}

.single-product .alc-shop #reviews .woocommerce-review__verified {
    font-style: normal;
    color: #1f9d55;
}

.single-product .alc-shop #reviews .comment-text .star-rating {
    float: right;
    margin: 2px 0 0;
}

.single-product .alc-shop #reviews .comment-text .description p {
    margin: 0 0 10px;
    font-size: 15px;
    line-height: 26px;
    color: var(--gray);
}

.single-product .alc-shop #reviews .comment-text .description p:last-child {
    margin-bottom: 0;
}

/* Звёзды: золото вместо цвета текста */
.single-product .alc-shop .star-rating,
.single-product .alc-shop .star-rating span::before,
.single-product .alc-shop p.stars a,
.single-product .alc-shop p.stars a::before {
    color: var(--third);
}

.single-product .alc-shop .star-rating::before {
    color: var(--gray-4);
    opacity: 1;
}

.single-product .alc-shop .woocommerce-product-rating {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 12px;
}

.single-product .alc-shop .woocommerce-product-rating .star-rating {
    margin: 0;
}

.single-product .alc-shop .woocommerce-review-link {
    font-size: 14px;
    color: var(--gray-2);
}

.single-product .alc-shop .woocommerce-review-link:hover {
    color: var(--primary);
}

/* Форма отзыва */
.single-product .alc-shop #review_form_wrapper {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 24px 26px;
    background: var(--gray-6);
}

.single-product .alc-shop #reviews .comment-reply-title {
    display: block;
    font-family: "Onest", sans-serif;
    font-weight: 600;
    font-size: 20px;
    line-height: 28px;
    color: var(--secondary);
    margin: 0 0 6px;
}

.single-product .alc-shop #reviews .alc-review-note {
    margin: 0 0 18px;
    font-size: 14px;
    line-height: 22px;
    color: var(--gray-2);
}

.single-product .alc-shop #reviews .comment-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px 16px;
}

.single-product .alc-shop #reviews .comment-form > * {
    grid-column: 1 / -1;
    margin: 0;
}

.single-product .alc-shop #reviews .comment-form .comment-form-author,
.single-product .alc-shop #reviews .comment-form .comment-form-email {
    grid-column: auto;
}

.single-product .alc-shop #reviews .comment-form label {
    display: block;
    margin-bottom: 6px;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray-2);
}

.single-product .alc-shop #reviews .comment-form .required {
    color: var(--primary);
}

.single-product .alc-shop #reviews .comment-form input[type="text"],
.single-product .alc-shop #reviews .comment-form input[type="email"],
.single-product .alc-shop #reviews .comment-form textarea {
    width: 100%;
    border: 1px solid var(--gray-5);
    border-radius: 8px;
    padding: 11px 14px;
    background: #fff;
    font-family: "Onest", sans-serif;
    font-size: 15px;
    line-height: 24px;
    color: var(--secondary);
}

.single-product .alc-shop #reviews .comment-form textarea {
    min-height: 120px;
    resize: vertical;
}

.single-product .alc-shop #reviews .comment-form input:focus,
.single-product .alc-shop #reviews .comment-form textarea:focus {
    border-color: var(--primary);
    outline: none;
}

.single-product .alc-shop #reviews p.stars {
    margin: 0;
    font-size: 24px;
    line-height: 1;
}

.single-product .alc-shop #reviews p.stars a {
    width: 1.2em;
    height: 1.2em;
}

.single-product .alc-shop #reviews .comment-form-cookies-consent {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    font-size: 14px;
    line-height: 20px;
    color: var(--gray-2);
}

.single-product .alc-shop #reviews .comment-form-cookies-consent input {
    width: 16px;
    height: 16px;
    margin: 2px 0 0;
    accent-color: var(--primary);
}

.single-product .alc-shop #reviews .comment-form-cookies-consent label {
    margin: 0;
}

.single-product .alc-shop #reviews .form-submit .tf-btn {
    display: inline-flex;
    border: 0;
    padding: 12px 26px;
    cursor: pointer;
}

.alc-review-sent {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0 0 16px;
    padding: 14px 18px;
    border: 1px solid #bfe5cc;
    border-radius: 10px;
    background: #eef9f2;
    font-size: 15px;
    line-height: 22px;
    color: #1d6b3c;
}

.alc-review-sent i {
    font-size: 18px;
    color: #1f9d55;
}

@media (max-width: 767px) {
    .single-product .alc-shop #reviews .comment_container {
        padding: 16px;
    }

    .single-product .alc-shop #reviews .comment-text .meta {
        padding-right: 0;
    }

    .single-product .alc-shop #reviews .comment-text .star-rating {
        float: none;
        margin: 0 0 8px;
    }

    .single-product .alc-shop #review_form_wrapper {
        padding: 18px 16px;
    }

    .single-product .alc-shop #reviews .comment-form {
        grid-template-columns: minmax(0, 1fr);
    }
}

/* У WooCommerce правило текста отзыва с двумя id (#reviews #comments):
   рамка и отступ 50px под аватар. Аватаров нет - рамка остаётся одна,
   у карточки. */
.single-product .alc-shop #reviews #comments ol.commentlist li .comment-text {
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
}

.single-product .alc-shop #reviews #comments ol.commentlist li {
    margin: 0;
    padding: 0;
    border: 0;
    background: none;
}

.single-product .alc-shop #reviews #comments ol.commentlist li .comment_container {
    border: 1px solid var(--gray-5);
    border-radius: 10px;
    padding: 18px 22px;
    background: #fff;
}

@media (max-width: 767px) {
    .single-product .alc-shop #reviews #comments ol.commentlist li .comment_container {
        padding: 16px;
    }
}

/* ---------- Категория: текст под товарами, частые вопросы, статьи по теме ---------- */
/* Текст берёт типографику статьи (.alc-article), аккордеон - компонент
   шаблона Onsus (.faq-wrap .widget-accordion). Здесь только отступы и сброс
   оформления кнопки, которой сделан вопрос (для доступа с клавиатуры). */
.alc-cat-seo {
    padding-top: 12px;
}

.alc-cat-text > h2:first-child {
    margin-top: 0;
}

.alc-cat-block {
    margin-top: 48px;
}

.alc-cat-seo .alc-cat-text + .alc-cat-block,
.alc-cat-seo > .container > .alc-cat-block:first-child {
    margin-top: 40px;
}

.alc-cat-h2 {
    font-size: 24px;
    line-height: 30px;
    letter-spacing: -.01em;
    margin: 0 0 20px;
    color: var(--secondary);
}

.alc-cat-faq .alc-faq-q {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
}

.alc-cat-faq .accordion-title {
    width: 100%;
    margin: 0;
    padding: 6px 50px 6px 0;
    background: none;
    border: 0;
    border-radius: 0;
    font: inherit;
    font-weight: 600;
    color: var(--secondary);
    text-align: left;
}

/* Разделитель - у каждого пункта, а не только у закрытого, как в шаблоне:
   иначе под открытым ответом следующий вопрос прилипает к тексту. */
.alc-cat-faq .widget-accordion:not(:last-child) {
    border-bottom: 1px solid var(--gray-5);
    margin-bottom: 10px;
}

.alc-cat-faq .widget-accordion:not(:last-child) .accordion-title.collapsed {
    padding-bottom: 16px;
    border-bottom: 0;
    margin-bottom: 0;
}

.alc-cat-faq .accordion-title:hover .title-sidebar {
    color: var(--primary);
}

.alc-cat-faq .accordion-title:focus-visible {
    outline: 2px solid var(--primary);
    outline-offset: 4px;
}

.alc-cat-faq .accordion-body {
    padding: 4px 50px 18px 0;
}

.alc-cat-faq .accordion-body p {
    margin: 0;
    color: var(--text-2);
    font-size: 16px;
    line-height: 26px;
}

.alc-cat-articles .news-item h3.alc-h6 {
    font-size: 18px;
    line-height: 25px;
    margin: 0;
}

/* Карточка товара - сетка из двух колонок (фото и описание); блок статей,
   как и «Похожие», занимает всю ширину. */
.alc-product-articles {
    grid-column: 1 / -1;
    margin-top: 48px;
}

@media (max-width: 767px) {
    .alc-cat-block,
    .alc-product-articles {
        margin-top: 36px;
    }

    .alc-cat-h2 {
        font-size: 20px;
        line-height: 26px;
    }

    .alc-cat-faq .accordion-title {
        padding-right: 44px;
    }

    .alc-cat-faq .accordion-body {
        padding-right: 0;
    }
}
