

/* Start:/local/templates/plameb/assets/css/fonts.css?1789360581781*/
/* Inter — SIL Open Font License 1.1; license stored with the local font files. */
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 400;
    font-display: swap;
    src: url('/local/templates/plameb/assets/css/../fonts/inter/Inter-400.ttf') format('truetype');
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url('/local/templates/plameb/assets/css/../fonts/inter/Inter-500.ttf') format('truetype');
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 600;
    font-display: swap;
    src: url('/local/templates/plameb/assets/css/../fonts/inter/Inter-600.ttf') format('truetype');
}
@font-face {
    font-family: Inter;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url('/local/templates/plameb/assets/css/../fonts/inter/Inter-700.ttf') format('truetype');
}

/* End */


/* Start:/local/templates/plameb/template_styles.css?179191619285423*/
:root {
    --color-text: #242424;
    --color-muted: #7b7b7b;
    --color-line: #cccccc;
    --color-border: #eff0f0;
    --color-surface: #f7f7f7;
    --color-white: #ffffff;
    --color-accent: #b7864f;
    --color-brown: #5e5246;
    --container-width: 1280px;
    --page-padding: 24px;
    --radius: 7px;
    --transition: 180ms ease-out;
}

*,
*::before,
*::after {
    box-sizing: border-box;
}

html {
    color: var(--color-text);
    font-family: Inter, sans-serif;
    scroll-behavior: smooth;
}

body.site-body {
    min-width: 320px;
    margin: 0;
    background: var(--color-white);
    color: var(--color-text);
    font-size: 16px;
    line-height: 1.5;
}

.plameb-admin-warning {
    position: relative;
    z-index: 200;
    padding: 10px var(--page-padding);
    border-bottom: 1px solid #d39b00;
    background: #fff3cd;
    color: #5f4700;
    font-size: 14px;
    line-height: 1.45;
}

.plameb-system-notice {
    display: grid;
    gap: 8px;
    margin-block: 32px;
    padding: 20px;
    border: 1px solid #e4ddd4;
    background: #faf8f5;
    color: #242424;
}

.plameb-system-notice strong {
    font-size: 18px;
}

.plameb-system-notice span {
    color: #696969;
}

.hero--single .hero__slide {
    position: relative;
    opacity: 1;
    pointer-events: auto;
}

.home-catalog-sections .category-shortcuts {
    margin-top: 24px;
}

.home-real-products .catalog-grid {
    margin-top: 24px;
}

body.is-menu-open {
    overflow: hidden;
}

a {
    color: inherit;
    text-decoration: none;
}

button,
input,
select,
textarea {
    font: inherit;
}

button {
    color: inherit;
}

img {
    display: block;
    max-width: 100%;
}

.container {
    width: min(var(--container-width), calc(100% - (var(--page-padding) * 2)));
    margin-inline: auto;
}

