/* Kozadoma Shop — правки поверх Evo public CSS */

@font-face {
    font-family: TikTokSans;
    src: url('../fonts/TikTokSans18ptExpanded-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: TikTokSans;
    src: url('../fonts/TikTokSans18ptExpanded-Medium.woff2') format('woff2');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: TikTokSans;
    src: url('../fonts/TikTokSans18ptExpanded-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: TikTokSans;
    src: url('../fonts/TikTokSans18ptExpanded-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

body {
    font-family: TikTokSans, system-ui, -apple-system, 'Segoe UI', sans-serif;
}

/* ---- Шапка: одна строка (лого | меню | корзина) ---- */
.header__top .container > .row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 1.5rem;
    margin-left: 0;
    margin-right: 0;
    --bs-gutter-x: 0;
}

.header__top .container > .row > * {
    width: auto;
    max-width: none;
}

.header__top .container > .row > .header__logo,
.header__top .container > .row > .header__cart {
    padding-left: 0;
    padding-right: 0;
}

.header__logo {
    flex: 0 0 auto;
}

/* Как на оригинале kozadoma.ru: "и веселье" — отдельной более лёгкой
   строкой под "Красивое постельное белье". Раньше тут стоял display:inline,
   но это было ошибкой — на kozadoma.ru этот span именно display:block. */
.header__logo span.slogan span {
    display: block;
    font-weight: 400;
}

.header__cart {
    flex: 0 0 auto;
    z-index: 3;
}

.header__cart a {
    position: relative;
}

/* ---- Каталог / поиск / Войти+Корзина в одну строку ---- */
.header__row--utility {
    flex-wrap: nowrap;
}

.header__menu-nav {
    position: relative;
    flex: 0 0 auto;
}

/* Скругление и пропорции как у кнопки "Купить" на kozadoma.ru
   (.menu-buy>a: border-radius .375rem) — не "пилюля", а аккуратный
   прямоугольник с чуть скруглёнными углами. */
.header__menu-toggle {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    flex: 0 0 auto;
    padding: 0.5rem 0.85rem;
    border: none;
    border-radius: 0.5rem;
    background: var(--bs-orange, #fe7e00);
    color: #fff;
    font-weight: 600;
    font-size: 0.85rem;
    font-family: inherit;
    text-decoration: none;
    white-space: nowrap;
    cursor: pointer;
    transition: filter 0.2s ease, transform 0.15s ease;
}

.header__menu-toggle:hover {
    filter: brightness(1.05);
    transform: translateY(-1px);
    color: #fff;
}

.header__menu-toggle svg {
    width: 1rem;
    height: 1rem;
    flex: 0 0 auto;
    fill: currentColor;
}

/* Выпадающее меню разделов (Модели / О бренде / Покупателю) */
.header__menu-dropdown {
    position: absolute;
    top: calc(100% + 0.6rem);
    left: 0;
    min-width: 14rem;
    background: #fff;
    border-radius: 0.75rem;
    box-shadow: 0 16px 40px rgba(74, 50, 58, 0.16);
    padding: 0.5rem;
    z-index: 60;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-6px);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0.15s ease;
}

.header__menu-dropdown.is-open {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.header__menu-dropdown .navbar {
    display: block;
}

.header__menu-dropdown .nav-navbar {
    display: flex;
    flex-direction: column;
    gap: 0.15rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.header__menu-dropdown .nav-navbar .nav-link {
    display: block;
    padding: 0.6rem 0.85rem;
    border-radius: 0.5rem;
    color: #4a3b41;
    font-weight: 600;
    font-size: 0.9rem;
    text-decoration: none;
    transition: background-color 0.15s ease, color 0.15s ease;
}

.header__menu-dropdown .nav-navbar .nav-link:hover {
    background: #fdf1e9;
    color: var(--bs-orange, #fe7e00);
}

.header__search-form {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    min-width: 8rem;
    max-width: 26rem;
    background: #fff;
    border: 1.5px solid #ecdfe2;
    /* Скругление как у кнопки «Меню» (.header__menu-toggle) — единый стиль
       для всех элементов шапки вместо смешения «пилюли» и прямоугольника. */
    border-radius: 0.5rem;
    padding: 0.15rem 0.15rem 0.15rem 1rem;
}

.header__search-input {
    flex: 1 1 auto;
    min-width: 0;
    border: none;
    outline: none;
    background: transparent;
    font-size: 0.9rem;
    color: #4a3b41;
    padding: 0.5rem 0;
}

.header__search-input::placeholder {
    color: #b6a3aa;
}

.header__search-submit {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.25rem;
    height: 2.25rem;
    /* Скругление как у остальных элементов шапки (кнопка «Меню», поле поиска),
       а не круг — единый стиль вместо смешения форм. */
    border-radius: 0.5rem;
    border: none;
    background: var(--bs-orange, #fe7e00);
    color: #fff;
    cursor: pointer;
    transition: filter 0.2s ease;
}

.header__search-submit:hover {
    filter: brightness(1.05);
}

.header__search-submit svg {
    width: 1.05rem;
    height: 1.05rem;
    fill: currentColor;
}

.header__actions {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    flex: 0 0 auto;
    margin-left: auto;
}

/* Только иконки, без подписей — узнаваемость держится на самой
   пиктограмме (человечек = кабинет, сумка = корзина), title= даёт
   подсказку при наведении/скринридерам. */
.header__action-link,
.header__cart a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    /* Скругление как у остальных элементов шапки — единый стиль. */
    border-radius: 0.5rem;
    background: #fff;
    border: 1.5px solid #ecdfe2;
    color: #765e68;
    text-decoration: none;
    transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease, transform 0.15s ease;
}

.header__action-link:hover,
.header__cart a:hover {
    color: var(--bs-orange, #fe7e00);
    border-color: var(--bs-orange, #fe7e00);
    transform: translateY(-1px);
}

.header__action-link .name-block,
.header__cart .name-block {
    display: none;
}

.header__action-link .icon-block,
.header__cart .icon-block {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    height: 1.4rem;
}

.header__action-link svg,
.header__cart svg {
    width: 1.4rem;
    height: 1.4rem;
    fill: currentColor;
}

@media (max-width: 991.98px) {
    /* Тот же селектор, что и в базовом правиле (.header__top .container > .row),
       иначе специфичность класса .header__row--utility ниже и проигрывает
       базовому flex-wrap:nowrap — строка не переносится на мобильных. */
    .header__top .container > .row.header__row--utility {
        flex-wrap: wrap;
        gap: 0.6rem;
    }

    .header__search-form {
        order: 4;
        flex: 1 1 100%;
        max-width: none;
        margin-top: 0.65rem;
    }

    .header__actions {
        margin-left: 0;
    }

    .header__menu-dropdown {
        max-width: calc(100vw - 2rem);
    }
}

.header__cart .coll {
    position: absolute;
    top: -2px;
    right: -2px;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.2rem;
    border-radius: 999px;
    background: var(--bs-orange, #fe7e00);
    color: #fff;
    font-size: 0.65rem;
    line-height: 1.1rem;
    text-align: center;
    box-shadow: 0 0 0 2px #fff;
}

/* Заголовок секции каталога: кнопка + стрелки в одной строке */
.block__title--catalog {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
}

.block__title--catalog h2 {
    margin: 0;
}

.block__title-tools {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    margin-left: auto;
}

.block__title-nav .swiper-nav {
    display: flex;
    gap: 0.5rem;
}

.block__title-nav .swiper-button-prev,
.block__title-nav .swiper-button-next {
    position: static;
    width: 2.5rem;
    height: 2.5rem;
    margin: 0;
    border: 1px solid #e6d8dc;
    border-radius: 0.5rem;
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.block__title-nav .swiper-button-prev::after,
.block__title-nav .swiper-button-next::after {
    content: none;
}

.block__title-nav .swiper-button-prev svg,
.block__title-nav .swiper-button-next svg {
    width: 0.5rem;
    height: 0.875rem;
    fill: #765e68;
}

/* ---- Слайдер каталога: выровненные карточки ---- */
.slider__catalog .swiper .swiper-wrapper {
    align-items: stretch;
}

.slider__catalog .swiper .swiper-slide {
    height: auto;
    display: flex;
    width: 25%;
    box-sizing: border-box;
}

.slider__catalog .swiper .swiper-slide .catalog__item {
    width: 100% !important;
    flex: 1 1 auto !important;
    max-width: 100% !important;
    display: flex;
    padding-left: 0.75rem;
    padding-right: 0.75rem;
}

.slider__catalog .swiper .swiper-slide .catalog__item-back {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
}

.slider__catalog .swiper .swiper-slide .catalog__item-desc {
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.slider__catalog .swiper .swiper-slide .catalog__item-buy--shop {
    margin-top: auto;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: space-between !important;
}

.slider__catalog .catalog__item-buy--shop .catalog__item-price .price-tag {
    font-size: 0.95rem;
    white-space: nowrap;
}

.slider__catalog .catalog__item-buy--shop .catalog__item-buy-item {
    flex: 0 0 auto;
}

@media (max-width: 992px) {
    .slider__catalog .swiper .swiper-slide {
        width: 50%;
    }
}

@media (max-width: 576px) {
    .slider__catalog .swiper .swiper-slide {
        width: 100%;
    }
}

/* ---- Карточка: цена слева, кнопка справа ---- */
.catalog__item-buy--shop {
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.75rem;
}

.catalog__item-buy--shop .catalog__item-price {
    flex: 1 1 auto;
    min-width: 0;
    font-weight: 700;
    color: var(--bs-orange, #fe7e00);
    font-size: 0.95rem;
    line-height: 1.2;
}

.catalog__item-buy--shop .catalog__item-price .price-tag {
    margin-left: 0;
}

.catalog__item-buy--shop .catalog__item-buy-item {
    flex: 0 0 auto;
}

.catalog__item-buy-item a.shop {
    border-radius: 999px;
    min-height: 40px;
    height: auto !important;
    padding: 0.45rem 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.35rem;
    background: linear-gradient(135deg, var(--bs-orange, #fe7e00) 0%, #e86a00 100%);
    transition: transform 0.15s ease, filter 0.15s ease;
    text-decoration: none;
}

.catalog__item-buy-item a.shop span.name-block {
    display: inline !important;
    position: static;
    z-index: 1;
    color: #fff;
    font-weight: 600;
    font-size: 0.8125rem;
    line-height: 1.25;
    white-space: nowrap;
}

.catalog__item-buy-item a.shop span.icon-block {
    display: none;
}

.catalog__item-buy-item a.shop:hover {
    transform: translateY(-1px);
    filter: brightness(1.05);
    color: #fff;
}

/* Каталог /shop — сетка */
.catalog__list--shop {
    --bs-gutter-x: 1.25rem;
    --bs-gutter-y: 0;
    display: flex;
    flex-wrap: wrap;
    margin-left: calc(var(--bs-gutter-x) * -0.5);
    margin-right: calc(var(--bs-gutter-x) * -0.5);
    margin-top: calc(var(--bs-gutter-y) * -1);
    list-style: none;
    padding: 0;
}

.catalog__list--shop > li.product {
    flex: 0 0 auto;
    width: 33.333333%;
    max-width: 100%;
    margin: 0 0 1.25rem;
    padding-left: calc(var(--bs-gutter-x) * 0.5);
    padding-right: calc(var(--bs-gutter-x) * 0.5);
    list-style: none;
}

.catalog__list--shop .catalog__item {
    width: 100%;
    margin: 0;
    padding: 0;
}

.catalog-page__title {
    margin-bottom: 0.5rem;
}

/* Тулбар каталога: «Показано N товаров» + сортировка */
.kd-shop-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    flex-wrap: wrap;
    margin: 0.5rem 0 1.5rem;
}

.kd-shop-toolbar .woocommerce-result-count {
    margin: 0;
    color: #9c8790;
    font-size: 0.9rem;
}

.kd-shop-toolbar .woocommerce-ordering {
    margin: 0 0 0 auto;
}

.kd-shop-toolbar .woocommerce-ordering select.orderby {
    appearance: none;
    border: 1px solid #e6d8dc;
    border-radius: 999px;
    background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23765e68' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 0.9rem center;
    background-size: 0.85rem;
    padding: 0.55rem 2.25rem 0.55rem 1.1rem;
    color: #765e68;
    font-size: 0.9rem;
    cursor: pointer;
}

.kd-shop-toolbar .woocommerce-ordering select.orderby:focus {
    outline: none;
    border-color: #fe7e00;
    box-shadow: 0 0 0 2px rgba(254, 126, 0, 0.15);
}

@media (max-width: 575.98px) {
    .kd-shop-toolbar {
        flex-direction: column;
        align-items: flex-start;
    }

    .kd-shop-toolbar .woocommerce-ordering {
        margin-left: 0;
        width: 100%;
    }

    .kd-shop-toolbar .woocommerce-ordering select.orderby {
        width: 100%;
    }
}

.catalog__list--shop .catalog__item-image img.img-preview {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
}

@media (max-width: 991.98px) {
    .catalog__list--shop > li.product {
        width: 50%;
    }
}

@media (max-width: 575.98px) {
    .catalog__list--shop > li.product {
        width: 100%;
    }
}

body.kd-page-product div.product.kd-single-product,
.kd-page-product div.product.kd-single-product {
    display: block;
}

/* Внутренние страницы */
.kd-shop-content {
    width: 100%;
}

.kd-article {
    padding: 2rem 0 3rem;
}

.kd-page-title {
    margin-top: 0;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
    border-radius: 8px;
}

.form__lead {
    margin: 1rem 0 1.5rem;
    line-height: 1.5;
}

.form__lead a {
    color: inherit;
    text-decoration: underline;
}

.buyer__contacts-info-back {
    background: var(--bs-orange, #fe7e00) !important;
}