.visually-hidden {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.button {
    display: inline-flex;
    min-height: 47px;
    align-items: center;
    justify-content: center;
    padding: 13px 22px;
    border: 1px solid transparent;
    border-radius: var(--radius);
    font-size: 16px;
    font-weight: 600;
    line-height: 1;
    transition: background-color var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}

.button:hover {
    transform: translateY(-1px);
}

.button:focus-visible,
.round-arrow:focus-visible,
.site-header button:focus-visible,
.site-header a:focus-visible,
.product-card a:focus-visible,
.product-card button:focus-visible {
    outline: 2px solid var(--color-text, #242424);
    outline-offset: 3px;
}

.site-footer a:focus-visible {
    outline: 2px solid var(--color-white);
    outline-offset: 3px;
}

.button--accent {
    background: var(--color-accent);
    color: var(--color-white);
}

.button--accent:hover {
    background: #9f7443;
}

.button--ghost {
    border-color: #f7f7f7;
    background: rgb(255 255 255 / 13%);
    color: var(--color-white);
    font-weight: 500;
}

.button--ghost:hover {
    background: rgb(255 255 255 / 22%);
}

.button--dark {
    background: var(--color-brown);
    color: var(--color-white);
    font-weight: 500;
}

/* Header */
.site-header {
    position: relative;
    z-index: 30;
    background: var(--color-white);
    border-bottom: 1px solid #e6ded4;
}

.site-header__desktop {
    display: grid;
    min-height: 84px;
    grid-template-columns: auto minmax(220px, 305px) minmax(190px, 240px) 175px 178px auto;
    gap: 12px;
    align-items: center;
    justify-content: space-between;
}

.site-header__catalog-group {
    display: flex;
    align-items: center;
    gap: 16px;
}

.site-header__menu-button {
    display: inline-flex;
    width: 24px;
    height: 44px;
    flex: 0 0 auto;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.site-header__menu-line {
    width: 15px;
    height: 2px;
    background: var(--color-text);
    transition: transform var(--transition), opacity var(--transition);
}

.site-header__menu-button[aria-expanded="true"] .site-header__menu-line:nth-child(1) {
    transform: translateY(6px) rotate(45deg);
}

.site-header__menu-button[aria-expanded="true"] .site-header__menu-line:nth-child(2) {
    opacity: 0;
}

.site-header__menu-button[aria-expanded="true"] .site-header__menu-line:nth-child(3) {
    transform: translateY(-6px) rotate(-45deg);
}

.catalog-button {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 13px;
    border-radius: var(--radius);
    background: var(--color-text);
    color: var(--color-white);
}

.catalog-button__icon {
    display: grid;
    width: 18px;
    height: 18px;
    grid-template-columns: repeat(2, 8px);
    grid-template-rows: repeat(2, 8px);
    gap: 2px;
}

.catalog-button__icon i {
    border: 1.3px solid currentColor;
}

.catalog-button__text {
    line-height: 24px;
}

.site-search {
    position: relative;
}

.site-search__input {
    width: 100%;
    min-height: 46px;
    padding: 12px 44px 12px 16px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    background: var(--color-white);
    color: var(--color-text);
    outline: none;
}

.site-search__input::placeholder {
    color: var(--color-muted);
}

.site-search__input:focus {
    border-color: var(--color-text);
    outline: none;
}

.site-search__submit {
    position: absolute;
    top: 50%;
    right: 15px;
    width: 18px;
    height: 18px;
    padding: 0;
    transform: translateY(-50%);
    border: 0;
    background: transparent;
    cursor: pointer;
}

.site-search__submit::before {
    content: "";
    position: absolute;
    inset: 1px 5px 5px 1px;
    border: 1.4px solid var(--color-muted);
    border-radius: 50%;
}

.site-search__submit::after {
    content: "";
    position: absolute;
    width: 7px;
    height: 1.4px;
    right: 1px;
    bottom: 3px;
    transform: rotate(45deg);
    transform-origin: left center;
    background: var(--color-muted);
}

.site-logo {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
}

.city-select {
    display: grid;
    min-height: 48px;
    column-gap: 10px;
    align-items: center;
    padding: 5px 10px;
    border: 0;
    border-radius: 12px;
    background: var(--color-white);
    cursor: pointer;
    grid-auto-flow: column;
    justify-content: center;
}

.city-select__pin {
    position: relative;
    width: 13px;
    height: 18px;
    border: 1.4px solid var(--color-text);
    border-radius: 9px 9px 10px 10px;
    clip-path: polygon(0 0, 100% 0, 100% 70%, 50% 100%, 0 70%);
}

.city-select__pin::after {
    content: "";
    position: absolute;
    top: 4px;
    left: 3.5px;
    width: 4px;
    height: 4px;
    border: 1px solid var(--color-text);
    border-radius: 50%;
}

.city-select__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.1;
}

.city-select__name {
    font-weight: 400;
}

.city-select__note {
    margin-top: 3px;
    color: var(--color-muted);
    font-size: 10px;
}

.city-select__chevron {
    width: 6px;
    height: 6px;
    transform: rotate(45deg) translateY(-2px);
    border-right: 1px solid var(--color-text);
    border-bottom: 1px solid var(--color-text);
}

.site-phone {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    line-height: 1.2;
    white-space: nowrap;
}

.site-phone__number {
    font-size: 16px;
}

.site-phone__note {
    margin-top: 3px;
    color: var(--color-muted);
    font-size: 9px;
}

.header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 16px;
}

.header-actions__item {
    position: relative;
    display: inline-block;
    width: 26px;
    height: 28px;
    flex: 0 0 auto;
}

.header-actions__item--favorite::before {
    content: "♡";
    position: absolute;
    inset: -4px 0 0;
    font-size: 27px;
    line-height: 1;
}

.header-actions__item--profile::before {
    content: "";
    position: absolute;
    top: 1px;
    left: 9px;
    width: 8px;
    height: 8px;
    border: 1.3px solid var(--color-text);
    border-radius: 50%;
}

.header-actions__item--profile::after {
    content: "";
    position: absolute;
    left: 4px;
    bottom: 2px;
    width: 18px;
    height: 10px;
    border: 1.3px solid var(--color-text);
    border-bottom: 0;
    border-radius: 12px 12px 0 0;
}

.header-actions__item--cart::before {
    content: "";
    position: absolute;
    left: 4px;
    bottom: 5px;
    width: 18px;
    height: 14px;
    transform: skew(-5deg);
    border: 1.3px solid var(--color-text);
    border-top: 0;
}

.header-actions__item--cart::after {
    content: "•  •";
    position: absolute;
    right: 1px;
    bottom: -5px;
    font-size: 14px;
    letter-spacing: 3px;
}

.header-actions__count {
    position: absolute;
    z-index: 2;
    top: -5px;
    right: -6px;
    display: inline-flex;
    min-width: 17px;
    height: 17px;
    align-items: center;
    justify-content: center;
    padding: 0 4px;
    border-radius: 999px;
    background: var(--color-text);
    color: var(--color-white);
    font-size: 9px;
    font-weight: 600;
}

.site-header__mobile {
    display: none;
}

.mobile-menu {
    position: fixed;
    z-index: 40;
    inset: 64px 0 0;
    overflow-y: auto;
    background: var(--color-white);
}

.mobile-menu[hidden] {
    display: none;
}

.mobile-menu__inner {
    padding-block: 20px 40px;
}

.mobile-menu__nav {
    display: flex;
    flex-direction: column;
    margin-top: 22px;
    border-top: 1px solid var(--color-border);
}

.mobile-menu__nav a {
    padding: 15px 0;
    border-bottom: 1px solid var(--color-border);
    font-size: 18px;
}

.mobile-menu__phone {
    display: inline-block;
    margin-top: 24px;
    font-size: 20px;
    font-weight: 600;
}

/* Hero */
.hero {
    position: relative;
    min-height: 660px;
    overflow: hidden;
    background: #242424;
    color: var(--color-white);
}

.hero__slide {
    position: absolute;
    z-index: 0;
    inset: 0;
    min-height: 660px;
    background: #242424 var(--hero-image) center / cover no-repeat;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 480ms ease, visibility 0s linear 480ms;
}

.hero__slide.is-active {
    z-index: 1;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
}

.hero__overlay {
    position: absolute;
    z-index: 1;
    inset: 0;
    background: radial-gradient(circle at center, rgb(17 17 17 / 54%) 0, rgb(17 17 17 / 70%) 100%);
}

.hero__video {
    position: absolute;
    z-index: 0;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center right;
}

.hero__container {
    position: relative;
    z-index: 2;
    display: flex;
    min-height: 660px;
    align-items: center;
    justify-content: center;
}

.hero__controls {
    position: absolute;
    z-index: 4;
    top: 0;
    bottom: 0;
    left: 50%;
    margin: 0;
    transform: translateX(-50%);
    pointer-events: none;
}

.hero__controls .hero__arrow {
    pointer-events: auto;
}

.hero__content {
    width: min(540px, 100%);
    text-align: center;
}

.hero__eyebrow {
    margin: 0 0 13px;
    font-size: 13px;
    line-height: 1;
}

.hero__title {
    margin: 0;
    font-size: 32px;
    font-weight: 600;
    line-height: 1.08;
}

.hero__actions {
    display: flex;
    gap: 12px;
    justify-content: center;
    margin-top: 22px;
}

.round-arrow {
    display: inline-flex;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 0 0 3px;
    border: 0;
    border-radius: 50%;
    background: #d2d2d2;
    color: var(--color-white);
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
    transition: opacity var(--transition), background-color var(--transition), transform var(--transition);
}

.round-arrow:hover {
    transform: scale(1.04);
}

.round-arrow--light {
    border: 1px solid rgb(255 255 255 / 52%);
    background: rgb(255 255 255 / 12%);
}

.hero__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.hero__arrow:hover {
    transform: translateY(-50%) scale(1.04);
}

.hero__arrow--prev {
    left: 0;
    opacity: 0.4;
}

.hero__arrow--next {
    right: 0;
}

.hero__counter {
    position: absolute;
    bottom: 38px;
    left: 50%;
    display: flex;
    align-items: center;
    gap: 6px;
    transform: translateX(-50%);
    font-size: 16px;
}

.hero__counter span {
    width: 61px;
    height: 1px;
    background: rgb(255 255 255 / 75%);
}

@media (max-width: 1180px) {
    :root {
        --page-padding: 28px;
    }

    .site-header__desktop {
        grid-template-columns: auto minmax(180px, 1fr) auto auto;
    }

    .site-phone {
        display: none;
    }

    .advantages__container {
        grid-template-columns: repeat(2, 1fr);
        padding-block: 28px;
    }

    .advantage-card {
        padding-block: 20px;
    }

    .advantage-card:nth-child(3) {
        border-left: 0;
    }

    .advantage-card:nth-child(n + 3) {
        border-top: 1px solid var(--color-line);
    }

    .content-grid {
        grid-template-columns: minmax(330px, 1.45fr) repeat(3, minmax(230px, 1fr));
        overflow-x: auto;
        scrollbar-width: none;
    }

    .content-grid::-webkit-scrollbar {
        display: none;
    }

    .site-footer__bottom {
        gap: 28px;
    }
}

@media (max-width: 900px) {
    :root {
        --page-padding: 20px;
    }

    .site-header__desktop {
        display: none;
    }

    .site-header__mobile {
        display: grid;
        min-height: 64px;
        grid-template-columns: 36px 1fr 36px;
        align-items: center;
    }

    .site-logo--mobile {
        font-size: 18px;
    }

    .hero,
    .hero__container {
        min-height: 560px;
    }

    .hero__container {
        padding-inline: 50px;
    }

    .hero__arrow--prev {
        left: 4px;
    }

    .hero__arrow--next {
        right: 4px;
    }

    .category-mosaic {
        height: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .category-mosaic__item {
        min-height: 300px;
        grid-column: auto;
        grid-row: auto;
    }

    .category-mosaic__item--wardrobes {
        min-height: 430px;
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .category-mosaic__content {
        left: 34px;
    }

    .product-slider__track {
        grid-auto-columns: 280px;
    }

    .product-card {
        height: 505px;
    }

    .product-card__image-link {
        height: 358px;
    }

    .product-card__favorite {
        top: 328px;
    }

    .slider__arrow {
        display: none;
    }

    .content-grid {
        grid-auto-columns: 290px;
        grid-auto-flow: column;
        grid-template-columns: none;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
    }

    .promo-card,
    .article-card {
        scroll-snap-align: start;
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .site-footer__bottom {
        grid-template-columns: 1fr;
        gap: 8px;
        padding-block: 16px;
    }
}

@media (max-width: 620px) {
    :root {
        --page-padding: 16px;
    }

    .hero,
    .hero__container {
        min-height: 520px;
    }

    .hero__container {
        width: 100%;
        padding-inline: 42px;
    }

    .hero__title {
        font-size: 28px;
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .button {
        width: 100%;
    }

    .hero__arrow {
        width: 34px;
        height: 34px;
        font-size: 23px;
    }

    .hero__counter {
        bottom: 24px;
    }

    .category-mosaic {
        display: flex;
        flex-direction: column;
    }

    .category-mosaic__item,
    .category-mosaic__item--wardrobes {
        min-height: 270px;
    }

    .category-mosaic__shade {
        opacity: 1;
    }

    .category-mosaic__content {
        left: 24px;
        opacity: 1;
    }

    .category-mosaic__title {
        font-size: 22px;
    }

    .advantages__container {
        display: block;
    }

    .advantage-card,
    .advantage-card:nth-child(3) {
        border: 0;
        border-bottom: 1px solid var(--color-line);
    }

    .advantage-card:last-child {
        border-bottom: 0;
    }

    .section-heading {
        align-items: flex-end;
    }

    .section-heading__title {
        font-size: 22px;
    }

    .section-heading__link {
        font-size: 14px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .site-footer__nav,
    .site-footer__about,
    .site-footer__about .site-footer__nav {
        width: 100%;
        padding-inline: 0;
    }

    .site-footer__contacts,
    .site-footer__nav,
    .site-footer__about {
        padding-block: 18px;
        border-bottom: 1px solid rgb(255 255 255 / 18%);
    }

    .site-footer__socials {
        width: 100%;
        justify-content: flex-start;
    }

    .site-footer__bottom {
        padding-inline: 0;
    }
}

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

    .catalog-filter-panel__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .catalog-page__title {
        font-size: 34px;
    }

    .catalog-toolbar {
        flex-wrap: wrap;
        gap: 10px 16px;
        padding-block: 10px;
    }

    .catalog-toolbar__sort {
        margin-left: auto;
    }

    .catalog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 18px;
    }

    .catalog-banner {
        height: 505px;
        padding: 30px;
    }

    .catalog-banner__title {
        font-size: 28px;
    }

    .catalog-links {
        justify-content: flex-start;
    }
}

@media (max-width: 620px) {
    .breadcrumbs__container {
        overflow: hidden;
    }

    .catalog-page__container {
        padding-bottom: 24px;
    }

    .catalog-page__title {
        height: auto;
        min-height: 62px;
        font-size: 29px;
    }

    .category-shortcuts,
    .category-shortcuts__list {
        height: 104px;
    }

    .category-shortcuts__item {
        width: 104px;
        height: 104px;
        flex-basis: 104px;
    }

    .catalog-toolbar__filter-toggle {
        order: 1;
    }

    .catalog-toolbar__count {
        order: 2;
        margin-left: auto;
        font-size: 12px;
    }

    .catalog-toolbar__sort {
        width: 100%;
        order: 3;
        margin-left: 0;
    }

    .catalog-toolbar__sort select {
        width: 100%;
        padding-left: 0;
    }

    .catalog-filter-panel {
        padding: 16px;
    }

    .catalog-filter-panel__grid {
        grid-template-columns: 1fr;
    }

    .catalog-filter-panel__actions {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .catalog-filter-panel__reset {
        align-self: center;
    }

    .catalog-grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 16px;
    }

    .catalog-banner {
        height: 440px;
        grid-column: span 1;
        padding: 24px;
    }

    .catalog-banner__title {
        font-size: 26px;
    }

    .pagination {
        gap: 2px;
    }

    .pagination__page,
    .pagination__arrow {
        width: 34px;
        height: 34px;
    }

    .catalog-links {
        margin-top: 8px;
    }

    .catalog-seo__container {
        padding-block: 34px 39px;
    }

    .catalog-seo__title {
        font-size: 25px;
    }

    .catalog-seo__text {
        font-size: 15px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .hero__slide {
        transition: none;
    }
}

/* Categories */
.category-mosaic {
    display: grid;
    height: 777px;
    grid-template-columns: repeat(18, minmax(0, 1fr));
    grid-template-rows: repeat(6, minmax(0, 1fr));
    overflow: hidden;
    border: 1px solid var(--color-surface);
}

.category-mosaic__item {
    position: relative;
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--color-surface);
    background: #d9d9d9 var(--category-image) center / cover no-repeat;
    isolation: isolate;
}

.category-mosaic__item::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: inherit;
    transition: transform 450ms ease;
}

.category-mosaic__item:hover::before {
    transform: scale(1.025);
}

.category-mosaic__item--bathroom {
    grid-column: 1 / span 8;
    grid-row: 1 / span 3;
}

.category-mosaic__item--dressers {
    grid-column: 1 / span 8;
    grid-row: 4 / span 3;
}

.category-mosaic__item--wardrobes {
    grid-column: 9 / span 10;
    grid-row: 1 / span 4;
}

.category-mosaic__item--beds {
    grid-column: 9 / span 5;
    grid-row: 5 / span 2;
}

.category-mosaic__item--facades {
    grid-column: 14 / span 5;
    grid-row: 5 / span 2;
}

.category-mosaic__shade {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(17 17 17 / 76%), rgb(17 17 17 / 18%) 65%, transparent);
    opacity: 0;
    transition: opacity var(--transition);
}

.category-mosaic__item:hover .category-mosaic__shade,
.category-mosaic__item:focus-visible .category-mosaic__shade {
    opacity: 1;
}

.category-mosaic__content {
    position: absolute;
    z-index: 1;
    top: 50%;
    left: 60px;
    display: flex;
    width: 190px;
    flex-direction: column;
    align-items: flex-start;
    transform: translateY(-50%);
    color: var(--color-white);
    opacity: 0;
    transition: opacity var(--transition), transform var(--transition);
}

.category-mosaic__item:hover .category-mosaic__content,
.category-mosaic__item:focus-visible .category-mosaic__content {
    transform: translateY(-50%) translateX(0);
    opacity: 1;
}

.category-mosaic__title {
    font-size: 25px;
    font-weight: 600;
    line-height: 1;
}

.category-mosaic__description {
    margin-top: 16px;
    font-size: 16px;
    line-height: 24px;
}

.category-mosaic__arrow {
    margin-top: 20px;
}

/* Advantages */
.advantages {
    min-height: 263px;
    background: var(--color-surface);
}

.advantages__container {
    display: grid;
    min-height: 263px;
    grid-template-columns: repeat(4, 1fr);
    align-items: center;
}

.advantage-card {
    position: relative;
    min-height: 158px;
    padding: 0 30px;
    text-align: center;
}

.advantage-card + .advantage-card {
    border-left: 1px solid var(--color-line);
}

.advantage-card__visual {
    display: flex;
    height: 59px;
    align-items: flex-start;
    justify-content: center;
    gap: 10px;
}

.advantage-card__icon {
    position: relative;
    display: inline-flex;
    width: 56px;
    height: 59px;
    align-items: center;
    justify-content: center;
    font-family: Inter, sans-serif;
    font-size: 42px;
    font-weight: 300;
    line-height: 1;
}

.advantage-card__icon--wardrobe {
    width: 42px;
    border: 1.3px solid var(--color-text);
}

.advantage-card__icon--wardrobe::before {
    content: "";
    position: absolute;
    inset: 0 50% 0 auto;
    width: 1px;
    background: var(--color-text);
}

.advantage-card__icon--wardrobe::after {
    content: "";
    position: absolute;
    top: 33px;
    left: 18px;
    width: 6px;
    height: 13px;
    background: var(--color-text);
}

.advantage-card__number-icon {
    display: block;
    width: auto;
    height: 56px;
    flex: 0 0 auto;
}

.advantage-card__title {
    margin: 10px 0 7px;
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
}

.advantage-card__text {
    max-width: 245px;
    margin: 0 auto;
    color: var(--color-muted);
    font-size: 14px;
    line-height: 1.15;
}

@media (min-width: 1181px) {
    /* Approved Figma: 1440px frame => 36px side insets, 342px columns. */
    .advantages__container {
        width: min(1368px, calc(100% - 72px));
    }

    /* Figma dividers are 116px high, vertically centered; they do not span the full card. */
    .advantage-card + .advantage-card {
        border-left: 0;
    }

    .advantage-card + .advantage-card::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 0;
        width: 1px;
        height: 116px;
        background: var(--color-line);
        transform: translateY(-50%);
    }
}


/* Shared section and sliders */
.home-section {
    position: relative;
    background: var(--color-white);
}

.home-section__container {
    position: relative;
    padding-block: 27px 24px;
}

.section-heading {
    display: flex;
    min-height: 41px;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 6px;
}

.section-heading__title {
    margin: 0;
    font-size: 25px;
    font-weight: 600;
    line-height: 1.1;
}

.section-heading__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    color: var(--color-muted);
    line-height: 24px;
    white-space: nowrap;
}

.section-heading__link:hover {
    color: var(--color-text);
}

.slider__track {
    position: relative;
    scrollbar-width: none;
}

.slider__track::-webkit-scrollbar {
    display: none;
}

.slider__arrow {
    position: absolute;
    z-index: 4;
    top: 50%;
}

.slider__arrow--prev {
    left: -56px;
}

.slider__arrow--next {
    right: -56px;
}

/* Products */
.product-slider {
    min-height: 600px;
}

.product-slider__track {
    display: grid;
    grid-auto-columns: 300px;
    grid-auto-flow: column;
    gap: 26px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
}

.product-card {
    position: relative;
    height: 523px;
    overflow: hidden;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-white);
    scroll-snap-align: start;
}

.product-card__image-link {
    position: relative;
    display: block;
    height: 376px;
    overflow: hidden;
    border-radius: 6px 6px 0 0;
    background: #f5f3f2;
}

.product-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 350ms ease;
}

.product-card:hover .product-card__image {
    transform: scale(1.02);
}

.product-card__badge {
    position: absolute;
    top: 12px;
    left: 12px;
    padding: 6px 10px;
    border-radius: var(--radius);
    font-size: 14px;
    line-height: 1;
}

.product-card__badge--hit {
    background: #d8cec2;
}

.product-card__badge--new {
    background: var(--color-brown);
    color: var(--color-white);
}

.product-card__badge--sale {
    background: var(--color-accent);
    color: var(--color-white);
}

.product-card__reviews {
    position: absolute;
    top: 15px;
    right: 14px;
    color: var(--color-muted);
    font-size: 14px;
    opacity: 0.5;
}


.product-card__favorite {
    position: absolute;
    z-index: 3;
    top: 346px;
    right: 13px;
    width: 30px;
    height: 30px;
    padding: 0;
    border: 0;
    background: transparent;
    font-size: 27px;
    line-height: 1;
    cursor: pointer;
}

.product-card__favorite.is-active {
    color: var(--color-accent);
}

.product-card__body {
    /* Figma: body starts 12px below the image and uses 16px side insets. */
    padding: 12px 16px 10px;
}

.product-card__price-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}

.product-card__price {
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
}

.product-card__installment {
    color: var(--color-muted);
    font-size: 12px;
    white-space: nowrap;
}

.product-card__title {
    margin: 7px 0 9px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.2;
}

.product-card__title a:hover {
    text-decoration: underline;
}

.product-card__size {
    margin: 0;
    color: var(--color-muted);
    font-size: 14px;
    line-height: 20px;
}

.product-card__colors {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-top: 16px;
}

.color-dot {
    display: inline-block;
    width: 18px;
    height: 18px;
    flex: 0 0 auto;
    border-radius: 50%;
}

.color-dot.is-active {
    outline: 1px solid var(--color-text);
    outline-offset: 2px;
}

.color-dot--white {
    border: 1px solid #c8c8c8;
    background: #f7f5f0;
}

.color-dot--gray {
    background: #a8a8a8;
}

.color-dot--wood {
    background: #c9a46f;
}

.product-card__more-colors {
    margin-left: 2px;
    color: var(--color-muted);
    font-size: 12px;
    white-space: nowrap;
}

/* Blog and promos */
.content-section .home-section__container {
    padding-bottom: 14px;
}

.content-grid {
    display: grid;
    grid-template-columns: 403px repeat(3, 276px);
    gap: 16px;
    overflow: hidden;
}

.promo-card {
    position: relative;
    height: 300px;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--color-brown) var(--promo-image) center / cover no-repeat;
    color: #d8cec2;
}

.promo-card::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgb(20 17 15 / 78%), rgb(20 17 15 / 16%));
}

.promo-card__badge,
.article-card__tag {
    position: absolute;
    z-index: 1;
    top: 11px;
    left: 12px;
    padding: 6px 10px;
    border-radius: 999px;
    font-size: 14px;
    line-height: 1;
}

.promo-card__badge {
    background: var(--color-brown);
    color: var(--color-white);
}

.promo-card__content {
    position: relative;
    z-index: 1;
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: flex-start;
    padding: 84px 24px 20px;
}

.promo-card__title {
    margin: 0;
    font-size: 25px;
    font-weight: 400;
    line-height: 1.02;
}

.promo-card__text {
    margin: 14px 0 18px;
    font-size: 14px;
    line-height: 1.15;
}

.promo-card .button {
    margin-top: auto;
}

.article-card {
    height: 300px;
    overflow: hidden;
    border-radius: var(--radius);
    background: var(--color-surface);
}

.article-card__image-link {
    position: relative;
    display: block;
    height: 171px;
    overflow: hidden;
}

.article-card__image {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 350ms ease;
}

.article-card:hover .article-card__image {
    transform: scale(1.025);
}

.article-card__tag {
    background: rgb(247 247 247 / 90%);
    color: var(--color-text);
}

.article-card__body {
    padding: 14px 20px 18px;
}

.article-card__title {
    margin: 0;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.04;
}

.article-card__title a:hover {
    text-decoration: underline;
}

.article-card__text {
    margin: 8px 0 0;
    color: var(--color-brown);
    font-size: 14px;
    line-height: 1.15;
}

/* Reviews */
.review-slider {
    min-height: 364px;
}

.review-slider__track {
    display: grid;
    grid-auto-columns: 287px;
    grid-auto-flow: column;
    gap: 16px;
    overflow-x: auto;
    scroll-snap-type: inline mandatory;
}

.review-card {
    display: flex;
    height: 262px;
    flex-direction: column;
    overflow: hidden;
    padding: 13px 14px 15px;
    border: 1px solid var(--color-surface);
    border-radius: var(--radius);
    background: var(--color-white);
    scroll-snap-align: start;
}

.review-card__header {
    display: grid;
    grid-template-columns: 32px 1fr auto;
    gap: 7px;
    align-items: center;
}

.review-card__avatar {
    position: relative;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: var(--color-surface);
}

.review-card__avatar::before,
.review-card__avatar::after {
    content: "";
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    border-radius: 50%;
    background: #d6d6d6;
}

.review-card__avatar::before {
    top: 7px;
    width: 7px;
    height: 7px;
}

.review-card__avatar::after {
    bottom: 6px;
    width: 14px;
    height: 7px;
    border-radius: 8px 8px 5px 5px;
}

.review-card__name {
    overflow: hidden;
    font-size: 18px;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.review-card__rating {
    color: var(--color-accent);
    font-size: 14px;
    letter-spacing: 1px;
    white-space: nowrap;
}

.review-card__meta {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    margin-top: 7px;
    color: var(--color-muted);
    font-size: 12px;
    opacity: 0.7;
}

.review-card__text {
    display: -webkit-box;
    margin: 9px 0 10px;
    overflow: hidden;
    color: var(--color-muted);
    font-size: 14px;
    line-height: 1.15;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

.review-card__image {
    width: 100%;
    min-height: 94px;
    margin-top: auto;
    border-radius: var(--radius);
    object-fit: cover;
}

/* Catalog section */
.breadcrumbs {
    min-height: 41px;
    border-bottom: 1px solid var(--color-border);
    color: var(--color-muted);
    font-size: 12px;
}

.breadcrumbs__container {
    display: flex;
    min-height: 41px;
    align-items: center;
}

.breadcrumbs__list {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    overflow: hidden;
    list-style: none;
    white-space: nowrap;
}

.breadcrumbs__item {
    display: inline-flex;
    min-width: 0;
    align-items: center;
}

.breadcrumbs__item:not(:last-child)::after {
    content: "›";
    margin: 0 8px;
    color: var(--color-line);
}

.breadcrumbs__item:last-child {
    overflow: hidden;
    color: var(--color-text);
    text-overflow: ellipsis;
}

.breadcrumbs a:hover {
    color: var(--color-text);
}

.catalog-page__container {
    padding-top: 7px;
    padding-bottom: 32px;
}

.catalog-page__title {
    display: flex;
    height: 55px;
    align-items: center;
    margin: 0;
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
}

.category-shortcuts {
    height: 110px;
    overflow: hidden;
}

.category-shortcuts__list {
    display: flex;
    gap: 14px;
    height: 110px;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    list-style: none;
    scrollbar-width: none;
}

.category-shortcuts__list::-webkit-scrollbar {
    display: none;
}

.category-shortcuts__item {
    width: 110px;
    height: 110px;
    flex: 0 0 110px;
}

.category-shortcuts__link {
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 7px;
    border: 1px solid var(--color-border);
    border-radius: var(--radius);
    background: var(--color-white);
    text-align: center;
    transition: border-color var(--transition), background-color var(--transition);
}

.category-shortcuts__link:hover {
    border-color: var(--color-line);
    background: var(--color-surface);
}

.category-shortcuts__visual {
    display: block;
    width: 49px;
    height: 49px;
    flex: 0 0 49px;
    border: 1px solid #e5e5e5;
    border-radius: 50%;
    background: var(--color-surface);
}

.category-shortcuts__name {
    display: -webkit-box;
    overflow: hidden;
    font-size: 12px;
    line-height: 1.1;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.catalog-toolbar {
    display: flex;
    min-height: 59px;
    align-items: center;
    gap: 20px;
    margin: 0;
    border-bottom: 1px solid var(--color-border);
}

.catalog-toolbar__filter-toggle {
    display: inline-flex;
    min-height: 38px;
    align-items: center;
    gap: 10px;
    padding: 8px 14px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    background: var(--color-white);
    cursor: pointer;
}

.catalog-toolbar__filter-toggle:hover,
.catalog-toolbar__filter-toggle[aria-expanded="true"] {
    border-color: var(--color-text);
}

.catalog-toolbar__filter-icon {
    position: relative;
    width: 18px;
    height: 14px;
    border-top: 1.4px solid currentColor;
    border-bottom: 1.4px solid currentColor;
}

.catalog-toolbar__filter-icon::before {
    content: "";
    position: absolute;
    top: 5px;
    left: 0;
    width: 18px;
    border-top: 1.4px solid currentColor;
}

.catalog-toolbar__filter-icon::after {
    content: "•••";
    position: absolute;
    top: -9px;
    left: 2px;
    width: 15px;
    overflow: hidden;
    color: var(--color-text);
    font-size: 13px;
    letter-spacing: 2px;
    line-height: 18px;
    transform: rotate(90deg);
}

.catalog-toolbar__count {
    color: var(--color-muted);
    font-size: 14px;
}

.catalog-toolbar__sort {
    margin-left: auto;
}

.catalog-toolbar__sort select {
    min-height: 38px;
    padding: 7px 36px 7px 12px;
    border: 0;
    background: var(--color-white);
    color: var(--color-text);
    cursor: pointer;
}

.catalog-filter-panel {
    padding: 20px;
    border: 1px solid var(--color-border);
    border-top: 0;
    background: var(--color-surface);
}

.catalog-filter-panel[hidden] {
    display: none;
}

.catalog-filter-panel__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 16px;
}

.catalog-filter-panel__field {
    display: flex;
    flex-direction: column;
    gap: 7px;
    color: var(--color-muted);
    font-size: 13px;
}

.catalog-filter-panel__field input,
.catalog-filter-panel__field select {
    width: 100%;
    min-height: 43px;
    padding: 9px 12px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    background: var(--color-white);
    color: var(--color-text);
}

.catalog-filter-panel__actions {
    display: flex;
    align-items: center;
    gap: 20px;
    margin-top: 18px;
}

.catalog-filter-panel__reset {
    padding: 8px 0;
    border: 0;
    border-bottom: 1px solid currentColor;
    background: transparent;
    color: var(--color-muted);
    cursor: pointer;
}

.catalog-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}

.catalog-grid__product {
    min-width: 0;
}

.catalog-banner {
    position: relative;
    display: flex;
    height: 523px;
    grid-column: span 2;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-end;
    overflow: hidden;
    padding: 38px;
    border-radius: var(--radius);
    background: var(--color-brown) var(--catalog-banner-image) center / cover no-repeat;
    color: var(--color-white);
    isolation: isolate;
}

.catalog-banner::before {
    content: "";
    position: absolute;
    z-index: -1;
    inset: 0;
    background: linear-gradient(180deg, rgb(25 22 20 / 8%) 24%, rgb(25 22 20 / 83%) 100%);
}

.catalog-banner--light::before {
    background: linear-gradient(180deg, rgb(53 45 38 / 14%) 20%, rgb(53 45 38 / 88%) 100%);
}

.catalog-banner__eyebrow {
    margin-bottom: 8px;
    font-size: 13px;
    opacity: 0.72;
}

.catalog-banner__title {
    max-width: 430px;
    margin: 0;
    font-size: 32px;
    font-weight: 500;
    line-height: 1.05;
}

.catalog-banner__text {
    max-width: 410px;
    margin: 13px 0 22px;
    font-size: 15px;
    line-height: 1.35;
    opacity: 0.84;
}

.catalog-banner__button {
    min-height: 44px;
}

.pagination {
    display: flex;
    height: 42px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    margin-top: 25px;
}

.pagination__page,
.pagination__arrow {
    display: inline-flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    border: 1px solid transparent;
    border-radius: 50%;
    font-size: 14px;
}

.pagination__arrow {
    border-color: var(--color-border);
    font-size: 24px;
}

.pagination__page:hover,
.pagination__page.is-current {
    background: var(--color-text);
    color: var(--color-white);
}

.pagination__arrow.is-disabled {
    pointer-events: none;
    opacity: 0.35;
}

.pagination__ellipsis {
    padding-inline: 5px;
    color: var(--color-muted);
}

.catalog-links {
    display: flex;
    min-height: 69px;
    align-items: center;
    justify-content: center;
    gap: 10px;
    overflow-x: auto;
    scrollbar-width: none;
}

.catalog-links::-webkit-scrollbar {
    display: none;
}

.catalog-links__item {
    display: inline-flex;
    min-height: 37px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 8px 16px;
    border: 1px solid var(--color-line);
    border-radius: 999px;
    color: var(--color-muted);
    font-size: 14px;
    transition: border-color var(--transition), color var(--transition);
}

.catalog-links__item:hover {
    border-color: var(--color-text);
    color: var(--color-text);
}

.advantages--catalog {
    margin-top: 0;
}

.catalog-seo__container {
    padding-block: 43px 49px;
}

.catalog-seo__title {
    margin: 0 0 17px;
    font-size: 30px;
    font-weight: 500;
    line-height: 1.1;
}

.catalog-seo__text {
    max-width: 1120px;
    color: var(--color-muted);
    font-size: 16px;
    line-height: 1.45;
}

.catalog-seo__text p {
    margin: 0;
}

.catalog-seo__text p + p {
    margin-top: 14px;
}

.breadcrumbs a:focus-visible,
.category-shortcuts__link:focus-visible,
.catalog-toolbar button:focus-visible,
.catalog-toolbar select:focus-visible,
.catalog-filter-panel input:focus-visible,
.catalog-filter-panel select:focus-visible,
.catalog-filter-panel button:focus-visible,
.pagination a:focus-visible,
.catalog-links__item:focus-visible {
    outline: 2px solid var(--color-text, #242424);
    outline-offset: 2px;
}

/* Footer */
.site-footer {
    min-height: 437px;
    background: var(--color-text);
    color: var(--color-white);
}

.site-footer__container {
    padding-top: 24px;
}

.site-footer__grid {
    display: grid;
    min-height: 344px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.site-footer__contacts,
.site-footer__nav,
.site-footer__about {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.site-footer__contacts {
    gap: 9px;
    padding: 12px 0;
}

.site-footer__contacts > a:not(.site-footer__logo) {
    color: rgb(255 255 255 / 70%);
    line-height: 24px;
}

.site-footer__logo,
.site-footer__title {
    font-size: 22px;
    font-weight: 600;
    line-height: 1;
}

.site-footer__phone {
    margin-top: 3px;
}

.site-footer__schedule {
    margin-top: -8px;
    color: rgb(255 255 255 / 42%);
    font-size: 11px;
}

.site-footer__socials {
    display: flex;
    gap: 32px;
    margin-top: 39px;
    padding-top: 25px;
    border-top: 1px solid rgb(255 255 255 / 24%);
}

.site-footer__social {
    display: inline-flex;
    width: 33px;
    height: 33px;
    align-items: center;
    justify-content: center;
    border: 1px solid rgb(255 255 255 / 70%);
    border-radius: 50%;
    color: rgb(255 255 255 / 70%);
    font-size: 10px;
    font-weight: 600;
}

.site-footer__social--active {
    border-color: var(--color-white);
    background: var(--color-white);
    color: var(--color-text);
}

.site-footer__nav {
    gap: 7px;
    padding: 12px 36px 12px 33px;
}

.site-footer__title {
    margin: 0 0 6px;
}

.site-footer__nav a {
    color: rgb(255 255 255 / 70%);
    line-height: 24px;
}

.site-footer__nav a:hover,
.site-footer__nav a.is-active {
    color: var(--color-white);
}

.site-footer__about {
    padding-right: 36px;
}

.site-footer__about .site-footer__nav {
    padding-left: 0;
}

.site-footer__maps {
    width: 100%;
    max-width: 311px;
    padding-top: 13px;
    border-top: 1px solid rgb(255 255 255 / 24%);
}

.site-footer__maps .site-footer__title {
    margin-bottom: 13px;
}

.site-footer__maps a {
    display: grid;
    grid-template-columns: 1fr 54px 44px;
    gap: 8px;
    align-items: center;
    color: rgb(255 255 255 / 70%);
    font-size: 14px;
    line-height: 24px;
}

.site-footer__maps strong {
    font-weight: 400;
}

.site-footer__maps small {
    text-align: right;
}

.site-footer__bottom {
    display: grid;
    min-height: 53px;
    grid-template-columns: 1fr auto auto;
    gap: 72px;
    align-items: center;
    padding: 8px 36px 0;
    border-top: 1px solid rgb(255 255 255 / 24%);
    color: rgb(255 255 255 / 48%);
    font-size: 13px;
}

.site-footer__bottom a:hover {
    color: var(--color-white);
}

@media (max-width: 1375px) {
    :root {
        --page-padding: 40px;
    }

    .site-header__desktop {
        grid-template-columns: auto minmax(180px, 1fr) auto auto auto;
    }

    .city-select {
        display: none;
    }

    .slider__arrow--prev {
        left: -28px;
    }

    .slider__arrow--next {
        right: -28px;
    }
}

@media (max-width: 1180px) {
    :root {
        --page-padding: 28px;
    }

    .site-header__desktop {
        grid-template-columns: auto minmax(180px, 1fr) auto auto;
    }

    .site-phone {
        display: none;
    }

    .advantages__container {
        grid-template-columns: repeat(2, 1fr);
        padding-block: 28px;
    }

    .advantage-card {
        padding-block: 20px;
    }

    .advantage-card:nth-child(3) {
        border-left: 0;
    }

    .advantage-card:nth-child(n + 3) {
        border-top: 1px solid var(--color-line);
    }

    .content-grid {
        grid-template-columns: minmax(330px, 1.45fr) repeat(3, minmax(230px, 1fr));
        overflow-x: auto;
        scrollbar-width: none;
    }

    .content-grid::-webkit-scrollbar {
        display: none;
    }

    .site-footer__bottom {
        gap: 28px;
    }
}

@media (max-width: 900px) {
    :root {
        --page-padding: 20px;
    }

    .site-header__desktop {
        display: none;
    }

    .site-header__mobile {
        display: grid;
        min-height: 64px;
        grid-template-columns: 36px 1fr 36px;
        align-items: center;
    }

    .site-logo--mobile {
        font-size: 18px;
    }

    .hero,
    .hero__slide,
    .hero__container {
        min-height: 560px;
    }

    .hero__container {
        padding-inline: 50px;
    }

    .hero__arrow--prev {
        left: 4px;
    }

    .hero__arrow--next {
        right: 4px;
    }

    .category-mosaic {
        height: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: none;
    }

    .category-mosaic__item {
        min-height: 300px;
        grid-column: auto;
        grid-row: auto;
    }

    .category-mosaic__item--wardrobes {
        min-height: 430px;
        grid-column: 1 / -1;
        grid-row: 1;
    }

    .category-mosaic__content {
        left: 34px;
    }

    .product-slider__track {
        grid-auto-columns: 280px;
    }

    .product-card {
        height: 505px;
    }

    .product-card__image-link {
        height: 358px;
    }

    .product-card__favorite {
        top: 328px;
    }

    .slider__arrow {
        display: none;
    }

    .content-grid {
        grid-auto-columns: 290px;
        grid-auto-flow: column;
        grid-template-columns: none;
        overscroll-behavior-inline: contain;
        scroll-snap-type: inline mandatory;
    }

    .promo-card,
    .article-card {
        scroll-snap-align: start;
    }

    .site-footer__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .site-footer__bottom {
        grid-template-columns: 1fr;
        gap: 8px;
        padding-block: 16px;
    }
}

@media (max-width: 620px) {
    :root {
        --page-padding: 16px;
    }

    .hero,
    .hero__slide,
    .hero__container {
        min-height: 520px;
    }

    .hero__container {
        width: 100%;
        padding-inline: 42px;
    }

    .hero__title {
        font-size: 28px;
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .button {
        width: 100%;
    }

    .hero__arrow {
        width: 34px;
        height: 34px;
        font-size: 23px;
    }

    .hero__counter {
        bottom: 24px;
    }

    .category-mosaic {
        display: flex;
        flex-direction: column;
    }

    .category-mosaic__item,
    .category-mosaic__item--wardrobes {
        min-height: 270px;
    }

    .category-mosaic__shade {
        opacity: 1;
    }

    .category-mosaic__content {
        left: 24px;
        opacity: 1;
    }

    .category-mosaic__title {
        font-size: 22px;
    }

    .advantages__container {
        display: block;
    }

    .advantage-card,
    .advantage-card:nth-child(3) {
        border: 0;
        border-bottom: 1px solid var(--color-line);
    }

    .advantage-card:last-child {
        border-bottom: 0;
    }

    .section-heading {
        align-items: flex-end;
    }

    .section-heading__title {
        font-size: 22px;
    }

    .section-heading__link {
        font-size: 14px;
    }

    .site-footer__grid {
        grid-template-columns: 1fr;
    }

    .site-footer__nav,
    .site-footer__about,
    .site-footer__about .site-footer__nav {
        width: 100%;
        padding-inline: 0;
    }

    .site-footer__contacts,
    .site-footer__nav,
    .site-footer__about {
        padding-block: 18px;
        border-bottom: 1px solid rgb(255 255 255 / 18%);
    }

    .site-footer__socials {
        width: 100%;
        justify-content: flex-start;
    }

    .site-footer__bottom {
        padding-inline: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        scroll-behavior: auto !important;
        transition-duration: 0.01ms !important;
    }
}

/* --------------------------------------------------------------------------
   Figma parity corrections (v0.2)
   Exact exported icons/frames and measured desktop proportions from 1440px
   Figma frame. Kept at the end intentionally to override v0.1 approximations.
   -------------------------------------------------------------------------- */

/* Header icons: use the exact SVG exports instead of approximate CSS glyphs. */
.catalog-button__icon {
    display: block;
    width: 18px;
    height: 18px;
    background: url("/local/templates/plameb/assets/icons/header/catalog.svg") center / 18px 18px no-repeat;
}

.catalog-button__icon i {
    display: none;
}

.site-search__submit {
    width: 18px;
    height: 18px;
    background: url("/local/templates/plameb/assets/icons/header/search.svg") center / 15px 16px no-repeat;
}

.site-search__submit::before,
.site-search__submit::after {
    content: none;
}

.city-select__pin {
    width: 15px;
    height: 20px;
    border: 0;
    border-radius: 0;
    clip-path: none;
    background: url("/local/templates/plameb/assets/icons/header/location.svg") center / 15px 20px no-repeat;
}

.city-select__pin::after {
    content: none;
}

.city-select__chevron {
    width: 9px;
    height: 6px;
    transform: none;
    border: 0;
    background: url("/local/templates/plameb/assets/icons/header/chevron.svg") center / 9px 6px no-repeat;
}

.header-actions__item::before,
.header-actions__item::after {
    content: none;
}

.header-actions__item--favorite {
    width: 23px;
    height: 20px;
    background: url("/local/templates/plameb/assets/icons/header/favorite.svg") center / 23px 20px no-repeat;
}

.header-actions__item--profile {
    width: 26px;
    height: 26px;
    background: url("/local/templates/plameb/assets/icons/header/profile.svg") center / 26px 26px no-repeat;
}

.header-actions__item--cart {
    width: 32px;
    height: 32px;
    background: url("/local/templates/plameb/assets/icons/header/cart.svg") center / 32px 32px no-repeat;
}

/* Category mosaic: do not zoom category imagery on hover. */
.category-mosaic__item::before {
    content: none;
}

/* On desktop keep the exported Figma images at their native 1:1 scale.
   Their pixel dimensions match the intended tiles, so no cover/stretch is
   applied and the original composition remains unchanged. */
@media (min-width: 901px) {
    .category-mosaic__item {
        background-position: center;
        background-size: auto auto;
    }
}

/* Advantages: exact 57x59 SVGs from the design. */
.advantage-card__icon {
    display: block;
    width: 57px;
    height: 59px;
    flex: 0 0 57px;
    object-fit: contain;
    font: inherit;
}

.advantage-card__icon--wardrobe {
    width: 57px;
    border: 0;
}

.advantage-card__icon--wardrobe::before,
.advantage-card__icon--wardrobe::after {
    content: none;
}

/* Thin Figma arrow in all section links. */
.section-heading__arrow {
    display: inline-block;
    width: 15px;
    height: 12px;
    flex: 0 0 15px;
    background: url("/local/templates/plameb/assets/icons/ui/arrow-right.svg") center / 15px 12px no-repeat;
}

/* Product row measured directly from the exported Figma card:
   card 300 x 523, inner image 298 x 376, 26px between cards. */
.product-slider__track {
    grid-auto-columns: 300px;
    gap: 26px;
}

.product-slider .home-section__container {
    padding-bottom: 3px;
}

.product-card {
    height: 523px;
}

.product-card__image-link {
    height: 376px;
}

.product-card__image {
    object-fit: cover;
    object-position: center;
}

.product-card__favorite {
    top: 346px;
    right: 15px;
    width: 23px;
    height: 20px;
    background: url("/local/templates/plameb/assets/icons/product/favorite.svg") center / 23px 20px no-repeat;
    font-size: 0;
}

.product-card__size {
    display: flex;
    align-items: center;
    gap: 5px;
}

.product-card__size-icon {
    width: 20px;
    height: 22px;
    flex: 0 0 20px;
    object-fit: contain;
}

/* In the design the blog cards end exactly where the reviews section begins.
   v0.1 had an extra 14px bottom padding, shifting all lower blocks. */
.content-section .home-section__container {
    padding-bottom: 0;
}

/* Exact exported social icons already include their own circle/stroke. */
.site-footer__social,
.site-footer__social--active {
    width: 33px;
    height: 33px;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
}

.site-footer__social img {
    width: 33px;
    height: 33px;
    object-fit: contain;
}

@media (max-width: 900px) {
    .category-mosaic__item {
        background-size: cover;
    }

    .product-slider .home-section__container,
    .content-section .home-section__container {
        padding-bottom: 24px;
    }

    .product-slider__track {
        grid-auto-columns: 280px;
    }

    .product-card {
        height: 505px;
    }

    .product-card__image-link {
        height: 358px;
    }

    .product-card__favorite {
        top: 328px;
    }
}

@media (min-width: 901px) {
    /* Header has a 1px bottom border; 83px inner + 1px border = 84px Figma header. */
    .site-header__desktop {
        min-height: 83px;
    }
}

/* ================================================================
   v0.4 — Popular categories: proportional responsive mosaic
   ----------------------------------------------------------------
   Figma master frame: 1440 × 777.
   Source tiles:
     bathroom  640 × 389
     dressers  640 × 389
     wardrobes 800 × 518
     beds      400 × 259
     facades   400 × 259

   Desktop height is now derived from the available width instead of
   remaining fixed at 777px. This keeps the Figma composition intact on
   wide screens: no uncovered grey gutters and no object-fit cropping.
   ================================================================ */
@media (min-width: 901px) {
    .category-mosaic {
        width: 100%;
        height: auto;
        aspect-ratio: 1440 / 777;
        grid-template-columns: 640fr 400fr 400fr;
        grid-template-rows: 389fr 129fr 259fr;
        border: 0;
        background: var(--color-surface);
    }

    .category-mosaic__item {
        min-height: 0;
        border: 0;
        background-color: #d9d9d9;
        background-image: var(--category-image);
        background-position: center;
        background-repeat: no-repeat;
        /* Every desktop cell follows the same proportions as its Figma
           frame, so 100% × 100% fills it without cover-cropping or gaps. */
        background-size: 100% 100%;
        background-origin: border-box;
        box-shadow: inset 0 0 0 1px var(--color-surface);
    }

    .category-mosaic__item--bathroom {
        grid-column: 1;
        grid-row: 1;
    }

    .category-mosaic__item--dressers {
        grid-column: 1;
        grid-row: 2 / 4;
    }

    .category-mosaic__item--wardrobes {
        grid-column: 2 / 4;
        grid-row: 1 / 3;
    }

    .category-mosaic__item--beds {
        grid-column: 2;
        grid-row: 3;
    }

    .category-mosaic__item--facades {
        grid-column: 3;
        grid-row: 3;
    }
}

/* Tablet: keep the complete source image in every tile as well. The layout
   changes, but each card determines its own height from the source ratio. */
@media (min-width: 621px) and (max-width: 900px) {
    .category-mosaic {
        display: grid;
        height: auto;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        grid-template-rows: auto;
        border: 0;
        background: var(--color-surface);
    }

    .category-mosaic__item {
        min-height: 0;
        border: 0;
        background-image: var(--category-image);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        box-shadow: inset 0 0 0 1px var(--color-surface);
    }

    .category-mosaic__item--wardrobes {
        grid-column: 1 / -1;
        grid-row: 1;
        aspect-ratio: 800 / 518;
    }

    .category-mosaic__item--bathroom {
        grid-column: 1;
        grid-row: 2;
        aspect-ratio: 640 / 389;
    }

    .category-mosaic__item--dressers {
        grid-column: 2;
        grid-row: 2;
        aspect-ratio: 640 / 389;
    }

    .category-mosaic__item--beds {
        grid-column: 1;
        grid-row: 3;
        aspect-ratio: 400 / 259;
    }

    .category-mosaic__item--facades {
        grid-column: 2;
        grid-row: 3;
        aspect-ratio: 400 / 259;
    }
}

/* Phone: one full-width tile per row, always showing the entire image. */
@media (max-width: 620px) {
    .category-mosaic {
        height: auto;
        border: 0;
    }

    .category-mosaic__item,
    .category-mosaic__item--wardrobes {
        min-height: 0;
        height: auto;
        background-image: var(--category-image);
        background-position: center;
        background-repeat: no-repeat;
        background-size: 100% 100%;
        box-shadow: inset 0 0 0 1px var(--color-surface);
    }

    .category-mosaic__item--bathroom,
    .category-mosaic__item--dressers {
        aspect-ratio: 640 / 389;
    }

    .category-mosaic__item--wardrobes {
        aspect-ratio: 800 / 518;
    }

    .category-mosaic__item--beds,
    .category-mosaic__item--facades {
        aspect-ratio: 400 / 259;
    }
}


/* ================================================================
   v0.5 — Product card expanded hover state
   ----------------------------------------------------------------
   Figma hover export: "Product Card / Surface" (314 × 638 incl. shadow).
   The catalog grid keeps its 523px row height; the hovered card expands
   down as an overlay, so the next row never jumps.
   ================================================================ */


.product-card:hover .product-card__image {
    transform: none;
}

.product-card__size-caption,
.product-card__material,
.product-card__actions {
    display: none;
}

/* The extra hover panel belongs to catalogue cards. The homepage keeps its
   fixed-height slider geometry, but its image gallery works in the same way. */
@media (hover: hover) and (pointer: fine) {
    .catalog-grid .product-card:hover,
    .catalog-grid .product-card:focus-within {
        z-index: 30;
        overflow: visible;
        border-color: transparent;
        background: transparent;
        isolation: isolate;
    }

    .catalog-grid .product-card:hover::before,
    .catalog-grid .product-card:focus-within::before {
        content: "";
        position: absolute;
        z-index: -1;
        inset: -1px -1px -102px;
        border: 1px solid var(--color-border);
        border-radius: var(--radius);
        background: var(--color-white);
        box-shadow: 0 2px 8px rgb(0 0 0 / 24%);
        pointer-events: none;
    }

    .catalog-grid .product-card:hover .product-card__size-caption,
    .catalog-grid .product-card:focus-within .product-card__size-caption {
        display: inline;
    }

    .catalog-grid .product-card:hover .product-card__material,
    .catalog-grid .product-card:focus-within .product-card__material {
        display: block;
        margin: 1px 0 0 25px;
        color: var(--color-muted);
        font-size: 14px;
        line-height: 20px;
    }

    .catalog-grid .product-card:hover .product-card__colors,
    .catalog-grid .product-card:focus-within .product-card__colors {
        margin-top: 12px;
    }

    .catalog-grid .product-card:hover .product-card__actions,
    .catalog-grid .product-card:focus-within .product-card__actions {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 55px;
        gap: 8px;
        margin-top: 18px;
    }
}

.product-card__size-button,
.product-card__cart-button {
    height: 47px;
    border-radius: var(--radius);
}

.product-card__size-button {
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #777;
    background: var(--color-white);
    color: var(--color-text);
    font-size: 16px;
    font-weight: 500;
    line-height: 1;
    text-align: center;
    transition: border-color var(--transition), background-color var(--transition), color var(--transition);
}

.product-card__size-button:hover,
.product-card__size-button:focus-visible {
    border-color: var(--color-text);
    background: #f5f5f5;
}

.product-card__cart-button {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 1px solid var(--color-text);
    background: var(--color-text);
    cursor: pointer;
    transition: background-color var(--transition), transform var(--transition);
}

.product-card__cart-button:hover {
    background: #111;
}

.product-card__cart-button:active {
    transform: translateY(1px);
}

.product-card__cart-button img {
    width: 32px;
    height: 32px;
    filter: brightness(0) invert(1);
}

@media (max-width: 900px), (hover: none) {
    .product-card__size-caption,
    .product-card__material,
    .product-card__actions {
        display: none !important;
    }
}


/* ================================================================
   v0.6 — Product card: product → interior on card hover
   ----------------------------------------------------------------
   No pagination dots and no cursor-zone gallery. Both homepage and
   catalog cards use the same two-frame hover behaviour.
   ================================================================ */
.product-card__image-link {
    isolation: isolate;
}

.product-card__image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transform: none !important;
    transition: opacity 260ms ease;
}

.product-card__image--primary {
    z-index: 1;
    opacity: 1;
}

.product-card__image--interior {
    z-index: 2;
    opacity: 0;
}

.product-card__badge,
.product-card__reviews {
    z-index: 4;
}

@media (hover: hover) and (pointer: fine) {
    .product-card:hover .product-card__image--primary,
    .product-card:focus-within .product-card__image--primary {
        opacity: 0;
    }

    .product-card:hover .product-card__image--interior,
    .product-card:focus-within .product-card__image--interior {
        opacity: 1;
    }
}

@media (hover: none) {
    .product-card__image--interior {
        display: none;
    }
}

/* ================================================================
   v0.7 — Bitrix component skeleton
   ================================================================ */
.category-shortcuts__visual {
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}

.catalog-toolbar--component {
    margin-block: 18px 0;
}

.catalog-component-pagination {
    margin-top: 28px;
}

.catalog-empty {
    padding: 48px 0;
    color: var(--color-muted);
    font-size: 16px;
}

.content-page {
    min-height: 360px;
    padding-block: 32px 64px;
}

.content-page h1,
.container > h1 {
    margin-top: 0;
}

.catalog-filter-panel__group {
    min-width: 0;
    margin: 0;
    padding: 0;
    border: 0;
}

.catalog-filter-panel__group legend {
    margin-bottom: 9px;
    color: var(--color-muted);
    font-size: 13px;
}

.catalog-filter-panel__options {
    display: flex;
    max-height: 132px;
    flex-direction: column;
    gap: 7px;
    overflow: auto;
}

.catalog-filter-panel__option {
    display: flex;
    align-items: center;
    gap: 7px;
    font-size: 14px;
    cursor: pointer;
}

.catalog-filter-panel__option.is-disabled {
    opacity: 0.4;
    cursor: default;
}

.catalog-filter-panel__range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.catalog-filter-panel__range label {
    display: flex;
    flex-direction: column;
    gap: 4px;
    color: var(--color-muted);
    font-size: 12px;
}

/* v0.8 — functional shell controls */
.mobile-menu__inner {
    position: relative;
}

.mobile-menu__close {
    position: absolute;
    top: 18px;
    right: 0;
    width: 40px;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.mobile-menu__close span::before,
.mobile-menu__close span::after {
    content: "";
    position: absolute;
    top: 19px;
    left: 8px;
    width: 24px;
    height: 1.5px;
    background: var(--color-text);
}

.mobile-menu__close span::before {
    transform: rotate(45deg);
}

.mobile-menu__close span::after {
    transform: rotate(-45deg);
}

.city-dialog {
    width: min(440px, calc(100% - 32px));
    padding: 0;
    border: 1px solid var(--color-border);
    border-radius: 10px;
    background: var(--color-white);
    color: var(--color-text);
}

.city-dialog::backdrop {
    background: rgb(0 0 0 / 35%);
}

.city-dialog__form {
    position: relative;
    padding: 28px;
}

.city-dialog__close {
    position: absolute;
    top: 10px;
    right: 12px;
    width: 36px;
    height: 36px;
    border: 0;
    background: transparent;
    font-size: 28px;
    line-height: 1;
    cursor: pointer;
}

.city-dialog__title {
    margin: 0 0 20px;
    font-size: 24px;
}

.city-dialog__label {
    display: block;
    margin-bottom: 7px;
    font-size: 13px;
    color: var(--color-muted);
}

.city-dialog__input {
    width: 100%;
    height: 46px;
    padding: 0 13px;
    border: 1px solid var(--color-border);
    border-radius: 7px;
    font: inherit;
}

.city-dialog__actions {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-top: 18px;
}

.city-dialog__delivery {
    text-decoration: underline;
    text-underline-offset: 3px;
}

.favorites-page {
    padding-block: 28px 70px;
}

.favorites-page__actions,
.favorites-page__empty {
    margin-top: 28px;
}


/* Product detail: confirmed related-products slider from plameb v0.3. */
.product-related {
    min-height: 608px;
    background: var(--color-white);
}

.product-related__container {
    position: relative;
    padding-block: 29px 38px;
}

.product-related__track {
    display: grid;
    grid-auto-columns: 300px;
    grid-auto-flow: column;
    gap: 24px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline mandatory;
}

@media (max-width: 1024px) {
    .product-related__track {
        grid-auto-columns: 280px;
    }
}

@media (max-width: 620px) {
    .product-related {
        min-height: 590px;
    }

    .product-related__track {
        grid-auto-columns: 280px;
        gap: 16px;
    }
}


/* ================================================================
   v0.9.3 — shared modal side drawer (catalog filters + header menu)
   Approved behavior: left white panel, #242424 / 40% backdrop.
   ================================================================ */
body.is-drawer-open {
    overflow: hidden;
}

.side-drawer {
    position: fixed;
    z-index: 120;
    inset: 0;
    overflow: hidden;
    visibility: hidden;
    background: rgb(36 36 36 / 0%);
    pointer-events: none;
    overscroll-behavior: contain;
    transition:
        background-color 380ms cubic-bezier(0.22, 1, 0.36, 1),
        visibility 0s linear 430ms;
}

.side-drawer.is-open {
    visibility: visible;
    background: rgb(36 36 36 / 40%);
    pointer-events: auto;
    transition-delay: 0s;
}

.side-drawer[hidden] {
    display: none !important;
}

.side-drawer__panel {
    position: relative;
    width: min(550px, calc(100vw - 48px));
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: var(--color-white);
    color: var(--color-text);
    opacity: 0.985;
    transform: translate3d(-32px, 0, 0);
    will-change: transform, opacity;
    transition:
        transform 430ms cubic-bezier(0.22, 1, 0.36, 1),
        opacity 320ms ease;
}

.side-drawer.is-open .side-drawer__panel {
    opacity: 1;
    transform: translate3d(0, 0, 0);
}

.side-drawer__content {
    width: min(445px, calc(100% - 48px));
    margin-left: 24px;
    padding: 13px 0 18px;
}

.side-drawer__title {
    margin: 0;
    padding: 0 0 7px;
    border-bottom: 1px solid var(--color-line);
    font-size: 22px;
    font-weight: 600;
    line-height: 1.25;
}

.side-drawer__close {
    position: absolute;
    z-index: 2;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    padding: 0;
    border: 0;
    background: var(--color-text);
    color: var(--color-white);
    cursor: pointer;
}

.side-drawer__close span::before,
.side-drawer__close span::after {
    content: "";
    position: absolute;
    top: 24px;
    left: 12px;
    width: 28px;
    height: 1px;
    background: currentColor;
}

.side-drawer__close span::before {
    transform: rotate(45deg);
}

.side-drawer__close span::after {
    transform: rotate(-45deg);
}

.side-drawer__close:hover {
    opacity: 0.92;
}

.side-drawer__close:focus-visible {
    outline: 2px solid var(--color-white);
    outline-offset: -5px;
}

/* Catalog smart filter drawer. */
.catalog-filter-panel {
    padding: 0;
    border: 0;
    background: var(--color-white);
}

.catalog-filter-panel__grid {
    display: flex;
    flex-direction: column;
    gap: 0;
}

.catalog-filter-panel__group {
    width: 100%;
    margin: 0;
    padding: 17px 0 19px;
    border: 0;
    border-bottom: 1px solid var(--color-line);
}

.catalog-filter-panel__group legend {
    margin: 0 0 12px;
    color: var(--color-text);
    font-size: 16px;
    font-weight: 400;
    line-height: 1.35;
}

.catalog-filter-panel__options {
    display: flex;
    max-height: none;
    flex-flow: row wrap;
    gap: 10px 20px;
    overflow: visible;
}

.catalog-filter-panel__option {
    display: inline-flex;
    min-height: 22px;
    align-items: center;
    gap: 8px;
    color: var(--color-text);
    font-size: 13px;
    line-height: 1.25;
}

.catalog-filter-panel__option input[type="checkbox"] {
    width: 14px;
    height: 14px;
    flex: 0 0 14px;
    margin: 0;
    accent-color: var(--color-text);
}

.catalog-filter-panel__range {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
}

.catalog-filter-panel__range label {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    align-items: center;
    gap: 7px;
    color: var(--color-muted);
    font-size: 12px;
}

.catalog-filter-panel__range input {
    width: 100%;
    min-width: 0;
    height: 30px;
    padding: 4px 9px;
    border: 1px solid var(--color-line);
    border-radius: var(--radius);
    background: var(--color-white);
    color: var(--color-text);
}

.catalog-filter-panel__actions {
    position: sticky;
    bottom: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 11px;
    margin: 0;
    padding: 18px 0 13px;
    border-top: 1px solid var(--color-line);
    background: var(--color-white);
}

.catalog-filter-panel__apply,
.catalog-filter-panel__reset {
    min-height: 40px;
    width: 100%;
    align-items: center;
    justify-content: center;
    padding: 8px 14px;
    border-radius: var(--radius);
    font-size: 16px;
    line-height: 1;
    cursor: pointer;
}

.catalog-filter-panel__apply {
    border: 1px solid var(--color-text);
    background: var(--color-text);
    color: var(--color-white);
    font-weight: 500;
}

.catalog-filter-panel__reset {
    display: inline-flex;
    border: 1px solid var(--color-line);
    background: var(--color-white);
    color: var(--color-text);
    text-decoration: none;
}

.catalog-filter-panel__reset:hover {
    border-color: var(--color-text);
}

/* Header menu uses the same drawer shell and separators. */
.mobile-menu {
    inset: 0;
    overflow: hidden;
}

.mobile-menu__panel {
    background: var(--color-white);
}

.mobile-menu__inner {
    position: static;
    padding-block: 13px 28px;
}

.mobile-menu__close {
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    background: var(--color-text);
}

.mobile-menu__close span::before,
.mobile-menu__close span::after {
    top: 24px;
    left: 12px;
    width: 28px;
    height: 1px;
    background: var(--color-white);
}

.site-search--mobile {
    margin-top: 18px;
}

.mobile-menu__nav {
    display: flex;
    flex-direction: column;
    margin-top: 18px;
    border-top: 1px solid var(--color-line);
}

.mobile-menu__nav a {
    display: flex;
    min-height: 50px;
    align-items: center;
    padding: 12px 0;
    border-bottom: 1px solid var(--color-line);
    font-size: 16px;
    line-height: 1.25;
}

.mobile-menu__nav a:hover,
.mobile-menu__nav a.is-active {
    font-weight: 500;
}

.mobile-menu__phone {
    display: flex;
    min-height: 58px;
    align-items: center;
    margin: 0;
    border-bottom: 1px solid var(--color-line);
    font-size: 18px;
    font-weight: 600;
}

@media (min-width: 551px) and (max-width: 1380px) {
    .side-drawer__content {
        margin-left: max(24px, calc((100vw - var(--container-width)) / 2));
    }
}

@media (max-width: 620px) {
    .side-drawer__panel {
        width: calc(100vw - 40px);
    }

    .side-drawer__content {
        width: calc(100% - 40px);
        margin-left: 20px;
        padding-top: 12px;
    }

    .side-drawer__title {
        padding-right: 42px;
        font-size: 20px;
    }

    .side-drawer__close,
    .mobile-menu__close {
        width: 44px;
        height: 44px;
    }

    .side-drawer__close span::before,
    .side-drawer__close span::after,
    .mobile-menu__close span::before,
    .mobile-menu__close span::after {
        top: 21px;
        left: 10px;
        width: 24px;
    }

    .catalog-filter-panel__range {
        gap: 10px;
    }

    .catalog-filter-panel__actions {
        gap: 8px;
    }

    .catalog-filter-panel__apply,
    .catalog-filter-panel__reset {
        padding-inline: 9px;
        font-size: 14px;
    }
}

/* v0.9.4 — softer drawer motion and exact header text alignment. */
@media (prefers-reduced-motion: reduce) {
    .side-drawer,
    .side-drawer__panel {
        transition: none !important;
    }
}

/* --------------------------------------------------------------------------
   v0.9.3 — header alignment to approved Figma header
   Desktop controls share one 46px control box and the same vertical centre.
   The search field previously grew taller because min-height + vertical
   padding were combined; a fixed border-box height removes that drift.
   -------------------------------------------------------------------------- */
@media (min-width: 901px) {
    .site-header__desktop {
        height: 83px;
        min-height: 83px;
        align-items: center;
    }

    .site-header__desktop > .site-header__catalog-group,
    .site-header__desktop > .site-search,
    .site-header__desktop > .site-logo,
    .site-header__desktop > .city-select,
    .site-header__desktop > .site-phone,
    .site-header__desktop > .header-actions {
        align-self: center;
    }

    .site-header__catalog-group,
    .site-header__menu-button,
    .catalog-button,
    .site-search,
    .site-search__input,
    .site-logo,
    .city-select,
    .site-phone,
    .header-actions {
        height: 46px;
    }

    .site-header__menu-button,
    .catalog-button,
    .site-search__input,
    .site-logo,
    .city-select,
    .site-phone,
    .header-actions {
        min-height: 46px;
    }

    .catalog-button {
        padding-block: 0;
    }

    .site-search__input {
        padding-top: 0;
        padding-bottom: 0;
    }

    .site-logo,
    .site-phone,
    .header-actions {
        justify-content: center;
    }
}

/* ================================================================
   Approved Figma corrections: hero arrows + final catalog level.
   ================================================================ */
.hero__arrow {
    opacity: .4;
    transition: opacity 220ms ease, background-color var(--transition), transform var(--transition);
}
.hero__arrow:hover,
.hero__arrow:focus-visible {
    opacity: 1;
}
.hero__arrow--prev {
    opacity: .4;
}

.catalog-page__heading {
    display: flex;
    align-items: baseline;
    gap: 38px;
    margin-bottom: 18px;
}
.catalog-page__title {
    margin-bottom: 0;
}
.catalog-page__model-count {
    color: var(--color-muted);
    font-size: 14px;
    white-space: nowrap;
}

.catalog-presets {
    display: flex;
    align-items: stretch;
    gap: 14px;
    margin-bottom: 12px;
    overflow-x: auto;
    padding-bottom: 1px;
    scrollbar-width: none;
}
.catalog-presets::-webkit-scrollbar { display: none; }
.catalog-presets__item {
    display: grid;
    width: 110px;
    min-width: 110px;
    min-height: 110px;
    place-items: center;
    align-content: center;
    gap: 6px;
    padding: 10px 8px 9px;
    border: 1px solid var(--color-border);
    border-radius: 7px;
    background: var(--color-white);
    color: #b8b8b8;
    font-size: 13px;
    line-height: 1.1;
    text-align: center;
    transition: border-color var(--transition), color var(--transition), box-shadow var(--transition);
}
.catalog-presets__icon {
    width: 58px;
    height: 55px;
    overflow: visible;
}
.catalog-presets__item:hover,
.catalog-presets__item:focus-visible {
    border-color: #7b7b7b;
    color: #737373;
}
.catalog-presets__item.is-active {
    border-color: var(--color-text);
    color: var(--color-text);
    box-shadow: inset 0 0 0 1px var(--color-text);
}

.catalog-toolbar {
    gap: 14px;
    min-height: 48px;
    padding-bottom: 10px;
    border-bottom: 0;
}
.catalog-toolbar__filter-toggle,
.catalog-toolbar__quick,
.catalog-toolbar__reset {
    display: inline-flex;
    min-height: 38px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 8px 16px;
    border: 1px solid var(--color-line);
    border-radius: 7px;
    background: var(--color-white);
    color: var(--color-text);
    font: inherit;
    font-size: 14px;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
}
.catalog-toolbar__filter-toggle:hover,
.catalog-toolbar__quick:hover,
.catalog-toolbar__quick[aria-expanded="true"],
.catalog-toolbar__reset:hover {
    border-color: var(--color-text);
}
.catalog-toolbar__quick::after {
    content: "⌄";
    margin-left: 2px;
    color: var(--color-muted);
    font-size: 13px;
    line-height: 1;
}
.catalog-toolbar__reset {
    padding-inline: 6px;
    border-color: transparent;
}
.catalog-toolbar__reset::after {
    content: "×";
    margin-left: 4px;
    font-size: 18px;
    line-height: .8;
}
.catalog-toolbar__sort select {
    min-height: 38px;
    padding: 7px 6px 7px 28px;
    font-size: 14px;
}

.catalog-banner.catalog-banner--image {
    display: block;
    height: auto;
    min-height: 0;
    aspect-ratio: 626 / 530;
    padding: 0;
    border-radius: 7px;
    background: none;
    color: inherit;
}
.catalog-banner.catalog-banner--image::before { display: none; }
.catalog-banner--image img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.catalog-advantages {
    margin-top: 0;
    background: #f7f7f7;
}
.catalog-advantages__container {
    display: grid;
    min-height: 263px;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: center;
    padding-block: 28px;
}
.catalog-advantage {
    position: relative;
    display: grid;
    min-height: 155px;
    align-content: center;
    justify-items: center;
    padding-inline: 28px;
    text-align: center;
}
.catalog-advantage + .catalog-advantage::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 1px;
    height: 116px;
    background: var(--color-line);
    transform: translateY(-50%);
}
.catalog-advantage__icon {
    width: auto;
    height: 59px;
    margin-bottom: 13px;
    object-fit: contain;
}
.catalog-advantage__title {
    margin: 0;
    font-size: 20px;
    font-weight: 700;
    line-height: 1.1;
}
.catalog-advantage__text {
    margin: 11px 0 0;
    color: var(--color-muted);
    font-size: 14px;
    line-height: 1.25;
}

.catalog-seo__container {
    padding-block: 44px 50px;
}
.catalog-seo__title {
    font-size: 24px;
    font-weight: 600;
}
.catalog-seo__text {
    max-width: none;
    font-size: 14px;
    line-height: 1.45;
}

@media (max-width: 1180px) {
    .catalog-toolbar { overflow-x: auto; scrollbar-width: none; }
    .catalog-toolbar::-webkit-scrollbar { display: none; }
    .catalog-toolbar__sort { position: sticky; right: 0; background: var(--color-white); }
    .catalog-advantages__container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .catalog-advantage:nth-child(3)::before { display: none; }
}
@media (max-width: 720px) {
    .catalog-page__heading { gap: 12px; flex-wrap: wrap; margin-bottom: 14px; }
    .catalog-presets { gap: 8px; }
    .catalog-presets__item { width: 94px; min-width: 94px; min-height: 96px; font-size: 12px; }
    .catalog-presets__icon { width: 50px; height: 47px; }
    .catalog-toolbar { gap: 8px; }
    .catalog-toolbar__filter-toggle,
    .catalog-toolbar__quick,
    .catalog-toolbar__reset { min-height: 36px; padding: 7px 12px; }
    .catalog-banner.catalog-banner--image { grid-column: 1 / -1; }
    .catalog-advantages__container { grid-template-columns: 1fr; padding-block: 16px; }
    .catalog-advantage { min-height: 150px; }
    .catalog-advantage + .catalog-advantage::before {
        top: 0; left: 50%; width: 116px; height: 1px; transform: translateX(-50%);
    }
}


/* Footer social: Telegram is gray by default and white only on hover/focus. */
.site-footer__social--telegram {
    position: relative;
}

.site-footer__social--telegram .site-footer__social-icon {
    display: block;
    transition: opacity 180ms ease;
}

.site-footer__social--telegram .site-footer__social-icon--hover {
    position: absolute;
    inset: 0;
    opacity: 0;
}

.site-footer__social--telegram:hover .site-footer__social-icon--default,
.site-footer__social--telegram:focus-visible .site-footer__social-icon--default {
    opacity: 0;
}

.site-footer__social--telegram:hover .site-footer__social-icon--hover,
.site-footer__social--telegram:focus-visible .site-footer__social-icon--hover {
    opacity: 1;
}

@media (prefers-reduced-motion: reduce) {
    .site-footer__social--telegram .site-footer__social-icon {
        transition: none;
    }
}


/* === FINAL FOOTER STATES / approved Figma ===
   All 4 icons: gray at rest, only the hovered/focused icon becomes white.
   Layout geometry is intentionally unchanged. */
.site-footer__socials .site-footer__social {
    display: inline-flex;
    width: 33px;
    height: 33px;
    flex: 0 0 33px;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: inherit;
    opacity: .5;
    transition: opacity 180ms ease;
}

.site-footer__socials .site-footer__social:hover,
.site-footer__socials .site-footer__social:focus-visible {
    opacity: 1;
}

.site-footer__socials .site-footer__social img {
    display: block;
    width: 33px;
    height: 33px;
    object-fit: contain;
}

/* Unify textual hover/focus states without changing footer spacing. */
.site-footer__contacts > a:not(.site-footer__logo),
.site-footer__nav a,
.site-footer__maps a,
.site-footer__bottom a {
    transition: color 180ms ease;
}

.site-footer__contacts > a:not(.site-footer__logo):hover,
.site-footer__contacts > a:not(.site-footer__logo):focus-visible,
.site-footer__nav a:hover,
.site-footer__nav a:focus-visible,
.site-footer__maps a:hover,
.site-footer__maps a:focus-visible,
.site-footer__bottom a:hover,
.site-footer__bottom a:focus-visible {
    color: var(--color-white);
}

@media (prefers-reduced-motion: reduce) {
    .site-footer__socials .site-footer__social,
    .site-footer__contacts > a:not(.site-footer__logo),
    .site-footer__nav a,
    .site-footer__maps a,
    .site-footer__bottom a {
        transition: none;
    }
}

/* End */


/* Start:/local/templates/plameb/assets/css/navigation-figma.css?17919160364885*/
/* Shared navigation: Figma footer 2145:6706; mobile keeps all desktop actions reachable. */
.site-footer .site-footer__grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.site-footer .site-footer__nav{padding-inline:0 20px}
.site-footer .site-footer__grid>.site-footer__nav:first-of-type{padding-left:33px}
.site-footer .site-footer__about{padding-right:0}
.site-footer .site-footer__title,.site-footer .site-footer__logo{line-height:1.2}
.site-footer .site-footer__bottom{padding:12px 0 20px;gap:32px;min-height:53px}
.site-footer a{overflow-wrap:anywhere}
.mobile-menu .mobile-menu__city{display:flex;width:100%;gap:12px;align-items:center;padding:14px 0;margin:0 0 18px;background:none;border:0;border-bottom:1px solid #eff0f0;text-align:left;color:#242424;cursor:pointer}
.mobile-menu__city span{flex:1;min-width:0}.mobile-menu__city strong{display:block;overflow-wrap:anywhere;font-size:16px;font-weight:400}.mobile-menu__city small{display:block;font-size:11px;color:#7b7b7b}
.mobile-menu .mobile-menu__account{display:grid;gap:14px;margin-top:20px;padding-top:20px;border-top:1px solid #eff0f0}
.mobile-menu__account a{display:flex;align-items:center;gap:12px;font-size:16px}
.mobile-menu__account a:hover{color:#b7864f}
.site-header .city-dialog{max-width:calc(100% - 32px);max-height:calc(100% - 32px)}
.site-header .city-dialog__actions{flex-wrap:wrap}
.site-header .city-dialog__input{min-width:0;max-width:100%}
@media(max-width:1000px){.site-footer .site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px 32px}.site-footer .site-footer__grid>.site-footer__nav:first-of-type{padding-left:0}.site-footer .site-footer__bottom{grid-template-columns:1fr;gap:8px}}
@media(max-width:620px){.site-footer .site-footer__grid{grid-template-columns:minmax(0,1fr);gap:0;min-height:0}.site-footer .site-footer__nav{padding-inline:0}.site-footer .site-footer__about .site-footer__nav{border-bottom:0}.site-footer .site-footer__bottom{border:0}.site-header .city-dialog{padding:22px}.site-header .city-dialog__actions{gap:16px}}
/* An alternate image is optional on every catalogue surface. */
.product-card:not(:has(.product-card__image--interior)):is(:hover,:focus-within) .product-card__image--primary{opacity:1}
:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 2px solid #242424; outline-offset: 3px; }
.side-drawer__panel { overscroll-behavior: contain; }
@media(max-width:1100px), (pointer:coarse) {
 .catalog-filter-panel__range input, .catalog-filter-panel__field input, .city-dialog__input { min-height:44px; font-size:16px; }
 .catalog-filter-panel button, .city-dialog__actions button { min-height:44px; }
 .js-menu-toggle, .js-menu-close, .js-catalog-filter-close { min-width:44px; min-height:44px; }
}
@media(prefers-reduced-motion:reduce) {
 html { scroll-behavior:auto !important; }
 .side-drawer, .side-drawer__panel, .product-card__image, .product-card__image--interior { transition:none !important; }
}
/* A 320px viewport may have a narrower content box when scrollbars are visible. */
body.site-body { min-width: 0; }
.catalog-search-form > .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
/* Native Bitrix authorization keeps its form handlers and session protection. */
.bx-auth { width:100%; max-width:460px; margin:28px 0; font-size:15px; }
.bx-auth table { width:100%; max-width:100%; }
.bx-auth input[type=text], .bx-auth input[type=password], .bx-auth input[type=email] { width:100%; max-width:100%; min-height:44px; padding:10px 12px; border:1px solid #d5d5d5; border-radius:6px; font:inherit; background:#fff; }
.bx-auth input[type=submit] { min-height:44px; padding:10px 24px; border:0; border-radius:6px; background:#242424; color:#fff; cursor:pointer; font:inherit; }
.bx-auth input[type=checkbox] { width:18px; height:18px; accent-color:#242424; vertical-align:middle; }
.bx-auth a { color:#76552e; text-decoration:underline; }
.bx-auth-note { margin-bottom:16px; }
@media(max-width:600px) { .bx-auth tr,.bx-auth td { display:block; width:100%; padding:0; text-align:left; } .bx-auth tr { margin-bottom:16px; } .bx-auth td:empty { display:none; } .bx-auth input[type=text],.bx-auth input[type=password],.bx-auth input[type=email] { font-size:16px; margin-top:6px; } }
/* Bootstrap's clearfix pseudo-elements must not become header grid items. */
.site-header__desktop.container::before,.site-header__desktop.container::after,.site-header__mobile.container::before,.site-header__mobile.container::after { content:none; display:none; }
/* Authorization shown directly by the Bitrix prolog has no page container. */
main.page > .bx-auth { width:calc(100% - 32px); margin:32px auto 48px; }
main.page > .bx-auth .auth-page-title { font-size:clamp(26px,4vw,36px); line-height:1.25; margin:0 0 28px; }

/* End */


/* Start:/local/templates/plameb/assets/css/footer-figma.css?17918007007248*/
/* «ПМ редактирование» xN3fyE4HZzs16YV1wmcKeh; Footer 2105:275 / 6038:12605. */
.site-footer--figma {
    min-height: 524px;
    background: var(--color-text);
    color: var(--color-white);
    font-family: Inter, sans-serif;
}

.site-footer--figma .site-footer__container {
    display: grid;
    row-gap: 12px;
    padding-top: 24px;
    padding-bottom: 80px;
    overflow: clip;
}

.site-footer--figma .site-footer__grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    min-height: 353px;
    height: 353px;
    align-items: start;
}

.site-footer--figma .site-footer__contacts {
    display: flex;
    gap: 13px;
    padding: 12px 0;
    min-width: 0;
    overflow: clip;
}

.site-footer--figma .site-footer__logo,
.site-footer--figma .site-footer__title {
    margin: 0;
    font-size: 22px;
    font-weight: 600;
    line-height: 27px;
    color: var(--color-white);
}

.site-footer--figma .site-footer__logo {
    white-space: nowrap;
}

.site-footer--figma .site-footer__telephone {
    display: flex;
    flex-direction: column;
    width: 243px;
    max-width: 100%;
}

.site-footer--figma .site-footer__phone {
    margin: 0;
    color: rgb(255 255 255 / 70%);
    font-size: 16px;
    line-height: 24px;
}

.site-footer--figma .site-footer__schedule {
    margin: 0;
    color: rgb(255 255 255 / 42%);
    font-size: 13px;
    line-height: 16px;
}

.site-footer--figma .site-footer__contacts > a:not(.site-footer__logo) {
    color: rgb(255 255 255 / 70%);
    font-size: 16px;
    line-height: 24px;
}

.site-footer--figma .site-footer__contact-divider {
    position: relative;
    flex-shrink: 0;
    width: 226px;
    height: 50px;
}

.site-footer--figma .site-footer__contact-divider img {
    display: block;
    max-width: none;
}

.site-footer--figma .site-footer__socials {
    display: flex;
    gap: 33px;
    margin: 0;
    padding: 0;
    width: 100%;
    border: 0;
}

.site-footer--figma .site-footer__social {
    position: relative;
    display: block;
    flex: 0 0 33px;
    width: 33px;
    height: 33px;
    padding: 0;
    border: 0;
    border-radius: 16.5px;
    background: transparent;
    opacity: 1;
}

.site-footer--figma .site-footer__social img {
    display: block;
    max-width: none;
}

.site-footer--figma .site-footer__social-hover {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
}

.site-footer--figma .site-footer__social--telegram:hover .site-footer__social-hover,
.site-footer--figma .site-footer__social--telegram:focus-visible .site-footer__social-hover {
    opacity: 1;
}

.site-footer--figma .site-footer__social--telegram:hover .site-footer__social-default,
.site-footer--figma .site-footer__social--telegram:focus-visible .site-footer__social-default {
    visibility: hidden;
}

.site-footer--figma .site-footer__nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
    min-width: 0;
    padding: 12px 36px 12px 0;
}

.site-footer--figma .site-footer__nav--catalog {
    width: calc(100% + 12px);
    padding-left: 33px;
}

.site-footer--figma .site-footer__links {
    display: flex;
    flex-direction: column;
    gap: 7px;
    width: 100%;
    font-size: 16px;
    line-height: 24px;
}

.site-footer--figma .site-footer__links > a,
.site-footer--figma .site-footer__pending {
    color: rgb(255 255 255 / 70%);
    font-size: 16px;
    line-height: 24px;
}

.site-footer--figma .site-footer__about {
    display: flex;
    flex-direction: column;
    gap: 13px;
    height: 353px;
    min-width: 0;
    padding: 12px 0;
    overflow: clip;
}

.site-footer--figma .site-footer__about .site-footer__nav {
    padding: 0 36px 0 0;
}

.site-footer--figma .site-footer__about-divider {
    position: relative;
    flex-shrink: 0;
    width: 226px;
    height: 1px;
}

.site-footer--figma .site-footer__about-divider img {
    position: absolute;
    top: -0.5px;
    left: 0;
    max-width: none;
}

.site-footer--figma .site-footer__maps {
    flex-shrink: 0;
    width: 100%;
    max-width: 311px;
    height: 145px;
    padding: 0;
    border: 0;
}

.site-footer--figma .site-footer__maps .site-footer__title {
    margin: 0 0 13px;
}

.site-footer--figma .site-footer__map-links {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.site-footer--figma .site-footer__map {
    display: grid;
    grid-template-columns: 18px 131px 44px minmax(0, 1fr);
    gap: 0;
    align-items: start;
    color: rgb(255 255 255 / 70%);
    font-size: 16px;
    line-height: 24px;
}

.site-footer--figma .site-footer__map-icon {
    display: block;
    margin-top: 3px;
    max-width: none;
}

.site-footer--figma .site-footer__map--2gis .site-footer__map-icon {
    margin-top: 4px;
}

.site-footer--figma .site-footer__map--reviews .site-footer__map-icon {
    margin-top: 5px;
}

.site-footer--figma .site-footer__map-rating {
    display: flex;
    gap: 5px;
    align-items: center;
    height: 24px;
    font-weight: 400;
    white-space: nowrap;
}

.site-footer--figma .site-footer__map-rating img {
    display: block;
    max-width: none;
    opacity: 0.7;
}

.site-footer--figma .site-footer__map-count {
    text-align: right;
    font-size: 16px;
    line-height: 24px;
}

.site-footer--figma .site-footer__divider {
    position: relative;
    height: 15px;
    overflow: clip;
}

.site-footer--figma .site-footer__divider img {
    position: absolute;
    top: 0;
    left: 0;
    max-width: none;
}

.site-footer--figma .site-footer__bottom {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 202px 199px;
    column-gap: 108px;
    align-items: start;
    min-height: 0;
    height: 28px;
    padding: 0 26px 0 36px;
    border: 0;
    color: rgb(255 255 255 / 60%);
    font-size: 13px;
    line-height: 16px;
}

.site-footer--figma .site-footer__bottom > * {
    white-space: nowrap;
}

.site-footer--figma a:not(.site-footer__social):hover,
.site-footer--figma a:not(.site-footer__social):focus-visible {
    color: var(--color-white);
}

@media (max-width: 1180px) {
    .site-footer--figma {
        min-height: 0;
    }
    .site-footer--figma .site-footer__container {
        padding-bottom: 32px;
    }
    .site-footer--figma .site-footer__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 24px;
        height: auto;
        min-height: 0;
    }
    .site-footer--figma .site-footer__nav,
    .site-footer--figma .site-footer__nav--catalog,
    .site-footer--figma .site-footer__about,
    .site-footer--figma .site-footer__about .site-footer__nav {
        width: 100%;
        padding-left: 0;
        padding-right: 0;
    }
    .site-footer--figma .site-footer__about {
        height: auto;
    }
    .site-footer--figma .site-footer__bottom {
        grid-template-columns: minmax(0, 1fr) auto auto;
        gap: 24px;
        height: auto;
        padding: 0;
    }
}

@media (max-width: 700px) {
    .site-footer--figma .site-footer__container {
        width: calc(100% - 32px);
    }
    .site-footer--figma .site-footer__grid {
        grid-template-columns: minmax(0, 1fr);
    }
    .site-footer--figma .site-footer__bottom {
        grid-template-columns: minmax(0, 1fr);
        gap: 12px;
    }
}

/* End */


/* Start:/local/templates/plameb/assets/css/city-selector-pm.css?17919584945543*/
/* Figma 2974:4522: Default 499x214, Variant2 519x426. */
.city-dialog.city-dialog--pm {
    width:min(499px,calc(100vw - 32px)); max-width:none; height:214px; max-height:calc(100dvh - 32px);
    box-sizing:border-box; padding:0; border:0; border-radius:7px; margin:auto;
    background:#fff; color:#242424; font-family:Inter,Arial,sans-serif; overflow:auto;
}
.city-dialog.city-dialog--pm::backdrop { background:rgb(36 36 36 / 40%); }
.city-dialog.city-dialog--pm[data-city-stage="select"] { width:min(519px,calc(100vw - 32px)); height:426px; }
.city-dialog--pm [hidden] { display:none !important; }
.city-dialog--pm .city-dialog__confirm, .city-dialog--pm .city-dialog__form { position:relative; padding:27px 27px 0; margin:0; height:100%; box-sizing:border-box; }
.city-dialog--pm .city-dialog__title { margin:0; text-align:center; font-size:25px; font-weight:600; line-height:30.25px; color:#242424; }
.city-dialog--pm .city-dialog__confirm-actions { display:flex; gap:11px; margin-top:15.75px; }
.city-dialog--pm .city-dialog__button { box-sizing:border-box; display:flex; align-items:center; justify-content:center; height:39px; padding:10px 20px; margin:0; border:1px solid #242424; border-radius:7px; background:#242424; color:#fff; font:500 16px/19px Inter,Arial,sans-serif; cursor:pointer; text-decoration:none; }
.city-dialog--pm .city-dialog__button--yes { width:129px; flex-shrink:0; }
.city-dialog--pm .city-dialog__button--other { flex:1; width:305px; background:#fff; color:#242424; border-color:#7b7b7b; font-weight:400; line-height:24px; }
.city-dialog--pm .city-dialog__divider { display:block; height:1px; overflow:hidden; }
.city-dialog--pm .city-dialog__divider img { display:block; width:auto; height:auto; max-width:none; }
.city-dialog--pm .city-dialog__divider--confirm { margin-top:15px; }
.city-dialog--pm .city-dialog__note { margin:27px 0 0; color:#7b7b7b; text-align:center; font:400 13px/15.73px Inter,Arial,sans-serif; }
.city-dialog--pm .city-dialog__search { position:relative; display:block; margin:15.75px 0 0; }
.city-dialog--pm .city-dialog__input { display:block; width:100%; height:47px; box-sizing:border-box; border:1px solid #ccc; border-radius:7px; padding:14px 45px 14px 22px; background:#fff; color:#242424; font:400 14px/17px Inter,Arial,sans-serif; box-shadow:none; }
.city-dialog--pm .city-dialog__input::placeholder { color:#7b7b7b; opacity:1; }
.city-dialog--pm .city-dialog__input::-webkit-search-cancel-button { display:none; }
.city-dialog--pm .city-dialog__search-icon { position:absolute; right:22px; top:15px; width:auto; height:auto; max-width:none; pointer-events:none; }
.city-dialog--pm .city-dialog__divider--list { margin-top:15px; margin-right:20px; }
.city-dialog--pm .city-dialog__scroll { height:206px; margin-top:2px; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#d9d9d9 #f7f7f7; padding-right:17px; }
.city-dialog--pm .city-dialog__scroll::-webkit-scrollbar { width:8px; }
.city-dialog--pm .city-dialog__scroll::-webkit-scrollbar-track { background:#f7f7f7; border-radius:7px; }
.city-dialog--pm .city-dialog__scroll::-webkit-scrollbar-thumb { background:#d9d9d9; border-radius:7px; }
.city-dialog--pm .city-dialog__cities { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); grid-auto-flow:column; grid-template-rows:repeat(var(--city-rows,8),24.7px); gap:0 23px; padding:14px 1px 0; }
.city-dialog--pm .city-dialog__city { display:block; padding:0; margin:0; border:0; border-radius:0; text-align:left; background:transparent; color:#7b7b7b; font:400 13px/24.7px Inter,Arial,sans-serif; cursor:pointer; min-width:0; overflow-wrap:anywhere; }
.city-dialog--pm .city-dialog__city:hover, .city-dialog--pm .city-dialog__city[aria-pressed="true"] { color:#242424; }
.city-dialog--pm .city-dialog__button--apply { width:137px; position:absolute; top:360px; left:179px; }
.city-dialog--pm .city-dialog__empty { margin:14px 0; color:#7b7b7b; font:400 13px/20px Inter,Arial,sans-serif; }
.city-dialog--pm .city-dialog__error { position:absolute; top:403px; left:27px; right:27px; margin:0; color:#b42318; font:400 12px/16px Inter,Arial,sans-serif; text-align:center; }
.city-dialog--pm :is(button,input):focus-visible { outline:2px solid #242424; outline-offset:2px; }
.city-dialog--pm .city-dialog__input:focus { border-color:#242424; box-shadow:none; }
.city-dialog--pm .city-dialog__button--apply:disabled { opacity:.5; cursor:default; }
@media(max-width:550px) {
    .city-dialog--pm .city-dialog__confirm-actions { gap:10px; }
    .city-dialog--pm .city-dialog__button--yes { width:90px; }
    .city-dialog--pm .city-dialog__button--other { width:auto; padding-inline:8px; font-size:14px; }
    .city-dialog--pm .city-dialog__title { font-size:22px; line-height:30.25px; }
    .city-dialog--pm .city-dialog__note { font-size:11px; line-height:15px; }
    .city-dialog--pm .city-dialog__note br { display:none; }
    .city-dialog--pm .city-dialog__button--apply { left:50%; transform:translateX(-50%); }
    .city-dialog--pm .city-dialog__cities { gap:0 12px; }
}
@media(max-width:420px) {
    .city-dialog--pm .city-dialog__confirm, .city-dialog--pm .city-dialog__form { padding-inline:20px; }
    .city-dialog--pm .city-dialog__cities { grid-template-columns:repeat(2,minmax(0,1fr)); grid-auto-flow:row; grid-template-rows:none; grid-auto-rows:minmax(24.7px,auto); }
}


.city-dialog--pm .city-dialog__cities--long { grid-auto-flow:row; grid-template-rows:none; grid-auto-rows:minmax(24.7px,auto); }
html:has(.city-dialog--pm[open]) { overflow:hidden; }

/* End */


/* Start:/local/templates/plameb/assets/css/header-interactions-pm.css?17919586181401*/
/* Keep the site header states independent of legacy component link resets. */
.site-header a.site-logo,
.site-header a.site-logo:is(:link,:visited,:hover,:active,:focus),
.site-header a.site-phone,
.site-header a.site-phone:is(:link,:visited,:hover,:active,:focus),
.site-header a.mobile-menu__phone,
.site-header a.mobile-menu__phone:is(:link,:visited,:hover,:active,:focus) {
    color:#242424; text-decoration:none;
}
.site-header a.catalog-button,
.site-header a.catalog-button:is(:link,:visited,:hover,:active,:focus) {
    color:#fff; text-decoration:none;
}
.site-header .catalog-button__text, .site-header .site-phone__number { color:inherit; text-decoration:none; }
.site-header .site-phone__note { color:#7b7b7b; text-decoration:none; }
.site-header .header-actions a.header-actions__item,
.site-header .header-actions a.header-actions__item:is(:link,:visited,:hover,:active,:focus) {
    color:#242424; text-decoration:none;
}
.site-header a:focus-visible { outline:2px solid #242424; outline-offset:3px; }


.site-header .mobile-menu a, .site-header .mobile-menu a:is(:link,:visited,:hover,:active,:focus) { color:#242424; text-decoration:none; }
.site-footer a.site-footer__logo, .site-footer a.site-footer__logo:is(:link,:visited,:hover,:active,:focus) { color:#fff; text-decoration:none; }

.site-header, .site-footer { font-family:Inter,sans-serif; font-size:16px; line-height:1.5; }

/* End */


/* Start:/local/templates/plameb/assets/css/section-images-pm.css?17919584942015*/
/* Originals from Desktop / каталог (разводная), 3341:4130. Keep the existing home grid/copy. */
.home-page .category-mosaic__item--bathroom { background-image:url('/local/templates/plameb/assets/css/../images/sections-pm/bathroom.png'); background-color:#fff; }
.home-page .category-mosaic__item--dressers { background-image:url('/local/templates/plameb/assets/css/../images/sections-pm/dressers.png'); }
.home-page .category-mosaic__item--wardrobes { background-image:url('/local/templates/plameb/assets/css/../images/sections-pm/wardrobes.png'); }
.home-page .category-mosaic__item--beds { background-image:url('/local/templates/plameb/assets/css/../images/sections-pm/beds.png'); }
.home-page .category-mosaic__item--facades { background-image:url('/local/templates/plameb/assets/css/../images/sections-pm/facades.png'); }
.home-page .category-mosaic__item--wardrobes::before { transform:scaleX(-1); }
/* Apply the exact image paint/crop from the approved catalog; the grid and labels stay native. */
.catalog-overview__tile--hinged .catalog-overview__photo { width:157.19%;height:105.51%;left:-25.34%;top:-2.66%;right:auto;bottom:auto;object-fit:fill;transform:scaleX(-1); }
.catalog-overview__tile--sliding .catalog-overview__photo { width:125.60%;height:145.48%;left:-3.78%;top:-22.73%;right:auto;bottom:auto;object-fit:fill;transform:scaleX(-1); }
.catalog-overview__tile--dressers .catalog-overview__photo { width:217.92%;height:134.79%;left:-58.96%;top:-10.66%;right:auto;bottom:auto;object-fit:fill;transform:none; }
.catalog-overview__tile--bathroom .catalog-overview__photo { width:137.29%;height:100%;left:-12.79%;top:0.06%;right:auto;bottom:auto;object-fit:fill;transform:none; }
.catalog-overview__tile--anthresol .catalog-overview__photo { width:125.27%;height:133.49%;left:-12.52%;top:-16.13%;right:auto;bottom:auto;object-fit:fill;transform:none; }
.catalog-overview__tile--facades .catalog-overview__photo { display:none; }
.catalog-overview__tile--facades::before { content:'';position:absolute;width:171.60%;height:547.16%;left:-71.59%;top:-92.90%;background:url('/local/templates/plameb/assets/css/../images/sections-pm/facades.png') center / 100% 100% no-repeat;pointer-events:none; }

/* End */


/* Start:/local/templates/plameb/assets/css/footer-social-hover.css?1791914800686*/
/* Shared white hover state; existing PM glyphs and 33px geometry are retained. */
.site-footer--figma .site-footer__social > img {
    pointer-events: none;
    transition: opacity 160ms ease;
}
.site-footer--figma .site-footer__social:is(:hover, :focus-visible) .site-footer__social-hover {
    opacity: 1;
}
.site-footer--figma .site-footer__social:is(:hover, :focus-visible) .site-footer__social-default {
    opacity: 0;
    visibility: visible;
}
.site-footer--figma a.site-footer__social:focus-visible {
    outline: 1.3px solid #fff;
    outline-offset: 4px;
}
@media (prefers-reduced-motion: reduce) {
    .site-footer--figma .site-footer__social > img { transition: none; }
}

/* End */
/* /local/templates/plameb/assets/css/fonts.css?1789360581781 */
/* /local/templates/plameb/template_styles.css?179191619285423 */
/* /local/templates/plameb/assets/css/navigation-figma.css?17919160364885 */
/* /local/templates/plameb/assets/css/footer-figma.css?17918007007248 */
/* /local/templates/plameb/assets/css/city-selector-pm.css?17919584945543 */
/* /local/templates/plameb/assets/css/header-interactions-pm.css?17919586181401 */
/* /local/templates/plameb/assets/css/section-images-pm.css?17919584942015 */
/* /local/templates/plameb/assets/css/footer-social-hover.css?1791914800686 */
