

/* Start:/local/css/custom.css?17778205939222*/
.bx-soa-coupon-input {
    top: 0 !important;
}

.bx-soa-custom-label {
    padding-right: 10px !important;
}

.bx-sls .dropdown-icon {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.bx-ui-sls-clear {
    top: 50% !important;
    transform: translateY(-50%) !important;
}

.bx-soa-pp-company-image {
    background-size: 90% !important;
    background-position: center center !important;
    left: 0 !important;
    top: 0 !important;
    background-repeat: no-repeat !important;
}

.bx-soa-item-imgcontainer {
    background-size: 90% !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
}

.bx-soa-more-btn {
    display: flex;
    justify-content: space-between;
}

.checkout-page__card .bx-soa-pp-company, .checkout-page__card .bx-soa-pp-company-selected {
    align-items: center !important;
}

.bx-soa-pp-company-smalltitle {
    text-align: left !important;
    color: #000;
}

#orderDescription {
    display: block;
    width: 100%;
    min-height: 150px;
}

.site-header {
    z-index: 101 !important;
}

.bx-auth-serv-icons {
    display: none !important;
}

.d-sm-none {
    display: none !important;
}

.d-sm-inline {
    display: inline !important;
}

.d-sm-inline-block {
    display: inline-block !important;
}

.d-sm-block {
    display: block !important;
}

.d-sm-table {
    display: table !important;
}

.d-sm-table-row {
    display: table-row !important;
}

.d-sm-table-cell {
    display: table-cell !important;
}

.d-sm-flex {
    display: flex !important;
}

.d-sm-inline-flex {
    display: inline-flex !important;
}

@media (min-width: 576px) and (max-width: 992px) {
    .d-md-none {
        display: none !important;
    }

    .d-md-inline {
        display: inline !important;
    }

    .d-md-inline-block {
        display: inline-block !important;
    }

    .d-md-block {
        display: block !important;
    }

    .d-md-table {
        display: table !important;
    }

    .d-md-table-row {
        display: table-row !important;
    }

    .d-md-table-cell {
        display: table-cell !important;
    }

    .d-md-flex {
        display: flex !important;
    }

    .d-md-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 992px) and (max-width: 1200px) {
    .d-lg-none {
        display: none !important;
    }

    .d-lg-inline {
        display: inline !important;
    }

    .d-lg-inline-block {
        display: inline-block !important;
    }

    .d-lg-block {
        display: block !important;
    }

    .d-lg-table {
        display: table !important;
    }

    .d-lg-table-row {
        display: table-row !important;
    }

    .d-lg-table-cell {
        display: table-cell !important;
    }

    .d-lg-flex {
        display: flex !important;
    }

    .d-lg-inline-flex {
        display: inline-flex !important;
    }
}

@media (min-width: 1200px) {
    .d-xl-none {
        display: none !important;
    }

    .d-xl-inline {
        display: inline !important;
    }

    .d-xl-inline-block {
        display: inline-block !important;
    }

    .d-xl-block {
        display: block !important;
    }

    .d-xl-table {
        display: table !important;
    }

    .d-xl-table-row {
        display: table-row !important;
    }

    .d-xl-table-cell {
        display: table-cell !important;
    }

    .d-xl-flex {
        display: flex !important;
    }

    .d-xl-inline-flex {
        display: inline-flex !important;
    }
}

/* ===== Favorites page /personal/favorites/ ===== */

.favorites-page {
    padding: 2.5rem 0 6rem;
    background: radial-gradient(circle at top center, rgba(14, 90, 88, .08), transparent 30%),
        linear-gradient(180deg, #f8f4ee, #f3ede6);
}

.favorites-page__hero {
    max-width: 52rem;
    margin-bottom: 2.5rem;
}

.favorites-page__eyebrow {
    display: inline-flex;
    margin-bottom: 1rem;
    color: #211d1b8f;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.favorites-page__title {
    margin-bottom: 1rem;
    font-size: clamp(2.4rem, 5vw, 4.8rem);
    font-weight: 500;
    line-height: .96;
    text-transform: uppercase;
}

.favorites-page__lead {
    max-width: 46rem;
    margin-bottom: 1.5rem;
    color: var(--color-muted);
    font-size: 1.06rem;
}

.favorites-page__nav {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.favorites-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.35rem;
}

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

@media (max-width: 1024px) {
    .favorites-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 540px) {
    .favorites-grid {
        grid-template-columns: 1fr;
    }
}

.favorites-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 1.25rem;
    padding: 5rem 2rem;
    text-align: center;
    background: #ffffffeb;
    border: 1px solid rgba(33, 29, 27, .08);
    box-shadow: var(--shadow-card);
}

.favorites-empty__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 4.5rem;
    height: 4.5rem;
    border: 1px solid rgba(33, 29, 27, .12);
    border-radius: 999px;
    color: var(--color-muted);
}

.favorites-empty__icon .icon {
    width: 2rem;
    height: 2rem;
}

.favorites-empty__title {
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 500;
}

.favorites-empty__text {
    max-width: 28rem;
    color: var(--color-muted);
}

/* Активное состояние кнопки избранного */
[data-toggle-favorite][aria-pressed="true"],
[data-toggle-favorite].icon-button--active {
    border-color: rgba(220, 38, 38, .25) !important;
    color: #dc2626 !important;
    background: #fff5f5e0 !important;
}

.product-video {
    position: relative;
    margin-top: .75rem;
}

.product-video img {
    height: 100%;
    display: block;
    width: 100%;
}

.product-video iframe {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
}

.catalog-filter__chip {
    cursor: pointer;
}

/* ===== Search page /search/ ===== */

.search-page-form {
    display: flex;
    gap: .75rem;
    align-items: stretch;
    margin-bottom: 2.5rem;
}

.search-page-form__field {
    display: flex;
    align-items: center;
    gap: .6rem;
    flex: 1;
    padding: .65rem 1rem;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, .14);
    border-radius: var(--radius-sm, 6px);
    transition: border-color .15s;
}

.search-page-form__field:focus-within {
    border-color: var(--color-accent, #0e5a58);
}

.search-page-form__field .icon {
    flex-shrink: 0;
    width: 1.2rem;
    height: 1.2rem;
    color: var(--color-muted);
}

.search-page-form__field input {
    flex: 1;
    border: none;
    outline: none;
    background: transparent;
    font-size: 1rem;
    font-family: inherit;
}

.search-page-results {
    display: flex;
    flex-direction: column;
    gap: 1.25rem;
}

.search-result-card {
    display: flex;
    gap: 1.25rem;
    padding: 1.25rem 1.5rem;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, .08);
    border-radius: var(--radius-sm, 6px);
    box-shadow: var(--shadow-card);
    transition: box-shadow .15s, border-color .15s;
}

.search-result-card:hover {
    border-color: rgba(33, 29, 27, .16);
    box-shadow: 0 4px 16px rgba(33, 29, 27, .1);
}

.search-result-card__media {
    flex-shrink: 0;
    width: 100px;
    height: 100px;
    overflow: hidden;
    border-radius: 4px;
}

.search-result-card__media img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.search-result-card__body {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: .4rem;
}

.search-result-card__path {
    font-size: .78rem;
    color: var(--color-muted);
}

.search-result-card__title {
    font-size: 1.1rem;
    font-weight: 600;
    line-height: 1.3;
}

.search-result-card__title a {
    color: inherit;
    text-decoration: none;
}

.search-result-card__title a:hover {
    color: var(--color-accent, #0e5a58);
}

.search-result-card__text {
    color: var(--color-muted);
    font-size: .93rem;
    line-height: 1.5;
}

.search-result-card__footer {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: auto;
    padding-top: .5rem;
}

.search-result-card__date {
    font-size: .78rem;
    color: var(--color-muted);
}

.search-page-empty {
    margin-top: 2rem;
}

@media (max-width: 600px) {
    .search-page-form {
        flex-direction: column;
    }

    .search-result-card {
        flex-direction: column;
    }

    .search-result-card__media {
        width: 100%;
        height: 160px;
    }
}

.btn-primary {
    white-space: nowrap;
}

.d-flex {
    display: flex;
}

.justify-content-between {
    justify-content: space-between;
}

.align-items-center {
    align-items: center;
}

.SDEK_selectPVZ {
    display: inline-block;
}

/* End */


/* Start:/local/css/custom2.css?1783140399358*/
.product-card__media {
    background: #fff !important;
}

.product-card__media img {
    object-fit: contain !important;
}

#bx-soa-region .bx-soa-location-input-container .dropdown-block.form-control {
    padding-top: 0 !important;
}

.checkout-page__card .bx-soa-section-title-container:hover .bx-soa-section-title {
    background: #f9fafb !important;
}
/* End */


/* Start:/bitrix/templates/impulse/css/site.css?178681852349092*/
﻿:root{--color-bg: #f6f2ed;--color-surface: #ffffff;--color-surface-soft: #f1ece5;--color-surface-strong: #1d1a18;--color-text: #211d1b;--color-muted: rgba(33, 29, 27, .68);--color-line: rgba(33, 29, 27, .12);--color-line-strong: rgba(255, 255, 255, .14);--color-accent: #008ab3;--color-accent-soft: #cfe0dd;--color-white: #ffffff;--font-body: "Manrope", sans-serif;--font-display: var(--font-body);--container: 1440px;--shadow-soft: 0 24px 80px rgba(20, 16, 13, .08);--shadow-card: 0 20px 50px rgba(27, 22, 18, .08)}*,*:before,*:after{box-sizing:border-box}html{scroll-behavior:smooth}body,h1,h2,h3,h4,p,ul,ol,figure,blockquote{margin:0}ul,ol{padding:0;list-style:none}img{display:block;max-width:100%}input,button,a{font:inherit}body{min-width:320px;background:radial-gradient(circle at top center,rgba(14,90,88,.08),transparent 28%),linear-gradient(180deg,#fbf8f4 0%,var(--color-bg) 100%);color:var(--color-text);font-family:var(--font-body);line-height:1.5}a{color:inherit;text-decoration:none}button{border:0;background:transparent;cursor:pointer}input{min-width:0}.page-shell{overflow:clip}.page-shell--inner{padding-top:8.35rem}.page-main{display:grid;gap:0}.section{padding:7rem 0}.section--soft{background:#ffffffb8}.section--dark{background:radial-gradient(circle at top left,rgba(255,255,255,.06),transparent 28%),linear-gradient(180deg,#25211f,#1a1715);color:var(--color-white)}.section--border-top{border-top:1px solid var(--color-line)}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:2rem;margin-bottom:3.5rem}.section-heading__eyebrow{display:inline-flex;align-items:center;gap:.9rem;margin-bottom:1rem;color:#211d1b8f;font-size:.78rem;font-weight:600;letter-spacing:.26em;text-transform:uppercase}.section-heading__eyebrow:before{content:"";width:4.5rem;height:1px;background:#211d1b33}.section-heading__title{font-size:clamp(2.25rem,4vw,3.7rem);font-weight:500;letter-spacing:.02em;line-height:1.02;text-transform:uppercase}.section-heading__title--compact{font-size:clamp(2rem,3vw,3rem)}.text-link{display:inline-flex;align-items:center;gap:.65rem;padding-bottom:.35rem;border-bottom:1px solid var(--color-line);color:var(--color-muted);font-size:.8rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;transition:color .18s ease,border-color .18s ease}.text-link:hover{color:var(--color-text);border-color:var(--color-text)}.text-link--light{border-color:#ffffff59;color:#ffffffd6}.text-link--light:hover{color:var(--color-white);border-color:var(--color-white)}.icon{width:1.2rem;height:1.2rem;flex:0 0 auto}.icon-button{position:relative;display:inline-flex;align-items:center;justify-content:center;width:2.8rem;height:2.8rem;border:1px solid transparent;border-radius:999px;color:var(--color-text);transition:color .18s ease,border-color .18s ease,background-color .18s ease}.icon-button:hover{border-color:var(--color-line);color:var(--color-accent);background:#ffffffb8}.icon-button--surface{background:#ffffffe0;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.icon-button--light{border-color:#ffffff29;color:#ffffffeb;background:#ffffff0a}.icon-button--light:hover{border-color:#ffffff47;color:var(--color-white);background:#ffffff1f}.icon-button--active{border-color:#ffffff57;color:var(--color-white);background:#ffffff24}.icon-button--bag{margin-left:.1rem}.icon-button__count{position:absolute;top:.05rem;right:.05rem;display:inline-flex;align-items:center;justify-content:center;min-width:1rem;height:1rem;padding:0 .25rem;border-radius:999px;background:var(--color-accent);color:var(--color-white);font-size:.62rem;font-weight:700}.icon-button__count--hidden{display:none}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:1024px){.page-shell--inner{padding-top:4.75rem}.section{padding:5rem 0}.section-heading{align-items:start;flex-direction:column;margin-bottom:2.8rem}}@media(max-width:720px){.section{padding:4rem 0}.section-heading__title{font-size:2rem}.section-heading__eyebrow:before{width:2.5rem}}.container{width:min(100% - 3rem,var(--container));margin:0 auto}.button{display:inline-flex;align-items:center;justify-content:center;min-height:3.7rem;padding:1rem 1.9rem;border:1px solid transparent;border-radius:0;font-size:.8rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;transition:transform .18s ease,color .18s ease,background-color .18s ease,border-color .18s ease}.button:hover{transform:translateY(-1px)}.button--accent{background:var(--color-accent);color:var(--color-white)}.button--accent:hover{background:#047496}.button--outline-light{border-color:#ffffff73;color:var(--color-white)}.button--outline-light:hover{background:var(--color-white);color:var(--color-text)}.button--dark{background:var(--color-text);color:var(--color-white)}.button--dark:hover{background:var(--color-accent)}.button--dark-outline{border-color:var(--color-text);color:var(--color-text)}.button--dark-outline:hover{background:var(--color-text);color:var(--color-white)}.button--card{min-height:2.95rem;padding:.8rem 1.1rem;background:var(--color-accent);color:var(--color-white);font-size:.72rem;letter-spacing:.18em}.button--card:hover{background:#14706d}.site-header{position:fixed;inset:0 0 auto;z-index:50;transition:transform .22s ease,background-color .22s ease,box-shadow .22s ease}.site-header--overlay{background:transparent}.site-header--solid{background:#13110ff5;box-shadow:0 12px 40px #0a090829}.site-header--stuck{box-shadow:0 14px 40px #0a090838}.site-header--overlay.site-header--stuck{background:#13110ff0;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header__top{border-bottom:1px solid rgba(255,255,255,.08);background:#1a17146b;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header--solid .site-header__top{background:#13110ff0}.site-header__top-inner{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:1.5rem;min-height:4.65rem}.site-header__brand{display:inline-flex;flex-direction:column;gap:.1rem;color:var(--color-white)}.site-header__brand-mark{font-size:1.7rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.site-header__brand-text{color:#ffffffb8;font-size:.56rem;font-weight:600;letter-spacing:.4em;text-transform:uppercase}.site-header__utility{display:flex;justify-content:flex-end;align-items:center;gap:.4rem}.site-header__utility-search{display:flex;align-items:center;gap:.6rem;width:min(100%,14rem);margin-right:.55rem;padding:.72rem .9rem;border:1px solid rgba(255,255,255,.16);background:#ffffff08;color:#ffffffdb}.site-header__utility-search input{width:100%;border:0;background:transparent;color:var(--color-white);outline:none}.site-header__utility-search input::placeholder{color:#ffffff94}.site-header__account-link{margin-right:.45rem;color:#fffc;font-size:.88rem}.site-header__nav-shell{border-bottom:1px solid rgba(255,255,255,.08);background:#1512109e;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.site-header--solid .site-header__nav-shell{background:#0f0d0cf5}.site-header__nav{display:flex;gap:1.75rem;min-height:3.45rem;align-items:center;overflow-x:auto;scrollbar-width:none}.site-header__nav::-webkit-scrollbar{display:none}.site-header__nav-link{position:relative;display:inline-flex;align-items:center;height:3.45rem;padding:0;color:#ffffffdb;font-size:.9rem;font-weight:500;white-space:nowrap}.site-header__nav-link:after{content:"";position:absolute;inset:auto 0 -1px;height:3px;background:transparent;transition:background-color .18s ease}.site-header__nav-link--active:after,.site-header__nav-link:hover:after{background:var(--color-accent)}.site-header__mega{display:none;background:#181513f5;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.site-header--menu-open .site-header__mega{display:block}.site-header__mega-panel{display:none;padding:2.1rem 0 1.8rem}.site-header__mega-panel--active{display:block}.site-header__mega-main{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(18rem,.85fr);gap:2rem}.site-header__mega-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:1.5rem;padding-right:2rem;border-right:1px solid rgba(255,255,255,.1)}.site-header__mega-column+.site-header__mega-column{padding-left:1.1rem;border-left:1px solid rgba(255,255,255,.08)}.site-header__mega-title{margin-bottom:1rem;color:var(--color-white);font-size:1.16rem;font-weight:600}.site-header__mega-list{display:grid;gap:.62rem;color:#ffffffc7}.site-header__mega-list li{list-style:none}.site-header__mega-list a{transition:color .18s ease}.site-header__mega-list a:hover{color:var(--color-white)}.site-header__mega-featured-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.9rem}.site-header__mega-tile{position:relative;overflow:hidden;min-height:10rem;background:#141210}.site-header__mega-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.88}.site-header__mega-tile:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0a0a0a14,#0a0a0ab8)}.site-header__mega-tile-content{position:absolute;left:1rem;right:1rem;bottom:1rem;z-index:1}.site-header__mega-tile-content small{display:inline-flex;margin-bottom:.45rem;color:#ffffffbd;font-size:.68rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.site-header__mega-tile-content span{display:block;color:var(--color-white);font-size:.92rem;font-weight:500}.site-header__mega-tile-content p{margin-top:.45rem;color:#ffffffc2;font-size:.8rem;line-height:1.4}.site-header__mega-searchbar{display:grid;grid-template-columns:1fr auto;gap:0;margin-top:1.25rem;border:1px solid rgba(255,255,255,.1)}.site-header__mega-searchfield{display:flex;align-items:center;gap:.75rem;padding:0 1.2rem;min-height:3.6rem}.site-header__mega-searchfield input{width:100%;border:0;background:transparent;color:var(--color-white);outline:none}.site-header__mega-searchfield input::placeholder{color:#ffffff80}.site-header__mega-searchbutton{min-width:8.5rem;background:var(--color-accent);color:var(--color-white);font-size:.82rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}@media(max-width:1024px){.site-header{position:fixed;background:#1b1816}.site-header__top-inner{grid-template-columns:1fr auto}.site-header__utility-search,.site-header__account-link,.site-header__nav,.site-header__mega,.site-header__nav-shell{display:none}}@media(max-width:720px){.site-header__top-inner{gap:1rem;min-height:4.4rem}.site-header__brand-mark{font-size:1.4rem}}.hero{position:relative;min-height:60rem;color:var(--color-white)}.hero__media,.hero__media img,.hero__overlay{position:absolute;inset:0}.hero__media img{width:100%;height:100%;object-fit:cover;object-position:33% 18%;transform:scale(1.03)}.hero__overlay{background:linear-gradient(90deg,#0d0c0b2e,#0d0c0b1f 32%,#0d0c0ba8 60%,#0d0c0bd1),linear-gradient(180deg,#0d0c0b14,#0d0c0b47 42%,#0d0c0bb3)}.hero__content{position:relative;z-index:1;display:flex;justify-content:flex-end;align-items:center;min-height:inherit;padding:11.75rem 0 7rem}.hero__body{width:min(100%,33rem);margin-left:auto}.hero__eyebrow{display:inline-block;margin-bottom:1.25rem;color:#ffffffb8;font-size:.76rem;font-weight:700;letter-spacing:.34em;text-transform:uppercase}.hero__title{margin-bottom:1.4rem;font-family:var(--font-display);font-size:clamp(3.7rem,6vw,5.3rem);font-weight:500;line-height:.94}.hero__text{max-width:27rem;margin-bottom:2.1rem;color:#ffffffd1;font-size:1.18rem;font-weight:400;line-height:1.6}.hero__actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;align-items:center}@media(max-width:1024px){.hero{min-height:46rem}.hero__media img{object-position:40% 20%;transform:scale(1.02)}.hero__content{justify-content:flex-start;padding-top:7rem}.hero__body{margin-left:0}}@media(max-width:720px){.hero{min-height:38rem}.hero__content{padding:3.5rem 0}.hero__title{font-size:3rem}.hero__text{font-size:1rem}}.catalog-page{padding:2.5rem 0 6rem;background:radial-gradient(circle at top center,rgba(14,90,88,.08),transparent 30%),linear-gradient(180deg,#f8f4ee,#f3ede6)}.catalog-page__breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.1rem;color:#211d1b8a;font-size:.82rem}.catalog-page__hero-card{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2rem;align-items:end;margin-bottom:1.5rem;padding:2rem 2.2rem;border:1px solid rgba(33,29,27,.08);background:#ffffffb8;box-shadow:var(--shadow-card)}.catalog-page__intro{max-width:44rem}.catalog-page__eyebrow{margin-bottom:.9rem;color:#211d1b8a;font-size:.78rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase}.catalog-page__title{margin-bottom:1rem;font-family:var(--font-display);font-size:clamp(2.8rem,5vw,4.6rem);font-weight:500;line-height:.95}.catalog-page__text{max-width:34rem;color:var(--color-muted);font-size:1.02rem}.catalog-page__hero-meta{display:grid;grid-template-columns:repeat(2,minmax(10rem,1fr));gap:.9rem}.catalog-page__hero-meta div{padding:1rem 1.1rem;background:#211d1b08;border:1px solid rgba(33,29,27,.08)}.catalog-page__hero-meta span{display:block;margin-bottom:.4rem;color:#211d1b8f;font-size:.75rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.catalog-page__hero-meta strong{font-size:1.8rem;font-weight:700}.catalog-page__groups{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:2rem}.catalog-chip{display:inline-flex;align-items:center;min-height:3rem;padding:.75rem 1.1rem;border:1px solid rgba(33,29,27,.12);background:#ffffffb8;color:#211d1bad;font-size:.82rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.catalog-chip--active{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-white)}.catalog-layout{display:grid;grid-template-columns:20rem minmax(0,1fr);gap:1.75rem}.catalog-sidebar{align-self:start;position:sticky;top:9rem}.catalog-filters{display:grid;gap:.9rem}.catalog-filters__head{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.25rem;border:1px solid rgba(33,29,27,.08);background:#ffffffe6;box-shadow:var(--shadow-card)}.catalog-filters__head h2{font-size:.92rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.catalog-filter{border:1px solid rgba(33,29,27,.08);background:#ffffffe6;box-shadow:var(--shadow-card)}.catalog-filter__summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;list-style:none;cursor:pointer}.catalog-filter__summary::-webkit-details-marker{display:none}.catalog-filter__summary span:first-child{font-size:.84rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.catalog-filter__summary-icon{position:relative;width:.8rem;height:.8rem}.catalog-filter__summary-icon:before,.catalog-filter__summary-icon:after{content:"";position:absolute;top:50%;left:50%;width:.8rem;height:1px;background:#211d1b8a;transform:translate(-50%,-50%)}.catalog-filter__summary-icon:after{transform:translate(-50%,-50%) rotate(90deg);transition:opacity .18s ease}.catalog-filter[open] .catalog-filter__summary-icon:after{opacity:0}.catalog-filter__content{display:grid;gap:.9rem;padding:0 1.25rem 1.25rem}.catalog-filter__hint{color:var(--color-muted);font-size:.86rem}.catalog-filter__chips,.catalog-filter__list{display:grid;gap:.6rem}.catalog-filter__price-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}.catalog-filter__field{display:grid;gap:.4rem}.catalog-filter__field span,.catalog-filter__select-label{color:#211d1b94;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.catalog-filter__field input,.catalog-filter__select{min-height:3rem;padding:0 .85rem;border:1px solid rgba(33,29,27,.12);background:#fff;color:var(--color-text)}.catalog-filter__chip input,.catalog-filter__option input{position:absolute;opacity:0;pointer-events:none}.catalog-filter__chip,.catalog-filter__option{display:block}.catalog-filter__chip span,.catalog-filter__option span{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.85rem .95rem;border:1px solid rgba(33,29,27,.1);background:#211d1b05;transition:border-color .18s ease,background-color .18s ease,color .18s ease}.catalog-filter__chip strong{color:#211d1b6b;font-size:.75rem}.catalog-filter__chip--active span,.catalog-filter__chip input:checked+span,.catalog-filter__option input:checked+span{border-color:var(--color-accent);background:#008ab314;color:var(--color-text)}.catalog-filter--sort{display:grid;gap:.5rem;padding:1rem 1.25rem 1.25rem}.catalog-results{min-width:0}.catalog-results__top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;padding:1.25rem 1.35rem;border:1px solid rgba(33,29,27,.08);background:#ffffffc2}.catalog-results__count{margin-bottom:.25rem;color:var(--color-text);font-size:1rem;font-weight:700}.catalog-results__caption{color:var(--color-muted);font-size:.88rem}.catalog-results__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.35rem}.catalog-results__empty{padding:2rem;background:#ffffffdb;border:1px solid rgba(33,29,27,.08)}@media(max-width:1024px){.catalog-page{padding-top:1.75rem}.catalog-page__hero-card,.catalog-layout{grid-template-columns:1fr}.catalog-page__hero-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-sidebar{position:static}.catalog-results__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.catalog-page__hero-card,.catalog-results__top{padding:1.2rem}.catalog-page__hero-meta,.catalog-filter__price-grid,.catalog-results__grid{grid-template-columns:1fr}.catalog-results__top{flex-direction:column}}.product-page{padding:2.5rem 0 6rem;background:linear-gradient(180deg,#faf7f2,#f1ebe4)}.product-page__breadcrumbs{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem;color:#211d1b8a;font-size:.82rem}.product-page__layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(24rem,.95fr);gap:2rem;margin-bottom:4rem}.product-page__gallery,.product-page__summary,.product-page__reviews-summary,.product-page__review-form,.product-page__review{background:#ffffffeb;border:1px solid rgba(33,29,27,.08);box-shadow:var(--shadow-card)}.product-page__gallery{padding:1rem}.product-page__gallery-main{overflow:hidden;aspect-ratio:4/4.6;background:#f7f1ea}.product-page__gallery-main img{width:100%;height:100%;object-fit:cover}.product-page__gallery-thumbs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.75rem;margin-top:.75rem}.product-page__thumb{overflow:hidden;border:1px solid rgba(33,29,27,.08)}.product-page__thumb--active{border-color:var(--color-accent)}.product-page__thumb img{width:100%;height:6rem;object-fit:cover}.product-page__summary{padding:2rem}.product-page__brand-badge{display:inline-flex;align-items:center;justify-content:center;width:3.5rem;height:3.5rem;margin-bottom:1rem;background:#8b2438;color:var(--color-white);font-size:1rem;font-weight:800;letter-spacing:.08em}.product-page__brand{margin-bottom:.55rem;color:#211d1b85;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.product-page__title{margin-bottom:.6rem;font-family:var(--font-display);font-size:clamp(2.4rem,4vw,3.7rem);font-weight:500;line-height:.96}.product-page__sku{margin-bottom:1rem;color:var(--color-muted)}.product-page__rating-row{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem;margin-bottom:1.25rem}.product-page__stars{display:inline-flex;gap:.15rem}.product-page__star{color:#211d1b3d;font-size:1.2rem;line-height:1}.product-page__star--active{color:#d09a33}.product-page__stars--interactive .product-page__star{padding:0;background:transparent}.product-page__reviews-link{color:var(--color-accent);font-weight:600}.product-page__option-group{margin-bottom:1.2rem}.product-page__option-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.7rem;color:var(--color-muted)}.product-page__option-head strong{color:var(--color-text)}.product-page__options{display:flex;flex-wrap:wrap;gap:.65rem}.product-page__chip{min-height:2.8rem;padding:.7rem 1rem;border:1px solid rgba(33,29,27,.14);background:#211d1b05;color:var(--color-text);font-size:.88rem;font-weight:600}.product-page__chip--active{border-color:var(--color-accent);background:#008ab31a}.product-page__swatch{width:2.1rem;height:2.1rem;border:1px solid rgba(33,29,27,.18);background:var(--swatch)}.product-page__swatch--active{outline:2px solid var(--color-accent);outline-offset:2px}.product-page__price-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin:1.5rem 0 1rem}.product-page__price{font-size:2rem}.product-page__old-price{color:#211d1b66;font-size:1.2rem;text-decoration:line-through}.product-page__stock{color:var(--color-accent);font-size:.84rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.product-page__description{margin-bottom:1.5rem;color:var(--color-muted);font-size:1rem}.product-page__actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-bottom:1rem}.product-page__cart-button{min-width:18rem}.product-page__secondary-actions{display:flex;flex-wrap:wrap;gap:1.25rem;margin-bottom:1.8rem}.product-page__inline-action{display:inline-flex;align-items:center;gap:.6rem;color:var(--color-text);font-weight:600}.product-page__inline-action[aria-pressed=true]{color:var(--color-accent)}.product-page__specs{display:grid;gap:.8rem;padding-top:1.2rem;border-top:1px solid rgba(33,29,27,.08)}.product-page__spec{display:flex;justify-content:space-between;gap:1rem}.product-page__spec dt{color:var(--color-muted)}.product-page__spec dd{font-weight:600}.product-page__reviews{margin-bottom:4rem}.product-page__reviews-layout{display:grid;grid-template-columns:18rem minmax(0,1fr);gap:1.5rem}.product-page__reviews-summary,.product-page__review-form{padding:1.5rem}.product-page__reviews-rating{display:block;margin-bottom:.35rem;font-size:3rem;line-height:1}.product-page__reviews-subtitle,.product-page__reviews-count{color:var(--color-muted)}.product-page__reviews-main{display:grid;gap:1rem}.product-page__review-form h3{margin-bottom:1rem;font-size:1.2rem}.product-page__review-field{display:grid;gap:.5rem;margin:1rem 0 1.2rem}.product-page__review-field span{font-size:.85rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.product-page__review-field textarea{width:100%;padding:.95rem 1rem;border:1px solid rgba(33,29,27,.12);background:#fff;color:var(--color-text);resize:vertical}.product-page__reviews-list{display:grid;gap:1rem}.product-page__review{padding:1.4rem 1.5rem}.product-page__review-head{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.product-page__review-head h3{margin-bottom:.25rem;font-size:1.05rem}.product-page__review-head p{color:var(--color-muted);font-size:.88rem}.product-page__review-stars{color:#d09a33;font-size:1rem}.product-page__review-text{color:var(--color-muted)}@media(max-width:1024px){.product-page__layout,.product-page__reviews-layout{grid-template-columns:1fr}}@media(max-width:720px){.product-page__gallery-thumbs{grid-template-columns:repeat(2,minmax(0,1fr))}.product-page__secondary-actions,.product-page__actions,.product-page__price-row,.product-page__review-head{align-items:flex-start;flex-direction:column}.product-page__cart-button{min-width:100%}}.quick-access{background:linear-gradient(180deg,#f7f1eb,#f4eee7)}.quick-access__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem}.category-card{position:relative;min-height:27rem;overflow:hidden;background:#111}.category-card__image,.category-card__overlay{position:absolute;inset:0}.category-card__image{width:100%;height:100%;object-fit:cover;transition:transform .6s ease,opacity .6s ease}.category-card__overlay{background:linear-gradient(180deg,#100f0e24 10%,#100f0ec7)}.category-card__content{position:absolute;inset:auto 0 0;z-index:1;padding:1.6rem;color:var(--color-white)}.category-card__kicker{display:inline-block;margin-bottom:.7rem;color:#ffffffa8;font-size:.72rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase}.category-card__title{margin-bottom:.4rem;font-family:var(--font-display);font-size:2.2rem;font-weight:500}.category-card__link{font-size:.76rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:#ffffffb8}.category-card:hover .category-card__image{transform:scale(1.05);opacity:.8}@media(max-width:1024px){.quick-access__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.quick-access__grid{grid-template-columns:1fr}.category-card{min-height:22rem}}.products{background:linear-gradient(180deg,#f9f6f1,#f5f0ea)}.products__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.35rem}.filter-chip{padding:.9rem 1.2rem;border:1px solid rgba(33,29,27,.12);background:#ffffffb8;color:#211d1b9e;font-size:.8rem;font-weight:600;letter-spacing:.06em;transition:background-color .18s ease,color .18s ease,border-color .18s ease}.filter-chip--active,.filter-chip:hover{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-white)}.section-heading__filters{display:flex;gap:.75rem;flex-wrap:wrap}.product-card{position:relative;background:#fffffff5;box-shadow:var(--shadow-card)}.product-card__overlay-link{position:absolute;inset:0;z-index:2}.product-card__media{position:relative;aspect-ratio:.9;overflow:hidden;background:linear-gradient(180deg,#fbf9f5,#f1ebe3)}.product-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.product-card:hover .product-card__media img{transform:scale(1.04)}.product-card__favorite{position:absolute;top:1rem;right:1rem;z-index:3}.product-card__favorite.icon-button--active{border-color:#008ab342;color:var(--color-accent);background:#fffffff5}.product-card__badge{position:absolute;left:1rem;top:1rem;z-index:1;display:inline-flex;align-items:center;min-height:1.9rem;padding:0 .65rem;background:#13110fd6;color:var(--color-white);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.product-card__meta{padding:1rem 1rem 1.15rem}.product-card__brand{margin-bottom:.45rem;color:#211d1b85;font-size:.7rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.product-card__title{margin-bottom:.4rem;font-size:1.35rem;font-weight:500;line-height:1.12}.product-card__details{min-height:2.7rem;margin-bottom:1rem;color:var(--color-muted);font-size:.9rem}.product-card__footer{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid rgba(33,29,27,.08)}.product-card__price{font-size:1.55rem;font-weight:700;letter-spacing:.02em}.product-card__stock{margin-top:.2rem;color:var(--color-muted);font-size:.74rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.product-card__cta{position:relative;z-index:1;pointer-events:none}@media(max-width:1024px){.products__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.products__grid{grid-template-columns:1fr}}.promotions{background:linear-gradient(180deg,#f3ede6,#eee6de)}.promotions__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;align-items:stretch}.promo-card{display:flex;flex-direction:column;min-height:100%;background:#fffffff0;border:1px solid rgba(33,29,27,.08);box-shadow:var(--shadow-card);overflow:hidden}.promo-card__media{position:relative;aspect-ratio:4/3.25;overflow:hidden}.promo-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}.promo-card:hover .promo-card__media img{transform:scale(1.04)}.promo-card__content{display:flex;flex:1;flex-direction:column;gap:.55rem;padding:1rem 1rem 1.05rem}.promo-card__meta{color:#211d1b85;font-size:.62rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.promo-card__title{display:-webkit-box;min-height:2.5em;overflow:hidden;font-family:var(--font-display);font-size:1.2rem;font-weight:500;line-height:1.05;-webkit-box-orient:vertical;-webkit-line-clamp:2}.promo-card__text{display:-webkit-box;min-height:3.3em;overflow:hidden;color:var(--color-muted);font-size:.82rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:3}.promo-card .text-link{margin-top:auto;font-size:.66rem;letter-spacing:.18em}@media(max-width:1024px){.promotions__grid{grid-template-columns:1fr 1fr}}@media(max-width:720px){.promotions__grid{grid-template-columns:1fr}}.advantages{position:relative;z-index:2;margin-top:-1px;padding:0;background:#1b1715;border-top:0;border-bottom:1px solid rgba(255,255,255,.08);color:var(--color-white)}.advantages .container{max-width:100%;padding-inline:clamp(1rem,4vw,4rem)}.advantages__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.advantage-card{display:flex;align-items:center;gap:1.2rem;min-height:7rem;padding:1.5rem 2rem}.advantage-card+.advantage-card{border-left:1px solid rgba(255,255,255,.1)}.advantage-card__number{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;border:1px solid rgba(255,255,255,.24);border-radius:999px;color:#ffffffc7;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.advantage-card__title{margin-bottom:.3rem;font-size:1.35rem;font-weight:500}.advantage-card__text{max-width:19rem;color:#ffffffa8;font-size:.92rem}@media(max-width:1024px){.advantages__grid{grid-template-columns:1fr}.advantage-card+.advantage-card{border-left:0;border-top:1px solid rgba(255,255,255,.1)}}@media(max-width:720px){.advantage-card{align-items:flex-start;padding:1.25rem 0}}.collections{background:linear-gradient(180deg,#221e1bfa,#1b1816fa),#221f1c;color:var(--color-white)}.collections__grid{display:grid;grid-template-columns:1.45fr 1fr;gap:1.5rem}.collections__side{display:grid;gap:1.5rem}.collections__mini-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.5rem}.collection-tile{position:relative;overflow:hidden;background:#161514}.collection-tile img,.collection-tile__overlay{position:absolute;inset:0}.collection-tile img{width:100%;height:100%;object-fit:cover;transition:transform .9s ease,filter .4s ease}.collection-tile__overlay{background:linear-gradient(180deg,#0c0c0b1a 15%,#0c0c0bbd)}.collection-tile__content{position:absolute;inset:auto 0 0;z-index:1;padding:2rem;color:var(--color-white)}.collection-tile__tag{display:inline-block;margin-bottom:.9rem;color:#ffffffbd;font-size:.68rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}.collection-tile__title{margin-bottom:1rem;font-family:var(--font-display);font-size:clamp(2.5rem,3vw,3.6rem);font-weight:500;line-height:.95}.collection-tile__title--small{font-size:2.2rem}.collection-tile__title--mini{margin-bottom:0;font-size:1.7rem}.collection-tile--lead{min-height:42rem}.collection-tile--wide{min-height:20rem}.collection-tile--mini{min-height:17rem}.collection-tile:hover img{transform:scale(1.06)}@media(max-width:1024px){.collections__grid{grid-template-columns:1fr}}@media(max-width:720px){.collections__mini-grid{grid-template-columns:1fr}.collection-tile,.collection-tile--lead,.collection-tile--wide,.collection-tile--mini{min-height:21rem}}.brands-strip{padding-top:5rem;padding-bottom:5rem;border-block:1px solid var(--color-line);background:#ffffffd9}.brands-strip__heading{margin-bottom:2.5rem;text-align:center}.brands-strip__eyebrow{display:inline-block;margin-bottom:.85rem;color:#211d1b8a;font-size:.76rem;font-weight:700;letter-spacing:.28em;text-transform:uppercase}.brands-strip__title{font-size:clamp(1.9rem,4vw,2.7rem);font-weight:500;letter-spacing:.08em;text-transform:uppercase}.brands-strip__row{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem 2.6rem}.brands-strip__item{color:#211d1bb8;font-family:var(--font-display);font-size:clamp(2rem,3vw,2.5rem);font-weight:500;letter-spacing:.03em}.consultation{padding-block:6rem}.consultation__inner{display:grid;grid-template-columns:minmax(0,.95fr) minmax(22rem,1.05fr);align-items:stretch;background:#ffffff08;border:1px solid rgba(255,255,255,.08);overflow:hidden}.consultation__content{padding:clamp(2rem,5vw,4rem)}.consultation__eyebrow{display:inline-block;margin-bottom:1rem;color:#ffffffad;font-size:.8rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase}.consultation__title{max-width:20rem;margin-bottom:1rem;font-family:var(--font-display);font-size:clamp(3rem,5vw,4.5rem);font-weight:500;line-height:.94}.consultation__text{max-width:24rem;margin-bottom:2rem;color:#ffffffb8;font-size:1.06rem}.consultation__media{min-height:28rem}.consultation__media img{width:100%;height:100%;object-fit:cover}@media(max-width:1024px){.consultation__inner{grid-template-columns:1fr}.consultation__media{min-height:20rem}}.reviews{background:linear-gradient(180deg,#fbf8f4,#f3ede6);border-top:1px solid var(--color-line)}.reviews .section-heading{justify-content:center;text-align:center}.reviews .section-heading__eyebrow:before{display:none}.reviews__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.review-card{display:flex;flex-direction:column;min-height:100%;padding:2rem;background:#ffffffeb;border:1px solid rgba(33,29,27,.08);box-shadow:var(--shadow-card)}.review-card__stars{display:flex;gap:.2rem;margin-bottom:1.5rem;color:var(--color-accent)}.review-card__quote{margin-bottom:2rem;font-family:var(--font-display);font-size:2rem;font-weight:500;line-height:1.15}.review-card__author{margin-top:auto}.review-card__author h3{margin-bottom:.25rem;font-size:.92rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.review-card__author p{color:var(--color-muted);font-size:.74rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}@media(max-width:1024px){.reviews__grid{grid-template-columns:1fr}}.gallery__grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.5rem}.gallery__item{overflow:hidden;border-radius:1.2rem;aspect-ratio:1;background:var(--color-surface-soft)}.gallery__item img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:transform .6s ease,filter .4s ease}.gallery__item:hover img{transform:scale(1.05);filter:grayscale(0)}@media(max-width:1024px){.gallery__grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.gallery__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.journal{background:linear-gradient(180deg,#fbf8f4,#f4eee7)}.journal__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.journal-card{display:flex;flex-direction:column;min-height:100%;background:#ffffffeb;border:1px solid rgba(33,29,27,.08);box-shadow:var(--shadow-card);overflow:hidden}.journal-card__media{overflow:hidden;aspect-ratio:16/10}.journal-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}.journal-card:hover .journal-card__media img{transform:scale(1.04)}.journal-card__meta,.journal-card__title,.journal-card__text{padding-inline:1.4rem}.journal-card__meta{padding-top:1.3rem;margin-bottom:.8rem;color:#1b1a1773;font-size:.72rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.journal-card__title{margin-bottom:.8rem;font-family:var(--font-display);font-size:1.7rem;font-weight:500;line-height:1.05}.journal-card__text{padding-bottom:1.5rem;color:var(--color-muted)}@media(max-width:1024px){.journal__grid{grid-template-columns:1fr}}.news-hero{padding:5rem 0 4rem}.news-hero__grid,.news-story__grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:2rem;align-items:stretch}.news-hero__body,.news-hero__featured,.news-story__content,.news-story__media{border:1px solid rgba(33,29,27,.08);background:#ffffffeb;box-shadow:var(--shadow-card)}.news-hero__body,.news-story__content{padding:2.4rem}.news-hero__eyebrow,.news-story__meta{display:inline-flex;margin-bottom:1rem;color:#211d1b8f;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.news-hero__title,.news-story__title{margin-bottom:1rem;font-size:clamp(2.25rem,4vw,4rem);font-weight:500;line-height:.98;text-transform:uppercase}.news-story__title{font-size:clamp(2rem,3vw,3rem)}.news-hero__text,.news-story__lead,.news-story__paragraph,.news-note{max-width:42rem;color:var(--color-muted)}.news-hero__actions{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:2rem}.news-hero__featured,.news-story__media,.journal-card__link{display:block}.news-hero__featured,.news-story__media{overflow:hidden}.news-hero__featured img,.news-story__media img{width:100%;height:100%;min-height:20rem;object-fit:cover}.news-hero__featured-copy{padding:1.4rem}.news-hero__featured-copy span{display:block;margin-bottom:.65rem;color:#211d1b8f;font-size:.75rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.news-hero__featured-copy strong{display:block;margin-bottom:.65rem;font-family:var(--font-display);font-size:1.9rem;font-weight:500;line-height:1.02}.news-story__paragraph+.news-story__paragraph{margin-top:1rem}.news-detail__breadcrumbs,.news-detail__meta{display:flex;flex-wrap:wrap;gap:.6rem;color:#211d1b8f;font-size:.78rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.news-detail__breadcrumbs{margin-bottom:2rem}.news-detail__article{border:1px solid rgba(33,29,27,.08);background:#fffffff0;box-shadow:var(--shadow-card);overflow:hidden}.news-detail__header,.news-detail__body,.news-detail__actions{padding-inline:clamp(1.5rem,4vw,3rem)}.news-detail__header{padding-top:clamp(2rem,4vw,3rem);padding-bottom:2rem}.news-detail__title{max-width:16ch;margin:1rem 0;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:.96;text-transform:uppercase}.news-detail__lead{max-width:48rem;color:var(--color-muted);font-size:1.08rem}.news-detail__cover img{width:100%;max-height:42rem;object-fit:cover}.news-detail__body{padding-top:2rem;padding-bottom:2rem}.news-detail__section+.news-detail__section{margin-top:2rem}.news-detail__section h2{margin-bottom:.9rem;font-family:var(--font-display);font-size:clamp(1.8rem,3vw,2.6rem);font-weight:500;line-height:1.02}.news-detail__section p+p{margin-top:1rem}.news-detail__actions{display:flex;flex-wrap:wrap;gap:1rem 1.4rem;padding-top:0;padding-bottom:clamp(2rem,4vw,3rem)}@media(max-width:1024px){.news-hero__grid,.news-story__grid{grid-template-columns:1fr}.news-hero{padding-top:3rem}.news-detail__actions{flex-direction:column;align-items:flex-start}}.info-page__hero{max-width:52rem}.info-page__eyebrow{display:inline-flex;margin-bottom:1rem;color:#211d1b8f;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.info-page__title{margin-bottom:1rem;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:.96;text-transform:uppercase}.info-page__lead{max-width:46rem;color:var(--color-muted);font-size:1.06rem}.info-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.info-card{padding:1.8rem;border:1px solid rgba(33,29,27,.08);background:#ffffffeb;box-shadow:var(--shadow-card)}.info-card h2{margin-bottom:.8rem;font-family:var(--font-display);font-size:1.9rem;font-weight:500;line-height:1.02}.info-card p{color:var(--color-muted)}.info-page__links{display:flex;flex-wrap:wrap;gap:1rem 1.5rem}@media(max-width:1024px){.info-page__grid{grid-template-columns:1fr}.info-page__links{flex-direction:column;align-items:flex-start}}.account-page__hero{max-width:52rem;margin-bottom:2rem}.account-page__eyebrow{display:inline-flex;margin-bottom:1rem;color:#211d1b8f;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.account-page__title{margin-bottom:1rem;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:.96;text-transform:uppercase}.account-page__lead{max-width:46rem;color:var(--color-muted);font-size:1.06rem}.account-order{display:grid;grid-template-columns:minmax(280px,.9fr) minmax(0,1.1fr);gap:1.5rem}.account-order__summary,.account-order__step,.account-card,.account-profile-card,.account-cart__item,.account-cart__summary,.account-auth__card{border:1px solid rgba(33,29,27,.08);background:#ffffffeb;box-shadow:var(--shadow-card)}.account-profile-card{display:grid;grid-template-columns:minmax(240px,.8fr) minmax(0,1.2fr);gap:1.5rem;padding:1.8rem}.account-profile-card h2,.account-auth__card h2,.account-cart__item h2{margin-bottom:.75rem;font-family:var(--font-display);font-size:2rem;font-weight:500}.account-profile-card p,.account-auth__card p,.account-cart__item p,.account-cart__summary span{color:var(--color-muted)}.account-profile-card__label{display:inline-flex;margin-bottom:.75rem;color:#211d1b8f;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.account-profile-card__actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.account-profile-card__action{display:grid;gap:.5rem;padding:1.1rem 1.15rem;border:1px solid rgba(33,29,27,.08);background:#f8f4eee6;transition:transform .18s ease,border-color .18s ease}.account-profile-card__action:hover{transform:translateY(-2px);border-color:#008ab33d}.account-profile-card__action strong,.account-profile-card__action em{font-style:normal}.account-profile-card__action span{color:var(--color-muted);font-size:.94rem}.account-profile-card__action em{color:var(--color-accent);font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.account-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 1.2rem}.account-form--compact{grid-template-columns:1fr}.account-form__field{display:grid;gap:.55rem}.account-form__field span{color:#211d1b9e;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.account-form__field input{min-height:3.5rem;padding:0 1rem;border:1px solid rgba(33,29,27,.12);background:#fffffff5}.account-form__actions{display:flex;align-items:end}.account-form__button{display:inline-flex;justify-content:center;align-items:center;min-height:3.5rem;padding:0 1.35rem;background:var(--color-accent);color:var(--color-white);font-size:.82rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.account-form__button--ghost{background:transparent;border:1px solid rgba(33,29,27,.16);color:var(--color-text)}.account-order__summary,.account-card{padding:1.8rem}.account-order__summary span{display:inline-flex;margin-bottom:.75rem;color:#211d1b8f;font-size:.76rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.account-order__summary strong{display:block;margin-bottom:.65rem;font-family:var(--font-display);font-size:2.2rem;font-weight:500}.account-order__summary p,.account-card p{color:var(--color-muted)}.account-order__steps{display:grid;gap:1rem}.account-order__step{display:grid;grid-template-columns:3.5rem 1fr;gap:1rem;align-items:center;padding:1.2rem 1.4rem}.account-order__step span{color:#211d1b66;font-size:1.4rem;font-weight:700}.account-order__step--done{border-color:#008ab329;background:#edf5f4f2}.account-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem}.account-cart,.account-auth{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1.5rem}.account-cart__items{display:grid;gap:1rem}.account-cart__item,.account-cart__summary,.account-auth__card{padding:1.5rem}.account-cart__item{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:1rem;align-items:center}.account-cart__item strong,.account-cart__summary strong{font-family:var(--font-display);font-size:1.9rem;font-weight:500}.account-cart__summary,.account-auth__card{display:grid;align-content:start;gap:1rem}.account-card h2{margin-bottom:.8rem;font-family:var(--font-display);font-size:1.9rem;font-weight:500;line-height:1.02}.account-card--accent{background:radial-gradient(circle at top left,rgba(14,90,88,.12),transparent 45%),#fffffff0}@media(max-width:1024px){.account-profile-card,.account-order,.account-grid,.account-cart,.account-auth,.account-form,.account-profile-card__actions{grid-template-columns:1fr}.account-cart__item{grid-template-columns:1fr;align-items:start}}.cart-page__hero{max-width:52rem}.cart-page__eyebrow{display:inline-flex;margin-bottom:1rem;color:#211d1b8f;font-size:.78rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase}.cart-page__title{margin-bottom:1rem;font-size:clamp(2.4rem,5vw,4.8rem);font-weight:500;line-height:.96;text-transform:uppercase}.cart-page__lead{max-width:46rem;color:var(--color-muted);font-size:1.06rem}.cart-page__layout,.cart-page__checkout{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr);gap:1.5rem}.cart-page__list,.cart-page__summary,.cart-page__benefits{display:grid;gap:1rem}.cart-page__item,.cart-page__summary-card,.cart-page__checkout-card{padding:1.5rem;border:1px solid rgba(33,29,27,.08);background:#ffffffeb;box-shadow:var(--shadow-card)}.cart-page__item{display:grid;grid-template-columns:7rem minmax(0,1fr) auto auto;gap:1.2rem;align-items:center}.cart-page__item-media{display:block;overflow:hidden;aspect-ratio:4/5;background:#f3eee8}.cart-page__item-media img{width:100%;height:100%;object-fit:cover}.cart-page__item-brand,.cart-page__item-details,.cart-page__summary-card span{color:var(--color-muted)}.cart-page__item-main h2{margin:.35rem 0 .45rem;font-family:var(--font-display);font-size:1.65rem;font-weight:500}.cart-page__item-link{margin-top:.85rem;color:var(--color-accent);font-size:.88rem}.cart-page__item-qty{display:inline-grid;grid-template-columns:repeat(3,auto);align-items:center;gap:.5rem;padding:.4rem;border:1px solid rgba(33,29,27,.12)}.cart-page__item-qty button{width:2rem;height:2rem;border:1px solid rgba(33,29,27,.12)}.cart-page__item-price,.cart-page__summary-card strong{font-family:var(--font-display);font-size:2rem;font-weight:500}.cart-page__summary-card{display:grid;gap:.8rem}.cart-page__summary-card--accent{background:radial-gradient(circle at top left,rgba(14,90,88,.12),transparent 45%),#fffffff0}.cart-page__checkout-card h2{margin-bottom:1rem;font-family:var(--font-display);font-size:2rem;font-weight:500}.cart-page__form{display:grid;gap:1rem}.cart-page__field{display:grid;gap:.5rem}.cart-page__field span{color:#211d1b9e;font-size:.82rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.cart-page__field input,.cart-page__field textarea{width:100%;min-height:3.5rem;padding:.95rem 1rem;border:1px solid rgba(33,29,27,.12);background:#fffffff5}.cart-page__benefits li{list-style:none;padding:1rem 1.1rem;border:1px solid rgba(33,29,27,.08);background:#f8f4eee6}@media(max-width:1024px){.cart-page__layout,.cart-page__checkout,.cart-page__item{grid-template-columns:1fr}}.subscribe__inner{max-width:44rem;text-align:center}.subscribe__title{margin-bottom:1rem;font-family:var(--font-display);font-size:clamp(2.1rem,4vw,3.6rem);font-style:italic;font-weight:400}.subscribe__text{margin-bottom:2rem;color:var(--color-muted)}.subscribe__form{display:flex;gap:1rem;align-items:center}.subscribe__field{flex:1}.subscribe__field input{width:100%;min-height:3.6rem;padding:0 1.2rem;border:1px solid var(--color-line);border-radius:999px;background:#ffffffd6;outline:none;transition:border-color .18s ease,box-shadow .18s ease}.subscribe__field input:focus{border-color:#2f6b3b61;box-shadow:0 0 0 4px #2f6b3b14}@media(max-width:720px){.subscribe__form{flex-direction:column}.subscribe__field,.subscribe__field input,.subscribe__form .button{width:100%}}.site-footer{padding:6rem 0 2rem;border-top:1px solid var(--color-line);background:linear-gradient(180deg,#ffffffb8,#efe8decc)}.site-footer__grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:2rem;margin-bottom:3rem}.site-footer__brand{display:inline-block;margin-bottom:1rem;font-size:1.5rem;font-weight:300;letter-spacing:.28em;text-transform:uppercase}.site-footer__text{max-width:20rem;color:var(--color-muted)}.site-footer__socials{display:flex;flex-wrap:wrap;gap:1rem 1.5rem;margin-top:1.5rem}.site-footer__socials a,.site-footer__legal a,.site-footer__column a,.site-footer__credit{transition:color .18s ease}.site-footer__socials a:hover,.site-footer__legal a:hover,.site-footer__column a:hover,.site-footer__credit:hover{color:var(--color-accent)}.site-footer__column h3{margin-bottom:1rem;font-size:.78rem;letter-spacing:.24em;text-transform:uppercase}.site-footer__column ul{display:grid;gap:.85rem;color:var(--color-muted)}.site-footer__bottom{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1.5rem;border-top:1px solid var(--color-line);color:#1b1a1785;font-size:.72rem;letter-spacing:.16em;text-transform:uppercase}.site-footer__legal{display:flex;gap:1.5rem}.site-footer__meta{display:inline-flex;align-items:center;gap:1.25rem}.site-footer__badge{display:inline-flex;align-items:center;gap:.65rem}.site-footer__badge-dot{width:.7rem;height:.7rem;border-radius:999px;background:var(--color-accent)}.site-footer__credit{color:#1b1a17ad}@media(max-width:1024px){.site-footer__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.site-footer__bottom{flex-direction:column;align-items:start}.site-footer__meta{flex-wrap:wrap}}@media(max-width:720px){.site-footer{padding-top:4rem}.site-footer__grid{grid-template-columns:1fr}.site-footer__legal,.site-footer__meta{flex-direction:column;align-items:flex-start;gap:.75rem}}


/* End */


/* Start:/bitrix/templates/impulse/css/ui-kit.css?17868185239192*/
/* Impulse UI kit layer.
   Loaded after the legacy compiled base (`site.css`) and before page overrides.
   Keep selectors intentionally light so existing page-specific rules continue to win. */

:root {
  --color-bg: #f6f2ed;
  --color-surface: #ffffff;
  --color-surface-soft: #ffffff;
  --color-surface-strong: #1d1a18;
  --color-text: #211d1b;
  --color-ink: var(--color-text);
  --color-muted: rgba(33, 29, 27, .68);
  --color-line: rgba(33, 29, 27, .12);
  --color-line-strong: rgba(255, 255, 255, .14);
  --color-accent: #008ab3;
  --color-accent-hover: #09799a;
  --color-accent-soft: #cfe0dd;
  --color-danger: #c0392b;
  --color-white: #ffffff;

  --font-body: "Manrope", sans-serif;

  --container: 1440px;
  --space-section: 1rem;
  --space-section-md: 1rem;
  --space-section-sm: 1rem;

  --radius-none: 0;
  --radius-xs: 2px;
  --radius-sm: .5rem;
  --radius-md: 1rem;
  --radius-pill: 999px;

  --shadow-soft: 0 24px 80px rgba(20, 16, 13, .08);
  --shadow-card: 0 20px 50px rgba(27, 22, 18, .08);

  --transition-fast: 150ms ease;
  --transition-base: 180ms ease;
  --transition-header: 220ms ease;
}

/* Base utilities */
.u-container {
  width: min(100% - 3rem, var(--container));
  margin-inline: auto;
}

.u-stack {
  display: grid;
  gap: var(--stack-gap, 1rem);
}

.u-cluster {
  display: flex;
  flex-wrap: wrap;
  gap: var(--cluster-gap, 1rem);
  align-items: center;
}

.u-card {
  border: 1px solid rgba(33, 29, 27, .08);
  background: rgba(255, 255, 255, .92);
  box-shadow: var(--shadow-card);
}

.u-muted {
  color: var(--color-muted);
}

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

/* Shared layout primitives */
.container {
  width: min(100% - 3rem, var(--container));
  margin-inline: auto;
}

.section {
  padding: var(--space-section) 0;
}

.section--soft {
  background: rgba(255, 255, 255, .72);
}

.section--dark {
  background:
    radial-gradient(circle at top left, rgba(255, 255, 255, .06), transparent 28%),
    linear-gradient(180deg, #25211f, #1a1715);
  color: var(--color-white);
}

.section--border-top {
  border-top: 1px solid var(--color-line);
}

/* Buttons */
.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 3.7rem;
  padding: 1rem 1.9rem;
  border: 1px solid transparent;
  border-radius: var(--radius-none);
  font-size: .8rem;
  font-weight: 700;
  letter-spacing: .2em;
  line-height: 1.2;
  text-align: center;
  text-transform: uppercase;
  transition:
    transform var(--transition-base),
    color var(--transition-base),
    background-color var(--transition-base),
    border-color var(--transition-base),
    opacity var(--transition-fast);
}

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

.button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.button:disabled,
.button.is-disabled {
  opacity: .55;
  cursor: not-allowed;
  pointer-events: none;
}

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

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

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

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

.button--dark-outline {
  border-color: var(--color-text);
  color: var(--color-text);
}

.button--dark-outline:hover {
  background: var(--color-text);
  color: var(--color-white);
}

.button--outline-light {
  border-color: rgba(255, 255, 255, .45);
  color: var(--color-white);
}

.button--outline-light:hover {
  background: var(--color-white);
  color: var(--color-text);
}

.button--card {
  min-height: 2.95rem;
  padding: .8rem 1.1rem;
  background: var(--color-accent);
  color: var(--color-white);
  font-size: .72rem;
  letter-spacing: .18em;
}

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

/* Icon buttons */
.icon-button {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 2.8rem;
  height: 2.8rem;
  border: 1px solid transparent;
  border-radius: var(--radius-pill);
  color: var(--color-text);
  transition:
    color var(--transition-base),
    border-color var(--transition-base),
    background-color var(--transition-base),
    opacity var(--transition-fast);
}

.icon-button:hover {
  border-color: var(--color-line);
  color: var(--color-accent);
  background: rgba(255, 255, 255, .72);
}

.icon-button:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 3px;
}

.icon-button--surface {
  background: rgba(255, 255, 255, .88);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
}

.icon-button--light {
  border-color: rgba(255, 255, 255, .16);
  color: rgba(255, 255, 255, .92);
  background: rgba(255, 255, 255, .04);
}

.icon-button--light:hover {
  border-color: rgba(255, 255, 255, .28);
  color: var(--color-white);
  background: rgba(255, 255, 255, .12);
}

.icon-button--active {
  border-color: rgba(255, 255, 255, .34);
  color: var(--color-white);
  background: rgba(255, 255, 255, .14);
}

.icon-button__count {
  position: absolute;
  top: .05rem;
  right: .05rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 1rem;
  height: 1rem;
  padding: 0 .25rem;
  border-radius: var(--radius-pill);
  background: var(--color-accent);
  color: var(--color-white);
  font-size: .62rem;
  font-weight: 700;
}

.icon-button__count--hidden {
  display: none;
}

/* Section heading */
.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 2rem;
  margin-bottom: 3.5rem;
}

.section-heading__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: .9rem;
  margin-bottom: 1rem;
  color: rgba(33, 29, 27, .56);
  font-size: .78rem;
  font-weight: 600;
  letter-spacing: .26em;
  text-transform: uppercase;
}

.section-heading__eyebrow::before {
  content: "";
  width: 4.5rem;
  height: 1px;
  background: rgba(33, 29, 27, .2);
}

.section-heading__title {
  font-size: clamp(2.25rem, 4vw, 3.7rem);
  font-weight: 500;
  letter-spacing: .02em;
  line-height: 1.02;
  text-transform: uppercase;
}

.section-heading__title--compact {
  font-size: clamp(2rem, 3vw, 3rem);
}

.section-heading__filters {
  display: flex;
  flex-wrap: wrap;
  gap: .65rem;
}

/* Product card shared contract */
.product-card {
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  min-height: 100%;
  background: rgba(255, 255, 255, .92);
  border: 1px solid rgba(33, 29, 27, .08);
  box-shadow: var(--shadow-card);
  overflow: hidden;
}

.product-card__overlay-link {
  position: absolute;
  inset: 0;
  z-index: 2;
}

.product-card__media {
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: var(--color-surface-soft);
}

.product-card__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s ease;
}

.product-card:hover .product-card__media img {
  transform: scale(1.04);
}

.product-card__meta {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: .55rem;
  padding: 1.15rem;
}

.product-card__brand,
.product-card__details,
.product-card__summary,
.product-card__stock {
  color: var(--color-muted);
}

.product-card__brand {
  font-size: .72rem;
  font-weight: 700;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.product-card__title {
  font-size: 1.55rem;
  font-weight: 500;
  line-height: 1.05;
}

.product-card__summary {
  font-size: .9rem;
  line-height: 1.5;
}

.product-card__footer {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  margin-top: auto;
}

.product-card__price {
  font-size: 1.75rem;
  font-weight: 500;
  line-height: 1;
}

.product-card__actions {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  gap: .6rem;
}

.product-card__favorite,
.product-card__cart {
  z-index: 4;
}

/* Forms */
.ui-field {
  display: grid;
  gap: .5rem;
}

.ui-field__label,
.ui-label {
  color: rgba(33, 29, 27, .62);
  font-size: .78rem;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.ui-input,
.ui-textarea,
.ui-select {
  width: 100%;
  min-height: 3.25rem;
  padding: .8rem 1rem;
  border: 1px solid var(--color-line);
  background: var(--color-white);
  color: var(--color-text);
  font: inherit;
  transition: border-color var(--transition-fast), box-shadow var(--transition-fast);
}

.ui-input:focus,
.ui-textarea:focus,
.ui-select:focus {
  outline: none;
  border-color: var(--color-accent);
  box-shadow: 0 0 0 4px rgba(0, 138, 179, .1);
}

@media (max-width: 1024px) {
  .section {
    padding: var(--space-section-md) 0;
  }

  .section-heading {
    align-items: start;
    flex-direction: column;
    margin-bottom: 2.8rem;
  }
}

@media (max-width: 720px) {

  .container,
  .u-container {
    width: min(100% - 1.5rem, var(--container));
  }

  .section {
    padding: var(--space-section-sm) 0;
  }

  .section-heading__title {
    font-size: 2rem;
  }

  .section-heading__eyebrow::before {
    width: 2.5rem;
  }

}
/* End */


/* Start:/bitrix/templates/impulse/css/site2.css?178681852312459*/
/* ===== ЛИЧНЫЙ КАБИНЕТ: САЙДБАР И РАЗМЕТКА ===== */
.personal-page{padding:5rem 0 5rem}.personal-page__layout{display:grid;grid-template-columns:260px 1fr;gap:3rem;align-items:start}.personal-nav{position:sticky;top:2rem;border:1px solid var(--color-line);background:var(--color-surface)}.personal-nav__head{padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-line)}.personal-nav__user-name{font-family:var(--font-display);font-size:1.35rem;font-weight:500}.personal-nav__user-label{color:var(--color-muted);font-size:.76rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.personal-nav__group{padding:.75rem 0}.personal-nav__group+.personal-nav__group{border-top:1px solid var(--color-line)}.personal-nav__group-title{display:block;padding:.45rem 1.5rem;color:var(--color-muted);font-size:.68rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase}.personal-nav__link{display:flex;align-items:center;gap:.65rem;padding:.6rem 1.5rem;color:var(--color-text);font-size:.94rem;transition:background .15s,color .15s}.personal-nav__link:hover{background:var(--color-surface-soft);color:var(--color-accent)}.personal-nav__link--active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}.personal-nav__link svg{flex-shrink:0;opacity:.55}.personal-nav__link--active svg{opacity:1}.personal-nav__logout{display:block;padding:.75rem 1.5rem;border-top:1px solid var(--color-line);color:var(--color-muted);font-size:.84rem;transition:color .15s}.personal-nav__logout:hover{color:var(--color-accent)}
/* ===== ЛИЧНЫЕ ДАННЫЕ ===== */
.personal-section__title{margin-bottom:1.75rem;font-family:var(--font-display);font-size:2rem;font-weight:500}.personal-profile-card{padding:2rem;border:1px solid var(--color-line);background:var(--color-surface)}.personal-profile__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem 2rem}.personal-field{display:grid;gap:.35rem}.personal-field__label{color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.personal-field__value{font-size:1rem}.personal-field__value--empty{color:var(--color-muted);font-style:italic}.personal-field__value--highlight{color:var(--color-accent);font-weight:600}.personal-profile__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-top:1.75rem;padding-top:1.5rem;border-top:1px solid var(--color-line)}
/* ===== АДРЕСНАЯ КНИГА ===== */
.personal-address-list{display:grid;gap:1rem}.personal-address-card{padding:1.35rem 1.5rem;border:1px solid var(--color-line);background:var(--color-surface)}.personal-address-card__label{display:block;margin-bottom:.35rem;color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase}.personal-address-card__text{font-size:.96rem}.personal-add-address{display:inline-flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px dashed rgba(33,29,27,.2);color:var(--color-muted);font-size:.9rem;transition:border-color .15s,color .15s;cursor:pointer;background:none;width:100%}.personal-add-address:hover{border-color:var(--color-accent);color:var(--color-accent)}
/* ===== НАСТРОЙКИ ===== */
.personal-settings-list{display:grid;gap:.75rem}.personal-settings-item{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.1rem 1.35rem;border:1px solid var(--color-line);background:var(--color-surface);transition:border-color .15s}.personal-settings-item:hover{border-color:rgba(14,90,88,.3)}.personal-settings-item__info{display:grid;gap:.2rem}.personal-settings-item__title{font-size:.96rem;font-weight:500}.personal-settings-item__desc{color:var(--color-muted);font-size:.84rem}.personal-settings-item__action{flex-shrink:0;color:var(--color-accent);font-size:.82rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}
/* ===== МОИ ОТЗЫВЫ ===== */
.personal-reviews-list{display:grid;gap:1rem}.personal-review-card{padding:1.35rem 1.5rem;border:1px solid var(--color-line);background:var(--color-surface)}.personal-review-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.personal-review-card__product{font-weight:600;font-size:.96rem}.personal-review-card__date{color:var(--color-muted);font-size:.8rem;white-space:nowrap}.personal-review-card__text{color:var(--color-muted);font-size:.94rem;line-height:1.6}.personal-review-empty,.personal-orders-empty,.personal-addresses-empty{padding:2.5rem 1.5rem;border:1px dashed var(--color-line);text-align:center}.personal-review-empty p,.personal-orders-empty p,.personal-addresses-empty p{margin-top:.6rem;color:var(--color-muted);font-size:.94rem}.personal-review-btn{margin-top:1.5rem}
/* ===== ИСТОРИЯ ЗАКАЗОВ ===== */
.personal-order-card{padding:0;border:1px solid var(--color-line);background:var(--color-surface);overflow:hidden}.personal-order-card__header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1.1rem 1.5rem;background:var(--color-surface-soft);border-bottom:1px solid var(--color-line)}.personal-order-card__id{font-weight:700;font-size:.92rem}.personal-order-card__date{color:var(--color-muted);font-size:.82rem}.personal-order-card__status{display:inline-flex;padding:.25rem .75rem;background:var(--color-accent-soft);color:var(--color-accent);font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.personal-order-card__items{padding:1rem 1.5rem;display:grid;gap:.5rem}.personal-order-card__item{display:flex;justify-content:space-between;gap:1rem;font-size:.9rem}.personal-order-card__item-name{color:var(--color-text)}.personal-order-card__item-qty{color:var(--color-muted)}.personal-order-card__footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1.5rem;border-top:1px solid var(--color-line)}.personal-order-card__total{font-weight:700;font-size:1.05rem}
/* ===== АДАПТИВ ===== */
@media(max-width:960px){.personal-page__layout{grid-template-columns:1fr}.personal-nav{position:static}.personal-page{padding:2rem 0 4rem}}@media(max-width:640px){.personal-profile__grid{grid-template-columns:1fr}.personal-nav__head{padding:1rem 1.25rem}.personal-nav__link,.personal-nav__group-title{padding-left:1.25rem;padding-right:1.25rem}.personal-nav__logout{padding-left:1.25rem}}

/* ===== АДРЕСНАЯ КНИГА: ФОРМА И КАРТОЧКИ ===== */
.address-card{position:relative;padding:1.35rem 1.5rem;border:1px solid var(--color-line);background:var(--color-surface);transition:border-color .15s}.address-card--default{border-color:var(--color-accent)}.address-card__badge{display:inline-flex;margin-bottom:.5rem;padding:.2rem .65rem;background:var(--color-accent-soft);color:var(--color-accent);font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.address-card__label{display:block;margin-bottom:.25rem;font-weight:600;font-size:.96rem}.address-card__text{color:var(--color-muted);font-size:.9rem;line-height:1.5}.address-card__actions{display:flex;gap:1rem;margin-top:.85rem}.address-card__action{color:var(--color-accent);font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;background:none;border:none;padding:0;transition:opacity .15s}.address-card__action:hover{opacity:.7}.address-card__action--danger{color:#c0392b}
/* Форма адреса */
.address-form{display:none;padding:1.5rem;border:1px solid var(--color-line);background:var(--color-surface-soft)}.address-form.is-open{display:block}.address-form__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.address-form__field{display:grid;gap:.4rem}.address-form__field--wide{grid-column:1/-1}.address-form__label{color:var(--color-muted);font-size:.72rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.address-form__input{min-height:3rem;padding:0 .9rem;border:1px solid var(--color-line);background:#fff;font-size:.95rem;width:100%;transition:border-color .15s}.address-form__input:focus{outline:none;border-color:var(--color-accent)}.address-form__checkbox{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:.9rem}.address-form__checkbox input{width:1rem;height:1rem;accent-color:var(--color-accent)}.address-form__footer{display:flex;align-items:center;gap:1rem;margin-top:1.25rem}.address-form__error{color:#c0392b;font-size:.85rem;display:none}.address-form__error.is-visible{display:block}
/* Кнопка добавить адрес */
.address-add-btn{display:inline-flex;align-items:center;gap:.5rem;margin-top:1rem;padding:.7rem 1.2rem;border:1px dashed rgba(33,29,27,.25);color:var(--color-muted);font-size:.9rem;background:none;cursor:pointer;width:100%;transition:border-color .15s,color .15s}.address-add-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}
@media(max-width:640px){.address-form__grid{grid-template-columns:1fr}}
/* ===== ВЫБОР АДРЕСА В ЧЕКАУТЕ ===== */
.checkout-address-picker{margin-bottom:1.25rem;padding:1rem 1.25rem;border:1px solid var(--color-accent-soft);background:var(--color-surface)}.checkout-address-picker__title{margin-bottom:.65rem;font-size:.78rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--color-muted)}.checkout-address-picker__list{display:flex;flex-wrap:wrap;gap:.5rem}.checkout-address-picker__item{padding:.45rem .9rem;border:1px solid var(--color-line);background:#fff;font-size:.85rem;cursor:pointer;transition:border-color .15s,background .15s}.checkout-address-picker__item:hover,.checkout-address-picker__item.is-active,.checkout-address-picker__item.is-selected{border-color:var(--color-accent);background:var(--color-accent-soft);color:var(--color-accent);font-weight:600}

#address-list{display:grid;gap:1rem;margin-bottom:1rem}

.subscribe-btn{flex-shrink:0;padding:.4rem .9rem;border:1px solid var(--color-accent);color:var(--color-accent);background:none;font-size:.8rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:background .15s,color .15s;white-space:nowrap}
.subscribe-btn:hover{background:var(--color-accent);color:#fff}
.subscribe-btn--active{background:var(--color-accent);color:#fff}
.subscribe-btn--active:hover{background:transparent;color:var(--color-accent)}
/* ===== ОФОРМЛЕНИЕ ЗАКАЗА: ОШИБКА НЕСОВПАДЕНИЯ ГОРОДА ===== */
.impulse-city-mismatch-error{margin-top:.75rem;padding:.65rem 1rem;background:#fff3cd;border:1px solid #ffc107;color:#856404;font-size:.88rem;line-height:1.5}.impulse-city-mismatch-error a{color:#856404;font-weight:700;text-decoration:underline}.impulse-city-mismatch-error a:hover{color:#533f03}
[data-save-button="true"].impulse-btn-disabled{opacity:.45;cursor:not-allowed;pointer-events:none}
.subscribe-btn:disabled{opacity:.5;cursor:default}

.site-header__city-popover {
    left: 0;
    right: auto;
}

.site-header__city-popover-actions {
    grid-template-columns: repeat(2, minmax(0, 2fr)) !important;
}

/* Personal order actions */
.personal-order-card__actions{display:flex;align-items:center;justify-content:flex-end;gap:.65rem}.personal-order-card__cancel-form{margin:0}.personal-order-card__action{display:inline-flex;min-height:2.5rem;align-items:center;justify-content:center;padding:.55rem 1rem;border:1px solid var(--color-accent);font:inherit;font-size:.78rem;font-weight:700;letter-spacing:.08em;line-height:1;text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background .15s,color .15s,border-color .15s}.personal-order-card__action--pay{background:var(--color-accent);color:#fff}.personal-order-card__action--pay:hover{background:transparent;color:var(--color-accent)}.personal-order-card__action--cancel{background:transparent;border-color:rgba(175,55,55,.35);color:#a63838}.personal-order-card__action--cancel:hover{border-color:#a63838;background:#a63838;color:#fff}.personal-orders-notice{margin:0 0 1rem;padding:.85rem 1rem;border:1px solid;font-size:.9rem}.personal-orders-notice--success{border-color:#a9d5be;background:#eef9f3;color:#246b45}.personal-orders-notice--error{border-color:#e2b7b7;background:#fff2f2;color:#963737}
@media(max-width:640px){.personal-order-card__actions{width:100%;flex-direction:column;align-items:stretch}.personal-order-card__cancel-form,.personal-order-card__action{width:100%;box-sizing:border-box}}

/* End */


/* Start:/bitrix/templates/impulse/css/core-page.css?178681852115443*/
/* Lightweight cross-page layer used before the large template stylesheet.
   Keeps mobile header/nav, city switcher and shared modal form styles out of
   the blocking monolith on home/catalog entry pages. */

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

html {
    scroll-behavior: smooth;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote {
    margin: 0;
}

ul,
ol {
    padding: 0;
    list-style: none;
}

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

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

button,
input {
    font: inherit;
}

button {
    border: 0;
    background: transparent;
    cursor: pointer;
}

input {
    min-width: 0;
}

body.impulse-template {
    min-width: 320px;
    background:
        radial-gradient(circle at top center, rgba(0, 138, 179, 0.08), transparent 28%),
        linear-gradient(180deg, #fbf8f4 0%, var(--color-bg) 100%);
    color: var(--color-text);
    font-family: var(--font-body), sans-serif;
    line-height: 1.5;
}

body.impulse-template .page-shell {
    overflow: clip;
}

.site-header {
    position: fixed;
    inset: var(--bx-panel-offset, 0) 0 auto;
    z-index: 10000;
    color: #fff;
    transition: background-color 180ms ease, box-shadow 180ms ease;
}

.site-header__prebar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: #0d0d0c;
}

.site-header__prebar-inner,
.site-header__top-inner,
.site-header__nav-shell > .container,
.site-header__mega > .container {
    width: min(100% - 4rem, 1680px);
    max-width: none;
    margin-inline: auto;
}

.site-header__top {
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(13, 13, 12, 0.96);
}

.site-header__top-inner {
    display: grid;
    grid-template-columns: auto minmax(8rem, 1fr) auto;
    align-items: center;
    gap: 1rem;
    min-height: 4.8rem;
}

.site-header__brand {
    display: inline-flex;
    align-items: center;
    justify-self: start;
    min-width: 0;
}

.site-header__brand-logo {
    display: block;
    width: auto;
    height: 2.75rem;
    max-width: 10rem;
}

.site-header__brand-logo--dark {
    display: none;
}

.site-header__utility {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.45rem;
    min-width: 0;
}

.site-header__utility-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    gap: 0.25rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.66rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.site-header__utility-item-icon {
    width: 2.65rem;
    height: 2.65rem;
}

.site-header__search-button {
    flex: 0 0 auto;
}

.site-header__utility-search-submit {
    display: none;
}

.site-header__nav-shell {
    background: #0d0d0c;
}

@media (max-width: 1024px) {
    .site-header__prebar,
    .site-header__nav-shell,
    .site-header__mega {
        display: none;
    }

    .site-header__top,
    .site-header--stuck .site-header__top {
        background: #0d0d0c;
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .site-header__top-inner {
        width: min(100% - 1.5rem, 28rem);
        min-height: 4.45rem;
        grid-template-columns: 2.75rem minmax(0, 1fr) auto;
        padding-inline: 0;
    }

    .site-header__brand {
        justify-self: center;
    }

    .site-header__brand-logo {
        height: 2.45rem;
        max-width: 9rem;
    }

    .site-header__utility {
        gap: 0.25rem;
    }

    .site-header__utility-item-label,
    .site-header__utility-item:not(.site-header__utility-item--mobile-profile),
    .site-header__utility-search,
    .site-header__account-link {
        display: none;
    }

    .site-header__utility-item--mobile-profile {
        display: inline-flex;
    }

    .site-header__utility-item-icon,
    .site-header .icon-button,
    .site-header__burger {
        width: 2.55rem;
        height: 2.55rem;
        color: #fff;
        border-color: transparent;
        background: transparent;
    }

    .site-header__burger {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .site-header--stuck .site-header__top {
        background: rgba(255, 255, 255, 0.92);
        -webkit-backdrop-filter: blur(16px);
        backdrop-filter: blur(16px);
        box-shadow: 0 10px 34px rgba(20, 16, 13, 0.08);
    }

    .site-header--stuck .site-header__brand-logo--light {
        display: none;
    }

    .site-header--stuck .site-header__brand-logo--dark {
        display: block;
    }

    .site-header--stuck .site-header__utility-item-icon,
    .site-header--stuck .site-header__search-button,
    .site-header--stuck .site-header__burger {
        color: var(--color-text);
    }
}

@media (max-width: 767px) {
    .site-header__top-inner {
        width: min(100% - 1rem, 24rem);
        min-height: 4.35rem;
        gap: 0.45rem;
    }

    .site-header__brand-logo {
        height: 2.2rem;
        max-width: 8.25rem;
    }
}

.mobile-bottom-nav {
    display: none;
}

@media (max-width: 1024px) {
    .mobile-bottom-nav {
        position: fixed !important;
        top: auto !important;
        left: 0 !important;
        right: 0 !important;
        bottom: 0 !important;
        z-index: 10020;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        width: 100% !important;
        max-width: 100vw !important;
        margin: 0 !important;
        padding: 0.35rem 0.35rem calc(0.35rem + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, 0.92);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        border-top: 1px solid rgba(33, 29, 27, 0.12);
        /* Promote to its own GPU layer to reduce repaints when the mobile
           browser chrome resizes the viewport during scroll.
           NOTE: transform is intentionally NOT used here — .mobile-bottom-nav
           lives inside <header class="site-header">, so applying transform on
           the header ancestor would break position:fixed for all its children.
           will-change alone is sufficient for layer promotion. */
        will-change: transform;
    }

    body.impulse-template {
        padding-bottom: calc(var(--impulse-bottom-nav-height) + env(safe-area-inset-bottom));
    }

    .mobile-bottom-nav__item {
        position: relative;
        display: grid;
        justify-items: center;
        gap: 0.2rem;
        padding: 0.35rem 0.25rem;
        color: rgba(33, 29, 27, 0.78);
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .mobile-bottom-nav__icon {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.35rem;
        height: 2.35rem;
        border: 0;
        background: transparent;
    }

    .mobile-bottom-nav__item .icon {
        width: 1.25rem;
        height: 1.25rem;
    }

    .mobile-bottom-nav__label {
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        line-height: 1;
        opacity: 0.92;
        text-transform: uppercase;
    }

    .mobile-bottom-nav__count {
        position: absolute;
        top: 0.15rem;
        right: 0.1rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0.95rem;
        height: 0.95rem;
        padding: 0 0.22rem;
        border-radius: 999px;
        background: var(--color-accent);
        color: #fff;
        font-size: 0.54rem;
        font-weight: 700;
        line-height: 1;
    }

    .mobile-bottom-nav__count--hidden {
        display: none;
    }

    .mobile-bottom-nav__item.is-active {
        color: var(--color-accent);
    }

    .mobile-bottom-nav__item.is-active .mobile-bottom-nav__icon {
        background: transparent;
    }
}

.site-header__city-popover {
    position: absolute;
    top: calc(100% + 0.55rem);
    left: -7rem;
    z-index: 30;
    width: min(24rem, calc(100vw - 1.5rem));
    max-width: min(24rem, calc(100vw - 1.5rem));
    padding: 0.9rem;
    box-sizing: border-box;
    border-radius: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(28, 24, 22, 0.92);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
}

.site-header__city-popover-text {
    margin: 0 0 0.75rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.82rem;
    line-height: 1.42;
    letter-spacing: 0.02em;
    text-transform: none;
}

.site-header__city-popover-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
}

.site-header__city-popover-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    min-width: 0;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.site-header__city-popover-button:hover {
    border-color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.site-header__city-popover-button--primary {
    border-color: rgba(0, 138, 179, 0.6);
    background: rgba(0, 138, 179, 0.35);
}

.site-header__city-popover-button--primary:hover {
    border-color: rgba(0, 138, 179, 0.9);
    background: rgba(0, 138, 179, 0.55);
}

.site-header__mobile-overlay,
.site-header__mobile-drawer {
    display: none;
}

@media (max-width: 1024px) {
    .site-header__utility > :not(.site-header__search-button):not(.site-header__utility-item--mobile-profile) {
        display: none;
    }

    .site-header__utility > .site-header__utility-item--mobile-profile {
        display: inline-flex !important;
    }

    .site-header__utility > .site-header__utility-item--mobile-cart,
    .site-header__utility > .icon-button--bag {
        display: none !important;
    }

    .site-header__burger {
        display: inline-flex;
        margin-left: -0.35rem;
    }

    .site-header__mobile-overlay,
    .site-header__mobile-drawer {
        display: block;
    }

    .site-header__mobile-overlay {
        position: fixed;
        inset: 0;
        z-index: 60;
        background: rgba(10, 9, 8, 0.6);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 180ms ease, visibility 180ms ease;
    }

    .site-header__mobile-drawer {
        position: fixed;
        top: var(--bx-panel-offset);
        right: 0;
        bottom: 0;
        left: 0;
        z-index: 70;
        width: 100%;
        max-width: 28rem;
        margin: 0 auto;
        padding: 0 0 5.5rem;
        overflow: auto;
        background: #18181b;
        color: #fff;
        color-scheme: dark;
        box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
        transform: translateX(110%);
        transition: transform 220ms ease;
    }

    .site-header__mobile-toggle:checked ~ .site-header__mobile-drawer {
        transform: translateX(0);
    }

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

    .site-header__mobile-head {
        position: relative;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        min-height: 4rem;
        margin: 0;
        padding: 1.25rem;
        border-bottom: 1px solid #27272a;
    }

    .site-header__mobile-title {
        color: rgba(255, 255, 255, 0.92);
    }

    .site-header__mobile-logo-link {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: inherit;
        text-decoration: none;
    }

    .site-header__mobile-logo {
        display: block;
        width: auto;
        height: 1.6rem;
        max-width: 8rem;
    }

    .site-header__mobile-drawer .site-header__city-select option {
        color: rgba(255, 255, 255, 0.92);
        background: #18181b;
    }
}

.availability-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.2rem;
}

.availability-form__field {
    display: grid;
    gap: 0.45rem;
}

.availability-form__field--full {
    grid-column: 1 / -1;
}

.availability-form__field span {
    color: rgba(33, 29, 27, 0.58);
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.availability-form__field input,
.availability-form__field textarea {
    width: 100%;
    min-height: 3.2rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
    color: var(--color-text);
}

.availability-form__actions {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.75rem;
}

.availability-form__status {
    min-height: 1.5rem;
    color: var(--color-accent);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 1024px) {
    body.impulse-template .site-header__city-popover,
    body.impulse-template .site-header__mobile-city .site-header__city-popover {
        left: 0.75rem !important;
        right: 0.75rem !important;
        width: auto !important;
        max-width: calc(100vw - 1.5rem) !important;
        min-width: 0 !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    .mobile-bottom-nav {
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100vw;
    }

    .site-header__city-popover {
        top: calc(var(--bx-panel-offset) + 4.5rem);
        right: 0.75rem;
        left: 0.75rem;
        width: auto;
        max-width: none;
    }

    .site-header__city-popover-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .availability-form {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 420px) {
    .site-header__city-popover {
        right: auto;
        left: 50%;
        width: calc(100vw - 1rem);
        transform: translateX(-50%);
    }

    .site-header__city-popover-actions {
        grid-template-columns: 1fr;
    }

    .site-header__city-popover-button {
        width: 100%;
    }
}

.catalog-page-loader {
    position: fixed;
    inset: 0;
    z-index: 10000;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 0.85rem;
    color: #1f2528;
    background: rgba(247, 247, 246, 0.94);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.catalog-page-loader__spinner {
    width: 1.4rem;
    height: 1.4rem;
    border: 2px solid rgba(0, 138, 179, 0.2);
    border-top-color: #008ab3;
    border-radius: 50%;
    animation: catalog-page-loader-spin 0.75s linear infinite;
}

body.is-catalog-navigation-loading {
    cursor: wait;
}

@keyframes catalog-page-loader-spin {
    to {
        transform: rotate(360deg);
    }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-page-loader__spinner {
        animation: none;
    }
}

/* End */


/* Start:/bitrix/templates/impulse/css/commerce.css?17868185217444*/
/* Shared commerce card layer. Loaded only on pages with product cards. */

.product-card__media {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: linear-gradient(180deg, #fbf9f5 0%, #f1ebe3 100%);
    z-index: 1;
}

.product-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}

.product-card__media-track {
    height: 90%;
    display: flex;
    transition: transform 260ms ease;
    will-change: transform;
    touch-action: pan-y;
    gap: 0;
}

.product-card__media-track img {
    flex: 0 0 100%;
}

.product-card__media-dots {
    position: absolute;
    left: 50%;
    bottom: 0.65rem;
    transform: translateX(-50%);
    display: inline-flex;
    gap: 0.35rem;
    padding: 0.25rem 0.35rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 4;
}

.product-card__media-dot {
    width: 0.36rem;
    height: 0.36rem;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
}

.product-card__media-dot.is-active {
    background: rgba(255, 255, 255, 0.92);
}

.product-card__media--placeholder img {
    display: none;
}

.product-card__media--placeholder::after {
    content: attr(data-placeholder-text);
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: rgba(33, 29, 27, 0.35);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
    background: #e9e9ea;
}

.product-card__favorite svg {
    width: 1.1rem;
    height: 1.1rem;
    display: block;
}

.product-card__favorite.icon-button {
    align-items: center;
    justify-content: center;
}

.product-card__media--placeholder img {
    object-fit: contain;
    transform: none;
}

.product-card:hover .product-card__media img {
    transform: scale(1.03);
}

.product-card:hover .product-card__media--placeholder img {
    transform: none;
}

.product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100%;
}

.product-card__overlay-link {
    position: absolute;
    inset: 0;
    z-index: 0;
    cursor: pointer;
    pointer-events: none;
}

.product-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.46rem;
    height: auto;
    position: relative;
    z-index: 3;
    padding: 1.05rem 1rem 0.95rem;
}

.product-card__title {
    display: -webkit-box;
    overflow: hidden;
    font-family: var(--font-body);
    line-height: 1.15;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: clamp(0.98rem, 1.25vw, 1.12rem);
}

.product-card__details {
    color: var(--color-muted);
    font-size: 0.9rem;
    margin-bottom: -0.25rem;
}

.product-card__details+.product-card__summary {
    margin-top: -0.35rem;
}

.product-card__summary {
    color: var(--color-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.36;
    min-height: calc(1.36em * 3);
    font-size: 0.92rem;
}

.product-card__footer {
    margin-top: auto;
    padding-top: 0.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
    border-top: 1px solid rgba(33, 29, 27, 0.08);
}

.product-card__price-wrap {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    overflow: hidden;
}

.product-card__price {
    font-family: var(--font-body);
    line-height: 0.96;
    font-size: clamp(0.96rem, 1.3vw, 1.22rem);
    margin-bottom: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    font-variant-numeric: tabular-nums;
}

.product-card__old-price {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--color-muted);
    font-size: 0.68rem;
    line-height: 1;
    text-decoration: line-through;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.product-page__old-price {
    color: var(--color-muted);
    font-size: 0.9rem;
    line-height: 1;
    text-decoration: line-through;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.product-page__old-price[hidden] {
    display: none;
}

.product-card__price--compact {
    font-size: clamp(0.82rem, 1vw, 0.96rem);
    letter-spacing: 0.01em;
    max-width: 7rem;
}

.product-card__stock {
    font-size: 0.54rem;
    letter-spacing: 0.15em;
}

.product-card__popularity {
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    color: var(--color-muted);
}

/* Home recommendations: keep spacing from next sections and never show empty-state placeholders */
.products#products {
    padding-bottom: 8rem;
}

.products#products .products__grid {
    margin-bottom: 2rem;
}

.products#products .catalog-results__empty {
    display: none;
}

.products#products .product-card__summary {
    display: none;
}

.products#products .product-card__details,
.products#products .product-card__sizes {
    display: none;
}

.product-card__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    min-width: max-content;
}

.product-card__cta {
    white-space: nowrap;
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    min-height: 2.2rem;
    padding: 0.55rem 0.74rem;
    font-size: 0.56rem;
    letter-spacing: 0.12em;
}

.product-card__favorite {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 4;
}

.product-card__cart {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    align-self: center;
    width: 2.2rem;
    height: 2.2rem;
}

.product-card__cart.is-loading,
.product-card__cart.is-added,
.product-card__cart.is-error {
    border-color: rgba(33, 29, 27, 0.18);
}

.product-card__cart.is-added {
    color: var(--color-accent);
}

.product-card__cart.is-error {
    color: #a53a3a;
}

/* Keep every price inside the space left by the card actions. */
.product-card__footer {
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    max-width: 100%;
}

.product-card__price-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    container-type: inline-size;
}

.product-card__price-wrap .product-card__price {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    white-space: nowrap;
    text-wrap: nowrap;
    overflow: hidden;
    overflow-wrap: normal;
    word-break: keep-all;
}

.product-card__price-wrap .product-card__price--compact {
    font-size: clamp(0.5rem, 12cqi, 0.92rem);
    line-height: 1;
    letter-spacing: -0.025em;
}

.product-card__footer:has(.product-card__price--compact) {
    gap: 0.3rem;
}

.product-card__footer:has(.product-card__price--compact) .product-card__actions {
    gap: 0.25rem;
}

@supports not (font-size: 1cqi) {
    .product-card__price-wrap .product-card__price--compact {
        font-size: 0.5rem;
    }
}

/* End */


/* Start:/bitrix/templates/impulse/css/catalog.css?178681852145226*/
/* Catalog and product listing layer. Loaded only on catalog/product pages. */

/* Catalog visual refresh (CSS-only, keeps existing markup/functionality) */
body.impulse-template .catalog-page {
    background: radial-gradient(circle at top center, rgba(0, 138, 179, 0.06), transparent 32%),
        linear-gradient(180deg, #fbf8f4, #f5efe7);
}

.catalog-page__breadcrumbs {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.catalog-page__breadcrumbs span {
    opacity: 0.7;
}

.catalog-page__hero-card {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    gap: 1.5rem;
    margin-bottom: 1.35rem;
}

.catalog-page__intro {
    max-width: 46rem;
}

.catalog-page__eyebrow {
    margin-bottom: 0.65rem;
    font-size: 0.72rem;
    letter-spacing: 0.22em;
}

.catalog-page__title {
    letter-spacing: 0.01em;
    line-height: 0.95;
}

.catalog-page__text {
    max-width: 40rem;
    font-size: 1rem;
    line-height: 1.55;
}

.catalog-page__hero-meta {
    gap: 0.75rem;
}

.catalog-page__hero-meta div {
    padding: 0.9rem 0.95rem;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(33, 29, 27, 0.08);
    box-shadow: none;
}

.catalog-layout {
    gap: 2.25rem;
}

.catalog-sidebar {
    top: calc(6.75rem + var(--bx-panel-offset));
}

.catalog-categories {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.catalog-categories__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.catalog-categories__accordion {
    display: grid;
    gap: 0.5rem;
}

.catalog-categories__group {
    border: 0;
    background: transparent;
}

.catalog-categories__summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.1rem 0;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    border-bottom: 1px solid rgba(0, 138, 179, 0.35);
}

.catalog-categories__summary::-webkit-details-marker {
    display: none;
}

.catalog-categories__group-name {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.catalog-categories__summary-icon {
    display: inline-block;
    width: 0.65rem;
    height: 0.65rem;
    border-right: 2px solid rgba(33, 29, 27, 0.45);
    border-bottom: 2px solid rgba(33, 29, 27, 0.45);
    transform: rotate(45deg);
    transition: transform 180ms ease, border-color 180ms ease;
}

.catalog-categories__group[open] .catalog-categories__summary-icon {
    transform: rotate(-135deg);
}

.catalog-categories__subgroups {
    display: grid;
    gap: 0.25rem;
    padding: 0.45rem 0 0.35rem;
}

.catalog-categories__subgroup-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.15rem 0;
    color: rgba(33, 29, 27, 0.72);
    text-decoration: none;
    background: transparent;
    outline: none;
    transition: color 180ms ease;
}

.catalog-categories__subgroup-link:hover {
    color: rgba(33, 29, 27, 0.9);
}

.catalog-categories__subgroup-link.is-active {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-categories__subgroup-link.is-all {
    opacity: 0.85;
}

.catalog-categories__node {
    border: 0;
}

.catalog-categories__node-summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.15rem 0;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    color: rgba(33, 29, 27, 0.78);
}

.catalog-categories__node-summary::-webkit-details-marker {
    display: none;
}

.catalog-categories__node-label {
    min-width: 0;
}

.catalog-categories__node-count {
    color: rgba(33, 29, 27, 0.55);
    font-variant-numeric: tabular-nums;
    min-width: 3.1rem;
    text-align: right;
}

.catalog-categories__node-icon {
    width: 1.05rem;
    height: 1.05rem;
    border: 1px solid rgba(33, 29, 27, 0.22);
    border-radius: 0.2rem;
    position: relative;
    flex: 0 0 auto;
}

.catalog-categories__node-icon::before,
.catalog-categories__node-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.6rem;
    height: 2px;
    background: rgba(33, 29, 27, 0.55);
    transform: translate(-50%, -50%);
}

.catalog-categories__node-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.catalog-categories__node[open] .catalog-categories__node-icon::after {
    display: none;
}

.catalog-categories__node-children {
    display: grid;
}

.catalog-categories__subgroup-link--all-in {
    opacity: 0.92;
}

.catalog-categories__subgroup-count {
    color: rgba(33, 29, 27, 0.55);
    font-variant-numeric: tabular-nums;
}

.catalog-sidebar__groups {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.catalog-sidebar__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.catalog-sidebar__group-list {
    display: grid;
    gap: 0.55rem;
}

.catalog-sidebar__group-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: rgba(33, 29, 27, 0.72);
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 180ms ease;
}

.catalog-sidebar__group-link:hover {
    color: var(--color-text);
}

.catalog-sidebar__group-link.is-active {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-filters {
    display: grid;
    gap: .5rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.catalog-filters__head {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    margin-bottom: -0.5rem;
}

.catalog-filters__head h2 {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.catalog-filter {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.catalog-filter__summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.1rem 0;
    margin-bottom: .9rem;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    border-bottom: 1px solid rgba(0, 138, 179, 0.35);
}

.catalog-filter__summary::-webkit-details-marker {
    display: none;
}

.catalog-filter__summary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 138, 179, 0.18);
}

.catalog-filter__summary:focus:not(:focus-visible) {
    outline: none;
}

.catalog-filter__summary span:first-child {
    font-size: 1rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.02em;
    line-height: 1.25;
}

/* Mobile sidebar: keep "Р В РЎв„ўР В Р’В°Р РЋРІР‚С™Р В Р’ВµР В РЎвЂ“Р В РЎвЂўР РЋР вЂљР В РЎвЂР В РЎвЂ" and "Р В Р’В¤Р В РЎвЂР В Р’В»Р РЋР Р‰Р РЋРІР‚С™Р РЋР вЂљР РЋРІР‚в„–" headings visually consistent */
.catalog-categories__group-name,
.catalog-filter__summary span:first-child {
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: 0.02em;
}

.catalog-filter__summary-icon {
    display: inline-block;
    width: 0.7rem;
    height: 0.7rem;
    border-right: 2px solid rgba(33, 29, 27, 0.45);
    border-bottom: 2px solid rgba(33, 29, 27, 0.45);
    transform: rotate(45deg);
    transition: transform 180ms ease, border-color 180ms ease;
}

.catalog-filter__summary-icon::before,
.catalog-filter__summary-icon::after {
    content: none !important;
}

.catalog-filter[open] .catalog-filter__summary-icon {
    transform: rotate(-135deg);
}

.catalog-filter__content {
    padding: 0;
}

.catalog-filter__chips,
.catalog-filter__list {
    gap: 0.65rem;
}

.catalog-filter__chip,
.catalog-filter__option {
    display: block;
}

.catalog-filter__option {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.catalog-filter__option span {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.catalog-filter__option input {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    flex: 0 0 auto;
    border: 1px solid rgba(33, 29, 27, 0.28);
    background: rgba(255, 255, 255, 0.75);
    border-radius: 0.2rem;
    display: inline-block;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.catalog-filter__option input:checked {
    background: var(--color-accent);
    border-color: var(--color-accent);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l4 4L13 1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.75rem 0.55rem;
}

.catalog-filter__option input:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.35);
    outline-offset: 3px;
}

.catalog-filter__chip span,
.catalog-filter__option .catalog-filter__label {
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(33, 29, 27, 0.6);
    font-size: 0.98rem;
    font-weight: 500;
    -webkit-tap-highlight-color: transparent;
    flex: 1 1 auto;
}

.catalog-filter__chip strong {
    color: rgba(33, 29, 27, 0.48);
    font-size: 0.78rem;
    font-weight: 600;
}

.catalog-filter__chip--active span,
.catalog-filter__chip input:checked+span,
.catalog-filter__option input:checked+.catalog-filter__label {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-filter__chip span:active,
.catalog-filter__option .catalog-filter__label:active {
    background: transparent;
}

.catalog-filter__chip span::selection,
.catalog-filter__option .catalog-filter__label::selection,
.catalog-filter__summary span::selection {
    background: transparent;
}

.catalog-results__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.catalog-results {
    position: relative;
}

.catalog-results.is-loading {
    min-height: 24rem;
    pointer-events: none;
}

.catalog-results.is-loading::before {
    content: '';
    position: absolute;
    inset: -0.75rem;
    z-index: 20;
    border-radius: 0.25rem;
    background:
        linear-gradient(110deg, rgba(255, 255, 255, 0.82) 8%, rgba(242, 246, 247, 0.94) 18%, rgba(255, 255, 255, 0.82) 33%) 0 0 / 200% 100%,
        rgba(248, 248, 248, 0.9);
    animation: catalog-loading-shimmer 1.25s linear infinite;
}

.catalog-results.is-loading::after {
    content: 'Загружаем каталог…';
    position: absolute;
    left: 50%;
    top: 8rem;
    z-index: 21;
    transform: translateX(-50%);
    padding: 0.8rem 1.1rem;
    color: var(--color-text);
    background: #fff;
    box-shadow: 0 0.8rem 2rem rgba(20, 35, 40, 0.12);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    white-space: nowrap;
}

.catalog-results__load-error {
    margin-bottom: 1rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(172, 51, 51, 0.28);
    color: #8c2525;
    background: #fff4f4;
}

@keyframes catalog-loading-shimmer {
    to {
        background-position: -200% 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .catalog-results.is-loading::before {
        animation: none;
    }
}

.catalog-page__mobile-actions {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 0.6rem;
    flex-wrap: wrap;
}

.catalog-mobile-filters-button {
    display: none;
}

.catalog-mobile-tabs {
    display: none;
}

.catalog-mobile-filters-head {
    display: none;
}

.catalog-mobile-filters-title-part {
    display: none;
}

.catalog-results__sort {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.catalog-results__sort-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 0;
    background: transparent;
    color: var(--color-text);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    cursor: pointer;
    outline: none;
    padding-right: 1.25rem;
}

.catalog-results__sort {
    position: relative;
}

.catalog-results__sort::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    transform: translateY(-45%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(33, 29, 27, 0.55);
    pointer-events: none;
}

@media (max-width: 720px) {
    .catalog-page__title {
        font-size: clamp(1.7rem, 7.2vw, 2.2rem);
        line-height: 1.02;
    }

    .catalog-mobile-tabs {
        display: inline-flex;
        gap: 0.65rem;
        margin-top: 0.6rem;
    }

    .catalog-mobile-tab {
        min-height: 2.55rem;
        padding: 0 0.9rem;
        border: 1px solid rgba(33, 29, 27, 0.12);
        background: rgba(255, 255, 255, 0.88);
        color: rgba(33, 29, 27, 0.82);
        font-size: 0.74rem;
        font-weight: 800;
        letter-spacing: 0.16em;
        text-transform: uppercase;
        cursor: pointer;
    }

    .catalog-results__top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.65rem;
        align-items: stretch;
    }

    .catalog-results__count {
        grid-column: 1 / -1;
        font-size: 0.74rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        opacity: 0.7;
    }

    .catalog-results__sort {
        width: 100%;
        justify-content: space-between;
        border: 1px solid rgba(33, 29, 27, 0.12);
        background: rgba(255, 255, 255, 0.88);
        padding: 0.7rem 0.85rem;
        gap: 0.75rem;
        color: rgba(33, 29, 27, 0.55);
    }

    .catalog-results__sort span {
        display: none;
    }

    .catalog-results__sort-select {
        width: 100%;
        font-size: 0.74rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        padding-right: 1.6rem;
    }

    .catalog-results__sort::after {
        right: 0.9rem;
    }

    .catalog-page__mobile-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .catalog-mobile-filters-button {
        display: inline-flex;
    }
}

.catalog-filter__chip--active strong,
.catalog-filter__chip input:checked+span strong {
    color: rgba(33, 29, 27, 0.7);
}

.catalog-filter__price-grid {
    gap: 0.75rem;
}

.catalog-filter__slider {
    position: relative;
    margin-top: 0.85rem;
    padding: 0.25rem 0;
    height: 2rem;
}

.catalog-filter__slider-track {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
    background: rgba(33, 29, 27, 0.18);
    border-radius: 999px;
    z-index: 1;
}

.catalog-filter__slider-connect {
    position: absolute;
    top: 0;
    height: 100%;
    left: 0;
    width: 100%;
    background: rgba(0, 138, 179, 0.85);
    border-radius: 999px;
    z-index: 2;
}

.catalog-filter__slider::before,
.catalog-filter__slider::after {
    content: none !important;
}

.catalog-filter__slider-handle {
    position: absolute;
    top: 50%;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    transform: translate(-50%, -50%);
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.28);
    box-shadow: 0 6px 16px rgba(27, 22, 18, 0.12);
    cursor: grab;
    touch-action: none;
    z-index: 5;
}

.catalog-filter__slider-handle:active {
    cursor: grabbing;
}

.catalog-filter__slider-handle:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.25);
    outline-offset: 4px;
}

.catalog-filter__slider-input {
    width: 100%;
    margin: 0;
    background: transparent;
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
    height: 2rem;
    position: absolute;
    inset: 0;
}

.catalog-filter__slider-input[data-price-slider-min] {
    z-index: 3;
}

.catalog-filter__slider-input[data-price-slider-max] {
    z-index: 4;
}

.catalog-filter__slider-input::-webkit-slider-thumb {
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.28);
    box-shadow: 0 6px 16px rgba(27, 22, 18, 0.12);
    transition: transform 140ms ease;
    margin-top: calc((4px - 1.05rem) / 2);
}

.catalog-filter__slider-input::-webkit-slider-runnable-track {
    height: 4px;
    background: transparent;
}

.catalog-filter__slider-input::-moz-range-thumb {
    pointer-events: auto;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.28);
    box-shadow: 0 6px 16px rgba(27, 22, 18, 0.12);
    transition: transform 140ms ease;
}

.catalog-filter__slider-input::-moz-range-track {
    height: 4px;
    background: transparent;
}

.catalog-filter__swatch {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 0.2rem;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: var(--swatch-color, #e1e1e1);
    flex: 0 0 auto;
}

.catalog-filter__slider::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
    background: rgba(33, 29, 27, 0.18);
    border-radius: 999px;
    pointer-events: none;
    z-index: 1;
}

.catalog-filter__slider::after {
    content: "";
    position: absolute;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
    left: calc(var(--min-p, 0) * 1%);
    right: calc(100% - (var(--max-p, 100) * 1%));
    background: rgba(0, 138, 179, 0.85);
    border-radius: 999px;
    pointer-events: none;
    z-index: 2;
    transition: left 120ms ease, right 120ms ease;
}

.catalog-filter__label {
    flex: 1 1 auto;
}

.catalog-filter__option input:checked+.catalog-filter__label {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-filter__option .catalog-filter__swatch {
    flex: 0 0 auto;
    background-color: var(--swatch-color, #e1e1e1);
    border: 1px solid rgba(33, 29, 27, 0.24);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.28);
}

.catalog-filters__actions {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.catalog-filters__apply {
    width: 100%;
    min-height: 3.1rem;
    padding: 0.85rem 1.1rem;
    font-size: 0.78rem;
    letter-spacing: 0.2em;
}

.catalog-filter__field span {
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.72rem;
    letter-spacing: 0.18em;
}

.catalog-filter__field input,
.catalog-filter__select {
    min-height: 2.75rem;
    padding: 0 0.85rem;
    border: 1px solid rgba(33, 29, 27, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.55);
}

.catalog-filters__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.1rem;
    margin-top: 0.25rem;
    padding: 0.85rem 1.1rem;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: rgba(255, 255, 255, 0.35);
    color: rgba(33, 29, 27, 0.85);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
    text-decoration: none;
}

.catalog-filters__clear:hover {
    border-color: rgba(33, 29, 27, 0.28);
    background: rgba(255, 255, 255, 0.6);
    color: var(--color-text);
}

.catalog-results__top {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    margin-bottom: 1.1rem;
}

.catalog-results__caption {
    display: none;
}

.catalog-results__grid {
    gap: 1.8rem;
    align-items: stretch;
}

.product-card {
    border: 1px solid rgba(33, 29, 27, 0.08);
    box-shadow: none;
    display: flex;
    flex-direction: column;
    height: auto;
}

.product-card__meta {
    padding: 1.05rem 1.05rem 0.95rem;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.catalog-results__grid .product-card__title {
    -webkit-line-clamp: 2;
    min-height: calc(1.1em * 2);
}

.catalog-results__grid .product-card__details,
.catalog-results__grid .product-card__summary {
    display: none;
}

.catalog-results__grid .product-card {
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.06);
    height: 100%;
}

.catalog-results__grid .product-card__meta {
    padding: 0.95rem 1rem 0.9rem;
    gap: 0.55rem;
    text-align: left;
}

.catalog-results__grid .product-card__brand {
    color: rgba(33, 29, 27, 0.6);
}

.catalog-results__grid .product-card__footer {
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 1px solid rgba(33, 29, 27, 0.06);
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 1rem;
    min-height: 3.75rem;
    position: relative;
    z-index: 70;
}

.catalog-results__grid .product-card__price-wrap {
    display: grid;
    align-items: baseline;
    gap: 0.75rem;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.catalog-results__grid .product-card__price {
    min-height: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    font-size: clamp(1.15rem, 1.6vw, 1.55rem);
}

.catalog-results__grid .product-card__brand {
    font-size: 0.68rem;
}

.catalog-results__grid .product-card__title {
    -webkit-line-clamp: 2;
}

.catalog-results__grid .product-card__actions {
    justify-content: flex-end;
    align-self: center;
    min-width: max-content;
}

.catalog-results__grid .product-card__cta {
    min-height: 2.55rem;
    padding: 0.75rem 1rem;
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    cursor: pointer;
    transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), filter 280ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card__cart {
    width: 2.55rem;
    height: 2.55rem;
    transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), filter 280ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card__cta:hover,
.catalog-results__grid .product-card__cta:active {
    transform: translateY(-1px);
    filter: brightness(1.03);
    box-shadow: 0 10px 22px rgba(17, 15, 14, 0.12);
}

.catalog-results__grid .product-card__cart:hover,
.catalog-results__grid .product-card__cart:active {
    transform: translateY(-1px) scale(1.03);
    filter: brightness(1.03);
    box-shadow: 0 10px 22px rgba(17, 15, 14, 0.12);
}

.product-card__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding-top: 0.35rem;
    position: relative;
    z-index: 6;
    opacity: 0;
    transform: translateY(-2px);
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1), transform 280ms cubic-bezier(0.22, 1, 0.36, 1), max-height 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.product-card.is-size-required .product-card__sizes,
.product-card.is-variant-selected .product-card__sizes,
.product-card:focus-within .product-card__sizes {
    opacity: 1;
    transform: translateY(0);
    max-height: 6rem;
    pointer-events: auto;
}

.catalog-results__grid .product-card {
    overflow: visible;
    cursor: pointer;
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card:hover,
.catalog-results__grid .product-card:focus-within {
    z-index: 40;
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 22px 44px rgba(17, 15, 14, 0.14);
}

.catalog-results__grid .product-card__meta {
    padding: 0.85rem 0.95rem 0.85rem;
    gap: 0.45rem;
    position: relative;
    /* Keep catalog card controls clickable above the full-card overlay link */
    z-index: 3;
}

.product-card__title-block {
    position: relative;
    z-index: 6;
}

/* In catalog grid: sizes dropdown under title, without affecting other cards layout */
.catalog-results__grid .product-card__title-block {
    position: relative;
}

.catalog-results__grid .product-card__title-block .product-card__sizes {
    position: static;
    margin-top: 0.55rem;
    padding-top: 0.15rem;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(-2px);
    transition: opacity 220ms cubic-bezier(0.22, 1, 0.36, 1), transform 220ms cubic-bezier(0.22, 1, 0.36, 1), max-height 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card:hover .product-card__title-block .product-card__sizes,
.catalog-results__grid .product-card:focus-within .product-card__title-block .product-card__sizes,
.catalog-results__grid .product-card.is-size-required .product-card__title-block .product-card__sizes,
.catalog-results__grid .product-card.is-variant-selected .product-card__title-block .product-card__sizes {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    max-height: 7rem;
}

/* sizes are in-flow: the active card grows, no overlap */

.product-card__size {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: rgba(255, 255, 255, 0.92);
    color: rgba(33, 29, 27, 0.82);
    border-radius: 0.25rem;
    padding: 0.35rem 0.55rem;
    line-height: 1;
    font-size: 0.74rem;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.product-card__size.is-active {
    background: rgba(0, 138, 179, 0.12);
    border-color: rgba(0, 138, 179, 0.55);
    color: rgba(33, 29, 27, 0.95);
}

.product-card.is-size-required .product-card__sizes {
    opacity: 1;
    transform: translateY(0);
    max-height: 6rem;
    pointer-events: auto;
}

.product-card.is-size-required .product-card__size {
    animation: impulseSizePulse 0.45s ease-in-out 0s 2;
}

@keyframes impulseSizePulse {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-2px);
    }

    100% {
        transform: translateY(0);
    }
}

.product-card__size:hover,
.product-card__size:focus-visible {
    outline: none;
    border-color: rgba(0, 138, 179, 0.35);
    background: rgba(0, 138, 179, 0.08);
    transform: translateY(-1px);
}

.product-card__cart,
.product-card__favorite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-card__cart svg,
.product-card__favorite svg {
    display: block;
}

.product-card__brand {
    letter-spacing: 0.22em;
}

.product-card__brand-link {
    display: inline-flex;
    align-self: flex-start;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    border-bottom: 1px solid transparent;
    padding-bottom: 0.15rem;
    transition: color 0.18s ease, border-color 0.18s ease;
}

.product-card__brand-link:hover,
.product-card__brand-link:focus-visible {
    color: var(--color-accent);
    border-bottom-color: rgba(0, 138, 179, 0.35);
    outline: none;
}

.product-page__brand-link {
    display: block;
    width: fit-content;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.product-page__brand-link:hover .product-page__brand,
.product-page__brand-link:focus-visible .product-page__brand {
    color: var(--color-accent);
}

.product-card__summary {
    -webkit-line-clamp: 2;
    min-height: calc(1.34em * 2);
}

.container--catalog {
    width: min(100% - 48px, 1680px);
    margin: 0 auto;
}

.container--product {
    width: min(100% - 3rem, var(--container));
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .container--catalog .catalog-results__grid {
        grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
    }

    .container--product .product-page__layout {
        --product-hero-height: clamp(510px, 54vh, 590px);
        grid-template-columns: minmax(460px, 600px) minmax(420px, 1fr);
        gap: 2rem;
        align-items: stretch;
    }

    .container--product .product-page__gallery {
        gap: 0.9rem;
        height: var(--product-hero-height);
        min-height: 0;
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__gallery-thumbs {
        width: clamp(3.8rem, 4.4vw, 4.5rem);
        gap: 0.6rem;
        max-height: 100%;
        overflow-y: auto;
    }

    .container--product .product-page__summary {
        width: 100%;
        max-width: none;
        justify-self: stretch;
        padding: 1rem 1.1rem 0.9rem;
        height: auto;
        min-height: var(--product-hero-height);
        max-height: none;
        overflow: visible;
        display: flex;
        flex-direction: column;
    }

    .container--product .product-page__summary>* {
        max-width: 40rem;
    }

    .container--product .product-page__title {
        max-width: none;
        font-size: clamp(1.75rem, 2vw, 2.45rem);
        line-height: 1;
        letter-spacing: 0;
        text-wrap: balance;
        margin-bottom: 0.25rem;
    }

    .container--product .product-page__sku {
        margin-top: 0;
        margin-bottom: 0.4rem;
        font-size: 0.84rem;
    }

    .container--product .product-page__options {
        margin: 0 0 0.35rem;
        gap: 0.6rem;
    }

    .container--product .product-page__option-label {
        margin-bottom: 0.35rem;
        font-size: 0.9rem;
        letter-spacing: 0;
    }

    .container--product .product-page__size {
        min-height: 40px;
        padding: 0.5rem 0.9rem;
        font-size: 0.9rem;
    }

    .container--product .product-page__color.product-page__color-option {
        width: 42px;
        min-width: 42px;
        height: 42px;
    }

    .container--product .product-page__color.product-page__color-option.is-active,
    .container--product .product-page__color.product-page__color-option[aria-pressed="true"] {
        width: auto;
    }

    .container--product .product-page__price-row {
        margin-top: 0.1rem;
        margin-bottom: 0.55rem;
    }

    .container--product .product-page__price {
        font-size: clamp(1.6rem, 1.85vw, 2.25rem);
        line-height: 0.98;
    }

    .container--product .product-page__stock,
    .container--product .product-page__reviews-link,
    .container--product .product-page__stars {
        font-size: 0.84rem;
    }

    .container--product .product-page__actions {
        gap: 0.55rem;
        align-items: stretch;
    }

    .container--product .product-page__cart-button,
    .container--product .product-page__actions .button {
        min-height: 2.8rem;
        padding: 0.72rem 0.92rem;
        font-size: 0.64rem;
        letter-spacing: 0.15em;
    }

    .container--product .product-page__actions .button:first-child {
        min-width: 18rem;
    }

    .container--product .product-page__secondary-actions {
        margin-top: 0.35rem;
        gap: 0.85rem;
        font-size: 0.82rem;
    }

    .container--product .product-page__gallery-main {
        max-height: 100%;
    }

    .container--product .product-page__gallery-main img {
        object-fit: contain;
        object-position: center;
    }

    .container--product .product-page__brand {
        font-size: 0.7rem;
        letter-spacing: 0.22em;
        margin-bottom: 0.25rem;
    }

    .container--product .product-page__brand-badge {
        height: 2.7rem;
        max-width: 7rem;
    }

    .product-page__related-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 1.15rem;
    }

    .product-page__related-grid .product-card {
        min-width: 0;
    }

    .product-page__related-grid .product-card__media {
        aspect-ratio: 1 / 1.02;
    }

    .product-page__related-grid .product-card__meta {
        padding: 0.8rem 0.8rem 0.75rem;
        gap: 0.38rem;
    }

    .product-page__related-grid .product-card__brand {
        font-size: 0.62rem;
        letter-spacing: 0.18em;
    }

    .product-page__related-grid .product-card__title {
        -webkit-line-clamp: 2;
        min-height: calc(1.24em * 2);
        font-size: clamp(0.9rem, 0.88vw, 1.02rem);
        line-height: 1.24;
        letter-spacing: -0.01em;
        text-wrap: pretty;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .product-page__related-grid .product-card__details,
    .product-page__related-grid .product-card__summary {
        display: none;
    }

    .product-page__related-grid .product-card__footer {
        min-height: 3.15rem;
        gap: 0.65rem;
        padding-top: 0.55rem;
    }

    .product-page__related-grid .product-card__price-wrap {
        gap: 0.4rem;
    }

    .product-page__related-grid .product-card__price {
        font-size: clamp(1rem, 1.1vw, 1.35rem);
        line-height: 1;
    }

    .product-page__related-grid .product-card__stock {
        font-size: 0.62rem;
        letter-spacing: 0.12em;
    }

    .product-page__related-grid .product-card__actions {
        gap: 0.32rem;
        flex: 0 0 auto;
    }

    .product-page__related-grid .product-card__cta {
        min-height: 2.35rem;
        padding: 0.62rem 0.72rem;
        font-size: 0.56rem;
        letter-spacing: 0.12em;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .container--product {
        width: min(100% - 3rem, var(--container));
    }

    .container--product .product-page__layout {
        --product-hero-height: clamp(490px, 50vh, 520px);
        grid-template-columns: minmax(400px, 520px) minmax(380px, 1fr);
        gap: 1.5rem;
    }

    .container--product .product-page__gallery {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__summary {
        padding: 1rem 1rem 0.95rem;
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__title {
        font-size: clamp(1.8rem, 2vw, 2.35rem);
    }

    .container--product .product-page__price {
        font-size: clamp(1.6rem, 1.8vw, 2.2rem);
    }

    .product-page__related-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (min-width: 1440px) and (max-width: 1799px) {
    .container--product .product-page__layout {
        --product-hero-height: clamp(420px, 52vh, 560px);
    }

    .container--product .product-page__gallery {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__summary {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }
}

@media (min-width: 1800px) {
    .container--product {
        width: min(85% - 3rem, var(--container));
    }

    .container--product .product-page__layout {
        --product-hero-height: clamp(612px, 54vh, 620px);
        grid-template-columns: minmax(500px, 620px) minmax(460px, 1fr);
        gap: 2.25rem;
    }

    .container--product .product-page__gallery {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__summary {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }
}

@media (max-width: 1024px) {
    .product-page__related-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .product-page__related-grid {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1480px) {
    .container--catalog .catalog-results__grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}

@media (min-width: 1280px) {
    .container--catalog .catalog-layout {
        grid-template-columns: 18.5rem minmax(0, 1fr);
        gap: 1.75rem;
    }

    .container--catalog .catalog-page__intro {
        max-width: 64rem;
    }

    .container--catalog .catalog-page__title {
        max-width: 100%;
        font-size: clamp(2.35rem, 3.2vw, 3.9rem);
        line-height: 0.98;
        letter-spacing: 0;
        text-wrap: balance;
    }

    .container--catalog .catalog-results__top {
        margin-bottom: 1.1rem;
        padding: 1rem 1.1rem;
    }

    .container--catalog .catalog-results__grid {
        gap: 1.25rem;
    }

    .container--catalog .catalog-results__grid .product-card {
        min-width: 0;
    }

    .container--catalog .catalog-results__grid .product-card__media {
        aspect-ratio: 1 / 1.02;
    }

    .container--catalog .catalog-results__grid .product-card__meta {
        padding: 0.8rem 0.8rem 0.75rem;
        gap: 0.38rem;
    }

    .container--catalog .catalog-results__grid .product-card__brand {
        font-size: 0.62rem;
        letter-spacing: 0.18em;
    }

    .container--catalog .catalog-results__grid .product-card__title {
        -webkit-line-clamp: 2;
        min-height: calc(1.24em * 2);
        font-size: clamp(0.9rem, 0.88vw, 1.02rem);
        line-height: 1.24;
        letter-spacing: -0.01em;
        text-wrap: pretty;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .container--catalog .catalog-results__grid .product-card__footer {
        min-height: 3.15rem;
        gap: 0.65rem;
        padding-top: 0.55rem;
    }

    .container--catalog .catalog-results__grid .product-card__price-wrap {
        gap: 0.4rem;
    }

    .container--catalog .catalog-results__grid .product-card__price {
        font-size: clamp(1rem, 1.1vw, 1.35rem);
        line-height: 1;
    }

    .container--catalog .catalog-results__grid .product-card__actions {
        gap: 0.32rem;
        flex: 0 0 auto;
    }

    .container--catalog .catalog-results__grid .product-card__cta {
        min-height: 2.35rem;
        padding: 0.62rem 0.72rem;
        font-size: 0.56rem;
        letter-spacing: 0.12em;
    }

    .container--catalog .catalog-results__grid .product-card__cart {
        width: 2.35rem;
        height: 2.35rem;
    }
}

@media (max-width: 1024px) {
    .catalog-layout {
        gap: 1.5rem;
    }

    .catalog-page__hero-meta div {
        background: rgba(255, 255, 255, 0.75);
    }
}

body.impulse-template .catalog-page,
body.impulse-template .catalog-layout,
body.impulse-template .catalog-sidebar,
body.impulse-template .catalog-results {
    overflow: visible;
}

@media (max-width: 720px) {
    .container--catalog {
        width: min(100% - 32px, 1680px);
    }

    .container--product {
        width: min(100% - 24px, 1500px);
    }
}

body.impulse-template .catalog-sidebar {
    top: calc(9rem + var(--bx-panel-offset));
    max-height: none;
}

body.impulse-template .catalog-filters {
    max-height: none;
    overflow: visible;
    padding-right: 0;
    overscroll-behavior: auto;
}

body.impulse-template .catalog-filters::-webkit-scrollbar {
    width: 8px;
}

body.impulse-template .catalog-filters::-webkit-scrollbar-thumb {
    background: rgba(33, 29, 27, 0.18);
}

body.impulse-template .catalog-filters::-webkit-scrollbar-track {
    background: transparent;
}

@media (max-width: 1024px) {
    body.impulse-template .catalog-sidebar {
        top: auto;
        max-height: none;
    }

    body.impulse-template .catalog-filters {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

.catalog-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
}

/* Catalog: infinite scroll (JS enabled) */
.has-catalog-infinite .catalog-pagination {
    display: none !important;
}

.catalog-infinite-sentinel {
    height: 1px;
}

.catalog-infinite-sentinel.is-loading {
    height: 3rem;
    margin-top: 1.5rem;
    background: radial-gradient(circle at center, rgba(0, 138, 179, 0.18), transparent 60%);
}

.catalog-pagination__link {
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0.7rem 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.catalog-pagination__link--active,
.catalog-pagination__link:hover {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
}

.catalog-pagination__link--arrow {
    min-width: auto;
    padding-inline: 1rem;
}

.catalog-pagination__dots {
    color: var(--color-muted);
    font-weight: 700;
    letter-spacing: 0.1em;
}

/* Catalog-specific selectors come after the catalog sizing rules above. */
.catalog-results__grid .product-card__footer,
.product-page__related-grid .product-card__footer {
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    max-width: 100%;
}

.catalog-results__grid .product-card__price-wrap,
.product-page__related-grid .product-card__price-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    container-type: inline-size;
}

.catalog-results__grid .product-card__price-wrap .product-card__price,
.product-page__related-grid .product-card__price-wrap .product-card__price {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    margin: 0;
    white-space: nowrap;
    text-wrap: nowrap;
    overflow: hidden;
    overflow-wrap: normal;
    word-break: keep-all;
}

.catalog-results__grid .product-card__price-wrap .product-card__price--compact,
.product-page__related-grid .product-card__price-wrap .product-card__price--compact {
    font-size: clamp(0.5rem, 12cqi, 0.92rem);
    line-height: 1;
    letter-spacing: -0.025em;
}

.catalog-results__grid .product-card__footer:has(.product-card__price--compact),
.product-page__related-grid .product-card__footer:has(.product-card__price--compact) {
    gap: 0.3rem;
}

.catalog-results__grid .product-card__footer:has(.product-card__price--compact) .product-card__actions,
.product-page__related-grid .product-card__footer:has(.product-card__price--compact) .product-card__actions {
    gap: 0.25rem;
}

.catalog-results__grid .product-card__footer:has(.product-card__price--compact) .product-card__cta,
.product-page__related-grid .product-card__footer:has(.product-card__price--compact) .product-card__cta {
    min-height: 2.3rem;
    padding-inline: 0.62rem;
    font-size: 0.56rem;
}

.catalog-results__grid .product-card__footer:has(.product-card__price--compact) .product-card__cart,
.product-page__related-grid .product-card__footer:has(.product-card__price--compact) .product-card__cart {
    width: 2.2rem;
    height: 2.2rem;
}
.product-page.is-union-loading {
    opacity: 0.58;
    pointer-events: none;
    transition: opacity 160ms ease;
}

/* End */


/* Start:/bitrix/templates/impulse/template_styles.css?1786818519348551*/
:root {
    --bx-panel-offset: 0px;
    --impulse-header-height: 5.85rem;
    --impulse-bottom-nav-height: 4.1rem;
    --font-display: var(--font-body);
}

@media (max-width: 1024px) {
    :root {
        --impulse-header-height: 4.75rem;
    }
}

html, body.impulse-template {
    margin: 0;
    overflow-x: hidden;
}

[hidden] {
    display: none !important;
}

.page-shell--inner {
    padding-top: var(--impulse-header-height);
}

@media (max-width: 480px) {
    body.impulse-template .section-heading__title, body.impulse-template .info-page__title {
        font-size: clamp(1.65rem, 7.4vw, 2.05rem);
        letter-spacing: 0.01em;
        -webkit-hyphens: none;
        hyphens: none;
        overflow-wrap: normal;
        word-break: normal;
    }
}

#panel {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
}

.site-header {
    top: var(--bx-panel-offset);
}

.site-header--overlay.site-header--stuck {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
}

.site-header__top {
    position: relative;
    z-index: 4;
}

.site-header__prebar {
    position: relative;
    z-index: 5;
}

.site-header__prebar-inner {
    display: flex;
    align-items: center;
    min-height: 1.5rem;
    width: min(100% - 3rem, var(--container));
    margin: 0 auto;
}

.site-header .icon-button, .site-header__burger {
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

.site-header {
    transition: background-color 200ms ease, box-shadow 200ms ease;
}

.site-header__top-inner {
    transition: padding 200ms ease;
}

.site-header__brand-logo {
    transition: max-width 200ms ease, padding 200ms ease, filter 200ms ease;
}

.site-header__catalog-cta {
    display: none;
}

.cart-page.section {
    padding: 1rem 0 1rem;
}

.cart-page__content-section {
    padding: 1rem 0 1rem;
}

@media (min-width: 1024px) {
    .cart-page.section {
        padding: 4rem 0 1rem;
    }

}

.cart-page__totals {
    padding: 1.4rem 1.6rem;
    border-radius: 1.05rem;
    border: 1px solid rgba(33, 29, 27, .08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1.25rem;
}

.cart-page__totals-main {
    display: grid;
    gap: 0.25rem;
    min-width: 0;
}

.cart-page__totals-count {
    font-family: var(--font-body);
    font-size: 2rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.cart-page__totals-note {
    margin: 0;
    color: rgba(33, 29, 27, .62);
    font-size: .92rem;
    max-width: 52ch;
}

.cart-page__totals-back {
    margin-left: auto;
    color: var(--color-accent);
    font-weight: 600;
    font-size: 0.92rem;
    white-space: nowrap;
    padding-top: 0.4rem;
}

@media (max-width: 720px) {
    .cart-page__totals {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.85rem;
    }
}

.cart-page__breadcrumbs {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    color: rgba(33, 29, 27, 0.62);
    font-size: 0.82rem;
    margin-bottom: 0.65rem;
}

.cart-page__breadcrumbs a {
    color: inherit;
}

.cart-page__breadcrumbsa:hover {
    color: var(--color-accent);
}

.cart-page__summary-rows {
    display: grid;
    gap: 0.65rem;
    margin-top: 1rem;
}

.cart-page__summary-row {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: baseline;
    color: rgba(33, 29, 27, 0.72);
    font-size: 0.92rem;
}

.cart-page__summary-row strong {
    color: rgba(33, 29, 27, 0.92);
    font-weight: 700;
    font-family: var(--font-body);
    font-variant-numeric: tabular-nums;
}

.cart-page__summary-muted {
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.88rem;
    text-align: right;
}

.cart-page__summary-total {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 0.75rem;
    align-items: baseline;
    margin-top: 1.15rem;
    padding-top: 1.05rem;
    border-top: 1px solid rgba(33, 29, 27, 0.08);
}

.cart-page__summary-total strong {
    font-family: var(--font-body);
    font-size: 2rem;
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.cart-page__summary-card h2 {
    margin: 0;
    font-family: var(--font-display);
    font-size: 2rem;
    font-weight: 400;
    letter-spacing: -0.02em;
}

.cart-page__summary-benefits {
    margin-top: 1.2rem;
    padding-top: 1.1rem;
    border-top: 1px solid rgba(33, 29, 27, 0.08);
    display: grid;
    gap: 0.95rem;
}

.cart-page__summary-benefit {
    display: flex;
    gap: 0.8rem;
    align-items: flex-start;
}

.cart-page__summary-benefit-icon .icon {
    width: 1.15rem;
    height: 1.15rem;
    color: rgba(0, 138, 179, 0.92);
}

.cart-page__summary-benefit strong {
    display: block;
    font-weight: 700;
    font-size: 0.92rem;
    color: rgba(33, 29, 27, 0.92);
    margin-bottom: 0.15rem;
}

.cart-page__summary-benefit p {
    margin: 0;
    color: rgba(33, 29, 27, 0.62);
    font-size: 0.86rem;
    line-height: 1.35;
}

.cart-page__summary-primary {
    width: 100%;
    margin-top: 1.2rem;
}

.cart-page__summary-secondary {
    width: 100%;
    margin-top: 0.75rem;
}

.cart-page__promo {
    margin-top: 1.5rem;
    padding: 1.25rem 1.5rem;
    border-radius: 1.05rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
    display: grid;
    grid-template-columns: minmax(120px, 150px) minmax(0, 1fr) minmax(150px, 190px);
    gap: 1rem;
    align-items: center;
    min-width: 0;
}

.cart-page__promo-label {
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    font-size: 0.78rem;
    color: rgba(33, 29, 27, 0.72);
}

.cart-page__promo-input {
    width: 100%;
    min-height: 3.1rem;
    padding: 0 1rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: rgba(255, 255, 255, 0.8);
    border-radius: 0.85rem;
}

.cart-page__promo-button {
    min-height: 3.1rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: rgba(33, 29, 27, 0.05);
    color: rgba(33, 29, 27, 0.55);
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.cart-page__promo-input:disabled, .cart-page__promo-button:disabled {
    opacity: 0.7;
    cursor: not-allowed;
}

.cart-page__benefits {
    padding-top: 2.8rem;
    padding-bottom: 2.8rem;
}

.cart-page__benefits-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1.5rem;
    align-items: start;
}

.cart-page__benefit {
    display: flex;
    gap: 0.9rem;
    align-items: flex-start;
    color: rgba(33, 29, 27, 0.72);
}

.cart-page__benefit strong {
    display: block;
    color: rgba(33, 29, 27, 0.92);
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 0.25rem;
}

.cart-page__benefit p {
    margin: 0;
    font-size: 0.88rem;
    color: rgba(33, 29, 27, 0.62);
}

.cart-page__benefit-icon .icon {
    width: 1.35rem;
    height: 1.35rem;
    color: rgba(0, 138, 179, 0.92);
}

@media (max-width: 1024px) {
    .cart-page__benefits-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .cart-page__promo {
        grid-template-columns: 1fr;
    }

    .cart-page__promo-button {
        width: 100%;
    }

    .cart-page__benefits-grid {
        grid-template-columns: 1fr;
    }
}

.site-header--stuck .site-header__top {
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    box-shadow: 0 12px 30px rgba(17, 15, 14, 0.10);
}

.site-header--stuck .site-header__nav-shell {
    background: rgba(255, 255, 255, 0.92);
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
}

.site-header--stuck .site-header__city-switcher::after {
    border-top-color: rgba(33, 29, 27, 0.55);
}

.site-header--stuck .site-header__nav-link, .site-header--stuck .site-header__account-link, .site-header--stuck .site-header__city-switcher, .site-header--stuck .site-header__utility-search, .site-header--stuck .site-header__utility-search input, .site-header--stuck .site-header__city-select {
    color: rgba(33, 29, 27, 0.86);
}

.site-header--stuck .site-header__utility-searchinput::placeholder {
    color: rgba(33, 29, 27, 0.45);
}

.site-header--overlay.site-header--stuck .site-header__utility-search, .site-header--overlay.site-header--stuck .site-header__utility-search input {
    color: rgba(255, 255, 255, 0.9);
}

.site-header--overlay.site-header--stuck .site-header__utility-searchinput::placeholder {
    color: rgba(255, 255, 255, 0.58);
}

.site-header--stuck .site-header__utility-search, .site-header--stuck .site-header__city-select {
    border-color: transparent;
    background: transparent;
}

@media (min-width: 1025px) {
    .site-header--stuck .site-header__prebar {
        display: none;
    }

    .site-header--stuck .site-header__catalog-cta {
        display: inline-flex;
        align-items: center;
        gap: 0.65rem;
        height: 2.65rem;
        padding: 0 1.1rem;
        margin-left: 0.75rem;
        border-radius: 0.85rem;
        border: 1px solid rgba(0, 138, 179, 0.55);
        background: rgba(0, 138, 179, 0.10);
        color: rgba(255, 255, 255, 0.92);
        font-weight: 700;
        font-size: 0.82rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        transition: background .18s ease, border-color .18s ease, color .18s ease;
        white-space: nowrap;
    }

    .site-header--stuck .site-header__catalog-cta:hover {
        background: rgba(0, 138, 179, 0.18);
        border-color: rgba(0, 138, 179, 0.70);
        color: #fff;
    }

    .site-header--stuck .site-header__catalog-cta:focus-visible {
        outline: 2px solid rgba(0, 138, 179, 0.35);
        outline-offset: 3px;
    }

    .site-header__catalog-cta-icon {
        display: inline-flex;
        width: 1.1rem;
        height: 1.1rem;
    }

    .site-header__catalog-cta-icon svg {
        width: 1.1rem;
        height: 1.1rem;
    }

    .site-header--stuck:not(.site-header--menu-open) .site-header__nav-shell, .site-header--stuck:not(.site-header--menu-open) .site-header__mega {
        display: none;
    }

    .site-header--stuck.site-header--menu-open .site-header__nav-shell, .site-header--stuck.site-header--menu-open .site-header__mega {
        display: block;
    }

    .site-header--stuck .site-header__nav-shell {
        background: radial-gradient(circle at top left, rgba(255, 255, 255, 0.06), transparent 28%), linear-gradient(180deg, #25211f, #1a1715);
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
    }

    .site-header--stuck .site-header__nav-link {
        color: rgba(255, 255, 255, 0.92);
    }

    .site-header__nav-link {
        padding-top: 0.95rem;
        padding-bottom: 0.95rem;
        font-size: 0.86rem;
        letter-spacing: 0.08em;
    }

    .site-header--stuck .site-header__top-inner {
        padding-top: 0.35rem;
        padding-bottom: 0.35rem;
    }

    .site-header--stuck .site-header__brand-logo {
        max-width: 185px;
        padding: 3px;
    }

    .site-header--stuck .site-header__nav-link {
        padding-top: 0.65rem;
        padding-bottom: 0.65rem;
    }
}

.site-header__brand-logo--dark {
    display: none;
}

.site-header--stuck .site-header__brand-logo--light {
    display: none;
}

.site-header--stuck .site-header__brand-logo--dark {
    display: block;
}

@media (max-width: 1024px) {
    .site-header--stuck .site-header__top-inner {
        padding-top: 0.25rem;
        padding-bottom: 0.25rem;
    }

    .site-header--stuck .site-header__brand-logo {
        max-width: 138px;
        padding: 2px;
    }

    .site-header--stuck .site-header__burger, .site-header--stuck .site-header__utility .icon-button--bag, .site-header--stuck .site-header__search-button {
        color: rgba(33, 29, 27, 0.85);
        border-color: transparent;
        background: transparent;
    }

    .site-header--stuck .site-header__search-button.icon-button--light,
    .site-header--stuck .site-header__search-button.icon-button--light:hover,
    .site-header--stuck .site-header__search-button.icon-button--light:focus-visible {
        color: rgba(33, 29, 27, 0.85) !important;
        border-color: transparent !important;
        background: transparent !important;
    }

    .site-header--stuck .site-header__search-button svg {
        color: currentColor;
        stroke: currentColor;
    }

    .site-header--stuck .site-header__utility .site-header__utility-item--mobile-profile,
    .site-header--stuck .site-header__utility .site-header__utility-item--mobile-profile:hover,
    .site-header--stuck .site-header__utility .site-header__utility-item--mobile-profile:focus-visible,
    .site-header--stuck .site-header__utility .site-header__utility-item--mobile-profile .site-header__utility-item-icon.icon-button,
    .site-header--stuck .site-header__utility .site-header__utility-item--mobile-profile .site-header__utility-item-icon.icon-button:hover,
    .site-header--stuck .site-header__utility .site-header__utility-item--mobile-profile .site-header__utility-item-icon.icon-button:focus-visible {
        color: rgba(33, 29, 27, 0.85) !important;
        border-color: transparent !important;
        background: transparent !important;
    }

    .site-header--stuck .site-header__utility .site-header__utility-item--mobile-profile svg {
        color: currentColor;
        stroke: currentColor;
    }
}

@media (min-width: 1025px) {
    .site-header__brand-logo--light {
        display: block !important;
    }

    .site-header__brand-logo--dark {
        display: none !important;
    }

    .site-header__top-inner {
        width: min(100% - 3rem, var(--container));
        margin: 0 auto;
    }

    .site-header__top, .site-header--stuck .site-header__top {
        background: rgba(0, 0, 0, 0.58);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        box-shadow: none;
    }

    .site-header__nav-shell {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.9));
    }

    .site-header--stuck .site-header__nav-shell {
        background: linear-gradient(180deg, rgba(0, 0, 0, 0.66), rgba(0, 0, 0, 0.9));
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
    }

    .site-header__city-switcher--corner {
        display: inline-flex;
        align-items: center;
        gap: 0.4rem;
        margin-right: 0.9rem;
        color: rgba(255, 255, 255, 0.88);
        font-size: 0.6rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        white-space: nowrap;
    }

    .site-header__city-switcher--corner::before, .site-header__city-switcher--corner::after {
        content: none !important;
        display: none !important;
    }

    .site-header__city-icon, .site-header__city-caret {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        opacity: 0.88;
        pointer-events: none;
    }

    .site-header__city-icon .icon {
        width: 0.8rem;
        height: 0.8rem;
    }

    .site-header__city-caret .icon {
        width: 0.78rem;
        height: 0.78rem;
    }

    .site-header__city-switcher--corner .site-header__city-select {
        -webkit-appearance: none;
        appearance: none;
        color: rgba(255, 255, 255, 0.86);
        background: transparent;
        border: 0;
        padding: 0.1rem 0.15rem;
        cursor: pointer;
    }

    .site-header__city-switcher--corner .site-header__city-select:focus {
        outline: none;
    }

    .site-header__utility-item, .site-header__utility-item-label {
        color: rgba(255, 255, 255, 0.88);
    }

    .site-header__utility-search {
        border-color: rgba(255, 255, 255, 0.22) !important;
        background: rgba(255, 255, 255, 0.06) !important;
    }

    .site-header__utility-search svg {
        opacity: 0.86;
        color: rgba(255, 255, 255, 0.92);
    }

    .site-header__utility-search input, .site-header__utility-searchinput::placeholder {
        color: rgba(255, 255, 255, 0.88);
    }

    .site-header__utility-searchinput::placeholder {
        color: rgba(255, 255, 255, 0.58);
    }

    .site-header__top-inner {
        justify-content: space-between;
        gap: 1.4rem;
    }

    .site-header__utility-search {
        flex: 1 1 auto;
        max-width: 620px;
    }
}

.site-header__nav-shell {
    position: relative;
    z-index: 3;
}

.site-header__utility-search {
    border: 0 !important;
    background: transparent !important;
    padding: 0 !important;
}

.site-header__utility-search input {
    border: 0 !important;
    background: transparent !important;
    padding: 0.4rem 0.6rem 0.4rem 0.2rem;
}

.site-header__utility-searchinput:focus {
    outline: none;
}

@media (min-width: 1025px) {
    .site-header__utility {
        align-items: center;
        gap: 1.1rem;
    }

    .site-header__utility-search {
        display: flex !important;
        align-items: center;
        gap: 0.55rem;
        min-width: min(520px, 38vw);
        min-height: 3.4rem;
        padding: 0.3rem 1.25rem !important;
        border: 1px solid rgba(255, 255, 255, 0.32) !important;
        background: transparent !important;
        border-radius: 0 !important;
        box-shadow: none;
    }

    .site-header__utility-search svg {
        opacity: 0.86;
        color: rgba(255, 255, 255, 0.92);
    }

    .site-header__utility-search input {
        padding: 0 !important;
        font-weight: 600;
        font-size: 1.02rem;
    }

    .site-header__utility-searchinput::placeholder {
        color: rgba(255, 255, 255, 0.58);
        font-weight: 600;
    }

    .site-header--stuck .site-header__utility-search, .site-header--stuck .site-header__utility-search input {
        color: rgba(255, 255, 255, 0.9) !important;
    }

    .site-header--stuck .site-header__utility-searchinput::placeholder {
        color: rgba(255, 255, 255, 0.58) !important;
    }

    .site-header--stuck .site-header__utility-search svg {
        color: rgba(255, 255, 255, 0.92) !important;
        opacity: 0.86;
    }

    .site-header__utility-item {
        display: inline-flex;
        flex-direction: column;
        align-items: center;
        gap: 0.25rem;
        min-width: 4.2rem;
        text-align: center;
        color: rgba(255, 255, 255, 0.88);
    }

    .site-header__utility-item-label {
        font-size: 0.64rem;
        letter-spacing: 0.14em;
        text-transform: uppercase;
        line-height: 1.1;
    }

    .site-header__utility-item-icon {
        display: inline-flex;
    }

    .site-header__prebar {
        background: rgba(0, 0, 0, 0.58);
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }

    .site-header__top-inner {
        display: flex;
        align-items: center;
    }

    .site-header__city-switcher--corner {
        margin-right: auto;
    }

    .site-header__account-link {
        display: none !important;
    }

    .site-header__prebar .site-header__city-switcher {
        padding: 0 !important;
        border: 0 !important;
        background: transparent !important;
    }

    .site-header__prebar .site-header__city-select {
        min-height: 0;
        padding: 0.05rem 1.2rem 0.05rem 0.55rem;
        font-size: 0.6rem;
        letter-spacing: 0.1em;
        color: rgba(255, 255, 255, 0.92);
    }

    .site-header--stuck .site-header__prebar .site-header__city-select, .site-header--stuck .site-header__city-switcher--corner .site-header__city-select {
        color: rgba(255, 255, 255, 0.92);
    }

    .site-header--stuck .site-header__prebar .site-header__city-icon, .site-header--stuck .site-header__prebar .site-header__city-caret, .site-header--stuck .site-header__city-switcher--corner .site-header__city-icon, .site-header--stuck .site-header__city-switcher--corner .site-header__city-caret {
        color: rgba(255, 255, 255, 0.78);
    }
}

.news-featured {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    background: var(--color-surface);
    border-radius: 1.3rem;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

.news-featured__copy {
    padding: 2.1rem 2.1rem;
    display: grid;
    align-content: start;
    gap: 1.1rem;
}

.news-featured__eyebrow {
    font-size: 0.7rem;
    letter-spacing: 0.18em;
    font-weight: 700;
    color: var(--color-muted);
}

.news-featured__title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: clamp(2.2rem, 3.2vw, 3.2rem);
    line-height: 1.02;
    letter-spacing: -0.03em;
}

.news-featured__text {
    color: var(--color-muted);
    max-width: 56ch;
}

.news-featured__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.8rem;
    margin-top: 0.3rem;
}

.news-featured__meta {
    margin-top: 0.6rem;
    font-size: 0.85rem;
    color: var(--color-muted);
}

.news-featured__media {
    position: relative;
    display: block;
    min-height: 100%;
}

.news-featured__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.news-featured__open {
    position: absolute;
    right: 1.2rem;
    bottom: 1.2rem;
    background: rgba(0, 0, 0, 0.55);
    color: #fff;
    padding: 0.55rem 0.9rem;
    border-radius: 999px;
    font-size: 0.85rem;
    font-weight: 600;
    backdrop-filter: blur(8px);
}

.journal--news .section-heading {
    margin-bottom: 1.5rem;
}

.journal--news .journal__grid {
    margin-top: 1.4rem;
}

.journal-card__body {
    display: grid;
    align-content: start;
    gap: 0.7rem;
    padding: 1.4rem 1.4rem 1.55rem;
}

.journal-card__title, .journal-card__text {
    margin: 0;
}

.journal-card__meta {
    margin: 0;
}

.journal-card__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    padding: 0.85rem 1.35rem;
    border-radius: 999px;
    background: transparent;
    color: rgba(33, 29, 27, .86);
    font-weight: 700;
    font-size: 0.76rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    border: 1px solid rgba(33, 29, 27, .12);
    margin-top: 0.95rem;
    width: 100%;
}

.journal-card__link {
    position: relative;
    display: grid;
    align-content: start;
}

.journal-card__link::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 1.1rem;
    box-shadow: 0 0 0 0 rgba(0, 138, 179, 0);
    transition: box-shadow .22s ease, transform .22s ease;
    pointer-events: none;
}

.journal-card__link:hover .journal-card__cta, .journal-card__link:focus-visible .journal-card__cta {
    color: var(--color-text);
    border-color: rgba(33, 29, 27, .12);
    background: rgba(0, 138, 179, .08);
}

.journal-card__divider {
    display: block;
    height: 1px;
    background: rgba(33, 29, 27, .10);
    margin: 0.9rem 0 0;
}

.journal-card__meta {
    display: inline-flex;
    align-items: center;
    gap: 0.6rem;
    padding: 0.45rem 0.85rem;
    border-radius: 999px;
    background: rgba(241, 236, 229, .85);
    border: 1px solid rgba(33, 29, 27, .08);
    width: fit-content;
}

.journal--related {
    padding-block: clamp(2rem, 4vw, 3rem);
}

.journal--related .section-heading {
    margin-bottom: 1.1rem;
}

.journal--related .section-heading__title {
    font-size: clamp(1.35rem, 2vw, 1.8rem);
    line-height: 1.1;
    text-transform: none;
}

.journal--related .journal__grid {
    gap: 0.9rem;
}

.journal--related .journal-card {
    box-shadow: 0 1rem 2.5rem rgba(33, 29, 27, 0.08);
}

.journal--related .journal-card__link::after {
    content: none;
}

.journal--related .journal-card__media {
    aspect-ratio: 16 / 7;
}

.journal-card__media {
    aspect-ratio: 10 / 10;
}

.journal--related .journal-card__body {
    gap: 0.45rem;
    padding: 0.9rem 1rem 1rem;
}

.journal--related .journal-card__meta {
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(33, 29, 27, 0.48);
    font-size: 0.64rem;
}

.journal--related .journal-card__title {
    font-size: clamp(1.05rem, 1.5vw, 1.25rem);
    line-height: 1.12;
}

.journal--related .journal-card__text {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    font-size: 0.9rem;
    line-height: 1.45;
}

.news-filters {
    display: none;
}

.news-toolbar__filters {
    display: flex;
    flex-wrap: nowrap;
    gap: 0.6rem;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.2rem;
    max-width: 100%;
}

.news-toolbar__sort {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    flex: 0 0 auto;
}

.news-filter {
    display: inline-flex;
    align-items: center;
    height: 2.2rem;
    padding: 0 0.95rem;
    border-radius: 999px;
    border: 1px solid rgba(33, 29, 27, .14);
    background: rgba(255, 255, 255, .65);
    color: rgba(33, 29, 27, .78);
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    transition: background .18s ease, border-color .18s ease, color .18s ease;
}

.news-filter:hover {
    background: rgba(0, 138, 179, .07);
    border-color: rgba(0, 138, 179, .22);
    color: var(--color-text);
}

.news-filter.is-active {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
}

.news-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-top: 0.4rem;
}

.news-toolbar__label {
    font-weight: 700;
    font-size: 0.78rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(33, 29, 27, .68);
}

.news-toolbar__select {
    height: 2.2rem;
    padding: 0 2.2rem 0 0.9rem;
    border-radius: 999px;
    border: 1px solid rgba(33, 29, 27, .14);
    background: rgba(255, 255, 255, .75);
    color: rgba(33, 29, 27, .85);
    font-weight: 700;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, rgba(33, 29, 27, .55) 50%), linear-gradient(135deg, rgba(33, 29, 27, .55) 50%, transparent 50%);
    background-position: calc(100% - 1.05rem) calc(1rem + 2px), calc(100% - 0.8rem) calc(1rem + 2px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.news-toolbar__select:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.25);
    outline-offset: 2px;
}

.news-cta {
    padding-top: 5.5rem;
    padding-bottom: 5.5rem;
}

.news-cta__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.6rem;
}

.news-cta__card {
    border-radius: 1.25rem;
    padding: 2.2rem 2.2rem;
    background: var(--color-surface);
    box-shadow: var(--shadow-soft);
    display: grid;
    gap: 1rem;
    align-content: start;
}

.news-cta__card--soft {
    background: var(--color-surface-soft);
}

.news-cta__title {
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 2.1rem;
    letter-spacing: -0.02em;
}

.news-cta__text {
    color: var(--color-muted);
    max-width: 46ch;
}

.news-detail__title {
    max-width: 100%;
    margin: 0.85rem 0 0;
    font-family: var(--font-display);
    font-size: clamp(1.85rem, 2.55vw, 3rem);
    font-weight: 500;
    line-height: 1.06;
    letter-spacing: -0.02em;
    text-transform: uppercase;
}

.news-detail__article {
    max-width: 74rem;
    margin: 0 auto;
    overflow: hidden;
    border-radius: 0.4rem;
    background: rgba(255, 255, 255, 0.94);
    box-shadow: 0 1.4rem 4rem rgba(33, 29, 27, 0.08);
}

.news-detail__hero {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    align-items: stretch;
}

.news-detail__header {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.news-detail__lead {
    max-width: 34rem;
    margin: clamp(1.1rem, 2.2vw, 1.8rem) 0 0;
    color: rgba(33, 29, 27, 0.78);
    font-size: clamp(0.95rem, 1.1vw, 1.05rem);
    line-height: 1.72;
}

.news-detail__read-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 1.25rem;
    min-height: 2.65rem;
    padding: 0 1.25rem;
    border: 1px solid rgba(33, 29, 27, 0.18);
    border-radius: 0.25rem;
    color: rgba(33, 29, 27, 0.86);
    font-size: 0.72rem;
    font-weight: 800;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    text-decoration: none;
    transition: border-color 0.18s ease, color 0.18s ease, transform 0.18s ease;
}

.news-detail__read-link:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
    transform: translateY(-1px);
}

.news-detail__cover {
    display: flex;
    align-items: stretch;
    justify-content: center;
    background: #f4f1ec;
    min-width: 0;
    overflow: hidden;
    aspect-ratio: auto 1;
    height: 100%;
}

.news-detail__cover img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.news-detail__body {
    margin: 0 auto;
    padding: clamp(1.8rem, 4vw, 3.2rem);
}

.news-detail__share {
    display: flex;
    align-items: center;
    gap: 0.7rem;
    flex-wrap: wrap;
    flex-basis: 100%;
    margin-bottom: 0.35rem;
}

.news-detail__share-label {
    font-weight: 700;
    color: var(--color-ink);
}

.news-detail__share-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 2.3rem;
    height: 2.3rem;
    padding: 0 0.75rem;
    border: 1px solid rgba(33, 29, 27, 0.14);
    border-radius: 999px;
    background: transparent;
    color: var(--color-ink);
    cursor: pointer;
    font-family: inherit;
    font-weight: 700;
    font-size: 0.78rem;
    text-decoration: none;
    transition: border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.news-detail__share-link:hover {
    border-color: var(--color-accent);
    color: var(--color-accent);
    transform: translateY(-1px);
}

.news-detail__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem 1.4rem;
    padding-top: 0;
    padding-bottom: clamp(2rem, 4vw, 3rem);
}

.news-detail__section h2, .news-detail__section h3, .news-detail__section h4 {
    font-family: var(--font-display);
    letter-spacing: -0.02em;
    margin-top: 2rem;
    margin-bottom: 1rem;
}

.news-detail__section p {
    margin-top: 1rem;
}

.news-detail__section ul, .news-detail__section ol {
    margin-top: 1rem;
    padding-left: 1.4rem;
    list-style: disc;
}

.news-detail__section ol {
    list-style: decimal;
}

.news-detail__section li+li {
    margin-top: 0.5rem;
}

@media (max-width: 900px) {
    .news-featured {
        grid-template-columns: 1fr;
    }

    .news-featured__copy {
        padding: 2rem 1.6rem;
    }

    .news-detail__hero {
        grid-template-columns: 1fr;
        min-height: 0;
    }

    .news-detail__cover {
        order: -1;
    }

    .news-detail__cover img {
        height: 100%;
        object-fit: contain;
    }

    .news-detail__title {
        max-width: 18ch;
        font-size: clamp(1.9rem, 7vw, 2.7rem);
    }

    .news-detail__header {
        padding: clamp(1.8rem, 7vw, -0.8rem);
    }

    .news-detail__lead {
        margin-top: 1.3rem;
    }

    .journal--related .section-heading {
        gap: 0.8rem;
    }

    .journal--related .journal-card__media {
        aspect-ratio: 16 / 8;
    }

    .news-cta__grid {
        grid-template-columns: 1fr;
    }
}

.site-header__city-icon .icon, .site-header__city-caret .icon {
    width: 1rem;
    height: 1rem;
}

.site-header__city-switcher--with-icons::after {
    content: none !important;
    display: none !important;
}

@media (max-width: 1024px) {
    .site-header__prebar {
        display: none;
    }
}

.site-header__mega {
    position: relative;
    z-index: 2;
}

.site-header__mega-tile-content span, .site-header__mega-tile-content p {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-header__mega-tile-content span {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.site-header__mega-tile-content p {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

@media (min-width: 1025px) {
    .site-header__mega-panel {
        padding: 1.4rem 0 1.2rem;
    }

    .site-header__mega-main {
        grid-template-columns: minmax(0, 1.75fr) minmax(19rem, 24rem);
        gap: 1.25rem;
        align-items: start;
    }

    .site-header__mega-columns {
        gap: 1.1rem;
        padding-right: 1.25rem;
    }

    .site-header__mega-column+.site-header__mega-column {
        padding-left: 0.9rem;
    }

    .site-header__mega-title {
        margin-bottom: 0.75rem;
        font-size: 1.02rem;
    }

    .site-header__mega-list {
        gap: 0.5rem;
        font-size: 0.95rem;
    }

    .site-header__mega-featured-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.7rem;
    }

    .site-header__mega-tile {
        min-height: 8.1rem;
    }

    .site-header__mega-tile-content {
        left: 0.8rem;
        right: 0.8rem;
        bottom: 0.8rem;
    }

    .site-header__mega-tile-content small {
        margin-bottom: 0.3rem;
        font-size: 0.62rem;
    }

    .site-header__mega-tile-content span {
        font-size: 0.86rem;
        line-height: 1.25;
    }

    .site-header__mega-tile-content p {
        margin-top: 0.3rem;
        font-size: 0.74rem;
        line-height: 1.3;
    }
}

.site-header__brand-logo {
    max-width: 185px;
    height: auto;
    padding: 4px;
}

.site-header__top-inner {
    padding-top: 0.35rem;
    padding-bottom: 0.35rem;
}

.site-header__search-button {
    display: none;
}

@media (max-width: 1024px) {
    .site-header__top-inner {
        padding-top: 0.35rem;
        padding-bottom: 0.35rem;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.5rem;
    }

    .site-header__brand-logo {
        max-width: 150px;
        padding: 3px;
    }

    .site-header__utility> :not(.site-header__search-button):not(.site-header__utility-item--mobile-profile) {
        display: none !important;
    }

    .site-header__utility-search {
        display: none !important;
    }

    .site-header__search-button {
        display: inline-flex;
    }

    .site-header__brand {
        order: 2;
        margin-right: auto;
    }

    .site-header__burger {
        order: 1;
    }

    .site-header__utility {
        order: 3;
    }

    .site-header__search-button {
        order: 1;
    }

    .site-header__utility .site-header__utility-item--mobile-profile {
        order: 2;
    }

    .site-header__utility .site-header__utility-item--mobile-profile .site-header__utility-item-icon.icon-button {
        width: 2.2rem;
        height: 2.2rem;
    }

    .site-header .icon-button, .site-header__burger {
        border: 0 !important;
        background: transparent !important;
        box-shadow: none !important;
    }
}

@media (max-width: 1024px) {
    .site-header__utility-item-label {
        display: none !important;
    }

    .site-header__utility-item {
        min-width: auto;
    }
}

@media (min-width: 1025px) {
    .site-header__brand-logo {
        max-width: 168px;
        padding: 2px;
    }

    .site-header__top-inner {
        padding-top: 0.3rem;
        padding-bottom: 0.3rem;
    }

    .site-header__nav-link {
        padding-top: 0.72rem;
        padding-bottom: 0.72rem;
        font-size: 0.85rem;
    }

    .site-header--stuck .site-header__brand-logo {
        max-width: 162px;
        padding: 2px;
    }
}

.mobile-bottom-nav {
    display: none;
}

@media (max-width: 1024px) {
    .mobile-bottom-nav {
        position: fixed;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 10020;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 0;
        padding: 0.35rem 0.35rem calc(0.35rem + env(safe-area-inset-bottom));
        background: rgba(255, 255, 255, 0.92);
        -webkit-backdrop-filter: blur(18px);
        backdrop-filter: blur(18px);
        border-top: 1px solid rgba(33, 29, 27, 0.12);
    }

    body.impulse-template {
        padding-bottom: calc(var(--impulse-bottom-nav-height) + env(safe-area-inset-bottom));
    }

    .mobile-bottom-nav__item {
        position: relative;
        display: grid;
        justify-items: center;
        gap: 0rem;
        padding: 0.15rem 0.15rem;
        color: rgba(33, 29, 27, 0.78);
        text-decoration: none;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
    }

    .mobile-bottom-nav__icon {
        position: relative;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 2.35rem;
        height: 1.6rem;
        border-radius: 0;
        border: 0;
        background: transparent;
    }

    .mobile-bottom-nav__item .icon {
        width: 1.25rem;
        height: 1.25rem;
    }

    .mobile-bottom-nav__label {
        font-size: 0.58rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        text-transform: uppercase;
        line-height: 1;
        opacity: 0.92;
    }

    .mobile-bottom-nav__count {
        position: absolute;
        top: 0.15rem;
        right: 0.1rem;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 0.95rem;
        height: 0.95rem;
        padding: 0 0.22rem;
        border-radius: 999px;
        background: var(--color-accent);
        color: #fff;
        font-size: 0.54rem;
        font-weight: 700;
        line-height: 1;
    }

    .mobile-bottom-nav__count--hidden {
        display: none;
    }

    .mobile-bottom-nav__item.is-active {
        color: var(--color-accent);
    }

    .mobile-bottom-nav__item.is-active .mobile-bottom-nav__icon {
        border-color: transparent;
        background: transparent;
    }
}

.bx-catalog-element .product-item-detail-slider-container {
    max-height: calc(100vh - var(--bx-panel-offset) - var(--impulse-header-height) - 2rem);
}

.bx-catalog-element .product-item-detail-slider-block {
    padding-top: 0 !important;
    height: clamp(18rem, calc(100vh - var(--bx-panel-offset) - var(--impulse-header-height) - 7.25rem), 46rem);
    aspect-ratio: 1 / 1;
    background: #fff;
}

.bx-catalog-element .product-item-detail-slider-controls-block {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.75rem 0;
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
}

.bx-catalog-element .product-item-detail-slider-controls-image {
    flex: 0 0 auto;
    width: clamp(56px, 4.6vw, 76px);
    height: clamp(56px, 4.6vw, 76px);
    background: #fff;
}

.bx-catalog-element .product-item-detail-slider-controls-image img {
    max-width: 100%;
    max-height: 100%;
}

.product-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(0, 1.25fr);
    gap: 1.5rem;
    align-items: stretch;
    margin-bottom: 2rem;
}

.product-page__gallery {
    display: flex;
    gap: 1rem;
    align-items: stretch;
    height: 100%;
    min-height: clamp(32rem, 58vw, 43rem);
}

.product-page__gallery-main {
    flex: 1 1 auto;
    min-width: 0;
    height: auto;
    min-height: 100%;
    overflow: hidden;
    position: relative;
    aspect-ratio: auto;
    max-height: none;
    background: #ffffff;
    display: flex;
    align-items: stretch;
    justify-content: center;
    cursor: zoom-in;
    max-height: 100vh;
}

.product-page__gallery-link {
    display: block;
    width: 100%;
    height: 100%;
    cursor: inherit;
}

.product-page__gallery-link:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.55);
    outline-offset: 3px;
}

.product-page__gallery-thumbs {
    order: -1;
    flex: 0 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    width: clamp(3.6rem, 5vw, 4.6rem);
}

.product-page__gallery-main img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.product-page__thumb {
    width: 100%;
    aspect-ratio: 1 / 1;
    background: #ffffff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(33, 29, 27, 0.08);
    transition: transform 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.product-page__thumb:hover {
    transform: translateY(-1px);
    border-color: rgba(33, 29, 27, 0.14);
    box-shadow: 0 10px 22px rgba(17, 15, 14, 0.06);
}

.product-page__thumb--active {
    border-color: rgba(0, 138, 179, 0.45);
    box-shadow: 0 0 0 3px rgba(0, 138, 179, 0.12);
}

.product-page__thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.product-page__gallery-main--placeholder img {
    display: none;
}

.product-page__gallery-main--placeholder::after {
    content: attr(data-placeholder-text);
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: rgba(33, 29, 27, 0.35);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
    background: #e9e9ea;
}

.product-page__summary {
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.08);
    padding: 1.6rem 1.6rem;
    height: 100%;
}

.product-page__brand-badge {
    width: auto;
    min-width: 3rem;
    max-width: 9rem;
    height: 3.25rem;
    padding: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border-radius: 0;
    background: transparent;
}

@media (max-width: 720px) {
    .product-page__brand-badge {
        max-width: 7.5rem;
        height: 3rem;
    }
}

.product-page__brand-logo {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

body.fancybox-active .fancybox-thumbs {
    top: auto;
    bottom: 0;
    left: 0;
    right: 0;
    width: auto;
    height: 110px;
    padding: 6px 8px 10px;
    background: rgba(20, 20, 20, 0.92);
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

body.fancybox-active .fancybox-thumbs>ul {
    overflow-x: auto;
    overflow-y: hidden;
    white-space: nowrap;
    padding: 0;
}

body.fancybox-active .fancybox-thumbs>ul>li {
    float: none;
    display: inline-block;
    vertical-align: top;
    width: 96px;
    height: 72px;
    margin: 0 6px;
    background: rgba(255, 255, 255, 0.04);
}

body.fancybox-active .fancybox-thumbs>ul>li:before {
    border-color: rgba(255, 255, 255, 0.55);
}

body.fancybox-active .fancybox-show-thumbs .fancybox-inner {
    right: 0;
    bottom: 110px;
}

body.fancybox-active .fancybox-stage {
    background: transparent;
}

body.fancybox-active .fancybox-slide--image {
    overflow: hidden;
}

body.fancybox-active .fancybox-slide--image .fancybox-image-wrap {
    transform-origin: center center;
    max-width: min(92vw, 1600px);
    max-height: calc(100vh - 180px);
}

body.fancybox-active .fancybox-slide--image .fancybox-image {
    display: block;
    object-fit: contain;
}

.fancybox__container {
    --fancybox-bg: rgba(15, 15, 15, 0.94);
}

.fancybox__container .fancybox__slide {
    padding: 24px;
}

.fancybox__container .fancybox__slide.has-image .fancybox__content {
    background: transparent;
}

.fancybox__container .fancybox__image {
    object-fit: contain;
}

.fancybox__container .fancybox__thumbs {
    --f-thumb-width: 88px;
    --f-thumb-height: 112px;
    --f-thumb-gap: 8px;
}

.fancybox__container .f-button.is-close-btn {
    top: 12px;
    right: 12px;
}

body.fancybox-active .fancybox-can-zoomIn .fancybox-slide--image .fancybox-image-wrap, body.fancybox-active .fancybox-can-zoomOut .fancybox-slide--image .fancybox-image-wrap, body.fancybox-active .fancybox-can-drag .fancybox-slide--image .fancybox-image-wrap {
    cursor: zoom-in;
}

.product-page__facts {
    margin: 0.9rem 0 0.2rem;
    display: grid;
    gap: 0.55rem;
}

.product-page__fact {
    display: grid;
    grid-template-columns: 6.5rem minmax(0, 1fr);
    gap: 0.75rem;
    font-size: 0.98rem;
}

.product-page__fact dt {
    color: rgba(33, 29, 27, 0.55);
    font-weight: 700;
}

.product-page__fact dd {
    margin: 0;
    color: rgba(33, 29, 27, 0.85);
}

.product-page__options {
    margin: 1.1rem 0 0.4rem;
    display: grid;
    gap: 0.9rem;
}

.product-page__option-label {
    display: block;
    margin-bottom: 0.55rem;
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.product-page__variant-selects {
    display: grid;
    max-width: 18rem;
    gap: 0.75rem;
    margin-top: 0.95rem;
}

.product-page__select-field {
    display: block;
}

.product-page__select-wrap {
    position: relative;
    display: block;
    color: rgba(33, 29, 27, 0.86);
}

.product-page__select-wrap::after {
    content: "";
    position: absolute;
    right: 0.95rem;
    top: 50%;
    width: 0.52rem;
    height: 0.52rem;
    border-right: 1.4px solid currentColor;
    border-bottom: 1.4px solid currentColor;
    transform: translateY(-65%) rotate(45deg);
    pointer-events: none;
    transition: color 160ms ease, transform 160ms ease;
}

.product-page__variant-selects .product-page__select {
    width: 100%;
    min-height: 2.65rem;
    appearance: none !important;
    -webkit-appearance: none !important;
    border: 1px solid rgba(33, 29, 27, 0.34);
    border-radius: 0.18rem;
    background: linear-gradient(180deg, #fff 0%, #fbfaf8 100%);
    color: rgba(33, 29, 27, 0.92);
    padding: 0 2.55rem 0 0.85rem;
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.2;
    cursor: pointer;
    box-shadow: 0 0.25rem 0.8rem rgba(33, 29, 27, 0.035);
    transition: border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease;
}

.product-page__variant-selects .product-page__select:hover {
    border-color: rgba(33, 29, 27, 0.58);
}

.product-page__variant-selects .product-page__select:disabled {
    cursor: not-allowed;
    color: rgba(33, 29, 27, 0.38);
    border-color: rgba(33, 29, 27, 0.16);
    background: rgba(255, 255, 255, 0.64);
    box-shadow: none;
}

.product-page__variant-selects .product-page__select:focus {
    outline: none;
    border-color: rgba(0, 138, 179, 0.82);
    box-shadow: 0 0 0 2px rgba(0, 138, 179, 0.12), 0 0.45rem 1rem rgba(33, 29, 27, 0.05);
}

.product-page__variant-selects .product-page__select option {
    font-size: 0.95rem;
}

.product-page__select-wrap:focus-within::after {
    color: var(--color-accent);
    transform: translateY(-45%) rotate(225deg);
}

.product-page__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.product-page__size {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: rgba(255, 255, 255, 0.92);
    color: rgba(33, 29, 27, 0.82);
    border-radius: 0.25rem;
    padding: 0.55rem 0.7rem;
    line-height: 1;
    font-size: 0.92rem;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.product-page__colors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.product-page__color {
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 0.2rem;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: var(--swatch-color, #e1e1e1);
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.product-page__color::after {
    content: attr(data-color-label);
    position: absolute;
    left: 50%;
    bottom: calc(100% + 0.45rem);
    transform: translate(-50%, 0.2rem);
    padding: 0.32rem 0.5rem;
    border-radius: 0.35rem;
    background: rgba(33, 29, 27, 0.92);
    color: #fff;
    font-size: 0.68rem;
    font-weight: 600;
    line-height: 1.1;
    letter-spacing: 0.01em;
    white-space: nowrap;
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    box-shadow: 0 0.45rem 1rem rgba(17, 15, 14, 0.18);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
    z-index: 5;
}

.product-page__color:hover::after,
.product-page__color:focus-visible::after {
    opacity: 1;
    visibility: visible;
    transform: translate(-50%, 0);
}

.product-page__color:hover, .product-page__color:focus-visible {
    outline: none;
    transform: translateY(-1px);
    border-color: rgba(0, 138, 179, 0.45);
    box-shadow: 0 0 0 3px rgba(0, 138, 179, 0.12);
}

.product-page__color.is-active {
    border-color: rgba(0, 138, 179, 0.75);
    box-shadow: 0 0 0 3px rgba(0, 138, 179, 0.18);
}

.product-page__summary.is-size-required .product-page__sizes {
    animation: impulseSizePulse 0.45s ease-in-out 0s 2;
}

.product-page__tabs {
    margin-top: 2rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #fff;
}

.product-page__tabs-head {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-bottom: 1px solid rgba(33, 29, 27, 0.08);
    background: #f8f4ee;
}

.product-page__tab {
    padding: 1.05rem 1.2rem;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(33, 29, 27, 0.75);
    transition: background-color 180ms ease, color 180ms ease;
}

.product-page__tab.is-active {
    background: #fff;
    color: var(--color-accent);
}

.product-page__tabs-body {
    padding: 1.3rem 1.35rem 1.6rem;
}

.product-page__tab-panel {
    display: none;
}

.product-page__tab-panel.is-active {
    display: block;
}

.product-page__specs {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0.75rem;
}

.product-page__spec {
    display: grid;
    grid-template-columns: 9.5rem minmax(0, 1fr);
    gap: 1rem;
    padding: 0.65rem 0;
    border-bottom: 1px solid rgba(33, 29, 27, 0.06);
}

.product-page__spec dt {
    color: rgba(33, 29, 27, 0.55);
    font-weight: 700;
    letter-spacing: 0.04em;
}

.product-page__spec dd {
    margin: 0;
    color: rgba(33, 29, 27, 0.85);
}

@media (max-width: 720px) {
    .product-page__spec {
        grid-template-columns: 1fr;
        gap: 0.35rem;
    }
}

.product-page__size.is-active, .product-page__size:hover, .product-page__size:focus-visible {
    outline: none;
    background: rgba(0, 138, 179, 0.08);
    border-color: rgba(0, 138, 179, 0.45);
    color: rgba(33, 29, 27, 0.95);
    transform: translateY(-1px);
}

@media (max-width: 1024px) {
    .product-page__gallery {
        gap: 0.75rem;
    }

    .product-page__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .product-page__gallery {
        flex-direction: column;
        height: auto;
        min-height: 0;
    }

    .product-page .container {
        width: min(100% - 1.5rem, var(--container));
    }

    .product-page__gallery-thumbs {
        order: 2;
        flex-direction: row;
        width: 100%;
        overflow: auto;
        padding-bottom: 0.25rem;
    }

    .product-page__thumb {
        flex: 0 0 4.2rem;
        width: 4.2rem;
    }

    .product-page__gallery-main {
        height: min(70vh, 34rem);
        min-height: 24rem;
        max-height: none;
        aspect-ratio: auto;
    }

    .product-page__gallery-main img {
        height: 100%;
        max-height: none;
        object-fit: cover;
        background: #fff;
    }

    .product-page__layout {
        gap: 1rem;
    }

    .product-page__summary {
        padding: 1.1rem 1rem;
        border-left: 0;
        border-right: 0;
    }

    .product-page__fact {
        grid-template-columns: 1fr;
        gap: 0.2rem;
        font-size: 0.95rem;
    }

    .product-page__tabs {
        border-left: 0;
        border-right: 0;
    }

    .product-page__tabs-body {
        padding: 1rem 1rem 1.2rem;
    }
}

.contacts-page__hero {
    margin-bottom: 2.25rem;
}

.info-page__hero {
    margin-bottom: 2.25rem;
}

.info-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
    color: #211d1b8f;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.info-page__eyebrow:before {
    content: "";
    width: 4.5rem;
    height: 1px;
    background: #211d1b33;
}

.info-page__title {
    margin: 0 0 0.9rem;
    font-size: clamp(2.25rem, 4vw, 3.7rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.02;
    text-transform: uppercase;
}

.info-page__lead {
    margin: 0;
    max-width: 56rem;
    color: var(--color-muted);
    font-size: 1.02rem;
    line-height: 1.72;
}

.info-page__lead-copy {
    display: grid;
    gap: 0.95rem;
    max-width: 60rem;
    padding: 1.5rem 1.7rem;
    border: 1px solid rgba(33, 29, 27, 0.07);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.94) 0%, rgba(255, 255, 255, 0.82) 100%);
    box-shadow: 0 16px 34px rgba(23, 20, 18, 0.06);
}

.info-page__lead--intro {
    color: var(--color-text);
    font-size: 1.12rem;
    line-height: 1.68;
}

.info-page__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.info-page__links {
    display: flex;
    flex-wrap: wrap;
    gap: 1.1rem 1.6rem;
    align-items: center;
}

.info-page__text {
    max-width: 56rem;
}

.info-page__text h2 {
    margin-top: 1.6rem;
    font-size: 1.2rem;
    letter-spacing: 0.02em;
}

.info-page__text p {
    color: var(--color-muted);
    line-height: 1.6;
}

.info-card {
    padding: 1.5rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
}

.info-card h2 {
    margin: 0 0 0.65rem;
    font-family: var(--font-display);
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.12;
    color: var(--color-text);
}

.info-card p {
    margin: 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.buyers-brands__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.buyers-brands__tile {
    display: grid;
    gap: 1rem;
    min-height: 15rem;
    padding: 1.4rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
    color: inherit;
    text-decoration: none;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.buyers-brands__tile:hover {
    border-color: rgba(0, 138, 179, 0.3);
    box-shadow: 0 18px 34px rgba(0, 0, 0, 0.08);
    transform: translateY(-2px);
}

.buyers-brands__tile:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.55);
    outline-offset: 2px;
}

.buyers-brands__tile-media {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 8.5rem;
    padding: 1rem;
    border: 1px solid rgba(33, 29, 27, 0.06);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 242, 237, 0.92));
}

.buyers-brands__tile-media img {
    width: 100%;
    max-width: 12rem;
    max-height: 4.5rem;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.9;
    transition: filter 180ms ease, opacity 180ms ease, transform 180ms ease;
}

.buyers-brands__tile:hover .buyers-brands__tile-media img {
    filter: grayscale(0);
    opacity: 1;
    transform: scale(1.02);
}

.buyers-brands__tile-name,
.buyers-brands__tile-title {
    font-family: var(--font-display);
    font-size: 1.25rem;
    font-weight: 500;
    line-height: 1.15;
    color: var(--color-text);
}

.buyers-brands__tile-title {
    font-size: 1.02rem;
    letter-spacing: 0.02em;
}

.info-card--link {
    display: block;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.info-card--link:hover {
    border-color: rgba(0, 138, 179, 0.35);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.info-card--link:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.55);
    outline-offset: 2px;
}

@media (max-width: 1024px) {
    .info-page__grid {
        grid-template-columns: 1fr;
    }

    .buyers-brands__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .buyers-brands__grid {
        grid-template-columns: 1fr;
    }

    .buyers-brands__tile {
        min-height: 12.5rem;
        padding: 1.15rem;
    }

    .buyers-brands__tile-media {
        min-height: 7rem;
    }
}

.stores-page.section {
    padding-top: clamp(3.75rem, 6vw, 5.25rem);
}

.stores-page__hero {
    margin-bottom: 1.25rem;
}

.stores-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
    color: #211d1b8f;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.stores-page__eyebrow:before {
    content: "";
    width: 4.5rem;
    height: 1px;
    background: #211d1b33;
}

.stores-page__title {
    margin: 0 0 0.65rem;
    font-size: clamp(2rem, 3.2vw, 2.9rem);
    font-weight: 500;
    line-height: 1.04;
    text-transform: uppercase;
}

.stores-page__lead {
    max-width: 42rem;
    color: var(--color-muted);
    font-size: 0.95rem;
    line-height: 1.5;
}

.stores-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.06fr) minmax(21rem, 0.94fr);
    gap: 1rem;
    align-items: start;
}

.stores-page__content {
    display: grid;
    gap: 0.85rem;
    min-width: 0;
}

.stores-page__sidebar {
    min-width: 0;
}

.stores-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.stores-tabs__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0.55rem 0.9rem;
    border: 1px solid rgba(33, 29, 27, 0.14);
    background: #ffffffeb;
    color: rgba(33, 29, 27, 0.82);
    font-size: 0.69rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    transition: border-color 0.18s ease, background-color 0.18s ease, color 0.18s ease;
}

.stores-tabs__button:hover {
    border-color: rgba(33, 29, 27, 0.3);
}

.stores-tabs__button.is-active {
    border-color: rgba(33, 29, 27, 0.9);
    color: #211d1b;
}

.js-stores-tabs .stores-panels {
    display: none;
}

.js-stores-tabs .stores-panels.is-active {
    display: block;
}

.stores-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
}

.store-card {
    min-height: 12.2rem;
    padding: 1.2rem 1.25rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.store-card:hover {
    border-color: rgba(0, 138, 179, 0.26);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.store-card:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.55);
    outline-offset: 2px;
}

.store-card__title {
    margin: 0 0 0.8rem;
    font-family: var(--font-display);
    font-size: 0.98rem;
    font-weight: 500;
    line-height: 1.25;
}

.store-card__row {
    margin: 0 0 0.55rem;
    color: var(--color-muted);
    font-size: 0.92rem;
    line-height: 1.45;
}

.store-card__row strong {
    color: var(--color-text);
    font-weight: 700;
}

.store-card__note {
    margin: 0.75rem 0 0;
    color: var(--color-muted);
    font-size: 0.92rem;
    line-height: 1.5;
}

.stores-empty {
    color: var(--color-muted);
}

.stores-map-panel {
    padding: 1rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
}

.stores-map {
    position: relative;
    overflow: hidden;
    min-height: 24rem;
    background: #f7f1ea;
}

.stores-map__inner,
.stores-map__inner iframe {
    width: 100%;
    height: 100%;
    min-height: 24rem;
    border: 0;
}

.stores-map__fallback {
    padding: 1rem;
    color: var(--color-muted);
}

.stores-map.is-loading::after {
    content: "Загружаем карту...";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(247, 241, 234, 0.88);
    color: #211d1b8f;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
}

.stores-page__map-note,
.stores-page__map-link {
    margin: 0.75rem 0 0;
    color: var(--color-muted);
    font-size: 0.85rem;
    line-height: 1.45;
}

.stores-page__map-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.9rem 1.1rem;
    margin-top: 0.85rem;
}

.stores-page__map-copy {
    min-height: 2rem;
    padding: 0.35rem 0.7rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: rgba(255, 255, 255, 0.84);
    color: rgba(33, 29, 27, 0.76);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: border-color 0.18s ease, color 0.18s ease, background-color 0.18s ease;
}

.stores-page__map-copy:hover:not(:disabled) {
    border-color: rgba(0, 138, 179, 0.34);
    color: #008ab3;
    background: rgba(0, 138, 179, 0.06);
}

.stores-page__map-copy:disabled {
    opacity: 0.45;
    cursor: default;
}

.stores-page__contacts {
    margin-top: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (max-width: 1100px) {
    .stores-page__layout {
        grid-template-columns: 1fr;
    }

    .stores-map {
        min-height: 22rem;
    }

    .stores-map__inner,
    .stores-map__inner iframe {
        min-height: 22rem;
    }
}

@media (max-width: 720px) {
    .stores-page.section {
        padding-top: 2.6rem;
    }

    .stores-page__hero {
        margin-bottom: 1.5rem;
    }

    .stores-cards {
        grid-template-columns: 1fr;
        gap: 0.85rem;
    }

    .store-card {
        min-height: 0;
        padding: 1.1rem;
    }

    .stores-map-panel {
        padding: 1rem;
    }

    .stores-map {
        min-height: 18rem;
    }

    .stores-map__inner,
    .stores-map__inner iframe {
        min-height: 18rem;
    }

    .stores-page__contacts {
        grid-template-columns: 1fr;
    }
}

.contacts-page.section {
    padding-top: clamp(4.5rem, 7vw, 6rem);
}

.contacts-page__hero {
    margin-bottom: 2rem;
}

.contacts-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
    color: #211d1b8f;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.contacts-page__eyebrow:before {
    content: "";
    width: 4.5rem;
    height: 1px;
    background: #211d1b33;
}

.contacts-page__title {
    margin: 0 0 0.9rem;
    font-size: clamp(2rem, 3.4vw, 3rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.05;
    text-transform: uppercase;
}

.contacts-page__lead {
    max-width: 52rem;
    color: var(--color-muted);
    font-size: 1rem;
    line-height: 1.6;
}

.contacts-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(0, 0.92fr);
    gap: 1.75rem;
    align-items: start;
}

.contacts-page__grid {
    display: grid;
    gap: 1rem;
}

.contacts-card {
    padding: 1.5rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
}

.contacts-card__title {
    margin-bottom: 0.75rem;
    font-size: 0.78rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #211d1b8f;
}

.contacts-card__value {
    margin: 0 0 0.65rem;
    font-family: var(--font-display);
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.05;
}

.contacts-card__value a {
    text-decoration: none;
    border-bottom: 1px solid rgba(33, 29, 27, 0.14);
}

.contacts-card__valuea:hover {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

.contacts-card__hint {
    margin: 0;
    color: var(--color-muted);
}

.contacts-page__map {
    padding: 1.5rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
    position: sticky;
    top: 8.5rem;
}

.contacts-map {
    position: relative;
    overflow: hidden;
    aspect-ratio: 1.08 / 1;
    min-height: 420px;
    background: #f7f1ea;
}

.contacts-map__inner {
    width: 100%;
    height: 100%;
}

.contacts-map__inner iframe {
    width: 100%;
    height: 100%;
    border: 0;
}

.contacts-map__fallback {
    padding: 1rem;
    color: var(--color-muted);
}

.contacts-map.is-loading::after {
    content: "Загружаем карту...";
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    padding: 1rem;
    background: rgba(247, 241, 234, 0.88);
    color: #211d1b8f;
    font-size: 0.95rem;
    letter-spacing: 0.04em;
}

.contacts-map-balloon__title {
    font-weight: 700;
    margin-bottom: 0.35rem;
}

.contacts-map-balloon__row {
    margin-bottom: 0.25rem;
}

.contacts-map-balloon__note {
    margin-top: 0.35rem;
    color: #211d1bcc;
}

.contacts-page__map-note {
    margin: 1rem 0 0;
    color: var(--color-muted);
    font-size: 0.9rem;
}

.contacts-page__form {
    max-width: 56rem;
}

.contacts-page__form .form-control {
    width: 100%;
    min-height: 3.5rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fffffff5;
    border-radius: 0;
}

.contacts-page__form textarea.form-control {
    min-height: 9rem;
}

.contacts-page__form label {
    display: inline-block;
    margin-bottom: 0.4rem;
    color: #211d1b9e;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.contacts-page__form .btn.btn-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.7rem;
    padding: 1rem 1.9rem;
    border: 1px solid transparent;
    border-radius: 0;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    background: var(--color-accent);
    color: var(--color-white);
    transition: transform 0.18s ease, background-color 0.18s ease;
}

.contacts-page__form .btn.btn-primary:hover {
    transform: translateY(-1px);
    background: #14706d;
}

@media (max-width: 1024px) {
    .contacts-page__layout {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .contacts-page__hero {
        margin-bottom: 1.5rem;
    }

    .contacts-page__layout {
        gap: 1rem;
    }

    .contacts-page__grid {
        gap: 0.75rem;
    }

    .contacts-card {
        padding: 1.05rem;
    }

    .contacts-card__title {
        margin-bottom: 0.6rem;
        font-size: 0.72rem;
        letter-spacing: 0.18em;
    }

    .contacts-card__value {
        font-size: clamp(1.25rem, 6.2vw, 1.55rem);
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .contacts-card__value a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .contacts-page__map {
        padding: 1.05rem;
        position: static;
    }

    .contacts-map {
        min-height: 260px;
        aspect-ratio: 1 / 1;
    }

    .contacts-page__channels {
        margin-top: 1.25rem;
        padding: 1.05rem;
    }

    .contacts-page__channels-title {
        margin-bottom: 0.75rem;
        font-size: 0.72rem;
        letter-spacing: 0.18em;
    }

    .contacts-page__channel dt, .contacts-page__channel dd, .contacts-page__channel a {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .contacts-point {
        padding: 1.05rem;
    }

    .contacts-point__title {
        font-size: 1.35rem;
    }
}

.contacts-page__offline {
    display: grid;
    gap: 1.25rem;
}

.contacts-tabs {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.55rem;
}

.contacts-tabs__button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.6rem;
    padding: 0.6rem 1rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #ffffffeb;
    color: rgba(33, 29, 27, 0.78);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.contacts-tabs__button:hover {
    border-color: rgba(33, 29, 27, 0.22);
    color: var(--color-text);
}

.contacts-tabs__button.is-active {
    border-color: rgba(0, 138, 179, 0.38);
    background: rgba(0, 138, 179, 0.08);
    color: var(--color-text);
}

.js-contacts-tabs .contacts-panels {
    display: none;
}

.js-contacts-tabs .contacts-panels.is-active {
    display: block;
}

.contacts-points {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.contacts-point {
    display: flex;
    flex-direction: column;
    min-height: 100%;
    padding: 1.35rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
    cursor: pointer;
    transition: border-color 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.contacts-point:hover {
    border-color: rgba(0, 138, 179, 0.35);
    box-shadow: 0 14px 32px rgba(0, 0, 0, 0.08);
    transform: translateY(-1px);
}

.contacts-point:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.55);
    outline-offset: 2px;
}

.contacts-point__title {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: 1.2rem;
    font-weight: 500;
    line-height: 1.2;
}

.contacts-point__row {
    margin: 0 0 0.45rem;
    color: var(--color-muted);
    line-height: 1.55;
}

.contacts-point__row strong {
    color: var(--color-text);
    font-weight: 600;
}

.contacts-point__note {
    margin: 0.65rem 0 0;
    color: var(--color-muted);
    line-height: 1.55;
}

.contacts-empty {
    color: var(--color-muted);
}

@media (max-width: 1024px) {
    .contacts-points {
        grid-template-columns: 1fr;
    }
}

.contacts-page__channels {
    margin-top: 2rem;
    padding: 1.5rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
}

.contacts-page__channels-title {
    margin: 0 0 1rem;
    font-size: 0.78rem;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    color: #211d1b8f;
}

.contacts-page__channels-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 0.75rem 1.5rem;
}

.contacts-page__channel {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: 0.4rem 1rem;
    align-items: baseline;
}

.contacts-page__channel dt {
    color: var(--color-muted);
}

.contacts-page__channel dd {
    margin: 0;
    min-width: 0;
}

.contacts-page__channel a {
    border-bottom: 1px solid rgba(33, 29, 27, 0.14);
    word-break: break-word;
}

.contacts-page__channela:hover {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

@media (max-width: 1024px) {
    .contacts-page.section {
        padding-top: 3rem;
    }

    .contacts-page__channels-list {
        grid-template-columns: 1fr;
    }

    .contacts-page__channel {
        grid-template-columns: 1fr;
    }
}

.requisites-page__hero {
    margin-bottom: 2.25rem;
}

.requisites-page__eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 0.9rem;
    margin-bottom: 1rem;
    color: #211d1b8f;
    font-size: 0.78rem;
    font-weight: 600;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.requisites-page__eyebrow:before {
    content: "";
    width: 4.5rem;
    height: 1px;
    background: #211d1b33;
}

.requisites-page__title {
    margin: 0 0 0.9rem;
    font-size: clamp(2.25rem, 4vw, 3.7rem);
    font-weight: 500;
    letter-spacing: 0.02em;
    line-height: 1.02;
    text-transform: uppercase;
}

.requisites-page__lead {
    max-width: 56rem;
    color: var(--color-muted);
    font-size: 1.06rem;
}

.requisites-page__card {
    padding: 1.6rem 1.5rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #ffffffeb;
    box-shadow: var(--shadow-card);
}

.requisites-page__list {
    display: grid;
    gap: 1rem;
}

.requisites-page__row {
    display: grid;
    grid-template-columns: minmax(0, 12rem) minmax(0, 1fr);
    gap: 0.4rem 1rem;
}

.requisites-page__row dt {
    color: var(--color-muted);
    font-weight: 600;
}

.requisites-page__row dd {
    margin: 0;
}

.requisites-page__links {
    margin-top: 1.5rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

@media (max-width: 720px) {
    .requisites-page__row {
        grid-template-columns: 1fr;
    }
}

body.impulse-template .page-shell, body.impulse-template .page-shell--inner {
    min-height: 100vh;
    overflow: visible;
}

body.impulse-template .page-shell {
    overflow-x: hidden;
}

body.impulse-template .page-shell--inner {
    padding-top: calc(8.35rem + var(--bx-panel-offset));
}

.hero {
    overflow: hidden;
}

.hero, .hero__media, .hero__content {
    max-width: 100%;
}

.hero__media img {
    object-position: 39% -15%;
    transform: scale(1.01);
}

.site-footer__brand-column {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.site-footer__column {
    display: grid;
    gap: 1rem;
    align-content: start;
}

.site-footer__links {
    display: grid;
    gap: 0.85rem;
    color: var(--color-muted);
}

.site-footer__links a, .site-footer__links span {
    display: block;
    line-height: 1.45;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.site-footer__legal a {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.site-footer__grid, .site-footer__links {
    min-width: 0;
}

@media (max-width: 720px) {
    .site-footer__socials {
        gap: 0.75rem 1rem;
    }

    .site-footer__links {
        gap: 0.75rem;
    }
}

.impulse-feedback {
    width: min(100%, 46rem);
}

.impulse-feedback__ok {
    margin-bottom: 1.25rem;
    padding: 1rem 1.1rem;
    border: 1px solid rgba(0, 138, 179, 0.24);
    background: rgba(0, 138, 179, 0.08);
    color: var(--color-text);
}

.impulse-feedback__form {
    display: grid;
    gap: 0.9rem;
}

.impulse-feedback__field {
    display: grid;
    gap: 0.5rem;
}

.impulse-feedback__label {
    color: #211d1b9e;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.impulse-feedback__label .mf-control-required {
    margin-left: 0.25rem;
    color: #a53a3a;
}

.impulse-feedback__control {
    width: 100%;
    min-height: 3.5rem;
    padding: 0.95rem 1rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fffffff5;
    outline: none;
    transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.impulse-feedback__control--textarea {
    min-height: 9.5rem;
    resize: vertical;
}

.impulse-feedback__control:focus {
    border-color: rgba(0, 138, 179, 0.35);
    box-shadow: 0 0 0 4px rgba(0, 138, 179, 0.12);
}

.impulse-feedback__captcha {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 14rem);
    gap: 0.85rem;
    align-items: end;
}

.impulse-feedback__captcha-image {
    display: grid;
    gap: 0.5rem;
    align-content: start;
    max-width: 14rem;
    justify-items: start;
}

.impulse-feedback__captcha-image .impulse-feedback__label {
    font-size: 0.72rem;
    letter-spacing: 0.1em;
}

.impulse-feedback__captcha-image img {
    display: block;
    max-width: 100%;
    height: auto;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
}

.impulse-feedback__policy {
    display: flex;
    gap: 0.6rem;
    align-items: flex-start;
    margin-top: 0.15rem;
    color: var(--color-muted);
    font-size: 0.9rem;
    line-height: 1.4;
}

.impulse-feedback__policy-checkbox {
    margin-top: 0.25rem;
    width: 1.05rem;
    height: 1.05rem;
    flex: 0 0 auto;
}

.impulse-feedback__policy a {
    border-bottom: 1px solid rgba(33, 29, 27, 0.18);
}

.impulse-feedback__policya:hover {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

.impulse-feedback__submit {
    margin-top: 0.35rem;
    width: fit-content;
    justify-self: start;
}

@media (max-width: 720px) {
    .impulse-feedback__form {
        gap: 0.75rem;
    }

    .impulse-feedback__label {
        font-size: 0.78rem;
        letter-spacing: 0.11em;
    }

    .impulse-feedback__control {
        min-height: 3.1rem;
        padding: 0.82rem 0.9rem;
    }

    .impulse-feedback__control--textarea {
        min-height: 8.25rem;
    }

    .impulse-feedback__captcha {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .impulse-feedback__captcha-image {
        max-width: none;
        justify-items: stretch;
    }

    .impulse-feedback__captcha-image img {
        width: 100%;
    }

    .impulse-feedback__policy {
        font-size: 0.86rem;
    }

    .impulse-feedback__submit {
        width: 100%;
        justify-self: stretch;
    }
}

@media (max-width: 1024px) {
    .site-footer__bottom {
        flex-wrap: wrap;
    }

    .site-footer__legal {
        flex-wrap: wrap;
    }

    .site-footer__legal a, .site-footer__credit {
        overflow-wrap: anywhere;
        word-break: break-word;
    }
}

.site-footer__brand--logo {
    display: inline-flex;
    align-items: center;
}

.site-footer__brand-logo {
    height: 3.35rem;
    width: auto;
    display: block;
}

.site-footer__contacts-wide {
    grid-column: 1 / -1;
    padding-top: 1.75rem;
    margin-top: 1.75rem;
    border-top: 1px solid rgba(33, 29, 27, 0.08);
}

.site-footer__contacts-wide-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr) minmax(0, 1.1fr);
    gap: 1.5rem 2rem;
    margin-top: 1rem;
    align-items: start;
}

.site-footer__contacts-col--summary .site-footer__contacts-city-title {
    margin-bottom: 0.85rem;
}

.site-footer__contacts-lines {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.6rem 1.4rem;
    margin-top: 0;
    max-width: none;
    color: var(--color-muted);
}

.site-footer__contacts-line {
    display: inline-flex;
    align-items: center;
}

.site-footer__contacts-line[href] {
    color: inherit;
    text-decoration: none;
    border-bottom: 1px solid rgba(33, 29, 27, 0.14);
}

.site-footer__contacts-line[href]:hover {
    color: var(--color-accent);
    border-bottom-color: var(--color-accent);
}

.site-footer__contacts-city-title {
    display: inline-block;
    margin-bottom: 0.75rem;
    font-size: 0.78rem;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.site-footer__contacts-points {
    display: grid;
    gap: 0.85rem;
    color: var(--color-muted);
}

.site-footer__contacts-point {
    display: grid;
    gap: 0.15rem;
}

.site-footer__contacts-hours {
    font-size: 0.92rem;
    color: rgba(33, 29, 27, 0.62);
}

.cookie-consent {
    position: fixed;
    left: 24px;
    right: 24px;
    bottom: 24px;
    z-index: 10030;
    pointer-events: none;
    opacity: 0;
    transform: translateY(18px);
    transition: opacity .22s ease, transform .22s ease;
}

.cookie-consent.cookie-consent--visible {
    pointer-events: auto;
    opacity: 1;
    transform: translateY(0);
}

.cookie-consent__inner {
    max-width: 1120px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 18px 22px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 16px;
    background: rgba(24, 21, 19, 0.94);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.24);
    backdrop-filter: blur(14px);
}

.cookie-consent__text {
    margin: 0;
    color: rgba(255, 255, 255, 0.88);
    font-size: 14px;
    line-height: 1.6;
}

.cookie-consent__text a {
    color: #7fd6ea;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.cookie-consent__button {
    flex: 0 0 auto;
    min-width: 154px;
    min-height: 48px;
    padding: 14px 24px;
    border: 0;
    border-radius: 12px;
    background: #008ab3;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease, transform .2s ease, box-shadow .2s ease;
}

.cookie-consent__button:hover {
    background: #00779b;
    box-shadow: 0 12px 24px rgba(0, 138, 179, 0.22);
}

.cookie-consent__button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 138, 179, 0.22);
}

@media (max-width: 720px) {
    .site-footer__brand-logo {
        height: 3.2rem;
    }

    .site-footer__contacts-wide-grid {
        grid-template-columns: 1fr;
    }

    .cookie-consent {
        left: 14px;
        right: 14px;
        bottom: calc(4.8rem + env(safe-area-inset-bottom, 0px));
    }

    .cookie-consent__inner {
        flex-direction: column;
        align-items: stretch;
        gap: 14px;
        padding: 16px;
        border-radius: 14px;
    }

    .cookie-consent__button {
        width: 100%;
        min-width: 0;
    }
}

.site-header__city-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-right: 0.65rem;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.site-header__city-switcher::after {
    content: "";
    position: absolute;
    right: 0.35rem;
    top: 50%;
    transform: translateY(-35%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(255, 255, 255, 0.78);
    pointer-events: none;
}

.site-header__city-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    min-height: 2rem;
    padding: 0.35rem 1.65rem 0.35rem 0.7rem;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    cursor: pointer;
    outline: none;
}

.site-header__city-switcher--with-icons .site-header__city-select {
    cursor: pointer;
}

.site-header__city-select:focus, .site-header__city-select:focus-visible {
    outline: none;
    box-shadow: none;
}

.site-header__city-switcher--with-icons {
    position: relative;
    min-width: 8.5rem;
}

@media (min-width: 1025px) {
    .site-header__city-switcher--corner.site-header__city-switcher--with-icons {
        min-height: 2.1rem;
        padding: 0;
        min-width: 8.5rem;
    }
}

@media (max-width: 1024px) {
    .site-header__mobile-city.site-header__city-switcher--with-icons {
        min-height: 3.1rem;
        padding: 0;
        min-width: 100%;
    }
}

.site-header__city-switcher--with-icons .site-header__city-icon, .site-header__city-switcher--with-icons .site-header__city-caret {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: none;
    z-index: 2;
}

.site-header__city-switcher--with-icons .site-header__city-icon {
    left: 0.75rem;
}

.site-header__city-switcher--with-icons .site-header__city-caret {
    right: 0.65rem;
}

@media (max-width: 1024px) {
    .site-header__mobile-city.site-header__city-switcher--with-icons .site-header__city-select {
        padding-left: 2.4rem;
        padding-right: 2.25rem;
    }
}

.site-header__city-switcher--with-icons .site-header__city-select {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    min-height: inherit;
    padding-left: 2.05rem;
    padding-right: 1.85rem;
    border: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
}

.site-header__city-select option {
    color: #211d1b;
}

.site-header__city-popover {
    position: absolute;
    top: calc(100% + 0.55rem);
    left: -7rem;
    z-index: 30;
    width: min(24rem, calc(100vw - 1.5rem));
    max-width: min(24rem, calc(100vw - 1.5rem));
    padding: 0.9rem;
    box-sizing: border-box;
    border-radius: 0.9rem;
    border: 1px solid rgba(255, 255, 255, 0.16);
    background: rgba(28, 24, 22, 0.92);
    -webkit-backdrop-filter: blur(12px);
    backdrop-filter: blur(12px);
    box-shadow: 0 18px 44px rgba(0, 0, 0, 0.32);
}

.site-header__city-popover-text {
    margin: 0 0 0.75rem;
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.82rem;
    line-height: 1.42;
    letter-spacing: 0.02em;
    text-transform: none;
}

.site-header__city-popover-actions {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.45rem;
}

.site-header__city-popover-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.25rem;
    padding: 0.35rem 0.55rem;
    border: 1px solid rgba(255, 255, 255, 0.22);
    color: rgba(255, 255, 255, 0.92);
    font-size: 0.64rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
    text-align: center;
    line-height: 1.2;
    min-width: 0;
}

@media (max-width: 420px) {
    .site-header__city-popover {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100vw - 1rem);
    }

    .site-header__city-popover-actions {
        grid-template-columns: 1fr;
    }

    .site-header__city-popover-button {
        width: 100%;
    }
}

.site-header__city-popover-button:hover {
    border-color: rgba(255, 255, 255, 0.38);
    background: rgba(255, 255, 255, 0.08);
    color: #fff;
}

.site-header__city-popover-button--primary {
    border-color: rgba(0, 138, 179, 0.6);
    background: rgba(0, 138, 179, 0.35);
}

.site-header__city-popover-button--primary:hover {
    border-color: rgba(0, 138, 179, 0.9);
    background: rgba(0, 138, 179, 0.55);
}

.site-header__city-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2rem;
    padding: 0.35rem 0.7rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.site-header__city-link--active {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.product-card__media {
    position: relative;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    background: linear-gradient(180deg, #fbf9f5 0%, #f1ebe3 100%);
    z-index: 1;
    cursor: pointer;
}

.product-card__media img {
    width: 90%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.5s ease;
}

.product-card__media-track {
    height: 100%;
    display: flex;
    transition: transform 260ms ease;
    will-change: transform;
    touch-action: pan-y;
    gap: 0;
    cursor: pointer;
}

.product-card__media-track img {
    flex: 0 0 100%;
}

.product-card__media-track:active {
    cursor: grabbing;
}

.product-card__media-dots {
    position: absolute;
    left: 50%;
    bottom: 0.65rem;
    transform: translateX(-50%);
    display: inline-flex;
    gap: 0.35rem;
    padding: 0.25rem 0.35rem;
    border-radius: 999px;
    background: rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    z-index: 4;
}

.product-card__media-dot {
    width: 0.36rem;
    height: 0.36rem;
    border-radius: 50%;
    border: 0;
    padding: 0;
    background: rgba(255, 255, 255, 0.45);
    cursor: pointer;
}

.product-card__media-dot.is-active {
    background: rgba(255, 255, 255, 0.92);
}

.product-card__media--placeholder img {
    display: none;
}

.product-card__media--placeholder::after {
    content: attr(data-placeholder-text);
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 1rem;
    color: rgba(33, 29, 27, 0.35);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    text-align: center;
    background: #e9e9ea;
}

.product-card__favorite svg {
    width: 1.1rem;
    height: 1.1rem;
    display: block;
}

.product-card__favorite.icon-button {
    align-items: center;
    justify-content: center;
}

.product-card__media--placeholder img {
    object-fit: contain;
    transform: none;
}

.product-card:hover .product-card__media img {
    transform: scale(1.03);
}

.product-card:hover .product-card__media--placeholder img {
    transform: none;
}

.product-card {
    position: relative;
    display: flex;
    flex-direction: column;
    height: auto;
    min-height: 100%;
}

.product-card__overlay-link {
    position: absolute;
    inset: 0;
    z-index: 0;
    cursor: pointer;
    pointer-events: none;
}

.product-card__meta {
    display: flex;
    flex-direction: column;
    gap: 0.46rem;
    height: auto;
    position: relative;
    z-index: 3;
    padding: 1.05rem 1rem 0.95rem;
}

.product-card__title {
    display: -webkit-box;
    overflow: hidden;
    font-family: var(--font-body);
    line-height: 1.15;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    font-size: clamp(0.98rem, 1.25vw, 1.12rem);
}

.product-card__details {
    color: var(--color-muted);
    font-size: 0.9rem;
    margin-bottom: -0.25rem;
}

.product-card__details+.product-card__summary {
    margin-top: -0.35rem;
}

.product-card__summary {
    color: var(--color-muted);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    line-height: 1.36;
    min-height: calc(1.36em * 3);
    font-size: 0.92rem;
}

.product-card__footer {
    margin-top: auto;
    padding-top: 0.5rem;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.5rem;
    align-items: center;
    border-top: 1px solid rgba(33, 29, 27, 0.08);
}

.product-card__price-wrap {
    display: grid;
    gap: 0.18rem;
    min-width: 0;
    overflow: hidden;
}

.product-card__price {
    font-family: var(--font-body);
    line-height: 0.96;
    font-size: clamp(0.96rem, 1.3vw, 1.22rem);
    margin-bottom: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    font-variant-numeric: tabular-nums;
}

.product-card__price--compact {
    font-size: clamp(0.82rem, 1vw, 0.96rem);
    letter-spacing: 0.01em;
    max-width: 7rem;
}

.product-card__stock {
    font-size: 0.54rem;
    letter-spacing: 0.15em;
}

.product-card__popularity {
    font-size: 0.6rem;
    letter-spacing: 0.08em;
    color: var(--color-muted);
}

.products#products {
    padding-bottom: 8rem;
}

.products#products .products__grid {
    margin-bottom: 2rem;
}

.products#products .catalog-results__empty {
    display: none;
}

.products#products .product-card__summary {
    display: none;
}

.products#products .product-card__details, .products#products .product-card__sizes {
    display: none;
}

.product-card__actions {
    display: inline-flex;
    align-items: center;
    gap: 0.42rem;
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    min-width: max-content;
}

.product-card__cta {
    white-space: nowrap;
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    min-height: 2.2rem;
    padding: 0.55rem 0.74rem;
    font-size: 0.56rem;
    letter-spacing: 0.12em;
}

.product-card__favorite {
    position: absolute;
    top: 0.85rem;
    right: 0.85rem;
    z-index: 4;
}

.product-card__cart {
    position: relative;
    z-index: 4;
    flex: 0 0 auto;
    align-self: center;
    width: 2.2rem;
    height: 2.2rem;
}

.product-card__cart.is-loading, .product-card__cart.is-added, .product-card__cart.is-error {
    border-color: rgba(33, 29, 27, 0.18);
}

.product-card__cart.is-added {
    color: var(--color-accent);
}

.product-card__cart.is-error {
    color: #a53a3a;
}

body.impulse-template .catalog-page {
    background: radial-gradient(circle at top center, rgba(0, 138, 179, 0.06), transparent 32%), linear-gradient(180deg, #fbf8f4, #f5efe7);
}

.catalog-page__breadcrumbs {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.catalog-page__breadcrumbs span {
    opacity: 0.7;
}

.catalog-page__hero-card {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    gap: 1.5rem;
    margin-bottom: 1.35rem;
}

.catalog-page__intro {
    max-width: 46rem;
}

.catalog-page__eyebrow {
    margin-bottom: 0.65rem;
    font-size: 0.72rem;
    letter-spacing: 0.22em;
}

.catalog-page__title {
    letter-spacing: 0.01em;
    line-height: 0.95;
}

.catalog-page__text {
    max-width: 40rem;
    font-size: 1rem;
    line-height: 1.55;
}

.catalog-page__hero-meta {
    gap: 0.75rem;
}

.catalog-page__hero-meta div {
    padding: 0.9rem 0.95rem;
    background: rgba(255, 255, 255, 0.55);
    border: 1px solid rgba(33, 29, 27, 0.08);
    box-shadow: none;
}

.catalog-layout {
    gap: 2.25rem;
}

.catalog-sidebar {
    top: calc(6.75rem + var(--bx-panel-offset));
}

.catalog-categories {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.catalog-categories__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.catalog-categories__accordion {
    display: grid;
    gap: 0.5rem;
}

.catalog-categories__group {
    border: 0;
    background: transparent;
}

.catalog-categories__summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.1rem 0;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    border-bottom: 1px solid rgba(0, 138, 179, 0.35);
}

.catalog-categories__summary::-webkit-details-marker {
    display: none;
}

.catalog-categories__group-name {
    font-size: 1rem;
    font-weight: 700;
    letter-spacing: 0.02em;
}

.catalog-categories__summary-icon {
    display: inline-block;
    width: 0.65rem;
    height: 0.65rem;
    border-right: 2px solid rgba(33, 29, 27, 0.45);
    border-bottom: 2px solid rgba(33, 29, 27, 0.45);
    transform: rotate(45deg);
    transition: transform 180ms ease, border-color 180ms ease;
}

.catalog-categories__group[open] .catalog-categories__summary-icon {
    transform: rotate(-135deg);
}

.catalog-categories__subgroups {
    display: grid;
    gap: 0.25rem;
    padding: 0.45rem 0 0.35rem;
}

.catalog-categories__subgroup-link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.15rem 0;
    color: rgba(33, 29, 27, 0.72);
    text-decoration: none;
    background: transparent;
    outline: none;
    transition: color 180ms ease;
}

.catalog-categories__subgroup-link:hover {
    color: rgba(33, 29, 27, 0.9);
}

.catalog-categories__subgroup-link.is-active {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-categories__subgroup-link.is-all {
    opacity: 0.85;
}

.catalog-categories__node {
    border: 0;
}

.catalog-categories__node-summary {
    list-style: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    align-items: center;
    gap: 0.65rem;
    padding: 0.15rem 0;
    cursor: pointer;
    user-select: none;
    -webkit-tap-highlight-color: transparent;
    color: rgba(33, 29, 27, 0.78);
}

.catalog-categories__node-summary::-webkit-details-marker {
    display: none;
}

.catalog-categories__node-label {
    min-width: 0;
}

.catalog-categories__node-count {
    color: rgba(33, 29, 27, 0.55);
    font-variant-numeric: tabular-nums;
    min-width: 3.1rem;
    text-align: right;
}

.catalog-categories__node-icon {
    width: 1.05rem;
    height: 1.05rem;
    border: 1px solid rgba(33, 29, 27, 0.22);
    border-radius: 0.2rem;
    position: relative;
    flex: 0 0 auto;
}

.catalog-categories__node-icon::before, .catalog-categories__node-icon::after {
    content: "";
    position: absolute;
    left: 50%;
    top: 50%;
    width: 0.6rem;
    height: 2px;
    background: rgba(33, 29, 27, 0.55);
    transform: translate(-50%, -50%);
}

.catalog-categories__node-icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.catalog-categories__node[open] .catalog-categories__node-icon::after {
    display: none;
}

.catalog-categories__node-children {
    display: grid;
}

.catalog-categories__subgroup-link--all-in {
    opacity: 0.92;
}

.catalog-categories__subgroup-count {
    color: rgba(33, 29, 27, 0.55);
    font-variant-numeric: tabular-nums;
}

.catalog-sidebar__groups {
    display: grid;
    gap: 1rem;
    margin-bottom: 1.25rem;
}

.catalog-sidebar__title {
    margin: 0;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
}

.catalog-sidebar__group-list {
    display: grid;
    gap: 0.55rem;
}

.catalog-sidebar__group-link {
    display: inline-flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    color: rgba(33, 29, 27, 0.72);
    font-size: 1rem;
    font-weight: 500;
    text-decoration: none;
    transition: color 180ms ease;
}

.catalog-sidebar__group-link:hover {
    color: var(--color-text);
}

.catalog-sidebar__group-link.is-active {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-filters {
    display: grid;
    gap: .5rem;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.catalog-filters__head {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    margin-bottom: -0.5rem;
}

.catalog-filters__head h2 {
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.22em;
    text-transform: uppercase;
    margin-bottom: 1rem;
}

.catalog-filter {
    border: 0;
    background: transparent;
    box-shadow: none;
}

.catalog-filter__summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 0.1rem 0;
    margin-bottom: .9rem;
    cursor: pointer;
    outline: none;
    -webkit-tap-highlight-color: transparent;
    border-bottom: 1px solid rgba(0, 138, 179, 0.35);
}

.catalog-filter__summary::-webkit-details-marker {
    display: none;
}

.catalog-filter__summary:focus-visible {
    outline: none;
    box-shadow: 0 0 0 2px rgba(0, 138, 179, 0.18);
}

.catalog-filter__summary:focus:not(:focus-visible) {
    outline: none;
}

.catalog-filter__summaryspan:first-child {
    font-size: 1rem;
    font-weight: 700;
    text-transform: none;
    letter-spacing: 0.02em;
    line-height: 1.25;
}

.catalog-categories__group-name, .catalog-filter__summaryspan:first-child {
    font-size: 1rem;
    line-height: 1.25;
    letter-spacing: 0.02em;
}

.catalog-filter__summary-icon {
    display: inline-block;
    width: 0.7rem;
    height: 0.7rem;
    border-right: 2px solid rgba(33, 29, 27, 0.45);
    border-bottom: 2px solid rgba(33, 29, 27, 0.45);
    transform: rotate(45deg);
    transition: transform 180ms ease, border-color 180ms ease;
}

.catalog-filter__summary-icon::before, .catalog-filter__summary-icon::after {
    content: none !important;
}

.catalog-filter[open] .catalog-filter__summary-icon {
    transform: rotate(-135deg);
}

.catalog-filter__content {
    padding: 0;
}

.catalog-filter__chips, .catalog-filter__list {
    gap: 0.65rem;
}

.catalog-filter__chip, .catalog-filter__option {
    display: block;
}

.catalog-filter__option {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.catalog-filter__option span {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.catalog-filter__option input {
    position: static !important;
    opacity: 1 !important;
    pointer-events: auto !important;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 1.05rem;
    height: 1.05rem;
    margin: 0;
    flex: 0 0 auto;
    border: 1px solid rgba(33, 29, 27, 0.28);
    background: rgba(255, 255, 255, 0.75);
    border-radius: 0.2rem;
    display: inline-block;
    transition: background-color 180ms ease, border-color 180ms ease;
}

.catalog-filter__optioninput:checked {
    background: #1196c8;
    border-color: #1196c8;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='10' viewBox='0 0 14 10'%3E%3Cpath fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='M1 5l4 4L13 1'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: center;
    background-size: 0.75rem 0.55rem;
}

.catalog-filter__optioninput:focus-visible {
    outline: 2px solid rgba(17, 150, 200, 0.3);
    outline-offset: 3px;
}

.catalog-filter__chip span, .catalog-filter__option .catalog-filter__label {
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(33, 29, 27, 0.6);
    font-size: 0.98rem;
    font-weight: 500;
    -webkit-tap-highlight-color: transparent;
    flex: 1 1 auto;
}

.catalog-filter__chip strong {
    color: rgba(33, 29, 27, 0.48);
    font-size: 0.78rem;
    font-weight: 600;
}

.catalog-filter__chip--active span, .catalog-filter__chipinput:checked+span, .catalog-filter__optioninput:checked+.catalog-filter__label {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-filter__chipspan:active, .catalog-filter__option .catalog-filter__label:active {
    background: transparent;
}

.catalog-filter__chipspan::selection, .catalog-filter__option .catalog-filter__label::selection, .catalog-filter__summaryspan::selection {
    background: transparent;
}

.catalog-results__top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}

.catalog-mobile-filters-button {
    display: none;
}

.catalog-page__mobile-meta {
    display: none;
}

.catalog-mobile-tabs {
    display: none;
}

.catalog-mobile-filters-head {
    display: none;
}

.catalog-mobile-filters-title-part {
    display: none;
}

.catalog-results__sort {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.catalog-results__sort {
    position: relative;
    display: block;
    overflow: visible;
    isolation: isolate;
    z-index: 80;
    width: min(100%, 34rem);
    min-width: 18rem;
    margin-left: auto;
    flex: 0 1 34rem;
    min-height: 2.8rem;
    padding: 0;
    border: 1px solid rgba(33, 29, 27, 0.1);
    border-radius: 0;
    background: #fff;
    box-shadow: 0 0.45rem 1.2rem rgba(33, 29, 27, 0.05);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    cursor: pointer;
}

.catalog-results__sort:hover,
.catalog-results__sort:focus-within {
    border-color: rgba(0, 138, 179, 0.24);
    color: var(--color-accent);
}

.catalog-results__sort-trigger {
    display: flex;
    align-items: center;
    width: 100%;
    min-height: 2.8rem;
    padding: 0 2.6rem 0 1rem;
    border: 0;
    background: transparent;
    color: var(--color-text);
    font-size: 0.84rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    cursor: pointer;
    outline: none;
    text-align: left;
}

.catalog-results__sort-trigger-label {
    display: block !important;
    width: 100%;
    color: #211d1b;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.catalog-results__sort-menu {
    position: absolute;
    top: calc(100% + 0.45rem);
    left: 0;
    right: 0;
    z-index: 120;
    display: grid;
    gap: 0.2rem;
    min-width: 0;
    padding: 0.5rem;
    border-radius: 0 0 1.15rem 1.15rem;
    background: rgba(39, 41, 46, 0.96);
    box-shadow: 0 18px 40px rgba(20, 16, 13, 0.24);
    opacity: 0;
    pointer-events: none;
    transform: translateY(-6px) scale(0.98);
    transform-origin: top center;
    transition: opacity .18s ease, transform .18s ease;
}

.catalog-results__sort.is-open .catalog-results__sort-menu {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0) scale(1);
}

.catalog-results__sort-option {
    display: grid;
    align-items: center;
    gap: 0.45rem;
    min-height: 2.9rem;
    padding: 0.65rem 0.8rem;
    border: 0;
    border-radius: 0.8rem;
    background: transparent;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.01em;
    text-transform: none;
    cursor: pointer;
    text-align: left;
    transition: background-color .18s ease, color .18s ease;
}

.catalog-results__sort-option>span:last-child {
    display: block !important;
    white-space: normal;
    overflow: visible;
    text-overflow: clip;
    line-height: 1.25;
}

.catalog-results__sort-option:hover,
.catalog-results__sort-option:focus-visible,
.catalog-results__sort-option.is-active {
    background: rgba(255, 255, 255, 0.1);
    color: #fff;
    outline: none;
}

.catalog-results__sort-option-check {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1rem;
    color: #7fd8f0;
    font-size: 0.85rem;
    line-height: 1;
}

.catalog-results__sort::after {
    content: "";
    position: absolute;
    right: 1rem;
    top: 50%;
    width: 0.65rem;
    height: 0.4rem;
    transform: translateY(-50%);
    background: no-repeat center / contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666B73' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    pointer-events: none;
}

.catalog-results__sort-select option,
.auth-page__card select option,
.checkout-page__card select option,
.checkout-page__card select.form-control option {
    color: #211d1b;
    background: #fff;
}

@media (min-width: 721px) {
    .catalog-results__top {
        align-items: flex-end;
    }

    .catalog-results__sort {
        width: clamp(16rem, 20vw, 19rem);
        min-width: 0;
        flex: 0 0 auto;
        margin-left: auto;
        min-height: 3.9rem;
        box-shadow: 0 0.3rem 0.9rem rgba(33, 29, 27, 0.04);
    }

    .catalog-results__sort>span {
        position: absolute;
        top: 0.65rem;
        left: 1rem;
        z-index: 1;
        display: block;
        color: rgba(33, 29, 27, 0.5);
        font-size: 0.67rem;
        font-weight: 700;
        letter-spacing: 0.18em;
        line-height: 1;
        pointer-events: none;
    }

    .catalog-results__sort-trigger {
        min-height: 3.9rem;
        padding: 1.45rem 2.6rem 0.7rem 1rem;
        align-items: flex-end;
        font-size: 0.82rem;
        letter-spacing: 0.03em;
    }

    .catalog-results__sort::after {
        right: 0.95rem;
        top: 58%;
    }
}

@media (max-width: 720px) {
    .catalog-page__title {
        font-size: clamp(1.7rem, 7.2vw, 2.2rem);
        line-height: 1.02;
        margin-bottom: 0.55rem;
    }

    .catalog-page__hero-card {
        margin-bottom: 1.1rem;
    }

    .catalog-page__mobile-meta {
        display: flex;
        align-items: start;
        justify-content: space-between;
        flex-direction: column;
        gap: 0.85rem;
    }

    .catalog-page__mobile-actions {
        display: inline-flex;
        align-items: center;
        justify-content: flex-end;
        gap: 0.6rem;
        flex-wrap: wrap;
    }

    .catalog-page__mobile-count {
        margin: 0;
        color: rgba(33, 29, 27, 0.46);
        font-size: 0.95rem;
        font-weight: 500;
        line-height: 1.35;
    }

    .catalog-mobile-tabs {
        display: none;
    }

    .catalog-mobile-filters-button {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: 0.5rem;
        min-height: 2.8rem;
        padding: 0 1rem;
        border: 1px solid rgba(33, 29, 27, 0.1);
        background: #fff;
        color: rgba(33, 29, 27, 0.82);
        box-shadow: 0 0.45rem 1.2rem rgba(33, 29, 27, 0.05);
        font-size: 0.84rem;
        font-weight: 600;
        line-height: 1;
    }

    .catalog-mobile-filters-button__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }

    .catalog-mobile-filters-button__icon .icon {
        width: 1rem;
        height: 1rem;
    }

    .catalog-mobile-filters-button:focus-visible,
    .catalog-mobile-filters-button:hover {
        border-color: rgba(0, 138, 179, 0.24);
        color: var(--color-accent);
    }

    .catalog-results__top {
        display: grid;
        grid-template-columns: 1fr;
        gap: 0.85rem;
        align-items: stretch;
        padding: 0;
        border: 0;
        background: transparent;
    }

    .catalog-results__count {
        display: none;
    }

    .catalog-results__sort {
        width: 100%;
        min-height: 2.8rem;
        padding: 0;
        border-radius: 0;
        border: 1px solid rgba(33, 29, 27, 0.1);
        background: #fff;
        box-shadow: 0 0.45rem 1.2rem rgba(33, 29, 27, 0.05);
        gap: 0.75rem;
        color: rgba(33, 29, 27, 0.55);
    }

    .catalog-results__sort>span {
        display: none;
    }

    .catalog-results__sort-trigger {
        width: 100%;
        min-height: 2.8rem;
        font-size: 0.84rem;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        padding: 0 2.6rem 0 1rem;
    }

    .catalog-results__sort-menu {
        left: 0;
        right: 0;
        width: 100%;
        min-width: 0;
        transform-origin: top center;
    }

    .catalog-results__sort::after {
        right: 0.9rem;
    }

    .catalog-page__mobile-actions {
        width: 100%;
        justify-content: flex-start;
    }

    .catalog-mobile-filters-button {
        flex: 1 1 0;
        min-width: 0;
    }
}

.catalog-filter__chip--active strong, .catalog-filter__chipinput:checked+span strong {
    color: rgba(33, 29, 27, 0.7);
}

.catalog-filter__price-grid {
    gap: 0.75rem;
}

.catalog-filter__slider {
    position: relative;
    margin-top: 0.85rem;
    padding: 0.25rem 0;
    height: 2rem;
}

.catalog-filter__slider-track {
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
    background: rgba(33, 29, 27, 0.18);
    border-radius: 999px;
    z-index: 1;
}

.catalog-filter__slider-connect {
    position: absolute;
    top: 0;
    height: 100%;
    left: 0;
    width: 100%;
    background: #1196c8;
    border-radius: 999px;
    z-index: 2;
}

.catalog-filter__slider::before, .catalog-filter__slider::after {
    content: none !important;
}

.catalog-filter__slider-handle {
    position: absolute;
    top: 50%;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    transform: translate(-50%, -50%);
    background: #fff;
    border: 1px solid rgba(17, 150, 200, 0.35);
    box-shadow: 0 6px 16px rgba(17, 150, 200, 0.12);
    cursor: grab;
    touch-action: none;
    z-index: 5;
}

.catalog-filter__slider-handle:active {
    cursor: grabbing;
}

.catalog-filter__slider-handle:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.25);
    outline-offset: 4px;
}

.catalog-filter__slider-input {
    width: 100%;
    margin: 0;
    background: transparent;
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
    height: 2rem;
    position: absolute;
    inset: 0;
}

.catalog-filter__slider-input[data-price-slider-min] {
    z-index: 3;
}

.catalog-filter__slider-input[data-price-slider-max] {
    z-index: 4;
}

.catalog-filter__slider-input::-webkit-slider-thumb {
    pointer-events: auto;
    -webkit-appearance: none;
    appearance: none;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.28);
    box-shadow: 0 6px 16px rgba(27, 22, 18, 0.12);
    transition: transform 140ms ease;
    margin-top: calc((4px - 1.05rem) / 2);
}

.catalog-filter__slider-input::-webkit-slider-runnable-track {
    height: 4px;
    background: transparent;
}

.catalog-filter__slider-input::-moz-range-thumb {
    pointer-events: auto;
    width: 1.05rem;
    height: 1.05rem;
    border-radius: 999px;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.28);
    box-shadow: 0 6px 16px rgba(27, 22, 18, 0.12);
    transition: transform 140ms ease;
}

.catalog-filter__slider-input::-moz-range-track {
    height: 4px;
    background: transparent;
}

.catalog-filter__swatch {
    width: 0.9rem;
    height: 0.9rem;
    border-radius: 0.2rem;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: var(--swatch-color, #e1e1e1);
    flex: 0 0 auto;
}

.catalog-filter__slider::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
    background: rgba(33, 29, 27, 0.18);
    border-radius: 999px;
    pointer-events: none;
    z-index: 1;
}

.catalog-filter__slider::after {
    content: "";
    position: absolute;
    top: 50%;
    height: 4px;
    transform: translateY(-50%);
    left: calc(var(--min-p, 0) * 1%);
    right: calc(100% - (var(--max-p, 100) * 1%));
    background: rgba(0, 138, 179, 0.85);
    border-radius: 999px;
    pointer-events: none;
    z-index: 2;
    transition: left 120ms ease, right 120ms ease;
}

.catalog-filter__label {
    flex: 1 1 auto;
}

.catalog-filter__optioninput:checked+.catalog-filter__label {
    color: var(--color-text);
    font-weight: 700;
}

.catalog-filter__option .catalog-filter__swatch {
    flex: 0 0 auto;
}

.catalog-filters__actions {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.catalog-filters__footer {
    display: grid;
    gap: 0.65rem;
    margin-top: 0.85rem;
}

.catalog-filters__apply {
    width: 100%;
    min-height: 3.1rem;
    padding: 0.85rem 1.1rem;
    font-size: 0.78rem;
    letter-spacing: 0.2em;
}

.catalog-filter__field span {
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.72rem;
    letter-spacing: 0.18em;
}

.catalog-filter__field input, .catalog-filter__select {
    min-height: 2.75rem;
    padding: 0 0.85rem;
    border: 1px solid rgba(33, 29, 27, 0.14);
    border-radius: 0;
    background: rgba(255, 255, 255, 0.55);
}

.catalog-filters__clear {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.1rem;
    padding: 0.85rem 1.1rem;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: rgba(255, 255, 255, 0.35);
    color: rgba(33, 29, 27, 0.85);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.2em;
    text-transform: uppercase;
    transition: background-color 180ms ease, border-color 180ms ease, color 180ms ease;
    text-decoration: none;
}

.catalog-filters__clear:hover {
    border-color: rgba(33, 29, 27, 0.28);
    background: rgba(255, 255, 255, 0.6);
    color: var(--color-text);
}

.catalog-filters__clear.is-disabled {
    opacity: 0.45;
}

.catalog-results__top {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    margin-bottom: 1.1rem;
}

.catalog-results__caption {
    display: none;
}

.catalog-results__grid {
    gap: 1.8rem;
    align-items: stretch;
}

.catalog-results__grid>.product-card:only-child {
    width: 100%;
    max-width: 17.5rem;
    justify-self: start;
}

.product-card {
    border: 1px solid rgba(33, 29, 27, 0.08);
    box-shadow: none;
    display: flex;
    flex-direction: column;
    height: auto;
}

.product-card__meta {
    padding: 1.05rem 1.05rem 0.95rem;
    display: flex;
    flex-direction: column;
    flex: 1 1 auto;
}

.catalog-results__grid .product-card__title {
    -webkit-line-clamp: 2;
    min-height: calc(1.1em * 2);
}

.catalog-results__grid .product-card__details, .catalog-results__grid .product-card__summary {
    display: none;
}

.catalog-results__grid .product-card {
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.06);
    height: 100%;
}

.catalog-results__grid .product-card__meta {
    padding: 0.95rem 1rem 0.9rem;
    gap: 0.55rem;
    text-align: left;
}

.catalog-results__grid .product-card__brand {
    color: rgba(33, 29, 27, 0.6);
}

.catalog-results__grid .product-card__footer {
    margin-top: auto;
    padding-top: 0.7rem;
    border-top: 1px solid rgba(33, 29, 27, 0.06);
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    align-items: center;
    gap: 1rem;
    min-height: 3.75rem;
    position: relative;
    z-index: 70;
}

.catalog-results__grid .product-card__price-wrap {
    display: grid;
    align-items: baseline;
    gap: 0.75rem;
    min-height: 0;
    min-width: 0;
    overflow: hidden;
}

.catalog-results__grid .product-card__price {
    min-height: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    font-size: clamp(1.15rem, 1.6vw, 1.55rem);
}

.catalog-results__grid .product-card__brand {
    font-size: 0.68rem;
}

.catalog-results__grid .product-card__title {
    -webkit-line-clamp: 2;
}

.catalog-results__grid .product-card__actions {
    justify-content: flex-end;
    align-self: center;
    min-width: max-content;
}

.catalog-results__grid .product-card__cta {
    min-height: 2.55rem;
    padding: 0.75rem 1rem;
    font-size: 0.62rem;
    letter-spacing: 0.14em;
    cursor: pointer;
    transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), filter 280ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card__cart {
    width: 2.55rem;
    height: 2.55rem;
    transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1), filter 280ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card__cta:hover, .catalog-results__grid .product-card__cta:active {
    transform: translateY(-1px);
    filter: brightness(1.03);
    box-shadow: 0 10px 22px rgba(17, 15, 14, 0.12);
}

.catalog-results__grid .product-card__cart:hover, .catalog-results__grid .product-card__cart:active {
    transform: translateY(-1px) scale(1.03);
    filter: brightness(1.03);
    box-shadow: 0 10px 22px rgba(17, 15, 14, 0.12);
}

.product-card__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    padding-top: 0.35rem;
    position: relative;
    z-index: 6;
    opacity: 0;
    transform: translateY(-2px);
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1), transform 280ms cubic-bezier(0.22, 1, 0.36, 1), max-height 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.product-card.is-size-required .product-card__sizes, .product-card.is-variant-selected .product-card__sizes, .product-card:focus-within .product-card__sizes {
    opacity: 1;
    transform: translateY(0);
    max-height: 6rem;
    pointer-events: auto;
}

.catalog-results__grid .product-card {
    overflow: visible;
    cursor: pointer;
    transition: transform 320ms cubic-bezier(0.22, 1, 0.36, 1), box-shadow 320ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card:hover, .catalog-results__grid .product-card:focus-within {
    z-index: 40;
    transform: translateY(-3px) scale(1.01);
    box-shadow: 0 22px 44px rgba(17, 15, 14, 0.14);
}

.catalog-results__grid .product-card__meta {
    padding: 0.85rem 0.95rem 0.85rem;
    gap: 0.45rem;
    position: relative;
    z-index: 3;
}

.product-card__title-block {
    position: relative;
    z-index: 6;
}

.catalog-results__grid .product-card__title-block {
    position: relative;
}

.catalog-results__grid .product-card__title-block .product-card__sizes {
    position: static;
    margin-top: 0.55rem;
    padding-top: 0.15rem;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    pointer-events: none;
    transform: translateY(-2px);
    transition: opacity 220ms cubic-bezier(0.22, 1, 0.36, 1), transform 220ms cubic-bezier(0.22, 1, 0.36, 1), max-height 220ms cubic-bezier(0.22, 1, 0.36, 1);
}

.catalog-results__grid .product-card:hover .product-card__title-block .product-card__sizes, .catalog-results__grid .product-card:focus-within .product-card__title-block .product-card__sizes, .catalog-results__grid .product-card.is-size-required .product-card__title-block .product-card__sizes, .catalog-results__grid .product-card.is-variant-selected .product-card__title-block .product-card__sizes {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
    max-height: 7rem;
}

.product-card__size {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: rgba(255, 255, 255, 0.92);
    color: rgba(33, 29, 27, 0.82);
    border-radius: 0.25rem;
    padding: 0.35rem 0.55rem;
    line-height: 1;
    font-size: 0.74rem;
    letter-spacing: 0.02em;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.product-card__size.is-active {
    background: rgba(0, 138, 179, 0.12);
    border-color: rgba(0, 138, 179, 0.55);
    color: rgba(33, 29, 27, 0.95);
}

.product-card.is-size-required .product-card__sizes {
    opacity: 1;
    transform: translateY(0);
    max-height: 6rem;
    pointer-events: auto;
}

.product-card.is-size-required .product-card__size {
    animation: impulseSizePulse 0.45s ease-in-out 0s 2;
}

@keyframes impulseSizePulse {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-2px);
    }

    100% {
        transform: translateY(0);
    }
}

.product-card__size:hover, .product-card__size:focus-visible {
    outline: none;
    border-color: rgba(0, 138, 179, 0.35);
    background: rgba(0, 138, 179, 0.08);
    transform: translateY(-1px);
}

.product-card__cart, .product-card__favorite {
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.product-card__cart svg, .product-card__favorite svg {
    display: block;
}

.product-card__brand {
    letter-spacing: 0.22em;
}

.product-card__brand-link {
    display: inline-flex;
    align-self: flex-start;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
    border-bottom: 1px solid transparent;
    padding-bottom: 0.15rem;
    transition: color 0.18s ease, border-color 0.18s ease;
}

.product-card__brand-link:hover, .product-card__brand-link:focus-visible {
    color: var(--color-accent);
    border-bottom-color: rgba(0, 138, 179, 0.35);
    outline: none;
}

.product-page__brand-link {
    display: block;
    width: fit-content;
    text-decoration: none;
    color: inherit;
    cursor: pointer;
}

.product-page__brand-link:hover .product-page__brand, .product-page__brand-link:focus-visible .product-page__brand {
    color: var(--color-accent);
}

.product-card__summary {
    -webkit-line-clamp: 2;
    min-height: calc(1.34em * 2);
}

.container--catalog {
    width: min(100% - 48px, 1680px);
    margin: 0 auto;
}

.container--product {
    width: min(100% - 3rem, var(--container));
    margin: 0 auto;
}

@media (min-width: 1200px) {
    .container--catalog .catalog-results__grid {
        grid-template-columns: repeat(auto-fill, minmax(235px, 1fr));
    }

    .container--product .product-page__layout {
        --product-hero-height: clamp(510px, 54vh, 590px);
        grid-template-columns: minmax(460px, 600px) minmax(420px, 1fr);
        gap: 2rem;
        align-items: stretch;
    }

    .container--product .product-page__gallery {
        gap: 0.9rem;
        height: var(--product-hero-height);
        min-height: 0;
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__gallery-thumbs {
        width: clamp(3.8rem, 4.4vw, 4.5rem);
        gap: 0.6rem;
        max-height: 100%;
        overflow-y: auto;
    }

    .container--product .product-page__summary {
        width: 100%;
        max-width: none;
        justify-self: stretch;
        padding: 1rem 1.1rem 0.9rem;
        height: auto;
        min-height: var(--product-hero-height);
        max-height: none;
        overflow: visible;
        display: flex;
        flex-direction: column;
    }

    .container--product .product-page__summary>* {
        max-width: 40rem;
    }

    .container--product .product-page__title {
        max-width: none;
        font-size: clamp(1.75rem, 2vw, 2.45rem);
        line-height: 1;
        letter-spacing: 0;
        text-wrap: balance;
        margin-bottom: 0.25rem;
    }

    .container--product .product-page__sku {
        margin-top: 0;
        margin-bottom: 0.4rem;
        font-size: 0.84rem;
    }

    .container--product .product-page__options {
        margin: 0 0 0.15rem;
        gap: 0.6rem;
    }

    .container--product .product-page__option-label {
        margin-bottom: 0.35rem;
        font-size: 0.9rem;
        letter-spacing: 0;
    }

    .container--product .product-page__size {
        min-height: 40px;
        padding: 0.5rem 0.9rem;
        font-size: 0.9rem;
    }

    .container--product .product-page__color.product-page__color-option {
        width: 42px;
        min-width: 42px;
        height: 42px;
    }

    .container--product .product-page__color.product-page__color-option.is-active,
    .container--product .product-page__color.product-page__color-option[aria-pressed="true"] {
        width: auto;
    }

    .container--product .product-page__price-row {
        margin-top: 0.1rem;
        margin-bottom: 0.55rem;
    }

    .container--product .product-page__price {
        font-size: clamp(1.6rem, 1.15vw, 2.25rem);
        line-height: 0.98;
    }

    .container--product .product-page__stock, .container--product .product-page__reviews-link, .container--product .product-page__stars {
        font-size: 0.84rem;
    }

    .container--product .product-page__actions {
        gap: 0.55rem;
        align-items: stretch;
    }

    .container--product .product-page__cart-button, .container--product .product-page__actions .button {
        min-height: 2.8rem;
        padding: 0.72rem 0.92rem;
        font-size: 0.64rem;
        letter-spacing: 0.15em;
    }

    .container--product .product-page__actions .button:first-child {
        min-width: 18rem;
    }

    .container--product .product-page__secondary-actions {
        margin-top: 0.35rem;
        gap: 0.85rem;
        font-size: 0.82rem;
    }

    .container--product .product-page__gallery-main {
        max-height: 100%;
    }

    .container--product .product-page__gallery-main img {
        object-fit: contain;
        object-position: center;
    }

    .container--product .product-page__brand {
        font-size: 0.7rem;
        letter-spacing: 0.22em;
        margin-bottom: 0.25rem;
    }

    .container--product .product-page__brand-badge {
        height: 2.7rem;
        max-width: 7rem;
    }

    .product-page__related-rail {
        position: relative;
    }

    .product-page__related-grid {
        display: flex;
        grid-template-columns: none;
        gap: 1.15rem;
        overflow-x: auto;
        overflow-y: visible;
        scroll-behavior: smooth;
        scroll-snap-type: x proximity;
        scrollbar-width: none;
        -webkit-overflow-scrolling: touch;
    }

    .product-page__related-grid::-webkit-scrollbar {
        display: none;
    }

    .product-page__related-grid .product-card {
        flex: 0 0 calc((100% - 3.45rem) / 4);
        width: calc((100% - 3.45rem) / 4);
        min-width: 0;
        scroll-snap-align: start;
    }

    .product-page__related-grid .product-card__media {
        aspect-ratio: 1 / 1.02;
    }

    .product-page__related-grid .product-card__overlay-link {
        z-index: 0;
        pointer-events: none;
    }

    .product-page__related-grid .product-card__meta {
        padding: 0.8rem 0.8rem 0.75rem;
        gap: 0.38rem;
    }

    .product-page__related-grid .product-card__brand {
        font-size: 0.62rem;
        letter-spacing: 0.18em;
    }

    .product-page__related-grid .product-card__title {
        -webkit-line-clamp: 2;
        min-height: calc(1.24em * 2);
        font-size: clamp(0.9rem, 0.88vw, 1.02rem);
        line-height: 1.24;
        letter-spacing: -0.01em;
        text-wrap: pretty;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .product-page__related-grid .product-card__details, .product-page__related-grid .product-card__summary {
        display: none;
    }

    .product-page__related-grid .product-card__footer {
        min-height: 3.15rem;
        gap: 0.65rem;
        padding-top: 0.55rem;
    }

    .product-page__related-grid .product-card__price-wrap {
        gap: 0.4rem;
    }

    .product-page__related-grid .product-card__price {
        font-size: clamp(1rem, 1.1vw, 1.35rem);
        line-height: 1;
    }

    .product-page__related-grid .product-card__stock {
        font-size: 0.62rem;
        letter-spacing: 0.12em;
    }

    .product-page__related-grid .product-card__actions {
        gap: 0.32rem;
        flex: 0 0 auto;
    }

    .product-page__related-grid .product-card__cta {
        min-height: 2.35rem;
        padding: 0.62rem 0.72rem;
        font-size: 0.56rem;
        letter-spacing: 0.12em;
    }
}

@media (min-width: 1200px) and (max-width: 1439px) {
    .container--product {
        width: min(100% - 3rem, var(--container));
    }

    .container--product .product-page__layout {
        --product-hero-height: clamp(490px, 50vh, 520px);
        grid-template-columns: minmax(400px, 520px) minmax(380px, 1fr);
        gap: 1.5rem;
    }

    .container--product .product-page__gallery {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__summary {
        padding: 1rem 1rem 0.95rem;
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__title {
        font-size: clamp(1.8rem, 2vw, 2.35rem);
    }

    .container--product .product-page__price {
        font-size: clamp(1.6rem, 1.8vw, 2.2rem);
    }

    .product-page__related-grid .product-card {
        flex-basis: calc((100% - 2.3rem) / 3);
        width: calc((100% - 2.3rem) / 3);
    }
}

@media (min-width: 1440px) and (max-width: 1799px) {
    .container--product .product-page__layout {
        --product-hero-height: clamp(420px, 52vh, 560px);
    }

    .container--product .product-page__gallery {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__summary {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }
}

@media (min-width: 1800px) {
    .container--product {
        width: min(85% - 3rem, var(--container));
    }

    .container--product .product-page__layout {
        --product-hero-height: clamp(612px, 54vh, 620px);
        grid-template-columns: minmax(500px, 620px) minmax(460px, 1fr);
        gap: 2.25rem;
    }

    .container--product .product-page__gallery {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }

    .container--product .product-page__summary {
        height: var(--product-hero-height);
        max-height: var(--product-hero-height);
    }
}

@media (max-width: 1024px) {
    .product-page__related-grid .product-card {
        flex-basis: calc((100% - 1.15rem) / 2);
        width: calc((100% - 1.15rem) / 2);
    }
}

@media (max-width: 720px) {
    .product-page__related-grid .product-card {
        flex: 0 0 min(82vw, 18rem);
        width: min(82vw, 18rem);
        max-width: min(82vw, 18rem);
        min-width: 0;
        scroll-snap-align: start;
    }
}

@media (min-width: 1480px) {
    .container--catalog .catalog-results__grid {
        grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
    }
}

@media (min-width: 1280px) {
    .container--catalog .catalog-layout {
        grid-template-columns: 18.5rem minmax(0, 1fr);
        gap: 1.75rem;
    }

    .container--catalog .catalog-page__intro {
        max-width: 64rem;
    }

    .container--catalog .catalog-page__title {
        max-width: 100%;
        font-size: clamp(2.35rem, 3.2vw, 3.9rem);
        line-height: 0.98;
        letter-spacing: 0;
        text-wrap: balance;
    }

    .container--catalog .catalog-results__top {
        margin-bottom: 1.1rem;
        padding: 1rem 1.1rem;
    }

    .container--catalog .catalog-results__grid {
        gap: 1.25rem;
    }

    .container--catalog .catalog-results__grid .product-card {
        min-width: 0;
    }

    .container--catalog .catalog-results__grid .product-card__media {
        aspect-ratio: 1 / 1.02;
    }

    .container--catalog .catalog-results__grid .product-card__meta {
        padding: 0.8rem 0.8rem 0.75rem;
        gap: 0.38rem;
    }

    .container--catalog .catalog-results__grid .product-card__brand {
        font-size: 0.62rem;
        letter-spacing: 0.18em;
    }

    .container--catalog .catalog-results__grid .product-card__title {
        -webkit-line-clamp: 2;
        min-height: calc(1.24em * 2);
        font-size: clamp(0.9rem, 0.88vw, 1.02rem);
        line-height: 1.24;
        letter-spacing: -0.01em;
        text-wrap: pretty;
        overflow-wrap: break-word;
        word-break: normal;
    }

    .container--catalog .catalog-results__grid .product-card__footer {
        min-height: 3.15rem;
        gap: 0.65rem;
        padding-top: 0.55rem;
    }

    .container--catalog .catalog-results__grid .product-card__price-wrap {
        gap: 0.4rem;
    }

    .container--catalog .catalog-results__grid .product-card__price {
        font-size: clamp(1rem, 1.1vw, 1.35rem);
        line-height: 1;
    }

    .container--catalog .catalog-results__grid .product-card__actions {
        gap: 0.32rem;
        flex: 0 0 auto;
    }

    .container--catalog .catalog-results__grid .product-card__cta {
        min-height: 2.35rem;
        padding: 0.62rem 0.72rem;
        font-size: 0.56rem;
        letter-spacing: 0.12em;
    }

    .container--catalog .catalog-results__grid .product-card__cart {
        width: 2.35rem;
        height: 2.35rem;
    }
}

@media (max-width: 1024px) {
    .catalog-layout {
        gap: 1.5rem;
    }

    .catalog-page__hero-meta div {
        background: rgba(255, 255, 255, 0.75);
    }
}

body.impulse-template .catalog-page, body.impulse-template .catalog-layout, body.impulse-template .catalog-sidebar, body.impulse-template .catalog-results {
    overflow: visible;
}

.catalog-results {
    z-index: 1;
}

@media (max-width: 720px) {
    .container--catalog {
        width: min(100% - 32px, 1680px);
    }

    .container--product {
        width: min(100% - 24px, 1500px);
    }
}

body.impulse-template .catalog-sidebar {
    top: calc(9rem + var(--bx-panel-offset));
    max-height: none;
}

body.impulse-template .catalog-filters {
    max-height: none;
    overflow: visible;
    padding-right: 0;
    overscroll-behavior: auto;
}

body.impulse-template .catalog-filters::-webkit-scrollbar {
    width: 8px;
}

body.impulse-template .catalog-filters::-webkit-scrollbar-thumb {
    background: rgba(33, 29, 27, 0.18);
}

body.impulse-template .catalog-filters::-webkit-scrollbar-track {
    background: transparent;
}

@media (max-width: 1024px) {
    body.impulse-template .catalog-sidebar {
        top: auto;
        max-height: none;
    }

    body.impulse-template .catalog-filters {
        max-height: none;
        overflow: visible;
        padding-right: 0;
    }
}

body.availability-modal-open {
    overflow: hidden;
}

.product-card__colors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
    margin-top: 0.6rem;
    position: relative;
    z-index: 6;
}

.product-card__color {
    width: 1rem;
    height: 1rem;
    border-radius: 999px;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: var(--swatch-color, #e1e1e1);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.9);
    cursor: pointer;
    transition: transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

.product-card__color.is-active {
    border-color: rgba(0, 138, 179, 0.55);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.92), 0 0 0 2px rgba(0, 138, 179, 0.18);
}

.product-card__color:hover, .product-card__color:focus-visible {
    outline: none;
    transform: translateY(-1px);
    border-color: rgba(0, 138, 179, 0.35);
}

.product-card__color:disabled,
.product-card__color.is-disabled {
    position: relative;
    opacity: 0.34;
    filter: grayscale(0.75);
    cursor: not-allowed;
    transform: none;
}

.product-card__color:disabled::after,
.product-card__color.is-disabled::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -2px;
    width: calc(100% + 4px);
    height: 1px;
    background: #746f6c;
    transform: rotate(-45deg);
    pointer-events: none;
}

.product-card.is-color-required .product-card__color {
    animation: impulseColorPulse 0.45s ease-in-out 0s 2;
}

@keyframes impulseColorPulse {
    0% {
        transform: translateY(0);
    }

    50% {
        transform: translateY(-2px);
    }

    100% {
        transform: translateY(0);
    }
}

body.variant-modal-open {
    overflow: hidden;
}

.variant-modal {
    position: fixed;
    inset: 0;
    z-index: 11000;
    display: grid;
    place-items: center;
    padding: 1.25rem;
}

.variant-modal[hidden] {
    display: none !important;
}

.variant-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(17, 15, 14, 0.55);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.variant-modal__dialog {
    position: relative;
    width: min(100%, 28rem);
    background: #fff;
    border-radius: 1.2rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.28);
    overflow: hidden;
}

.variant-modal__close {
    position: absolute;
    top: 0.65rem;
    right: 0.75rem;
    width: 2.25rem;
    height: 2.25rem;
    border-radius: 999px;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
    color: rgba(33, 29, 27, 0.8);
    cursor: pointer;
}

.variant-modal__content {
    padding: 1rem 1rem 1.1rem;
}

.variant-modal__header {
    display: grid;
    grid-template-columns: 96px 1fr;
    gap: 0.9rem;
    align-items: center;
    margin-bottom: 1rem;
}

.variant-modal__media {
    width: 96px;
    height: 96px;
    border-radius: 0.9rem;
    overflow: hidden;
    background: #f3f1ec;
    border: 1px solid rgba(33, 29, 27, 0.06);
}

.variant-modal__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.variant-modal__brand {
    letter-spacing: 0.22em;
    text-transform: uppercase;
    font-size: 0.68rem;
    color: rgba(33, 29, 27, 0.55);
    font-weight: 700;
}

.variant-modal__title {
    font-weight: 700;
    color: rgba(33, 29, 27, 0.92);
    line-height: 1.25;
    font-size: 1rem;
}

.variant-modal__block {
    margin-top: 0.85rem;
}

.variant-modal__label {
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(33, 29, 27, 0.6);
    margin-bottom: 0.55rem;
}

.variant-modal__options {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
}

.variant-modal__opt {
    appearance: none;
    -webkit-appearance: none;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: rgba(255, 255, 255, 0.98);
    color: rgba(33, 29, 27, 0.86);
    border-radius: 0.4rem;
    padding: 0.55rem 0.7rem;
    line-height: 1;
    font-size: 0.82rem;
    cursor: pointer;
    transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

.variant-modal__opt.is-active {
    background: rgba(0, 138, 179, 0.12);
    border-color: rgba(0, 138, 179, 0.55);
}

.variant-modal__options--colors {
    gap: 0.65rem;
}

.variant-modal__swatch {
    width: 1.25rem;
    height: 1.25rem;
    border-radius: 999px;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: var(--swatch-color, #e1e1e1);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.92);
    cursor: pointer;
}

.variant-modal__swatch.is-active {
    border-color: rgba(0, 138, 179, 0.55);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.92), 0 0 0 3px rgba(0, 138, 179, 0.18);
}

.variant-modal__actions {
    margin-top: 1.1rem;
}

.variant-modal__submit {
    width: 100%;
    min-height: 3.1rem;
    padding: 0.95rem 1.2rem;
    border: 0;
    background: var(--color-accent);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    cursor: pointer;
}

.variant-modal__submit:disabled {
    opacity: 0.55;
    cursor: not-allowed;
}

.checkout-auth-modal-open {
    overflow: hidden;
}

.checkout-auth-modal {
    position: fixed;
    inset: 0;
    z-index: 11010;
}

.checkout-auth-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(16, 13, 11, 0.62);
}

.checkout-auth-modal__dialog {
    position: relative;
    width: min(100% - 2rem, 34rem);
    margin: calc(4rem + var(--bx-panel-offset)) auto 2rem;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.08);
    box-shadow: 0 24px 80px rgba(20, 16, 13, 0.2);
    border-radius: 1.1rem;
    overflow: hidden;
}

.checkout-auth-modal__body {
    padding: 2rem 2rem 2.15rem;
}

.checkout-auth-modal__close {
    position: absolute;
    top: 0.9rem;
    right: 0.9rem;
    width: 2.2rem;
    height: 2.2rem;
    border: 0;
    border-radius: 999px;
    background: rgba(33, 29, 27, 0.06);
    color: rgba(33, 29, 27, 0.75);
    font-size: 1.35rem;
    line-height: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

.checkout-auth-modal__close:hover {
    background: rgba(33, 29, 27, 0.1);
}

.checkout-auth-modal__eyebrow {
    margin: 0 0 0.65rem;
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.checkout-auth-modal__title {
    margin: 0 0 0.85rem;
    font-family: var(--font-body);
    font-size: 2rem;
    font-weight: 900;
    letter-spacing: -0.02em;
}

.checkout-auth-modal__text {
    margin: 0 0 1.25rem;
    color: rgba(33, 29, 27, 0.7);
    font-size: 1rem;
    line-height: 1.55;
}

.checkout-auth-modal__benefits {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 1.55rem;
    color: rgba(33, 29, 27, 0.78);
}

.checkout-auth-modal__benefit {
    position: relative;
    padding-left: 1.6rem;
}

.checkout-auth-modal__benefit::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.45rem;
    width: 0.9rem;
    height: 0.55rem;
    border-left: 2px solid rgba(0, 138, 179, 0.9);
    border-bottom: 2px solid rgba(0, 138, 179, 0.9);
    transform: rotate(-45deg);
}

.checkout-auth-modal__actions {
    display: grid;
    gap: 1rem;
}

.checkout-auth-modal__primary {
    width: 100%;
}

.checkout-auth-modal__guest {
    width: fit-content;
}

@media (max-width: 480px) {
    .checkout-auth-modal__body {
        padding: 1.5rem 1.25rem 1.6rem;
    }

    .checkout-auth-modal__title {
        font-size: 1.65rem;
    }
}

.catalog-mobile-filters-overlay {
    display: none;
}

@media (max-width: 1024px) {
    .catalog-mobile-filters-overlay {
        position: fixed;
        inset: var(--bx-panel-offset) 0 0 0;
        z-index: 10010;
        display: block;
        background: rgba(16, 13, 11, 0.56);
        border: 0;
        padding: 0;
        opacity: 0;
        pointer-events: none;
        transition: opacity 200ms ease;
    }

    body.catalog-filters-open .catalog-mobile-filters-overlay {
        opacity: 1;
        pointer-events: auto;
    }

    body.impulse-template .catalog-sidebar {
        position: fixed;
        top: var(--bx-panel-offset);
        left: 0;
        right: 0;
        bottom: calc(var(--impulse-bottom-nav-height) + env(safe-area-inset-bottom));
        width: 100vw;
        max-width: 100vw;
        z-index: 10011;
        height: calc(102dvh - var(--bx-panel-offset) - var(--impulse-bottom-nav-height) - env(safe-area-inset-bottom));
        display: grid;
        grid-template-rows: auto minmax(0, 1fr) auto;
        overflow: hidden;
        background: #fff;
        border: 0;
        box-shadow: 0 24px 80px rgba(20, 16, 13, 0.18);
        padding: 0;
        transform: translateX(-110%);
        transition: transform 220ms cubic-bezier(0.22, 1, 0.36, 1);
    }

    body.catalog-filters-open .catalog-sidebar {
        transform: translateX(0);
    }

    .catalog-layout {
        grid-template-columns: 1fr !important;
    }

    .catalog-mobile-filters-head {
        position: sticky;
        top: 0;
        z-index: 5;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        flex: 0 0 auto;
        padding: 1rem 1.25rem 0.95rem;
        margin-bottom: 0;
        background: #fff;
        border-bottom: 1px solid rgba(33, 29, 27, 0.10);
    }

    .catalog-mobile-filters-title {
        font-size: 0.84rem;
        font-weight: 800;
        letter-spacing: 0.22em;
        text-transform: uppercase;
        color: rgba(33, 29, 27, 0.78);
    }

    .catalog-mobile-filters-close {
        width: 2.6rem;
        height: 2.6rem;
        border-radius: 999px;
        border: 1px solid rgba(33, 29, 27, 0.12);
        background: #fff;
        box-shadow: 0 0.45rem 1.2rem rgba(33, 29, 27, 0.05);
        font-size: 1.45rem;
        line-height: 1;
        color: rgba(33, 29, 27, 0.75);
    }

    .catalog-mobile-filters-title-part {
        display: none;
    }

    body.catalog-drawer-mode-catalog [data-catalog-drawer-title="catalog"] {
        display: inline;
    }

    body.catalog-drawer-mode-filters [data-catalog-drawer-title="filters"] {
        display: inline;
    }

    .catalog-drawer {
        display: none;
        min-height: 0;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        touch-action: pan-y;
        -webkit-overflow-scrolling: touch;
        padding: 1rem 1.25rem 1.15rem;
    }

    body.catalog-drawer-mode-catalog .catalog-drawer--catalog {
        display: block;
    }

    body.catalog-drawer-mode-filters .catalog-drawer--filters {
        display: block;
        min-height: 0;
        height: 100%;
        overflow-x: hidden;
        overflow-y: auto;
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        padding: 1rem 1.25rem calc(5.5rem + env(safe-area-inset-bottom));
    }

    .catalog-drawer--filters .catalog-filters {
        min-height: auto;
        align-content: start;
        overflow: visible;
        padding-right: 0.1rem;
        padding-bottom: 1rem;
    }

    .catalog-drawer--filters .catalog-filters__head {
        display: none !important;
    }

    .catalog-filters__footer {
        display: none;
    }

    body.catalog-drawer-mode-filters .catalog-filters__footer {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.75rem;
        align-items: stretch;
        position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
        z-index: 6;
        margin: 0;
        padding: 0.5rem 0.95rem calc(0.55rem + env(safe-area-inset-bottom));
        background: #fff;
        -webkit-backdrop-filter: blur(10px);
        backdrop-filter: blur(10px);
        border-top: 1px solid rgba(33, 29, 27, 0.08);
    }

    body.catalog-drawer-mode-filters .catalog-filters__apply,
    body.catalog-drawer-mode-filters .catalog-filters__clear {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 100%;
        min-height: .5rem;
        font-size: 0.82rem;
        font-weight: 700;
        letter-spacing: 0.04em;
        text-transform: none;
    }

    body.catalog-drawer-mode-filters .catalog-filters__clear {
        margin: 0;
        border: 1px solid rgba(0, 164, 214, 0.45);
        background: #fff;
        color: #00a4d6;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2);
    }

    body.catalog-drawer-mode-filters .catalog-filters__apply {
        box-shadow: 0 0.7rem 1.6rem rgba(0, 138, 179, 0.18);
    }

    .catalog-categories {
        gap: 1.1rem;
    }

    .catalog-categories__title {
        font-size: 1.55rem;
        letter-spacing: 0.14em;
    }

    .catalog-categories__accordion {
        gap: 0.7rem;
    }

    .catalog-categories__summary {
        padding: 0.2rem 0 0.55rem;
    }

    .catalog-categories__group-name {
        font-size: 1.15rem;
    }

    .catalog-categories__subgroups {
        gap: 0.35rem;
        padding-top: 0.55rem;
    }

    .catalog-categories__subgroup-link,
    .catalog-categories__node-summary {
        min-height: 2rem;
        padding-top: 0.2rem;
        padding-bottom: 0.2rem;
    }

    .catalog-categories__subgroup-label,
    .catalog-categories__node-label {
        font-size: 0.98rem;
        line-height: 1.35;
    }

    .catalog-categories__subgroup-count,
    .catalog-categories__node-count {
        min-width: 2.6rem;
        font-size: 0.96rem;
        color: rgba(33, 29, 27, 0.52);
    }
}

.availability-modal {
    position: fixed;
    inset: 0;
    z-index: 11000;
}

.availability-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(16, 13, 11, 0.62);
}

.availability-modal__dialog {
    position: relative;
    width: min(100% - 2rem, 42rem);
    margin: calc(4rem + var(--bx-panel-offset)) auto 2rem;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.08);
    box-shadow: 0 24px 80px rgba(20, 16, 13, 0.2);
}

.availability-modal__body {
    padding: 2rem;
}

.availability-modal__close {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    width: 2.5rem;
    height: 2.5rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
    font-size: 1.5rem;
    line-height: 1;
}

.availability-modal__eyebrow {
    margin-bottom: 0.75rem;
    color: #211d1b8f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.availability-modal__title {
    margin: 0 0 0.75rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 4vw, 2.8rem);
    font-weight: 500;
    line-height: 1;
}

.availability-modal__text {
    margin-bottom: 1rem;
    color: var(--color-muted);
}

.availability-modal__product {
    display: grid;
    gap: 0.25rem;
    margin-bottom: 1.5rem;
    padding: 1rem 1.1rem;
    background: #f8f4ee;
    border: 1px solid rgba(33, 29, 27, 0.08);
}

.availability-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem 1.2rem;
}

.availability-form__field {
    display: grid;
    gap: 0.45rem;
}

.availability-form__field--full {
    grid-column: 1 / -1;
}

.availability-form__field span {
    color: #211d1b94;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.availability-form__field input, .availability-form__field textarea {
    width: 100%;
    min-height: 3.2rem;
    padding: 0.9rem 1rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
    color: var(--color-text);
}

.availability-form__actions {
    grid-column: 1 / -1;
    display: grid;
    gap: 0.75rem;
}

.availability-form__status {
    min-height: 1.5rem;
    color: var(--color-accent);
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 720px) {
    .availability-modal__body {
        padding: 1.25rem;
    }

    .availability-form {
        grid-template-columns: 1fr;
    }
}

.product-page__review-form--locked {
    display: grid;
    gap: 1rem;
}

.product-page__review-actions {
    display: grid;
    gap: 0.75rem;
}

.product-page__review-status, .product-page__review-auth-note {
    min-height: 1.5rem;
    color: var(--color-muted);
}

.catalog-pagination {
    display: flex;
    flex-wrap: wrap;
    gap: 0.55rem;
    align-items: center;
    justify-content: center;
    margin-top: 2rem;
}

.has-catalog-infinite .catalog-pagination {
    display: none !important;
}

.catalog-infinite-sentinel {
    height: 1px;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.catalog-infinite-sentinel__label {
    opacity: 0;
    transform: translateY(0.25rem);
    transition: opacity 0.2s ease, transform 0.2s ease;
    color: rgba(33, 29, 27, 0.68);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    pointer-events: none;
}

.catalog-infinite-sentinel.is-loading {
    height: 3rem;
    margin-top: 1.5rem;
    background: radial-gradient(circle at center, rgba(0, 138, 179, 0.18), transparent 60%);
}

.catalog-infinite-sentinel.is-loading .catalog-infinite-sentinel__label {
    opacity: 1;
    transform: translateY(0);
}

.catalog-pagination__link {
    min-width: 2.75rem;
    min-height: 2.75rem;
    padding: 0.7rem 0.95rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.82rem;
    font-weight: 700;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.catalog-pagination__link--active, .catalog-pagination__link:hover {
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
}

.catalog-pagination__link--arrow {
    min-width: auto;
    padding-inline: 1rem;
}

.catalog-pagination__dots {
    color: var(--color-muted);
    font-weight: 700;
    letter-spacing: 0.1em;
}

.auth-page, .checkout-page {
    padding-top: 2rem;
    background: #F9FAFB;
}

.checkout-page .container {
    max-width: 80rem;
}

.auth-page__hero, .checkout-page__hero {
    max-width: 46rem;
    margin-bottom: 1.5rem;
}

.checkout-page__title {
    font-family: "Playfair Display", serif;
    font-weight: 400;
    letter-spacing: -0.01em;
}

.checkout-page__hero, .checkout-page__card {
    font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.checkout-page__breadcrumbs {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 0.55rem;
    color: rgba(33, 29, 27, 0.55);
    font-size: 0.82rem;
    margin-bottom: 0.85rem;
}

.checkout-page__breadcrumbs a {
    color: inherit;
    text-decoration: none;
}

.checkout-page__breadcrumbsa:hover {
    color: var(--color-accent);
}

.checkout-progress {
    margin: 1.25rem 0 1.75rem;
    --checkout-steps: 4;
    --checkout-progress: 0;
}

.checkout-progress__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 0;
    position: relative;
    --checkout-dot-size: 1.85rem;
    --checkout-line-top: calc(var(--checkout-dot-size) / 2);
    --checkout-line-inset: calc(100% / var(--checkout-steps) / 2);
}

.checkout-progress__list::before {
    content: "";
    position: absolute;
    top: var(--checkout-line-top);
    left: var(--checkout-line-inset);
    right: var(--checkout-line-inset);
    height: 1px;
    background: rgba(33, 29, 27, 0.12);
}

.checkout-progress__list::after {
    content: "";
    position: absolute;
    top: var(--checkout-line-top);
    left: var(--checkout-line-inset);
    height: 1px;
    width: calc((100% - (var(--checkout-line-inset) * 2)) * var(--checkout-progress, 0));
    background: rgba(0, 138, 179, 0.35);
}

.checkout-progress__item {
    position: relative;
    flex: 1 1 0;
    min-width: 0;
    padding-top: 0.1rem;
    color: rgba(33, 29, 27, 0.55);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}

.checkout-progress__dot {
    position: relative;
    z-index: 1;
    width: var(--checkout-dot-size);
    height: var(--checkout-dot-size);
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(33, 29, 27, 0.14);
    background: #fff;
    color: rgba(33, 29, 27, 0.75);
    font-weight: 800;
    font-size: 0.82rem;
    font-variant-numeric: tabular-nums;
}

.checkout-progress__label {
    display: block;
    margin-top: 0.55rem;
    font-size: 0.86rem;
    font-weight: 700;
    color: rgba(33, 29, 27, 0.7);
    max-width: 10rem;
}

.checkout-progress__item.is-active {
    color: rgba(33, 29, 27, 0.9);
}

.checkout-progress__item.is-active .checkout-progress__dot {
    border-color: var(--color-accent);
    background: var(--color-accent);
    color: #fff;
}

.checkout-progress__item.is-done {
    color: rgba(33, 29, 27, 0.9);
}

.checkout-progress__item.is-done .checkout-progress__dot {
    border-color: rgba(0, 138, 179, 0.55);
    background: rgba(0, 138, 179, 0.08);
    color: rgba(0, 138, 179, 1);
}

@media (max-width: 860px) {
    .checkout-progress {
        overflow: auto hidden;
        padding-bottom: 0.25rem;
    }

    .checkout-progress__list {
        min-width: 42rem;
    }
}

.auth-page__eyebrow, .checkout-page__eyebrow {
    display: inline-block;
    margin-bottom: 0.8rem;
    color: #211d1b8f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.auth-page__title, .checkout-page__title {
    margin: 0 0 0.8rem;
    font-family: var(--font-display);
    font-size: clamp(2rem, 3.5vw, 3rem);
    font-weight: 500;
    line-height: 1.02;
}

.auth-page__text, .checkout-page__text {
    margin: 0;
    max-width: 42rem;
    color: var(--color-muted);
}

.auth-page__hero {
    max-width: 36rem;
}

.auth-page__text {
    max-width: 27rem;
}

.auth-page__tabs {
    display: inline-flex;
    gap: 0.5rem;
    margin-bottom: 1rem;
    padding: 0.2rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #f3f3f3;
}

.auth-page__tab {
    padding: 0.5rem 1.2rem;
    color: var(--color-text);
    text-decoration: none;
    font-size: 0.8rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.auth-page__tab--active {
    background: #fff;
    color: var(--color-accent);
}

.auth-page__card {
    width: 100%;
    max-width: 40rem;
    padding: 1.15rem 1.2rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #fff;
    box-shadow: 0 24px 80px rgba(20, 16, 13, 0.06);
}

.checkout-page__card {
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.auth-page__card .bx-auth, .auth-page__card .bx-system-auth-form, .auth-page__card .bx-auth-reg {
    max-width: none;
}

.auth-page__card input[type="text"], .auth-page__card input[type="password"], .auth-page__card input[type="email"], .auth-page__card select {
    width: 100%;
    min-height: 3.1rem;
    padding: 0.85rem 1rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
}

.auth-page__card select,
.checkout-page__card select,
.checkout-page__card select.form-control {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    padding-right: 2.75rem;
    border-radius: 12px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23666B73' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E"), linear-gradient(180deg, #ffffff 0%, #f7f8fa 100%);
    background-repeat: no-repeat, no-repeat;
    background-position: right 1rem center, center;
    background-size: 10px 6px, 100% 100%;
    box-shadow: 0 10px 24px rgba(20, 16, 13, 0.04);
}

.auth-page__card .btn, .auth-page__card input[type="submit"] {
    min-height: 3.1rem;
    padding: 0.9rem 1.2rem;
    border: 0;
    background: var(--color-accent);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.auth-form {
    display: grid;
    gap: 1.5rem;
}

.auth-form__header {
    display: grid;
    gap: 0.75rem;
}

.auth-form__eyebrow {
    margin: 0;
    color: #211d1b94;
    font-size: 0.76rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    text-transform: uppercase;
}

.auth-form__title {
    margin: 0;
    font-family: var(--font-display);
    font-size: clamp(1.7rem, 2.2vw, 2.2rem);
    font-weight: 500;
    line-height: 1.04;
}

.auth-form--login,
.auth-form--register,
.auth-form--forgot {
    max-width: 100%;
}

.auth-form__text, .auth-form__hint, .auth-form__note {
    margin: 0;
    color: var(--color-muted);
}

.auth-form__alert {
    padding: 1rem 1.1rem;
    border: 1px solid rgba(176, 56, 48, 0.2);
    background: rgba(176, 56, 48, 0.06);
    color: #7d2f29;
}

.auth-form__alert--hidden {
    display: none;
}

.auth-form__grid {
    margin: 0;
}

.auth-form__grid>.auth-form__alert {
    grid-column: 1 / -1;
}

.auth-form__actions .button {
    width: 100%;
}

.auth-form__check {
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 0.75rem;
}

.auth-form__check-control {
    position: relative;
    width: 1.25rem;
    height: 1.25rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.auth-form__check-control input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.auth-form__check-control i {
    width: 1.25rem;
    height: 1.25rem;
    border: 1px solid rgba(33, 29, 27, 0.18);
    background: #fff;
}

.auth-form__check-controlinput:checked+i {
    background: var(--color-accent);
    border-color: var(--color-accent);
    box-shadow: inset 0 0 0 3px #fff;
}

.auth-form__check-label {
    color: var(--color-text) !important;
    font-size: 0.95rem !important;
    font-weight: 500 !important;
    letter-spacing: normal !important;
    text-transform: none !important;
}

.auth-form__captcha {
    display: grid;
    gap: 0.75rem;
}

.auth-form__captcha img {
    display: block;
    max-width: 100%;
    border: 1px solid rgba(33, 29, 27, 0.12);
}

.auth-form__links {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem 1.5rem;
}

.auth-form__links a {
    color: var(--color-accent);
    font-size: 0.92rem;
    font-weight: 600;
}

.auth-form--login {
    gap: 1.1rem;
}

.auth-form--login .auth-form__header {
    gap: 0.25rem;
}

.auth-form--login .auth-form__title {
    font-size: clamp(1.6rem, 1.9vw, 2rem);
    line-height: 1.04;
}

.auth-form--register {
    gap: 1.1rem;
}

.auth-form--forgot {
    gap: 1.1rem;
}

.auth-form--register .auth-form__header {
    gap: 0.35rem;
}

.auth-form--forgot .auth-form__header {
    gap: 0.35rem;
}

.auth-form--register .auth-form__title {
    font-size: clamp(1.65rem, 1.9vw, 1.95rem);
    line-height: 1.04;
}

.auth-form--forgot .auth-form__title {
    font-size: clamp(1.65rem, 1.9vw, 1.95rem);
    line-height: 1.04;
}

.auth-form--login .availability-form__field>span {
    color: #211d1b;
    font-size: 0.92rem;
    font-weight: 500;
    letter-spacing: 0;
    text-transform: none;
}

.auth-form__field {
    gap: 0.45rem;
}

.auth-form--register .availability-form {
    gap: 0.95rem;
}

.auth-form--register .auth-form__text {
    max-width: 24rem;
    font-size: 0.92rem;
    line-height: 1.45;
}

.auth-form--forgot .auth-form__text {
    max-width: 28rem;
    font-size: 0.92rem;
    line-height: 1.45;
}

.personal-nav__head {
    min-width: 0;
}

.personal-nav__user-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: clamp(1rem, 1.6vw, 1.2rem);
    line-height: 1.2;
}

.auth-form--register .availability-form__field>span {
    font-size: 0.88rem;
}

.auth-form__input-wrap {
    position: relative;
    display: block;
}

.auth-form--login .auth-form__input-wrap input,
.auth-form--register .availability-form__field input {
    min-height: 1.2rem;
    padding: 0.5rem 3rem 0.5rem 0.95rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    border-radius: 0.2rem;
    background: #fff;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.auth-form--register .availability-form__field input {
    padding-right: 1rem;
}

.auth-form--register .availability-form__field:not(.availability-form__field--full) {
    margin-bottom: 0.1rem;
}

.auth-form--login .auth-form__input-wrap input:focus,
.auth-form--register .availability-form__field input:focus {
    border-color: rgba(15, 106, 104, 0.8);
    box-shadow: 0 0 0 3px rgba(15, 106, 104, 0.12);
    outline: none;
}

.auth-form__password-toggle {
    position: absolute;
    top: 50%;
    right: 0.9rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.5rem;
    height: 1.5rem;
    padding: 0;
    border: 0;
    background: transparent;
    color: rgba(33, 29, 27, 0.6);
    cursor: pointer;
    transform: translateY(-50%);
}

.auth-form__password-toggle span {
    font-size: 1rem;
    line-height: 1;
}

.auth-form--login .auth-form__check {
    gap: 0.65rem;
}

.auth-form__divider {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    color: rgba(33, 29, 27, 0.48);
    font-size: 0.82rem;
    text-transform: uppercase;
}

.auth-form__divider::before,
.auth-form__divider::after {
    content: "";
    flex: 1 1 auto;
    height: 1px;
    background: rgba(33, 29, 27, 0.12);
}

.auth-form__divider::before {
    margin-right: 1rem;
}

.auth-form__divider::after {
    margin-left: 1rem;
}

.auth-form__links--split {
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
}

.auth-form--email .auth-form__input-wrap input[type="email"] {
    padding-right: 1rem;
}

@media (max-width: 720px) {
    .auth-page__card {
        max-width: 100%;
        padding: 1.1rem 1rem;
    }

    .auth-page__hero {
        max-width: 100%;
    }

    .auth-page__text,
    .auth-form--register .auth-form__text {
        max-width: 100%;
    }

    .auth-form__links {
        flex-direction: column;
    }

    .auth-form__links--split {
        align-items: flex-start;
    }

    .auth-form--register .availability-form {
        grid-template-columns: 1fr;
    }
}

.checkout-page__card .bx-soa-wrapper, .checkout-page__card .bx-soa {
    margin-top: 0;
}

.checkout-page__card .bx-soa-wrapper {
    margin-bottom: 0;
}

.checkout-page__card #bx-soa-order {}

.checkout-page__card #bx-soa-order.row {
    margin-left: 0;
    margin-right: 0;
}

.checkout-page__card #bx-soa-order>[class*="col-"] {
    padding-left: 0;
    padding-right: 0;
}

.checkout-page__card #bx-soa-order {
    gap: 2rem;
}

.checkout-page__card #bx-soa-order>.bx-soa {
    padding-right: 0;
}

@media (min-width: 768px) {
    .checkout-page__card #bx-soa-order {
        display: grid;
        grid-template-columns: minmax(0, 1fr) 360px;
        column-gap: 2rem;
        align-items: start;
    }

    .checkout-page__card #bx-soa-order>.bx-soa-sidebar, .checkout-page__card #bx-soa-order>#bx-soa-total {
        grid-column: 2;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        position: sticky;
        top: calc(var(--bx-panel-offset) + var(--impulse-header-height) + 1.5rem);
        align-self: start;
    }

    .checkout-page__card #bx-soa-order>.bx-soa:not(.bx-soa-sidebar) {
        grid-column: 1;
        width: auto !important;
        max-width: none !important;
        flex: none !important;
        min-width: 0;
    }
}

.checkout-page__card .bx-soa-section {
    margin-bottom: 1rem;
    border: 1px solid rgba(229, 231, 235, 1);
    background: #fff;
    border-radius: 2px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.checkout-page__card .bx-soa-section-title-container {
    padding: 2rem 2rem 1.5rem !important;
    background: transparent !important;
    border-bottom: 0 !important;
}

.checkout-page__card .bx-soa-section-title-container, .checkout-page__card .bx-soa .bx-soa-section-title {
    background: #fff;
}

.checkout-page__card .bx-soa-section-title {
    padding: 0 !important;
    font-size: 1.1rem;
    font-weight: 600;
    border-bottom: 0;
    display: flex;
    align-items: center;
    gap: 0.75rem;
}

.checkout-page__card .bx-soa-section-title::before {
    content: "";
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    background: rgba(33, 29, 27, 0.42);
    mask-repeat: no-repeat;
    mask-position: center;
    mask-size: 18px 18px;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    -webkit-mask-size: 18px 18px;
}

.checkout-page__card #bx-soa-properties .bx-soa-section-title::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4Zm0 2c-4.42 0-8 2-8 4.5V21h16v-2.5C20 16 16.42 14 12 14Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M12 12a4 4 0 1 0-4-4 4 4 0 0 0 4 4Zm0 2c-4.42 0-8 2-8 4.5V21h16v-2.5C20 16 16.42 14 12 14Z'/%3E%3C/svg%3E");
}

.checkout-page__card #bx-soa-delivery .bx-soa-section-title::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 7h13v10H3Zm13 3h3l2 3v4h-5Zm2 9a2 2 0 1 0 2-2 2 2 0 0 0-2 2ZM6 19a2 2 0 1 0 2-2 2 2 0 0 0-2 2Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 7h13v10H3Zm13 3h3l2 3v4h-5Zm2 9a2 2 0 1 0 2-2 2 2 0 0 0-2 2ZM6 19a2 2 0 1 0 2-2 2 2 0 0 0-2 2Z'/%3E%3C/svg%3E");
}

.checkout-page__card #bx-soa-paysystem .bx-soa-section-title::before {
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3H3Zm0 5h20v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Zm4 5h4v2H7Z'/%3E%3C/svg%3E");
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M3 6a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2v3H3Zm0 5h20v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2Zm4 5h4v2H7Z'/%3E%3C/svg%3E");
}

.checkout-page__card .bx-soa-section-content {
    padding: 0 2rem 2rem;
}

.checkout-page__card .bx-soa-custom-label, .checkout-page__card .bx-soa .bx-soa-custom-label, .checkout-page__card .bx-soa .bx-soa-customer-label, .checkout-page__card .bx-soa label {
    font-size: 0.75rem;
    font-weight: 600;
    color: #374151;
    margin-bottom: 0.25rem;
}

.checkout-page__card input[type="text"], .checkout-page__card input[type="email"], .checkout-page__card input[type="tel"], .checkout-page__card textarea, .checkout-page__card select, .checkout-page__card input.form-control, .checkout-page__card textarea.form-control, .checkout-page__card select.form-control {
    min-height: 3rem;
    padding: 0.65rem 0.8rem;
    border: 1px solid rgba(209, 213, 219, 1);
    border-radius: 2px;
    box-shadow: none;
}

.checkout-page__card .bx-sls.form-control {
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.checkout-page__card .bx-sls .dropdown-block, .checkout-page__card .bx-ui-sls-container, .checkout-page__card .bx-ui-sls-fake, .checkout-page__card .bx-ui-sls-route {
    min-height: 3rem;
    padding: 0.65rem 0.8rem !important;
    border-radius: 2px;
}

.checkout-page__card textarea {
    min-height: 8rem;
    padding: 0.75rem 0.8rem;
}

.checkout-page__card input[type="text"]:focus, .checkout-page__card input[type="email"]:focus, .checkout-page__card input[type="tel"]:focus, .checkout-page__cardtextarea:focus, .checkout-page__cardselect:focus, .checkout-page__card input.form-control:focus, .checkout-page__card textarea.form-control:focus, .checkout-page__card select.form-control:focus {
    outline: none;
    border-color: rgba(0, 77, 77, 0.8);
    box-shadow: 0 0 0 2px rgba(0, 77, 77, 0.18);
}

.checkout-page__card .bx-soa-more {
    margin-top: 1rem;
}

.checkout-page__card .bx-soa-cart-total {
    padding: 0;
    border: 0;
    background: transparent;
}

.checkout-page__card .bx-soa-cart-total-line-total {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    font-weight: 500;
}

.checkout-page__card .btn.btn-primary, .checkout-page__card .btn.btn-default, .checkout-page__card .pull-right .btn {
    min-height: 3.2rem;
    padding: 0.9rem 1.2rem;
    border-radius: 0;
    background: var(--color-accent);
    border-color: var(--color-accent);
    color: #fff;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.14em;
    text-transform: uppercase;
}

.checkout-page__card .bx-soa-pp-company, .checkout-page__card .bx-soa-pp-company-selected {
    display: grid;
    grid-template-columns: minmax(0, 6.25rem) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
}

.checkout-page__card .bx-soa-pp-company-image {
    width: 100%;
    max-width: 6.25rem;
    min-height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #fff;
    padding: 0.25rem;
}

.checkout-page__card .bx-soa-pp-company-image img, .checkout-page__card .bx-soa-pp-company-graf-container img {
    width: auto;
    max-width: 100%;
    height: auto;
    max-height: 2.5rem;
    object-fit: contain;
}

.checkout-page__card .bx-soa-pp-company-graf-container {
    max-width: 100%;
    min-height: 3.25rem;
    max-height: 3.25rem;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}

.bx-soa-pp-company-graf-container {
    border: none;
}

.checkout-page__card .bx-soa-pp-desc-container, .checkout-page__card .bx-soa-pp-list-description, .checkout-page__card .bx-soa-pp-price {
    min-width: 0;
}

.checkout-page__card .bx-soa-pp-list-item {
    padding: 0.75rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #fff;
    overflow: hidden;
}

@media (max-width: 575.98px) {
    .checkout-page__card .bx-soa-pp-company, .checkout-page__card .bx-soa-pp-company-selected {
        grid-template-columns: minmax(0, 5.25rem) minmax(0, 1fr);
        gap: 0.65rem;
    }

    .checkout-page__card .bx-soa-pp-company-image {
        max-width: 5.25rem;
        min-height: 3rem;
    }
}

.checkout-page__card .bx-soa-editstep {
    margin-top: 0.5rem;
}

.checkout-page__card .bx-soa .form-group, .checkout-page__card .bx-soa .bx-soa-customer-field {
    margin-bottom: 1rem;
}

.checkout-page__card #bx-soa-total.bx-soa-sidebar {
    background: #fff;
    border: 1px solid rgba(229, 231, 235, 1);
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    padding: 2rem;
}

.checkout-page__card #bx-soa-total .bx-soa-cart-total-ghost {
    display: none;
}

.checkout-order-summary {
    margin-bottom: 1.5rem;
}

.checkout-order-summary__title {
    font-family: "Playfair Display", serif;
    font-weight: 400;
    font-size: 1.5rem;
    margin-bottom: 1.25rem;
}

.checkout-order-summary__items {
    display: grid;
    gap: 1rem;
}

.checkout-order-summary__item {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) auto;
    gap: 0.9rem;
    align-items: start;
}

.checkout-order-summary__item-media {
    width: 56px;
    height: 56px;
    display: block;
    border: 1px solid rgba(229, 231, 235, 1);
    background: #F9FAFB;
}

.checkout-order-summary__item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.checkout-order-summary__item-name {
    color: #111827;
    text-decoration: none;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    text-transform: uppercase;
}

.checkout-order-summary__item-props, .checkout-order-summary__item-meta {
    font-size: 0.75rem;
    color: #6B7280;
    margin-top: 0.25rem;
}

.checkout-order-summary__item-sum {
    font-size: 0.9rem;
    font-weight: 700;
    color: #111827;
    white-space: nowrap;
}

.checkout-sidebar-actions {
    margin-top: 1.25rem;
    display: grid;
    gap: 0.75rem;
}

.checkout-sidebar-actions .btn {
    width: 100%;
}

.checkout-page__card .bx-soa .form-control, .checkout-page__card .bx-soa textarea.form-control, .checkout-page__card .bx-soa input.form-control {
    padding: 0.7rem 0.9rem;
    line-height: 1.35;
}

.checkout-page__card .bx-soa textarea.form-control {
    min-height: 7.5rem;
    resize: vertical;
}

.checkout-page__card .bx-soa-tooltip, .checkout-page__card .popup-window, .checkout-page__card .popup-window-content {
    max-width: min(100vw - 4rem, 56rem);
}

.checkout-page__card .bx-soa, .checkout-page__card .bx-soa-wrapper {
    overflow: visible;
}

.site-header__city-switcher {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    margin-right: 0.9rem;
    padding: 0.22rem;
    border: 1px solid rgba(255, 255, 255, 0.1);
    background: rgba(255, 255, 255, 0.03);
}

.site-header__city-switcher::after {
    content: "";
    position: absolute;
    right: 0.65rem;
    top: 50%;
    transform: translateY(-35%);
    width: 0;
    height: 0;
    border-left: 4px solid transparent;
    border-right: 4px solid transparent;
    border-top: 5px solid rgba(255, 255, 255, 0.78);
    pointer-events: none;
}

.site-header__city-select {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    border: 0;
    background: transparent;
    color: rgba(255, 255, 255, 0.92);
    min-height: 2.1rem;
    padding: 0.35rem 1.65rem 0.35rem 0.8rem;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    outline: none;
}

.site-header__city-select option {
    color: #211d1b;
}

.site-header__city-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 3.55rem;
    min-height: 2.1rem;
    padding: 0.35rem 0.8rem;
    color: rgba(255, 255, 255, 0.78);
    text-decoration: none;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    transition: background-color 0.18s ease, color 0.18s ease;
}

.site-header__city-link:hover {
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.site-header__city-link--active {
    background: rgba(255, 255, 255, 0.16);
    color: #fff;
}

.product-card {
    overflow: hidden;
    background: #fff;
}

.product-card__media {
    aspect-ratio: 4 / 5;
}

.product-card__meta {
    gap: 0.48rem;
    padding: 0.9rem 0.95rem 0.82rem;
}

.product-card__brand {
    font-size: 0.7rem;
    line-height: 1.2;
    letter-spacing: 0.16em;
}

.product-card__title {
    -webkit-line-clamp: 3;
    font-size: clamp(0.96rem, 1.15vw, 1.08rem);
    line-height: 1.3;
}

.product-card__details {
    font-size: 0.84rem;
}

.product-card__summary {
    -webkit-line-clamp: 2;
    min-height: calc(1.34em * 2);
    font-size: 0.89rem;
    line-height: 1.34;
}

.product-card__footer {
    padding-top: 0.42rem;
    gap: 0.42rem;
}

.product-card__price-wrap {
    gap: 0.08rem;
}

.product-card__price {
    font-size: clamp(0.92rem, 1.14vw, 1.18rem);
    line-height: 0.98;
}

.product-card__price--compact {
    max-width: 6.2rem;
    font-size: 0.8rem;
    line-height: 1.05;
}

.product-card__stock {
    font-size: 0.52rem;
    line-height: 1.15;
}

.product-card__actions {
    gap: 0.35rem;
}

.product-card__cta {
    min-height: 2.55rem;
    padding: 0.72rem 0.9rem;
    font-size: 0.67rem;
    letter-spacing: 0.14em;
}

.product-card__cart {
    width: 2.55rem;
    height: 2.55rem;
}

.product-page__description {
    overflow: visible;
    display: block;
    max-height: none;
    white-space: normal;
    line-height: 1.52;
}

@media (max-width: 720px) {
    html, body.impulse-template {
        max-width: 100%;
        overflow-x: hidden;
    }

    body.impulse-template .page-shell, body.impulse-template .page-main, .product-page, .container--product, .product-page__layout, .product-page__gallery, .product-page__gallery-main, .product-page__summary, .product-page__tabs, .product-page__tabs-body, .product-page__tab-panel, .product-page__description {
        min-width: 0;
        max-width: 100%;
    }

    .product-page {
        overflow-x: hidden;
        padding-bottom: 5.5rem;
    }

    .container--product {
        width: min(100% - 1rem, 1500px);
    }

    .product-page__breadcrumbs {
        max-width: 100%;
        display: flex;
        align-items: center;
        gap: 0.18rem;
        overflow: hidden;
        flex-wrap: nowrap;
        white-space: nowrap;
    }

    .product-page__breadcrumbs>* {
        min-width: 0;
        flex: 0 0 auto;
    }

    .product-page__breadcrumbs>span:last-child {
        flex: 1 1 auto;
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .product-page__gallery {
        padding: 0.75rem;
    }

    .product-page__gallery-main {
        width: 100%;
        height: auto;
        min-height: 0;
        aspect-ratio: 4 / 5;
    }

    .product-page__gallery-main img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center;
    }

    .product-page__summary {
        padding: 1.15rem 1rem;
    }

    .product-page__summary>*, .product-page__description, .product-page__description * {
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
    }

    .product-page__title {
        font-size: clamp(2rem, 10vw, 2.55rem);
        line-height: 0.96;
        text-wrap: pretty;
    }

    .product-page__price-row, .product-page__actions, .product-page__secondary-actions {
        max-width: 100%;
    }

    .product-page__actions {
        display: grid;
        grid-template-columns: 1fr;
    }

    .product-page__actions .button {
        width: 100%;
        min-width: 0;
        white-space: normal;
    }

    .product-page__tabs-head {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    }

    .product-page__tab {
        min-width: 0;
        padding: 0.95rem 0.65rem;
        overflow-wrap: anywhere;
    }
}

@media (max-width: 900px) {
    body.impulse-template .page-shell--inner {
        padding-top: calc(4.75rem + var(--bx-panel-offset));
    }

    .auth-page__card, .checkout-page__card {
        padding: 1rem;
    }

    .hero__media img {
        object-position: 43% 14%;
    }

    .site-header__top .site-header__city-switcher {
        display: none;
    }

    .checkout-page__card .bx-soa-pp-company, .checkout-page__card .bx-soa-pp-company-selected {
        grid-template-columns: 1fr;
    }

    .checkout-page__card .bx-soa-pp-company-image {
        max-width: 100%;
    }

    .catalog-results__grid .product-card__title-block .product-card__sizes {
        opacity: 1;
        pointer-events: auto;
        transform: none;
        max-height: 9rem;
    }
}

.checkout-page__card #bx-soa-order.has-checkout-order-summary #bx-soa-basket {
    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;
    clip-path: inset(50%) !important;
    white-space: nowrap !important;
    border: 0 !important;
}

.checkout-order-summary {
    margin-bottom: 1.25rem;
    padding: 1.5rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #fff;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.05);
}

.checkout-order-summary__title {
    margin: 0 0 0.85rem;
    font-family: var(--font-display);
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 1.1;
}

.checkout-order-summary__empty {
    color: rgba(33, 29, 27, 0.6);
    font-size: 0.95rem;
}

.checkout-order-summary__items {
    display: grid;
    gap: 0.95rem;
}

.checkout-order-summary__item {
    display: grid;
    grid-template-columns: 56px 1fr auto;
    gap: 0.9rem;
    align-items: start;
}

.checkout-order-summary__item-media {
    width: 56px;
    height: 56px;
    border-radius: 8px;
    overflow: hidden;
    background: #f3f1ec;
    border: 1px solid rgba(33, 29, 27, 0.06);
    display: block;
}

.checkout-order-summary__item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.checkout-order-summary__item-name {
    display: inline-block;
    color: rgba(33, 29, 27, 0.92);
    font-size: 0.96rem;
    font-weight: 600;
    line-height: 1.3;
    text-decoration: none;
}

.checkout-order-summary__item-name:hover {
    color: var(--color-accent);
}

.checkout-order-summary__item-props, .checkout-order-summary__item-meta {
    margin-top: 0.25rem;
    color: rgba(33, 29, 27, 0.62);
    font-size: 0.88rem;
    line-height: 1.35;
}

.checkout-order-summary__item-sum {
    white-space: nowrap;
    font-size: 0.98rem;
    font-weight: 700;
    color: rgba(33, 29, 27, 0.9);
}

.checkout-sidebar-actions {
    margin-top: 1rem;
    display: grid;
    gap: 0.75rem;
}

.checkout-sidebar-actions .btn {
    width: 100%;
    justify-content: center;
}

.checkout-sidebar-actions__secondary {
    background: transparent !important;
    color: rgba(33, 29, 27, 0.92) !important;
    border: 1px solid rgba(33, 29, 27, 0.28) !important;
}

.checkout-sidebar-actions__secondary:hover {
    border-color: rgba(33, 29, 27, 0.46) !important;
    color: rgba(33, 29, 27, 0.98) !important;
}

@media (max-width: 767.98px) {
    .checkout-page__card #bx-soa-order {
        display: block;
    }

    .checkout-page__card #bx-soa-order>[class*="col-"] {
        float: none !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
    }

    .checkout-page__card #bx-soa-orderSave .pull-right {
        float: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1023.98px) {
    .checkout-page__card #bx-soa-order {
        grid-template-columns: minmax(0, 1fr) 320px;
    }
}

.site-header__burger {
    display: none;
}

.site-header__mobile-overlay, .site-header__mobile-drawer {
    display: none;
}

@media (max-width: 1024px) {
    .site-header__utility> :not(.site-header__search-button):not(.site-header__utility-item--mobile-profile) {
        display: none;
    }

    .site-header__utility>.site-header__utility-item--mobile-profile {
        display: inline-flex !important;
    }

    .site-header__utility>.site-header__utility-item--mobile-cart,
    .site-header__utility>.icon-button--bag {
        display: none !important;
    }

    .site-header__burger {
        display: inline-flex;
        margin-left: -0.35rem;
        border-color: transparent;
        background: transparent;
        color: rgba(255, 255, 255, 0.92);
        -webkit-backdrop-filter: blur(14px);
        backdrop-filter: blur(14px);
    }

    .site-header__burger svg {
        width: 1.6rem;
        height: 1.6rem;
    }

    .site-header__utility .site-header__utility-item--mobile-profile {
        order: 2;
        min-width: auto;
        color: rgba(255, 255, 255, 0.92);
    }

    .site-header__utility .site-header__utility-item--mobile-profile .site-header__utility-item-icon.icon-button {
        width: 2.2rem;
        height: 2.2rem;
    }

    .site-header__mobile-close {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        flex: 0 0 auto;
        width: auto;
        height: auto;
        padding: 0.25rem;
        position: relative;
        z-index: 2;
        -webkit-appearance: none;
        appearance: none;
        cursor: pointer;
        -webkit-tap-highlight-color: transparent;
        touch-action: manipulation;
        transform: translateZ(0);
        border-color: transparent;
        background: transparent;
        color: #a1a1aa;
    }

    .site-header__mobile-close svg {
        display: block;
        width: 1.5rem;
        height: 1.5rem;
        fill: none;
        stroke: currentColor;
        transform: translateZ(0);
    }

    .site-header__mobile-close:hover {
        background: transparent;
    }

    .site-header__mobile-overlay, .site-header__mobile-drawer {
        display: block;
    }

    .site-header__mobile-overlay {
        position: fixed;
        inset: 0;
        z-index: 60;
        background: rgba(10, 9, 8, 0.6);
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
        transition: opacity 180ms ease, visibility 180ms ease;
    }

    .site-header__mobile-drawer {
        position: fixed;
        top: var(--bx-panel-offset, 0px);
        left: 0;
        bottom: 0;
        z-index: 70;
        width: 100%;
        max-width: 28rem;
        margin: 0 auto;
        padding: 0;
        overflow: auto;
        height: calc(100dvh - var(--bx-panel-offset, 0px));
        max-height: calc(100dvh - var(--bx-panel-offset, 0px));
        overscroll-behavior: contain;
        -webkit-overflow-scrolling: touch;
        background: #f7f5f1;
        color: #211d1b;
        color-scheme: light;
        box-shadow: 0 24px 60px rgba(0, 0, 0, 0.32);
        transform: translateX(-110%);
        transition: transform 220ms ease;
        padding-bottom: 5.5rem;
    }

    .site-header__mobile-toggle:checked~.site-header__mobile-overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    body.impulse-template.is-mobile-menu-open .site-header__mobile-overlay {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
    }

    .site-header__mobile-toggle:checked~.site-header__mobile-drawer {
        transform: translateX(0);
    }

    body.impulse-template.is-mobile-menu-open .site-header__mobile-drawer {
        transform: translateX(0);
    }

    html.is-mobile-menu-open,
    body.impulse-template.is-mobile-menu-open {
        overflow: hidden;
        overscroll-behavior: none;
    }

    .site-header__mobile-head {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 1.25rem;
        margin: 0;
        border-bottom: 1px solid rgba(33, 29, 27, 0.1);
        background: #ffffff;
        position: relative;
        min-height: 4rem;
    }

    .site-header__mobile-city.site-header__city-switcher {
        width: 100%;
        margin: 0;
    }

    .site-header__mobile-section {
        padding: 1rem 1.25rem;
        border-bottom: 1px solid #27272a;
    }

    .site-header__mobile-logo-link {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        display: inline-flex;
        align-items: center;
        justify-content: center;
        z-index: 1;
        text-decoration: none;
    }

    .site-header__mobile-logo {
        position: static;
        left: auto;
        top: auto;
        transform: none;
        display: block;
        height: 1.5rem;
        width: auto;
        pointer-events: none;
        opacity: 0.98;
    }

    .site-header__mobile-city .site-header__city-select {
        width: 100%;
    }

    .site-header__mobile-title {
        font-size: 0.875rem;
        font-weight: 700;
        letter-spacing: 0.14em;
        text-transform: uppercase;
    }

    .site-header__mobile-logo {
        height: 3.5rem;
    }

    .site-header__mobile-actions {
        display: grid;
        grid-template-columns: repeat(3, minmax(0, 1fr));
        gap: 1px;
        background: rgba(33, 29, 27, 0.08);
        border-bottom: 1px solid rgba(33, 29, 27, 0.08);
        margin: 0;
        border-radius: 0;
        overflow: visible;
    }

    .site-header__mobile-action {
        display: grid;
        justify-items: center;
        gap: 0.1rem;
        padding: 0.35rem 0.35rem;
        border: none;
        background: #ffffff;
        color: rgba(33, 29, 27, 0.92);
        text-align: center;
        font-size: 0.75rem;
        font-weight: 500;
        -webkit-tap-highlight-color: transparent;
    }

    .site-header__mobile-action-icon svg {
        width: 1.5rem;
        height: 1.5rem;
        color: rgba(33, 29, 27, 0.72);
    }

    .site-header__mobile-action:hover {
        background: #f4f1eb;
    }

    .site-header__mobile-action>span:last-child {
        color: rgba(33, 29, 27, 0.62);
        font-size: 0.75rem;
        font-weight: 500;
    }

    .site-header__mobile-nav {
        display: block;
        padding-top: 0;
        border-top: none;
        margin-top: 1rem;
    }

    .site-header__mobile-link {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: 1rem 1.25rem;
        border: none;
        border-bottom: 1px solid rgba(33, 29, 27, 0.08);
        background: transparent;
        color: rgba(33, 29, 27, 0.92);
        font-size: 0.875rem;
        font-weight: 500;
        letter-spacing: 0.025em;
        -webkit-tap-highlight-color: transparent;
    }

    .site-header__mobile-link--primary {
        color: rgba(33, 29, 27, 0.98);
    }

    .site-header__mobile-nav>*:first-child .site-header__mobile-link, .site-header__mobile-nav>*:first-child .site-header__mobile-summary {
        border-top: 1px solid rgba(33, 29, 27, 0.08);
    }

    .site-header__mobile-group {
        border: none;
    }

    .site-header__mobile-summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 0.75rem;
        padding: .8rem 1.25rem;
        cursor: pointer;
        list-style: none;
        color: rgba(33, 29, 27, 0.92);
        font-size: 1.5rem;
        font-weight: 500;
        letter-spacing: 0.025em;
        border-bottom: 1px solid rgba(33, 29, 27, 0.08);
        -webkit-tap-highlight-color: transparent;
    }

    .site-header__mobile-summary::-webkit-details-marker {
        display: none;
    }

    .site-header__mobile-summary-icon {
        width: 0.75rem;
        height: 0.75rem;
        border-right: 2px solid rgba(33, 29, 27, 0.42);
        border-bottom: 2px solid rgba(33, 29, 27, 0.42);
        transform: rotate(-45deg);
        transition: transform 180ms ease;
    }

    .site-header__mobile-group[open] .site-header__mobile-summary-icon {
        transform: rotate(45deg);
    }

    .site-header__mobile-group-content {
        display: grid;
        gap: 0.35rem;
        padding: 0.75rem 1.25rem 1.25rem;
        border-top: none;
        background: rgba(255, 255, 255, 0.72);
    }

    .site-header__mobile-subgroup {
        padding: 0;
    }

    .site-header__mobile-subgroup+.site-header__mobile-subgroup {
        margin: 0;
        padding-top: 0;
        border-top: 0;
    }

    .site-header__mobile-subtitle {
        margin: 0 0 0.5rem;
        font-size: 0.75rem;
        font-weight: 700;
        letter-spacing: -0.02em;
        text-transform: uppercase;
        color: rgba(33, 29, 27, 0.95);
    }

    .site-header__mobile-sublinks {
        display: grid;
        gap: .1rem;
        margin: 0;
    }

    .site-header__mobile-sublink {
        display: block;
        color: rgba(33, 29, 27, 0.7);
        font-size: 1.2rem;
        padding: 0.25rem 0;
        position: relative;
        line-height: 1.35;
    }

    .site-header__mobile-sublink::before {
        content: none;
    }

    .site-header__mobile-contacts {
        display: grid;
        gap: 0.55rem;
        margin-top: 0;
        padding: 1.25rem 1.25rem 1.75rem;
        border-top: 1px solid rgba(33, 29, 27, 0.08);
        color: rgba(33, 29, 27, 0.7);
        font-size: 1.2rem;
        line-height: 1.35;
    }

    .site-header__mobile-contact {
        display: block;
        color: inherit;
        word-break: break-word;
    }

    .site-header__mobile-city.site-header__city-switcher {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr) auto;
        align-items: center;
        padding: 1rem;
        border-radius: 0.25rem;
        background: #ffffff;
        border: 1px solid rgba(33, 29, 27, 0.1);
        gap: 0.75rem;
    }

    .site-header__mobile-city .site-header__city-icon .icon {
        width: 1.25rem;
        height: 1.25rem;
    }

    .site-header__mobile-city .site-header__city-caret .icon {
        width: 1rem;
        height: 1rem;
    }

    .site-header__mobile-city .site-header__city-icon, .site-header__mobile-city .site-header__city-caret {
        flex: 0 0 auto;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: rgba(33, 29, 27, 0.46);
        pointer-events: none;
    }

    .site-header__mobile-city .site-header__city-select {
        grid-column: 2;
        min-height: 0;
        padding: 0;
        font-size: 0.875rem;
        font-weight: 600;
        letter-spacing: 0.03em;
        text-transform: uppercase;
        color: rgba(33, 29, 27, 0.92);
        -webkit-text-fill-color: rgba(33, 29, 27, 0.92);
        background: transparent;
        min-width: 0;
    }

    .site-header--stuck .site-header__mobile-drawer .site-header__city-select {
        color: rgba(33, 29, 27, 0.92);
        -webkit-text-fill-color: rgba(33, 29, 27, 0.92);
    }

    .site-header__mobile-drawer .site-header__city-select option {
        color: rgba(33, 29, 27, 0.92);
        background: #ffffff;
    }

    .site-header__mobile-city .site-header__city-popover {
        grid-column: 1 / -1;
        width: 100% !important;
        max-width: 100% !important;
        left: auto !important;
        right: auto !important;
        margin-top: 0;
    }

    .site-header__mobile-city .site-header__city-popover-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .site-header__mobile-city .site-header__city-popover-button {
        min-height: 2.6rem;
        padding: 0.55rem 0.7rem;
        font-size: 0.68rem;
        letter-spacing: 0.08em;
        overflow-wrap: normal;
        word-break: keep-all;
    }

    .site-header__mobile-city .site-header__city-popover-button[hidden] {
        display: none !important;
    }

    .site-header__mobile-link::after {
        content: "";
        flex: 0 0 auto;
        width: 0.75rem;
        height: 0.75rem;
        border-right: 2px solid #71717a;
        border-bottom: 2px solid #71717a;
        transform: rotate(-45deg);
        opacity: 0.95;
    }

    .site-header__mobile-action:focus-visible, .site-header__mobile-link:focus-visible, .site-header__mobile-summary:focus-visible, .site-header__mobile-close:focus-visible, .site-header__mobile-city .site-header__city-select:focus-visible {
        outline: none;

        outline-offset: 3px;
    }
}

@media (max-width: 420px) {
    .site-header__mobile-city .site-header__city-popover-actions {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 1025px) {
    .site-header__mobile-overlay, .site-header__mobile-drawer, .mobile-bottom-nav {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    .site-header__mobile-drawer {
        transform: translateX(110%) !important;
    }

    body.impulse-template, body.impulse-template.is-mobile-menu-open {
        overflow: auto !important;
        padding-bottom: 0 !important;
    }

    .site-header__burger {
        display: none !important;
    }

    .site-header__catalog-cta {
        display: none !important;
    }

    .site-header--stuck .site-header__catalog-cta {
        display: inline-flex !important;
    }

    .site-header__top-inner {
        display: grid !important;
        grid-template-columns: auto minmax(0, 1fr) !important;
        align-items: center !important;
        justify-content: initial !important;
        gap: 1.5rem !important;
    }

    .site-header--stuck .site-header__top-inner {
        grid-template-columns: auto auto minmax(0, 1fr) !important;
    }

    .site-header__utility {
        min-width: 0;
        justify-content: flex-end;
    }

    .site-header__utility-search {
        min-width: min(420px, 34vw);
        max-width: min(620px, 42vw);
    }

    .site-header__brand, .site-header__utility, .site-header__search-button, .site-header__utility .icon-button--bag {
        order: initial !important;
    }

    .site-header__brand {
        margin-right: 0 !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .mobile-bottom-nav {
        display: none !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    body.impulse-template {
        padding-bottom: 0 !important;
    }

    .site-header__mobile-drawer {
        left: 0;
        right: auto;
        width: min(28rem, 86vw);
        max-width: none;
        margin: 0;
    }
}

.cart-page__hero {
    max-width: 52rem;
    margin-bottom: 1.8rem;
}

.cart-page__eyebrow {
    display: inline-block;
    margin-bottom: 0.8rem;
    color: #211d1b8f;
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.cart-page__title {
    margin: 0 0 0.9rem;
    font-family: var(--font-body);
    font-size: clamp(2.4rem, 4.6vw, 4rem);
    font-weight: 800;
    line-height: 0.98;
    text-transform: none;
    letter-spacing: -0.02em;
    font-style: normal;
}

.product-page__summary.is-color-required .product-page__colors {
    outline: 2px solid rgba(192, 57, 43, 0.35);
    outline-offset: 6px;
    border-radius: 0.55rem;
}

.cart-page__lead {
    margin: 0 0 1.25rem;
    max-width: 44rem;
    color: var(--color-muted);
    font-size: 1rem;
    line-height: 1.55;
}

.cart-page__item {
    position: relative;
}

.cart-page__item-remove {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.1rem;
    padding: 0.35rem 0.75rem;
    border: 1px solid rgba(33, 29, 27, 0.16);
    background: rgba(255, 255, 255, 0.85);
    color: rgba(33, 29, 27, 0.78);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    position: static;
    border-radius: 999px;
    transition: transform 180ms ease, border-color 180ms ease, color 180ms ease, background-color 180ms ease;
}

.cart-page__item-remove:hover {
    border-color: rgba(33, 29, 27, 0.28);
    color: var(--color-accent);
    background: #fff;
    transform: translateY(-1px);
}

.cart-page__item-remove.is-loading {
    opacity: 0.6;
    pointer-events: none;
}

.cart-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 22rem;
    gap: 2rem;
    align-items: start;
}

.cart-page__list {
    display: grid;
    gap: 1rem;
}

.cart-page__item {
    display: grid;
    grid-template-columns: 6.8rem minmax(0, 1fr) auto;
    grid-template-areas: "media main price""media main qty""media main remove";
    gap: 0.9rem 1.25rem;
    align-items: start;
    padding: 1.25rem 1.35rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #fff;
}

.cart-page__item-media {
    grid-area: media;
    display: block;
    width: 6.8rem;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    border-radius: 0.2rem;
    background: rgba(33, 29, 27, 0.04);
}

.cart-page__item-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.cart-page__item-main {
    grid-area: main;
    min-width: 0;
}

.cart-page__item-main h2 {
    font-size: 1.35rem;
    line-height: 1.12;
    margin: 0.25rem 0 0.35rem;
}

.cart-page__item-main h2 a {
    color: inherit;
    text-decoration: none;
}

.cart-page__item-main h2a:hover {
    color: var(--color-accent);
}

.cart-page__item-brand {
    font-size: 0.72rem;
    letter-spacing: 0.14em;
    text-transform: uppercase;
    color: rgba(33, 29, 27, 0.55);
}

.cart-page__item-details {
    font-size: 0.85rem;
    color: rgba(33, 29, 27, 0.65);
}

.cart-page__item-qty {
    grid-area: qty;
    justify-self: end;
    align-self: start;
    font-size: 0.85rem;
    color: rgba(33, 29, 27, 0.7);
    white-space: nowrap;
    border: none;
    gap: 0;
}

.cart-page__item-qty .basket-item-amount-btn, .cart-page__item-qty .basket-item-amount-field-description, .cart-page__item-qty .basket-item-amount-field {
    font-family: var(--font-body);
    font-variant-numeric: tabular-nums;
}

.cart-page__qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(33, 29, 27, 0.12);
    border-radius: 0.22rem;
    overflow: hidden;
    background: #fff;
    height: 2.25rem;
}

.cart-page__qty-btn {
    width: 2.6rem;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0 !important;
    outline: 0;
    box-shadow: none;
    background: transparent !important;
    color: rgba(33, 29, 27, 0.85);
    font-size: 1.05rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    font-family: var(--font-body);
}

.cart-page__qty-btn:hover {
    background: rgba(33, 29, 27, 0.03);
    color: var(--color-accent);
}

.cart-page__qty-btn:focus-visible {
    outline: 2px solid rgba(0, 138, 179, 0.35);
    outline-offset: -2px;
}

.cart-page__qty-btn.is-loading {
    opacity: 0.55;
    pointer-events: none;
}

.cart-page__qty-value {
    min-width: 4.1rem;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 0.85rem;
    border-left: 1px solid rgba(33, 29, 27, 0.10);
    border-right: 1px solid rgba(33, 29, 27, 0.10);
    font-weight: 700;
    color: rgba(33, 29, 27, 0.8);
    font-variant-numeric: tabular-nums;
    font-family: var(--font-body);
}

.cart-page__item-price {
    grid-area: price;
    justify-self: end;
    align-self: start;
    font-size: 1.35rem;
    white-space: nowrap;
    font-family: var(--font-body);
    font-weight: 800;
    font-variant-numeric: tabular-nums;
}

.cart-page__item-remove {
    grid-area: remove;
    justify-self: end;
    align-self: end;
}

.cart-page__summary-card {
    padding: 1.35rem 1.35rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: #fff;
}

.cart-page__summary-card>span {
    display: block;
    color: rgba(33, 29, 27, 0.6);
    font-size: 0.95rem;
    font-weight: 600;
    letter-spacing: 0.02em;
}

.cart-page__summary-card>strong {
    display: block;
    margin-top: 0.45rem;
    font-family: var(--font-body);
    font-size: 2.1rem;
    font-weight: 700;
    line-height: 1.05;
    letter-spacing: 0;
    font-variant-numeric: tabular-nums;
    font-feature-settings: "tnum"1;
}

.cart-page__summary-card>p {
    margin-top: 0.45rem;
    color: rgba(33, 29, 27, 0.7);
    font-size: 1rem;
    line-height: 1.45;
}

@media (max-width: 1024px) {
    .cart-page__layout {
        grid-template-columns: 1fr;
    }

    .cart-page__item {
        grid-template-columns: 4.8rem minmax(0, 1fr);
        grid-template-areas: "media main""media price""media qty""media remove";
        gap: 0.6rem 0.9rem;
        padding: 1rem 1rem;
    }

    .cart-page__item-media {
        width: 4.8rem;
    }

    .cart-page__item-main {
        margin-top: 0.05rem;
    }

    .cart-page__item-qty {
        justify-self: start;
    }

    .cart-page__item-price {
        justify-self: start;
    }

    .cart-page__item-remove {
        justify-self: start;
        margin-top: 0.45rem;
    }
}

@media (max-width: 480px) {
    .cart-page__item-qty, .cart-page__item-price, .cart-page__item-remove {
        display: block;
        margin-right: 0;
    }

    .cart-page__item-remove {
        width: fit-content;
    }
}

.checkout-page__card {
    font-size: 16px;
    line-height: 1.6;
}

.checkout-page__card .bx-soa, .checkout-page__card .bx-soa-wrapper {
    font-size: 16px;
}

.checkout-page__card .bx-soa-section-title {
    font-size: 18px;
}

.checkout-page__card .bx-soa-section-content {
    font-size: 16px;
}

.checkout-page__card .bx-soa-section-content {
    padding: 1.25rem 1.35rem 1.45rem;
}

.checkout-page__card .bx-soa-section-title {
    letter-spacing: 0.01em;
}

.checkout-page__card .bx-soa-section-title {
    display: flex;
    align-items: center;
    gap: 0.65rem;
}

.checkout-page__card .bx-soa-editstep {
    font-size: 16px;
    text-decoration-thickness: 1px;
    text-underline-offset: 3px;
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    padding: 0.35rem 0.6rem;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.6);
    min-height: 44px;
    pointer-events: auto;
    touch-action: manipulation;
    position: relative;
    z-index: 2;
}

.product-card__price,
.home-product-card .product-card__price,
.catalog-results__grid .product-card__price,
.product-page__related-grid .product-card__price {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
    text-wrap: nowrap;
}

.product-card__price--long,
.home-product-card .product-card__price--long,
.catalog-results__grid .product-card__price--long,
.product-page__related-grid .product-card__price--long {
    font-size: clamp(0.76rem, 0.9vw, 0.96rem);
    letter-spacing: -0.02em;
}

.product-card__price-wrap,
.catalog-results__grid .product-card__price-wrap,
.product-page__related-grid .product-card__price-wrap,
.home-product-card .product-card__price-wrap {
    overflow: visible;
}

.product-card__footer,
.catalog-results__grid .product-card__footer,
.product-page__related-grid .product-card__footer,
.home-product-card .product-card__footer {
    grid-template-columns: minmax(max-content, 1fr) auto;
}

.product-card__title[data-full-title] {
    position: relative;
    cursor: pointer;
    background: transparent;
    outline: none;
    -webkit-tap-highlight-color: transparent;
}

.product-card__title[data-full-title]::after {
    content: attr(data-full-title);
    position: absolute;
    left: 0;
    bottom: calc(100% + 0.65rem);
    z-index: 80;
    width: max-content;
    max-width: min(18rem, calc(100vw - 2rem));
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(33, 29, 27, 0.14);
    background: rgba(29, 26, 24, 0.96);
    box-shadow: 0 16px 36px rgba(17, 15, 14, 0.22);
    color: #fff;
    font-family: var(--font-body);
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    white-space: normal;
    text-transform: none;
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.3rem);
    transition: opacity 180ms ease, transform 180ms ease;
}

.product-card__title[data-full-title]::before {
    content: "";
    position: absolute;
    left: 1rem;
    bottom: calc(100% + 0.35rem);
    z-index: 79;
    width: 0.7rem;
    height: 0.7rem;
    background: rgba(29, 26, 24, 0.96);
    border-right: 1px solid rgba(33, 29, 27, 0.14);
    border-bottom: 1px solid rgba(33, 29, 27, 0.14);
    opacity: 0;
    pointer-events: none;
    transform: translateY(0.3rem) rotate(45deg);
    transition: opacity 180ms ease, transform 180ms ease;
}

.product-card__title[data-full-title]:hover::after,
.product-card__title[data-full-title]:hover::before,
.product-card__title[data-full-title]:focus-visible::after,
.product-card__title[data-full-title]:focus-visible::before {
    opacity: 0;
    transform: translateY(0.3rem);
}

.checkout-page__card .bx-soa-editstep:hover {
    background: rgba(255, 255, 255, 0.95);
}

.checkout-page__card .bx-soa-section-title-count, .checkout-page__card .bx-soa-section-title-num {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 0;
    border-radius: 999px;
    border: 1px solid rgba(0, 138, 179, 0.35);
    background: rgba(0, 138, 179, 0.08);
    color: var(--color-accent);
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    position: relative !important;
    flex: 0 0 auto;
    pointer-events: none;
}

.checkout-page__card .bx-soa-section-title-count::before, .checkout-page__card .bx-soa-section-title-num::before {
    display: none !important;
    content: "" !important;
}

.checkout-page__card #bx-soa-order {
    counter-reset: heading;
}

.checkout-page__card .bx-soa-section .bx-soa-section-title-count::after {
    content: counter(heading);
    counter-increment: heading;
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 16px;
    font-weight: 700;
    line-height: 1;
    color: rgba(33, 29, 27, 0.85);
    pointer-events: none;
}

.checkout-page__card .bx-soa-section-title-container::before, .checkout-page__card .bx-soa-section-title-container::after {
    content: none !important;
}

.checkout-page__card .bx-soa-section::before, .checkout-page__card .bx-soa-section::after {
    content: none !important;
}

.checkout-page__card .icon-success, .checkout-page__card .icon-warning {
    display: none !important;
}

.checkout-page__card .bx-soa-cart-total, .checkout-page__card .bx-soa-cart-total * {
    font-size: 16px;
    line-height: 1.55;
}

.checkout-page__card .bx-soa-cart-total-line, .checkout-page__card .bx-soa-cart-total-line * {
    font-size: 16px;
}

.checkout-page__card .bx-soa-cart-total-line {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    align-items: baseline;
}

.checkout-page__card .bx-soa-cart-t {
    color: rgba(33, 29, 27, 0.62);
}

.checkout-page__card .bx-soa-cart-d {
    text-align: right;
    white-space: nowrap;
    font-variant-numeric: tabular-nums;
}

.checkout-page__card .bx-soa-cart-total-line-total, .checkout-page__card .bx-soa-cart-total-line-total * {
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    line-height: 1.1;
}

.checkout-page__card input[type="checkbox"], .checkout-page__card input[type="radio"] {
    width: 18px;
    height: 18px;
    accent-color: var(--color-accent);
}

.checkout-page__card .bx-soa-pp-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 1rem;
}

.checkout-page__card .bx-soa-pp-list .bx-soa-pp-list-terminator {
    display: none;
}

.checkout-page__card .bx-soa-pp-list-item {
    margin: 0 !important;
}

.checkout-page__card .bx-soa-pp-list-item {
    height: 100%;
}

.checkout-page__card .bx-soa-pp-company, .checkout-page__card .bx-soa-pp-company-selected {
    grid-template-columns: minmax(0, 6.25rem) minmax(0, 1fr);
    gap: 0.75rem;
    align-items: center;
}

.checkout-page__card .bx-soa-pp-company-image {
    max-width: 6.25rem;
    min-height: 3.25rem;
}

.checkout-page__card .bx-soa-pp-company-image img, .checkout-page__card .bx-soa-pp-company-graf-container img {
    max-height: 2.5rem;
}

.checkout-page__card .bx-soa-pp-price {
    margin-top: 0.25rem;
}

.checkout-page__card .bx-soa-pp-list-item {
    border-radius: 0.35rem;
}

.checkout-page__card .bx-soa-pp-list-item:hover {
    border-color: rgba(33, 29, 27, 0.14);
    box-shadow: 0 16px 34px rgba(17, 15, 14, 0.06);
}

.checkout-page__card .bx-soa-pp-list-description, .checkout-page__card .bx-soa-pp-desc-container {
    font-size: 16px;
    line-height: 1.45;
    color: rgba(33, 29, 27, 0.7);
}

.checkout-page__card .bx-soa-pp-price {
    font-size: 16px;
    font-weight: 600;
    color: rgba(33, 29, 27, 0.85);
}

.checkout-page__card #bx-soa-delivery .bx-soa-section-content {
    padding-top: 1rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container>.row {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container>.row>[class*="col-"] {
    padding: 0;
    margin: 0;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company {
    position: relative;
    width: 100%;
    padding: 1rem 1.1rem 0.95rem 3.95rem;
    border-radius: 0.85rem;
    border: 1px solid rgba(33, 29, 27, 0.10);
    background: #fff;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
    min-height: 5.35rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company:hover {
    border-color: rgba(0, 138, 179, 0.24);
    box-shadow: 0 18px 40px rgba(17, 15, 14, 0.06);
    transform: translateY(-1px);
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company.bx-selected {
    border-color: rgba(0, 138, 179, 0.55);
    box-shadow: 0 22px 54px rgba(17, 15, 14, 0.08);
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company.col-6 {
    flex: 1 1 calc((100% - 2rem) / 3);
    max-width: calc((100% - 2rem) / 3);
    min-width: 16rem;
}

@media (max-width: 991.98px) {
    .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company.col-6 {
        flex-basis: calc((100% - 1rem) / 2);
        max-width: calc((100% - 1rem) / 2);
        min-width: 14rem;
    }
}

@media (max-width: 575.98px) {
    .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company.col-6 {
        flex-basis: 100%;
        max-width: 100%;
        min-width: 0;
    }
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-company-checkbox {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company::before {
    content: "";
    position: absolute;
    left: 1.1rem;
    top: 50%;
    transform: translateY(-50%);
    width: 2.35rem;
    height: 2.35rem;
    border-radius: 0.7rem;
    border: 0;
    background: rgba(0, 138, 179, 0.06);
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company.bx-selected::before {
    background: rgba(0, 138, 179, 0.14);
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company.bx-selected::after {
    content: "";
    position: absolute;
    left: 90%;
    top: 50%;
    width: 0.6rem;
    height: 1.05rem;
    border-right: 2px solid var(--color-accent);
    border-bottom: 2px solid var(--color-accent);
    transform: translate(-50%, -55%) rotate(45deg);
    pointer-events: none;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-company-graf-container {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-company-image {
    width: 7.4rem;
    height: 3.4rem;
    border-radius: 0.75rem;
    border: 0;
    background-color: #fff;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-company-smalltitle {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-delivery-cost {
    display: none;
    margin-top: 0.25rem;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.15;
    color: rgba(33, 29, 27, 0.62);
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company {
    border-radius: 1rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    background: linear-gradient(180deg, rgba(0, 138, 179, 0.04), rgba(0, 138, 179, 0.02));
    padding: 1.25rem 1.35rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company-logo {
    display: none;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company-subTitle {
    font-size: 18px;
    font-weight: 800;
    margin: 0 0 0.9rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company-desc {
    font-size: 16px;
    line-height: 1.55;
    color: rgba(33, 29, 27, 0.78);
    margin: 0 0 1rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    gap: 0.45rem;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-list>li {
    display: flex;
    justify-content: space-between;
    gap: 0.75rem;
    align-items: baseline;
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-list-termin {
    font-size: 14px;
    color: rgba(33, 29, 27, 0.6);
}

.checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-list-description {
    font-size: 16px;
    font-weight: 800;
    color: rgba(33, 29, 27, 0.88);
}

@media (max-width: 575.98px) {
    .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company, .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company * {
        float: none !important;
        clear: none !important;
        text-align: left;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company {
        display: block !important;
        padding: 1.05rem 1.05rem;
        max-width: 100%;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company-subTitle {
        font-size: 17px;
        margin-bottom: 0.65rem;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .bx-soa-pp-company-desc {
        margin-bottom: 0.85rem;
        max-width: 100%;
        white-space: normal;
        overflow-wrap: anywhere;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company-smalltitle::after {
        content: none !important;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company-smalltitle {
        background: none !important;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company {
        min-height: 4.1rem;
        padding-left: 3.75rem;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container .btn, .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container button, .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container input[type="button"], .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container input[type="submit"] {
        max-width: 100%;
        width: 100%;
        box-sizing: border-box;
        white-space: normal;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company-smalltitle, .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company-smalltitle::before, .checkout-page__card #bx-soa-delivery .bx-soa-pp-item-container .bx-soa-pp-company-smalltitle::after {
        background-image: none !important;
    }

    .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container, .checkout-page__card #bx-soa-delivery .bx-soa-pp-desc-container * {
        max-width: 100%;
    }
}

.checkout-page__card #bx-soa-paysystem .bx-soa-section-content {
    padding-top: 1rem;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container>.row {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container>.row>[class*="col-"] {
    padding: 0;
    margin: 0;
    width: auto;
    max-width: none;
    flex: 1 1 320px;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company.col-6 {
    max-width: 100%;
    flex: 0 0 100%;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company {
    position: relative;
    display: flex;
    align-items: center;
    gap: 0.9rem;
    padding: 0.85rem 1.05rem 0.85rem 3.1rem;
    border-radius: 0.75rem;
    border: 1px solid rgba(33, 29, 27, 0.10);
    background: #fff;
    cursor: pointer;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company:hover {
    border-color: rgba(0, 138, 179, 0.22);
    box-shadow: 0 16px 34px rgba(17, 15, 14, 0.06);
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company.bx-selected {
    border-color: rgba(0, 138, 179, 0.55);
    box-shadow: 0 20px 48px rgba(17, 15, 14, 0.08);
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-company-checkbox, .checkout-page__card #bx-soa-paysystem .bx-soa-pp-company input[type="checkbox"], .checkout-page__card #bx-soa-paysystem .bx-soa-pp-company input[type="radio"] {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company::before {
    content: "";
    position: absolute;
    left: 1.05rem;
    top: 50%;
    transform: translateY(-50%);
    width: 1.35rem;
    height: 1.35rem;
    border-radius: 999px;
    border: 2px solid rgba(33, 29, 27, 0.22);
    background: #fff;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company.bx-selected::before {
    border-color: rgba(0, 138, 179, 0.65);
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-item-container .bx-soa-pp-company.bx-selected::after {
    content: "";
    position: absolute;
    left: 1.05rem;
    top: 50%;
    transform: translate(0, -50%);
    width: 0.65rem;
    height: 0.65rem;
    margin-left: 0.35rem;
    border-radius: 999px;
    background: var(--color-accent);
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-company-image {
    width: 2.6rem;
    height: 2.6rem;
    border-radius: 0.7rem;
    border: 0;
    background-color: rgba(33, 29, 27, 0.03);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-company-graf-container img {
    max-height: 2rem;
    width: auto;
    height: auto;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-company-smalltitle, .checkout-page__card #bx-soa-paysystem .bx-soa-pp-company-subTitle {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
    color: rgba(33, 29, 27, 0.9);
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-desc-container {
    display: none;
}

.checkout-page__card #bx-soa-paysystem .bx-soa-pp-company.is-disabled-by-delivery {
    opacity: 0.45;
    pointer-events: none;
}

@media (max-width: 768px) {
    .checkout-page__card .bx-soa-item-table {
        display: block;
        min-width: 0;
    }

    .checkout-page__card .bx-soa-item-tr {
        display: block;
    }

    .checkout-page__card .bx-soa-item-td {
        display: block;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .checkout-page__card .bx-soa-item-img-block {
        float: none;
        width: 4.6rem;
        padding-right: 0;
        padding-bottom: 0;
    }

    .checkout-page__card .bx-soa-item-info-container {
        display: grid;
        grid-template-columns: 4.6rem minmax(0, 1fr);
        gap: 0.9rem;
        align-items: start;
    }

    .checkout-page__card .bx-soa-item-title, .checkout-page__card .bx-soa-item-td-text {
        overflow-wrap: anywhere;
        word-break: break-word;
    }

    .checkout-page__card .bx-soa-item-properties {
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        justify-content: space-between;
        gap: 0.6rem 0.9rem;
        text-align: left;
    }

    .checkout-page__card .bx-soa-item-properties.bx-text-right {
        text-align: left;
    }

    .checkout-page__card .bx-soa-item-properties .bx-soa-item-td-title, .checkout-page__card .bx-soa-item-properties .bx-soa-item-td-text {
        text-align: left;
        line-height: 1.35;
    }
}

.collection-tile {
    position: relative;
}

.collection-tile__link {
    position: absolute;
    inset: 0;
    z-index: 5;
    display: block;
}

.collection-tile__link:focus-visible {
    outline: 2px solid var(--color-white, #fff);
    outline-offset: -2px;
}

.catalog-results__grid .product-card__sizes, .catalog-results__grid .product-card__colors {
    display: none !important;
}

.collection-tile--wide {
    min-height: 23rem;
}

.filter-chip {
    padding: .9rem 1rem;
}

.site-header__prebar {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    background: rgba(7, 7, 6, 0.96);
    color: rgba(255, 255, 255, 0.78);
}

.site-header__prebar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    width: min(100% - 4rem, 1680px);
    min-height: 2.1rem;
    font-size: 0.72rem;
}

.site-header__service-list, .site-header__prebar-links {
    display: flex;
    align-items: center;
    gap: 1.35rem;
    min-width: 0;
}

.site-header__service-list span, .site-header__prebar-links a {
    display: inline-flex;
    align-items: center;
    gap: 0.38rem;
    white-space: nowrap;
}

.site-header__service-list .icon, .site-header__prebar-links .icon {
    width: 0.82rem;
    height: 0.82rem;
}

.site-header__prebar .site-header__city-switcher {
    min-height: auto;
    padding: 0;
    border: 0;
    background: transparent;
}

.site-header__prebar .site-header__city-select {
    min-height: 1.7rem;
    color: rgba(255, 255, 255, 0.86);
    font-size: 0.72rem;
}

.site-header__top {
    background: rgba(9, 9, 8, 0.93);
}

.site-header__top-inner {
    display: grid;
    grid-template-columns: auto auto minmax(24rem, 1fr);
    align-items: center;
    gap: 1rem;
    width: min(100% - 4rem, 1680px);
    min-height: 4.85rem;
}

.site-header__brand-logo {
    width: 9rem;
    max-height: 3rem;
    object-fit: contain;
}

.site-header__catalog-cta {
    display: inline-flex;
    align-items: center;
    gap: 0.7rem;
    min-height: 2.8rem;
    padding: 0 1.1rem;
    border: 1px solid rgba(255, 255, 255, 0.32);
    border-radius: 0.25rem;
    color: #fff;
    font-size: 0.86rem;
    font-weight: 700;
}

.site-header__catalog-cta-icon svg {
    width: 1.1rem;
    height: 1.1rem;
}

.site-header__utility {
    display: grid;
    grid-template-columns: minmax(22rem, 1fr) repeat(3, auto);
    align-items: center;
    gap: 1rem;
    min-width: 0;
    width: 100%;
}

.site-header__utility-search {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 0.7rem;
    width: 100%;
    min-width: 0;
    min-height: 3rem;
    margin: 0;
    padding: 0 1.1rem;
    border-color: rgba(255, 255, 255, 0.22);
    background: rgba(255, 255, 255, 0.055);
}

.site-header__utility-search:focus-within {
    border-color: rgba(255, 255, 255, 0.4);
}

.site-header__utility-search svg {
    flex: 0 0 auto;
}

.site-header__utility-search input[type="search"] {
    -webkit-appearance: none;
    appearance: none;
}

.site-header__utility-search input {
    width: 100%;
    min-width: 0;
    min-height: 2.2rem;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent !important;
    box-shadow: none;
    color: #fff;
    -webkit-text-fill-color: #fff;
    font-size: 1rem;
    line-height: 1.2;
    outline: none;
}

.site-header__utility-search input:focus,
.site-header__utility-search input:active {
    border: 0;
    background: transparent !important;
    box-shadow: none;
    color: #fff;
    -webkit-text-fill-color: #fff;
    outline: none;
}

.site-header__utility-search input::placeholder {
    color: rgba(255, 255, 255, 0.58);
    opacity: 1;
}

.site-header__utility-search input:-webkit-autofill,
.site-header__utility-search input:-webkit-autofill:hover,
.site-header__utility-search input:-webkit-autofill:focus {
    -webkit-text-fill-color: #fff;
    transition: background-color 9999s ease-in-out 0s;
    -webkit-box-shadow: 0 0 0 1000px transparent inset;
    box-shadow: 0 0 0 1000px transparent inset;
}

.site-header__utility-search input::-webkit-search-decoration,
.site-header__utility-search input::-webkit-search-cancel-button,
.site-header__utility-search input::-webkit-search-results-button,
.site-header__utility-search input::-webkit-search-results-decoration {
    display: none;
    -webkit-appearance: none;
}

.site-header__utility-search input::-ms-clear,
.site-header__utility-search input::-ms-reveal {
    display: none;
    width: 0;
    height: 0;
}

.site-header__utility-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 2.15rem;
    padding: 0;
    max-width: 0;
    border: 0;
    background: transparent;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    white-space: nowrap;
    overflow: hidden;
    opacity: 0;
    pointer-events: none;
    transition: max-width 0.18s ease, padding 0.18s ease, opacity 0.18s ease, background-color 0.18s ease, border-color 0.18s ease, color 0.18s ease;
}

.site-header__utility-search input:not(:placeholder-shown)~.site-header__utility-search-submit {
    padding: 0 0.95rem;
    max-width: 8rem;
    border: 1px solid rgba(255, 255, 255, 0.18);
    background: rgba(255, 255, 255, 0.1);
    opacity: 1;
    pointer-events: auto;
}

.site-header__utility-search-submit:hover {
    border-color: rgba(255, 255, 255, 0.34);
    background: rgba(255, 255, 255, 0.16);
}

.site-header__search-button {
    display: none;
}

.site-header__utility-item {
    display: inline-flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.2rem;
    min-width: 4.7rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.7rem;
    font-weight: 700;
    text-transform: uppercase;
}

.site-header__utility-item-icon.icon-button {
    width: 2rem;
    height: 2rem;
}

.site-header__nav-shell {
    background: rgba(8, 8, 7, 0.96);
}

.site-header__nav-shell>.container, .site-header__mega>.container {
    width: min(100% - 4rem, 1680px);
}

.site-header__nav {
    justify-content: start;
    min-height: 3.25rem;
}

.site-header__mega {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

@media (min-width: 1025px) {
    .site-header__mega-panel {
        padding: 1.55rem 0 1.35rem;
    }

    .site-header__mega-main {
        grid-template-columns: minmax(0, 1fr) minmax(22rem, 26rem);
        gap: 1.6rem;
    }

    .site-header__mega-columns {
        gap: clamp(1.2rem, 2vw, 2.2rem);
        padding-right: 1.55rem;
    }

    .site-header__mega-featured-grid {
        gap: 0.8rem;
    }
}

.home-page {
    background: #faf8f4;
}

.home-page .container {
    width: min(100% - 4rem, 1680px);
}

.home-hero {
    position: relative;
    min-height: clamp(32rem, 48vw, 42rem);
    overflow: hidden;
    color: #fff;
}

.home-hero__media, .home-hero__media picture, .home-hero__media img, .home-hero__shade {
    position: absolute;
    inset: 0;
}

.home-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 58% 4%;
}

.home-hero__shade {
    background: linear-gradient(90deg, rgba(10, 10, 8, 0.88) 0%, rgba(10, 10, 8, 0.52) 38%, rgba(10, 10, 8, 0.14) 72%), linear-gradient(180deg, rgba(7, 7, 6, 0.36), rgba(7, 7, 6, 0.12) 45%, rgba(7, 7, 6, 0.68));
}

.home-hero__content {
    position: relative;
    z-index: 1;
    display: flex;
    align-items: center;
    min-height: inherit;
    padding-top: 11rem;
    padding-bottom: 3rem;
}

.home-hero__body {
    width: min(100%, 39rem);
}

.home-hero__eyebrow {
    display: inline-block;
    margin-bottom: 1.1rem;
    color: rgba(255, 255, 255, 0.78);
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.24em;
    text-transform: uppercase;
}

.home-hero__title {
    margin-bottom: 1.2rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(3rem, 6vw, 5.7rem);
    font-weight: 400;
    line-height: 0.95;
}

.home-hero__text {
    max-width: 32rem;
    margin-bottom: 1.25rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.04rem;
}

.home-hero__facts {
    display: grid;
    gap: 0.55rem;
    margin-bottom: 2rem;
    color: rgba(255, 255, 255, 0.9);
    font-size: 0.93rem;
}

.home-hero__facts li {
    display: flex;
    align-items: center;
    gap: 0.55rem;
}

.home-hero__facts span {
    display: inline-grid;
    place-items: center;
    width: 1.25rem;
    height: 1.25rem;
    border: 1px solid rgba(255, 255, 255, 0.38);
    border-radius: 999px;
    color: #d8b46b;
    font-size: 0.72rem;
}

.home-hero__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.85rem;
}

.home-hero__secondary-button {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(255, 255, 255, 0.96);
    color: rgba(15, 14, 13, 0.96);
    cursor: pointer;
}

.home-hero__secondary-button:hover, .home-hero__secondary-button:focus-visible {
    background: #fff;
    border-color: #fff;
    color: rgba(15, 14, 13, 1);
}

.home-categories {
    margin-top: 0;
    padding: 2rem 0 2.2rem;
    position: relative;
    z-index: 2;
}

.home-categories__grid, .home-scenarios__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1rem;
}

.home-category-card, .home-scenario-card {
    position: relative;
    display: block;
    min-height: 13.5rem;
    overflow: hidden;
    border-radius: 0.7rem;
    background: #171412;
    color: #fff;
    box-shadow: 0 1rem 3rem rgba(22, 18, 14, 0.12);
}

.home-category-card img, .home-scenario-card img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.78;
    transition: transform 0.7s ease, opacity 0.25s ease;
}

.home-category-card:hover img, .home-scenario-card:hover img {
    transform: scale(1.045);
    opacity: 0.92;
}

.home-category-card__overlay, .home-scenario-card::after {
    position: absolute;
    inset: 0;
    content: "";
    background: linear-gradient(180deg, rgba(0, 0, 0, 0.05), rgba(0, 0, 0, 0.78));
}

.home-category-card__content, .home-category-card__arrow, .home-scenario-card span, .home-scenario-card strong {
    position: absolute;
    z-index: 1;
}

.home-category-card__content {
    left: 1.25rem;
    right: 4rem;
    bottom: 1.15rem;
}

.home-category-card__content strong, .home-scenario-card span {
    display: block;
    font-size: 1.22rem;
    font-weight: 700;
    line-height: 1.15;
}

.home-category-card__content small {
    display: block;
    margin-top: 0.28rem;
    color: rgba(255, 255, 255, 0.82);
}

.home-category-card__arrow, .home-scenario-card strong {
    right: 1rem;
    bottom: 1rem;
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid rgba(255, 255, 255, 0.58);
    border-radius: 999px;
}

.home-section-title {
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.85rem, 2.8vw, 2.8rem);
    font-weight: 400;
    line-height: 1.1;
}

.home-section-title--center {
    margin-bottom: 1.4rem;
    text-align: center;
}

.home-section-head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1.45rem;
}

.home-advantages {
    padding: 1.8rem 0 3rem;
}

.home-advantages__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.home-advantage {
    display: grid;
    justify-items: center;
    gap: 0.85rem;
    color: rgba(33, 29, 27, 0.76);
    font-size: 1.08rem;
    font-weight: 600;
    line-height: 1.25;
    text-align: center;
}

.home-advantage__icon {
    display: grid;
    place-items: center;
    width: 4rem;
    height: 4rem;
    color: #8a7455;
}

.home-advantage__icon .icon {
    width: 2rem;
    height: 2rem;
}

.home-products.section, .home-scenarios.section, .home-reviews.section, .home-journal.section {
    padding: 2.4rem 0;
}

.home-products__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 1rem;
}

.home-product-card.product-card {
    min-width: 0;
    cursor: pointer;
    box-shadow: 0 0.8rem 2.4rem rgba(33, 29, 27, 0.07);
}

.home-product-card .product-card__overlay-link {
    z-index: 2;
    pointer-events: auto;
}

.product-page__related-grid .product-card__overlay-link {
    z-index: 0 !important;
    pointer-events: none !important;
}

.product-page__related-grid .product-card__sizes,
.product-page__related-grid .product-card__colors,
.product-page__related-grid .product-card__details,
.product-page__related-grid .product-card__summary {
    display: none !important;
}

.home-product-card .product-card__title a {
    color: inherit;
    text-decoration: none;
}

.home-product-card .product-card__titlea:hover {
    color: var(--color-accent);
}

.home-product-card .product-card__media {
    aspect-ratio: 1 / 1.05;
}

.home-product-card .product-card__summary, .home-product-card .product-card__details {
    display: none;
}

.home-product-card .product-card__actions {
    gap: 0.5rem;
}

.home-brands {
    padding: 1rem 0 1.7rem;
}

.home-brands__row {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    justify-content: flex-start;
    gap: clamp(2rem, 4vw, 4.5rem);
    overflow-x: auto;
    padding: 0.6rem 0 0.9rem;
    color: rgba(33, 29, 27, 0.55);
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.25rem, 2vw, 1.85rem);
    font-weight: 700;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
}

.home-brands__row.is-auto-scrolling {
    cursor: grab;
    scroll-behavior: smooth;
}

.home-brands__row.is-auto-scrolling:hover {
    scroll-behavior: auto;
}

.home-brands__row::-webkit-scrollbar {
    display: none;
}

.home-brands__row span {
    flex: 0 0 auto;
    white-space: nowrap;
    scroll-snap-align: start;
}

.home-consultation {
    padding: 1rem 0 2.4rem;
}

.home-consultation__card {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(22rem, 0.8fr);
    min-height: 18rem;
    height: 13rem;
    overflow: hidden;
    border-radius: 0.75rem;
    background: #12100e;
    color: #fff;
}

.home-consultation__copy {
    position: relative;
    z-index: 1;
    padding: clamp(2rem, 4vw, 3.4rem);
}

.home-consultation__copy h2 {
    margin-bottom: 0.75rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(2rem, 3.8vw, 3.6rem);
    font-weight: 400;
}

.home-consultation__copy p {
    max-width: 34rem;
    margin-bottom: 1.4rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 1.05rem;
}

.home-consultation__copy ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.9rem 1.5rem;
    margin-top: 1.4rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.8rem;
}

.home-consultation__card>img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.72;
    object-position: 0rem 0rem;
}

@media (max-width: 724px) {
    .home-consultation__card {
        grid-template-columns: 1fr;
        height: auto;
    }

    .home-consultation__card>img {
        object-position: center;
    }
}

.home-scenarios__grid {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.home-scenario-card {
    min-height: 9rem;
}

.home-scenario-card span {
    left: 1rem;
    right: 3rem;
    bottom: 1rem;
}

.home-reviews__grid, .home-journal__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: stretch;
    gap: 1rem;
}

.home-review-card {
    padding: 1.4rem;
    border: 1px solid rgba(33, 29, 27, 0.08);
    border-radius: 0.55rem;
    background: #fff;
    box-shadow: 0 0.8rem 2rem rgba(33, 29, 27, 0.06);
}

.home-review-card__stars {
    margin-bottom: 0.75rem;
    color: #d69a2d;
    letter-spacing: 0.08em;
}

.home-review-card p {
    margin-bottom: 1rem;
    color: rgba(33, 29, 27, 0.74);
}

.home-review-card strong, .home-review-card span {
    display: block;
}

.home-review-card span {
    color: rgba(33, 29, 27, 0.54);
    font-size: 0.82rem;
}

.home-journal-card {
    height: 8.75rem;
    overflow: hidden;
    border: 1px solid rgba(33, 29, 27, 0.06);
    border-radius: 0.55rem;
    background: #fff;
    box-shadow: 0 0.8rem 2rem rgba(33, 29, 27, 0.045);
}

.home-journal-card a {
    display: grid;
    grid-template-columns: 40% 1fr;
    grid-template-rows: 1fr auto 1fr;
    height: 100%;
    min-height: 0;
    color: inherit;
}

.home-journal-card img {
    grid-row: 1 / -1;
    width: 100%;
    height: 100%;
    min-height: 0;
    object-fit: cover;
}

.home-journal-card span, .home-journal-card strong {
    grid-column: 2;
    padding-inline: 1rem;
}

.home-journal-card span {
    align-self: end;
    padding-top: 0.9rem;
    padding-bottom: 0.35rem;
    color: rgba(33, 29, 27, 0.54);
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-journal-card strong {
    align-self: start;
    padding-bottom: 0.9rem;
    color: rgba(15, 14, 13, 0.96);
    font-size: 1.04rem;
    font-weight: 800;
    line-height: 1.22;
}

.home-subscribe {
    padding: 2.5rem 0;
    background: linear-gradient(90deg, rgba(9, 8, 7, 0.94), rgba(9, 8, 7, 0.72)), url("/bitrix/templates/impulse/img/hero-home.jpg") center/cover;
    color: #fff;
}

.home-subscribe__inner {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(20rem, 1fr);
    gap: 2rem;
    align-items: center;
}

.home-subscribe h2 {
    max-width: 32rem;
    margin-bottom: 0.55rem;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(1.8rem, 3vw, 2.8rem);
    font-weight: 400;
}

.home-subscribe p {
    color: rgba(255, 255, 255, 0.74);
}

.home-subscribe__form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.85rem;
}

.home-subscribe__form input[type="email"] {
    min-height: 3.25rem;
    padding: 0 1rem;
    border: 0;
    border-radius: 0.2rem;
    background: #fff;
}

.home-subscribe__agree {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 0.45rem;
    color: rgba(255, 255, 255, 0.72);
    font-size: 0.78rem;
}

.home-subscribe__status {
    grid-column: 1 / -1;
    min-height: 1.2rem;
    color: rgba(255, 255, 255, 0.84);
    font-size: 0.86rem;
    font-weight: 700;
    line-height: 1.35;
}

@media (max-width: 1180px) {
    .site-header__top-inner {
        grid-template-columns: auto minmax(18rem, 1fr) auto;
    }

    .site-header__catalog-cta {
        display: none;
    }

    .site-header__utility {
        grid-template-columns: minmax(16rem, 1fr) repeat(3, auto);
    }

    .home-products__grid {
        display: flex;
        gap: 1rem;
        overflow-x: auto;
        overflow-y: visible;
        margin-inline: -2rem;
        padding: 0 2rem 1.2rem;
        scroll-padding-inline: 2rem;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    .home-products__grid::-webkit-scrollbar {
        display: none;
    }

    .home-products__grid .home-product-card {
        flex: 0 0 clamp(16rem, 36vw, 20rem);
        scroll-snap-align: start;
    }

    .home-advantages__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .site-header__service-list {
        display: none;
    }
}

@media (max-width: 1024px) {
    .site-header__prebar {
        display: none;
    }

    .site-header__top-inner {
        grid-template-columns: auto 1fr auto;
        width: min(100% - 1.5rem, 1680px);
    }

    .site-header__utility-item-label {
        display: none;
    }

    .site-header__utility {
        display: flex;
        justify-content: flex-end;
        gap: 0.35rem;
    }

    .site-header__utility-search {
        display: none;
    }

    .site-header__search-button {
        display: inline-flex;
    }

    .site-header__utility-item {
        min-width: 0;
    }

    .home-hero__content {
        align-items: flex-end;
        min-height: clamp(30rem, 92vw, 42rem);
        padding-top: 4.5rem;
        padding-bottom: 2rem;
    }

    .home-hero__media img {
        object-position: 62% 10%;
    }

    .home-categories__grid, .home-scenarios__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-consultation__card, .home-subscribe__inner {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 720px) {
    .home-hero {
        min-height: 34rem;
    }

    .home-hero__title {
        font-size: clamp(2.7rem, 13vw, 4rem);
        line-height: 0.98;
    }

    .home-hero__text {
        font-size: 0.98rem;
    }

    .home-hero__content {
        padding-top: 3rem;
        padding-bottom: 1.5rem;
    }

    .home-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .home-hero__actions .button {
        width: 100%;
        justify-content: center;
    }

    .home-hero__media img {
        object-position: 64% 8%;
    }

    .home-categories {
        padding-top: 1.25rem;
    }

    .home-page .container {
        width: min(100% - 1.5rem, 1680px);
    }

    .site-header__prebar-inner, .site-header__top-inner, .site-header__nav-shell>.container, .site-header__mega>.container {
        width: min(100% - 1.5rem, 1680px);
    }

    .home-categories__grid, .home-scenarios__grid, .home-reviews__grid, .home-journal__grid, .home-advantages__grid {
        grid-template-columns: 1fr;
    }

    .home-products__grid {
        margin-inline: -0.75rem;
        padding-inline: 0.75rem;
        scroll-padding-inline: 0.75rem;
    }

    .home-products__grid .home-product-card {
        flex-basis: min(82vw, 18rem);
    }

    .home-brands__row {
        gap: 2rem;
        font-size: 1.35rem;
        margin-inline: -0.75rem;
        padding-inline: 0.75rem;
        scroll-padding-inline: 0.75rem;
    }

    .home-category-card {
        min-height: 11rem;
    }

    .home-advantage {
        font-size: 1rem;
    }

    .home-journal-card a {
        grid-template-columns: 38% 1fr;
        min-height: 0;
    }

    .home-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .home-subscribe__form {
        grid-template-columns: 1fr;
    }
}

:root {
    --home-wide-container: min(100% - 4rem, 1680px);
    --home-mobile-container: min(100% - 1.5rem, 1680px);
    --home-header-offset: 10.2rem;
    --ui-font-family: var(--font-body, "Manrope", sans-serif);
    --ui-heading-family: var(--ui-font-family);
    --ui-heading-xl: clamp(3rem, 6vw, 5.2rem);
    --ui-heading-lg: clamp(2rem, 3vw, 2.8rem);
    --ui-heading-md: clamp(1.55rem, 2.2vw, 2.15rem);
    --ui-body-md: 1rem;
    --ui-body-sm: 0.9rem;
    --ui-letter-spaced: 0.14em;
}

body.impulse-template {
    font-family: var(--ui-font-family);
}

body.impulse-template .home-page .container, body.impulse-template .site-header__prebar-inner, body.impulse-template .site-header__top-inner, body.impulse-template .site-header__nav-shell>.container, body.impulse-template .site-header__mega>.container {
    box-sizing: border-box;
    width: var(--home-wide-container);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

body.impulse-template .home-page {
    overflow-x: clip;
    padding-top: var(--home-header-offset);
}

body.impulse-template .home-hero {
    min-height: clamp(34rem, 42vw, 44rem);
}

body.impulse-template .home-hero__media picture, body.impulse-template .home-hero__media img {
    inset: 0;
    width: 100%;
    height: 100%;
}

body.impulse-template .home-hero__media img {
    object-fit: cover;
    object-position: 58% 0%;
}

body.impulse-template .home-hero__content {
    justify-content: flex-start;
    align-items: center;
    min-height: inherit;
    padding-top: clamp(4.5rem, 7vw, 7.25rem);
    padding-bottom: clamp(2.5rem, 4vw, 4rem);
}

body.impulse-template .home-hero__body {
    width: min(100%, 39rem);
    margin-left: 0;
}

body.impulse-template .home-hero__title, body.impulse-template .home-section-title, body.impulse-template .home-consultation__copy h2, body.impulse-template .home-subscribe h2, body.impulse-template .catalog-page__title, body.impulse-template .product-page__title, body.impulse-template .info-page__title, body.impulse-template .account-page__title, body.impulse-template .cart-page__title {
    font-family: var(--ui-heading-family);
    font-weight: 600;
    letter-spacing: -0.035em;
}

body.impulse-template .home-hero__title {
    font-size: var(--ui-heading-xl);
}

body.impulse-template .home-section-title, body.impulse-template .home-consultation__copy h2, body.impulse-template .home-subscribe h2 {
    font-size: var(--ui-heading-lg);
    line-height: 1.08;
}

body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts, body.impulse-template .home-advantage, body.impulse-template .product-card__title, body.impulse-template .home-review-card, body.impulse-template .home-journal-card {
    font-family: var(--ui-font-family);
}

body.impulse-template .home-hero__eyebrow, body.impulse-template .text-link, body.impulse-template .button, body.impulse-template .product-card__brand, body.impulse-template .site-header__nav-link, body.impulse-template .site-header__utility-item {
    font-family: var(--ui-font-family);
}

body.impulse-template .home-hero__eyebrow, body.impulse-template .text-link, body.impulse-template .button {
    letter-spacing: var(--ui-letter-spaced);
}

body.impulse-template .home-rail {
    position: relative;
    min-width: 0;
}

body.impulse-template .home-rail [data-home-rail-track] {
    cursor: grab;
    touch-action: pan-y;
    user-select: none;
}

body.impulse-template .home-rail--pressed [data-home-rail-track], body.impulse-template .home-rail--dragging [data-home-rail-track] {
    cursor: grabbing;
}

body.impulse-template .home-rail--dragging a, body.impulse-template .home-rail--dragging button {
    pointer-events: none;
}

body.impulse-template .home-rail__button {
    position: absolute;
    top: 50%;
    z-index: 5;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.85rem;
    height: 2.85rem;
    border: 1px solid rgba(33, 29, 27, 0.12);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.96);
    color: rgba(15, 14, 13, 0.9);
    box-shadow: 0 0.75rem 1.8rem rgba(33, 29, 27, 0.12);
    cursor: pointer;
    font-family: var(--ui-font-family);
    font-size: 1.65rem;
    line-height: 1;
    transform: translateY(-50%);
    transition: opacity 0.18s ease, transform 0.18s ease, background-color 0.18s ease;
    -webkit-tap-highlight-color: transparent;
}

body.impulse-template .home-rail__button:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.04);
}

body.impulse-template .home-rail__button:disabled {
    opacity: 0.35;
    cursor: default;
    transform: translateY(-50%);
}

body.impulse-template .home-rail__button--prev {
    left: -1.2rem;
}

body.impulse-template .home-rail__button--next {
    right: -1.2rem;
}

body.impulse-template .home-rail:not(.home-rail--scrollable) .home-rail__button {
    display: none;
}

body.impulse-template .home-products__grid, body.impulse-template .home-brands__row {
    max-width: 100%;
    min-width: 0;
    margin-left: 0;
    margin-right: 0;
}

body.impulse-template .home-brands {
    overflow: hidden;
}

body.impulse-template .home-brands__row {
    overscroll-behavior-inline: contain;
    font-family: var(--ui-font-family);
    font-weight: 700;
}

@media (min-width: 1281px) {
    body.impulse-template .home-products__grid {
        display: grid;
        grid-template-columns: repeat(6, minmax(0, 1fr));
        overflow: visible;
        padding: 0;
    }
}

@media (min-width: 1025px) and (max-width: 1280px) {
    body.impulse-template .site-header__top-inner {
        grid-template-columns: auto minmax(0, 1fr) !important;
        gap: 1rem !important;
    }

    body.impulse-template .site-header--stuck .site-header__top-inner {
        grid-template-columns: auto auto minmax(0, 1fr) !important;
    }

    body.impulse-template .site-header__utility {
        display: grid;
        grid-template-columns: minmax(16rem, 1fr) repeat(3, auto);
        gap: 0.75rem;
        min-width: 0;
    }

    body.impulse-template .site-header__utility-search {
        min-width: 0;
        max-width: none;
    }

    body.impulse-template .site-header__utility-item {
        min-width: 3.25rem;
    }

    body.impulse-template .site-header__nav {
        gap: clamp(0.85rem, 1.35vw, 1.35rem);
    }
}

@media (max-width: 1280px) {
    body.impulse-template .home-products__grid {
        display: flex;
        gap: 1rem;
        overflow-x: auto;
        overflow-y: visible;
        padding: 0 0 1.1rem;
        scroll-padding-inline: 0;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.impulse-template .home-products__grid::-webkit-scrollbar {
        display: none;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex: 0 0 clamp(16.25rem, 31vw, 20rem);
        scroll-snap-align: start;
    }
}

@media (max-width: 1024px) {
    :root {
        --home-header-offset: 4.75rem;
        --ui-heading-xl: clamp(2.5rem, 8vw, 4rem);
        --ui-heading-lg: clamp(1.75rem, 4.6vw, 2.35rem);
        --ui-heading-md: clamp(1.35rem, 3.8vw, 1.8rem);
    }

    body.impulse-template .site-header__prebar {
        display: none;
    }

    body.impulse-template .site-header__top-inner, body.impulse-template .site-header__nav-shell>.container, body.impulse-template .site-header__mega>.container, body.impulse-template .home-page .container {
        width: var(--home-mobile-container);
    }

    body.impulse-template .site-header__top-inner {
        grid-template-columns: auto 1fr auto !important;
        min-height: 4.75rem;
    }

    body.impulse-template .site-header__nav-shell, body.impulse-template .site-header__mega {
        display: none;
    }

    body.impulse-template .home-hero {
        min-height: clamp(32rem, 78vw, 40rem);
    }

    body.impulse-template .home-hero__content {
        align-items: flex-end;
        padding-top: 3rem;
        padding-bottom: 2.2rem;
    }

    body.impulse-template .home-hero__media img {
        object-position: 62% 0%;
    }

    body.impulse-template .home-advantages__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.impulse-template .home-reviews__grid, body.impulse-template .home-journal__grid {
        grid-template-columns: 1fr;
    }

    body.impulse-template .home-consultation__card, body.impulse-template .home-subscribe__inner {
        grid-template-columns: 1fr;
    }

    body.impulse-template .site-header__city-popover {
        position: fixed;
        top: calc(var(--bx-panel-offset) + 4.1rem);
        left: -7rem;
        width: auto;
        max-width: none;
        transform: none;
    }

    body.impulse-template .site-header__mobile-city .site-header__city-popover {
        position: static;
        width: 100%;
        max-width: 100%;
        margin-top: 0.75rem;
        transform: none;
    }

    body.impulse-template .site-header__city-popover-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.impulse-template .site-header__city-popover-button {
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.2;
    }
}

@media (max-width: 767px) {
    :root {
        --ui-heading-xl: clamp(2.15rem, 10vw, 3.25rem);
        --ui-heading-lg: clamp(1.65rem, 7vw, 2.05rem);
        --ui-body-md: 0.96rem;
        --ui-body-sm: 0.86rem;
        --ui-letter-spaced: 0.11em;
    }

    html, body.impulse-template {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body.impulse-template .site-header {
        width: 100%;
        max-width: 100vw;
        overflow: visible;
    }

    body.impulse-template .site-header__top {
        overflow: hidden;
    }

    body.impulse-template .site-header__top-inner, body.impulse-template .site-header__nav-shell>.container, body.impulse-template .site-header__mega>.container, body.impulse-template .home-page .container {
        width: calc(100vw - 2rem);
        max-width: calc(100vw - 2rem);
        min-width: 0;
    }

    body.impulse-template .site-header__top-inner {
        grid-template-columns: 2.6rem minmax(0, 1fr) auto !important;
        gap: 0.5rem;
    }

    body.impulse-template .site-header__brand {
        justify-self: center;
        min-width: 0;
    }

    body.impulse-template .site-header__brand-logo {
        width: min(9rem, 42vw);
    }

    body.impulse-template .site-header__utility {
        min-width: 0;
    }

    body.impulse-template .home-hero {
        min-height: 34rem;
    }

    body.impulse-template .home-hero__content {
        overflow: hidden;
    }

    body.impulse-template .home-hero__body, body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts, body.impulse-template .home-hero__actions {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.impulse-template .home-hero__title {
        max-width: 100%;
        font-size: var(--ui-heading-xl);
        line-height: 0.98;
        overflow-wrap: break-word;
    }

    body.impulse-template .home-hero__text {
        font-size: var(--ui-body-md);
        overflow-wrap: break-word;
    }

    body.impulse-template .home-hero__actions {
        flex-direction: column;
        align-items: stretch;
    }

    body.impulse-template .home-hero__actions .button {
        width: 100%;
        max-width: 100%;
        min-width: 0;
        min-height: 3.4rem;
        padding: 0.85rem 1rem;
        letter-spacing: 0.13em;
        line-height: 1.25;
        white-space: normal;
        overflow-wrap: anywhere;
        text-align: center;
    }

    body.impulse-template .home-section-title, body.impulse-template .home-consultation__copy h2, body.impulse-template .home-subscribe h2 {
        font-size: var(--ui-heading-lg);
        letter-spacing: -0.025em;
    }

    body.impulse-template .home-rail {
        padding-inline: 0;
    }

    body.impulse-template .home-rail__button {
        width: 2.5rem;
        height: 2.5rem;
        font-size: 1.45rem;
        box-shadow: 0 0.65rem 1.4rem rgba(33, 29, 27, 0.14);
    }

    body.impulse-template .home-rail__button--prev {
        left: 0.35rem;
    }

    body.impulse-template .home-rail__button--next {
        right: 0.35rem;
    }

    body.impulse-template .home-products__grid, body.impulse-template .home-brands__row {
        padding-left: 0;
        padding-right: 0;
    }

    body.impulse-template .home-hero__media img {
        object-position: 64% 0%;
    }

    body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid, body.impulse-template .home-advantages__grid {
        grid-template-columns: 1fr;
        width: 100%;
        min-width: 0;
        gap: 0.9rem;
    }

    body.impulse-template .home-category-card, body.impulse-template .home-scenario-card {
        width: 100%;
        min-width: 0;
        max-width: 100%;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex-basis: min(82vw, 18rem);
    }

    body.impulse-template .home-brands__row {
        gap: 2rem;
        padding-inline: 0;
        scroll-padding-inline: 0;
        font-size: 1.35rem;
    }

    body.impulse-template .home-journal-card {
        height: auto;
    }

    body.impulse-template .home-journal-card a {
        grid-template-columns: 38% 1fr;
        min-height: 8.5rem;
    }

    body.impulse-template .home-section-head {
        align-items: flex-start;
        flex-direction: column;
    }

    body.impulse-template .home-subscribe__form {
        grid-template-columns: 1fr;
    }

    body.impulse-template .mobile-bottom-nav {
        left: 0;
        right: 0;
        width: 100%;
        max-width: 100vw;
    }

    body.impulse-template .site-header__city-popover {
        top: calc(var(--bx-panel-offset) + 4.5rem);
        right: 0.75rem;
        left: 0.75rem;
        width: auto;
        max-width: none;
    }

    body.impulse-template .site-header__city-popover-actions {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 430px) {
    :root {
        --ui-heading-xl: clamp(2rem, 9.4vw, 2.85rem);
        --ui-heading-lg: clamp(1.55rem, 6.4vw, 1.9rem);
    }

    body.impulse-template .site-header__top-inner, body.impulse-template .home-page .container {
        width: calc(100vw - 2rem);
        max-width: calc(100vw - 2rem);
    }

    body.impulse-template .home-hero__content {
        padding-top: 2.4rem;
        padding-bottom: 1.5rem;
    }

    body.impulse-template .home-hero__title {
        font-size: var(--ui-heading-xl);
    }

    body.impulse-template .home-hero__facts {
        font-size: 0.86rem;
    }

    body.impulse-template .home-hero__facts li {
        align-items: flex-start;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex-basis: min(78vw, 17rem);
    }

    body.impulse-template .home-hero__actions .button {
        font-size: 0.72rem;
        letter-spacing: 0.11em;
    }
}

@media (max-width: 374px) {
    body.impulse-template .site-header__top-inner, body.impulse-template .home-page .container {
        width: calc(100vw - 1.5rem);
        max-width: calc(100vw - 1.5rem);
    }

    body.impulse-template .home-hero__title {
        font-size: 2.05rem;
    }

    body.impulse-template .home-hero__actions .button {
        padding-inline: 0.75rem;
        font-size: 0.68rem;
        letter-spacing: 0.08em;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.impulse-template .home-brands__row.is-auto-scrolling {
        scroll-behavior: auto;
    }
}

body.impulse-template .site-footer>.container, body.impulse-template .site-footer__grid, body.impulse-template .site-footer__bottom, body.impulse-template .site-header__prebar-inner, body.impulse-template .site-header__top-inner, body.impulse-template .site-header__nav-shell>.container, body.impulse-template .site-header__mega>.container, body.impulse-template .home-page .container {
    box-sizing: border-box;
    width: var(--home-wide-container);
    max-width: none;
    margin-left: auto;
    margin-right: auto;
    padding-left: 0;
    padding-right: 0;
}

body.impulse-template .site-header__mega-main {
    grid-template-columns: minmax(0, 1fr) minmax(20rem, 26rem);
    gap: clamp(1.4rem, 2vw, 2rem);
}

body.impulse-template .site-header__mega-columns {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(12rem, 1fr));
    gap: 0;
    min-width: 0;
    padding-right: clamp(1.2rem, 2vw, 1.8rem);
}

body.impulse-template .site-header__mega-column {
    min-width: 0;
    padding: 0 clamp(1rem, 1.6vw, 1.45rem);
}

body.impulse-template .site-header__mega-column:first-child {
    padding-left: 0;
}

body.impulse-template .site-header__mega-column+.site-header__mega-column {
    border-left: 1px solid rgba(255, 255, 255, 0.1);
}

body.impulse-template .site-header__mega-column .site-header__mega-title {
    display: none;
}

body.impulse-template .site-header__mega-list {
    gap: 0.72rem;
}

body.impulse-template .site-header__mega-featured {
    min-width: 0;
}

body.impulse-template .site-header__mega-featured .site-header__mega-title {
    display: block;
}

body.impulse-template .home-rail {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: 0.8rem;
}

body.impulse-template .home-rail [data-home-rail-track] {
    flex: 0 0 100%;
    width: 100%;
    order: 1;
}

body.impulse-template .home-rail__button {
    position: static;
    top: auto;
    right: auto;
    left: auto;
    order: 2;
    flex: 0 0 auto;
    width: 2.75rem;
    height: 2.75rem;
    margin-top: 0.25rem;
    transform: none;
}

body.impulse-template .home-rail__button:hover {
    transform: translateY(-1px);
}

body.impulse-template .home-rail__button:disabled {
    transform: none;
}

body.impulse-template .home-rail__button--prev, body.impulse-template .home-rail__button--next {
    left: auto;
    right: auto;
}

@media (max-width: 1024px) {
    body.impulse-template .site-footer>.container, body.impulse-template .site-footer__grid, body.impulse-template .site-footer__bottom, body.impulse-template .site-header__prebar-inner, body.impulse-template .site-header__top-inner, body.impulse-template .site-header__nav-shell>.container, body.impulse-template .site-header__mega>.container, body.impulse-template .home-page .container {
        width: var(--home-mobile-container);
    }
}

@media (max-width: 767px) {
    body.impulse-template .home-rail {
        gap: 0.65rem;
    }

    body.impulse-template .home-rail__button {
        width: 2.45rem;
        height: 2.45rem;
        margin-top: 0.1rem;
        font-size: 1.4rem;
    }
}

.product-page__variants-data {
    display: none;
}

.product-page__option-group {
    display: grid;
    gap: 0.6rem;
}

.product-page__colors, .product-page__sizes {
    align-items: flex-start;
}

.product-page__color[hidden], .product-page__size[hidden] {
    display: none !important;
}

.product-page__size {
    min-height: 2.45rem;
    padding: 0.62rem 0.9rem;
    font-family: var(--font-body);
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.01em;
}

.product-page__color {
    width: 1.9rem;
    height: 1.9rem;
    border-radius: 0.35rem;
}

.product-page__summary.is-size-required .product-page__sizes, .product-page__summary.is-color-required .product-page__colors {
    animation: impulseSizePulse 0.45s ease-in-out 0s 2;
    outline: 1px solid rgba(192, 57, 43, 0.55);
    outline-offset: 0.3rem;
}

.product-page__actions {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: stretch;
}

.product-page__cart-button {
    min-width: 0;
}

.product-page__qty {
    display: inline-flex;
    align-items: center;
    border: 1px solid rgba(33, 29, 27, 0.12);
    border-radius: 0.22rem;
    overflow: hidden;
    background: #fff;
    min-height: 3.4rem;
}

.product-page__qty-btn {
    width: 3rem;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
    color: rgba(33, 29, 27, 0.85);
    font-family: var(--font-body);
    font-size: 1.15rem;
    line-height: 1;
    cursor: pointer;
    transition: background-color 160ms ease, color 160ms ease;
}

.product-page__qty-btn:hover, .product-page__qty-btn:focus-visible {
    background: rgba(33, 29, 27, 0.03);
    color: var(--color-accent);
}

.product-page__qty-value {
    min-width: 4.8rem;
    height: 100%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0 1rem;
    border-left: 1px solid rgba(33, 29, 27, 0.10);
    border-right: 1px solid rgba(33, 29, 27, 0.10);
    color: rgba(33, 29, 27, 0.82);
    font-family: var(--font-body);
    font-size: 0.96rem;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.product-page__secondary-actions {
    flex-wrap: wrap;
}

.product-page__inline-action--availability {
    color: rgba(33, 29, 27, 0.84);
}

.product-page__inline-action--availability:hover {
    color: var(--color-accent);
}

.product-card__price, .home-product-card .product-card__price, .catalog-results__grid .product-card__price, .product-page__related-grid .product-card__price {
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: normal;
    font-variant-numeric: tabular-nums;
    letter-spacing: 0;
    font-size: clamp(0.88rem, 1.02vw, 1.08rem);
}

@media (max-width: 1024px) {
    .product-page__actions {
        grid-template-columns: minmax(0, 1fr);
    }

    .product-page__qty {
        width: fit-content;
    }
}

@media (max-width: 720px) {
    .product-page__actions {
        gap: 0.7rem;
    }

    .product-page__qty {
        width: 100%;
        justify-content: space-between;
    }

    .product-page__qty-btn {
        width: 3.1rem;
    }

    .product-page__qty-value {
        flex: 1 1 auto;
        min-width: 0;
    }

    .product-page__secondary-actions {
        gap: 0.7rem 1rem;
    }

    .product-card__price, .home-product-card .product-card__price, .catalog-results__grid .product-card__price, .product-page__related-grid .product-card__price {
        font-size: 0.95rem;
    }
}

body.impulse-template, body.impulse-template .page-shell, body.impulse-template .home-page {
    max-width: 100vw;
}

body.impulse-template .home-page {
    overflow-x: clip;
}

@media (max-width: 1280px) {
    body.impulse-template .home-products__grid {
        display: flex;
        gap: 1rem;
        overflow-x: auto;
        overflow-y: visible;
        margin-inline: 0;
        padding: 0 0 1rem;
        scroll-padding-inline: 0;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }

    body.impulse-template .home-products__grid::-webkit-scrollbar {
        display: none;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex: 0 0 clamp(16rem, 32vw, 20rem);
        scroll-snap-align: start;
    }
}

@media (max-width: 1024px) {
    :root {
        --home-header-offset: 4.75rem;
    }

    html, body.impulse-template {
        width: 100%;
        max-width: 100%;
        overflow-x: hidden;
    }

    body.impulse-template .site-header__top-inner, body.impulse-template .site-header__nav-shell>.container, body.impulse-template .site-header__mega>.container, body.impulse-template .home-page .container, body.impulse-template .site-footer>.container, body.impulse-template .site-footer__grid, body.impulse-template .site-footer__bottom {
        box-sizing: border-box;
        width: min(100% - 1.5rem, 1680px);
        max-width: none;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
        padding-left: 0;
        padding-right: 0;
    }

    body.impulse-template .site-header__prebar, body.impulse-template .site-header__nav-shell, body.impulse-template .site-header__mega {
        display: none;
    }

    body.impulse-template .site-header__top {
        overflow: hidden;
    }

    body.impulse-template .site-header__top-inner {
        grid-template-columns: 2.75rem minmax(0, 1fr) auto !important;
        gap: 0.75rem;
        min-height: 4.75rem;
    }

    body.impulse-template .site-header__brand {
        min-width: 0;
        justify-self: center;
    }

    body.impulse-template .site-header__brand-logo {
        width: min(9.5rem, 44vw);
        max-width: 100%;
    }

    body.impulse-template .site-header__utility {
        min-width: 0;
    }

    body.impulse-template .site-header__city-popover {
        position: fixed;
        top: calc(var(--bx-panel-offset) + 4.5rem);
        right: 0.75rem;
        left: 0.75rem;
        width: auto;
        max-width: calc(100vw - 1.5rem);
        transform: none;
    }

    body.impulse-template .site-header__mobile-city .site-header__city-popover {
        position: static;
        width: 100%;
        max-width: 100%;
        margin-top: 0.75rem;
        transform: none;
    }

    body.impulse-template .site-header__city-popover-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.impulse-template .site-header__city-popover-button {
        white-space: normal;
        overflow-wrap: anywhere;
        line-height: 1.2;
    }

    body.impulse-template .home-hero {
        min-height: auto;
        height: auto;
        overflow: hidden;
    }

    body.impulse-template .home-hero__content {
        display: flex;
        align-items: flex-end;
        justify-content: flex-start;
        min-height: 35rem;
        width: min(100% - 1.5rem, 1680px);
        max-width: none;
        padding-top: 5rem;
        padding-bottom: 2rem;
        overflow: visible;
    }

    body.impulse-template .home-hero__body, body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts, body.impulse-template .home-hero__actions {
        max-width: 100%;
        min-width: 0;
    }

    body.impulse-template .home-hero__body {
        width: min(100%, 31rem);
        margin-left: 0;
    }

    body.impulse-template .home-hero__eyebrow {
        font-size: 0.78rem;
        letter-spacing: 0.16em;
        white-space: normal;
    }

    body.impulse-template .home-hero__title {
        width: 100%;
        max-width: 20rem;
        margin-bottom: 1rem;
        font-size: 2.45rem;
        line-height: 1.04;
        letter-spacing: 0;
        white-space: normal;
        overflow-wrap: break-word;
        word-break: normal;
        hyphens: none;
    }

    body.impulse-template .home-hero__text {
        width: 100%;
        max-width: 26rem;
        font-size: 0.98rem;
        line-height: 1.45;
        white-space: normal;
        overflow-wrap: break-word;
    }

    body.impulse-template .home-hero__facts {
        width: 100%;
        max-width: 26rem;
        font-size: 0.94rem;
    }

    body.impulse-template .home-hero__actions {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100%, 34rem);
        gap: 0.75rem;
    }

    body.impulse-template .home-hero__actions .button {
        width: 100%;
        min-width: 0;
        min-height: 3.45rem;
        padding: 0.9rem 1rem;
        font-size: 0.76rem;
        letter-spacing: 0.1em;
        line-height: 1.25;
        white-space: normal;
        overflow-wrap: anywhere;
        text-align: center;
    }

    body.impulse-template .home-hero__secondary-button {
        color: rgba(15, 14, 13, 0.96);
    }

    body.impulse-template .home-hero__media img {
        object-position: 62% 12%;
    }

    body.impulse-template .home-categories {
        padding-top: 1.25rem;
    }

    body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        width: min(100% - 1.5rem, 1680px);
        max-width: none;
        min-width: 0;
        margin-left: auto;
        margin-right: auto;
        gap: 1rem;
    }

    body.impulse-template .home-advantages__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    body.impulse-template .home-reviews__grid, body.impulse-template .home-journal__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.impulse-template .home-category-card, body.impulse-template .home-scenario-card {
        width: 100%;
        max-width: 100%;
        min-width: 0;
    }

    body.impulse-template .home-rail {
        display: flex;
        flex-wrap: wrap;
        justify-content: center;
        align-items: center;
        gap: 0.8rem;
        overflow: visible;
    }

    body.impulse-template .home-rail [data-home-rail-track] {
        order: 1;
        flex: 0 0 100%;
        width: 100%;
        min-width: 0;
    }

    body.impulse-template .home-rail__button, body.impulse-template .home-rail:not(.home-rail--scrollable) .home-rail__button {
        position: static;
        top: auto;
        left: auto;
        right: auto;
        order: 2;
        display: inline-flex;
        flex: 0 0 auto;
        transform: none;
    }

    body.impulse-template .home-rail__button:hover, body.impulse-template .home-rail__button:disabled {
        transform: none;
    }

    body.impulse-template .home-products__grid, body.impulse-template .home-brands__row {
        max-width: 100%;
        min-width: 0;
        margin-left: 0;
        margin-right: 0;
        padding-left: 0;
        padding-right: 0;
        scroll-padding-inline: 0;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex: 0 0 min(18.5rem, 42vw);
    }

    body.impulse-template .home-brands__row {
        overflow-x: auto;
        overflow-y: hidden;
        gap: 2rem;
        scrollbar-width: none;
    }

    body.impulse-template .home-brands__row::-webkit-scrollbar {
        display: none;
    }

    body.impulse-template .product-card__price, body.impulse-template .home-product-card .product-card__price, body.impulse-template .catalog-results__grid .product-card__price, body.impulse-template .product-page__related-grid .product-card__price {
        font-size: 0.98rem;
        line-height: 1;
        max-width: 100%;
        overflow-wrap: anywhere;
        word-break: normal;
        font-variant-numeric: tabular-nums;
        letter-spacing: 0;
    }
}

@media (max-width: 767px) {
    body.impulse-template .home-hero__content {
        min-height: 34rem;
        padding-top: 4.35rem;
        padding-bottom: 1.45rem;
    }

    body.impulse-template .home-hero__body {
        width: 100%;
    }

    body.impulse-template .home-hero__title {
        max-width: 15.5rem;
        font-size: 2rem;
        line-height: 1.08;
    }

    body.impulse-template .home-hero__text {
        max-width: 20rem;
        font-size: 0.92rem;
    }

    body.impulse-template .home-hero__facts {
        max-width: 20rem;
        font-size: 0.88rem;
        gap: 0.45rem;
    }

    body.impulse-template .home-hero__actions {
        grid-template-columns: minmax(0, 1fr);
        width: 100%;
    }

    body.impulse-template .home-hero__actions .button {
        min-height: 3.35rem;
        font-size: 0.72rem;
        letter-spacing: 0.08em;
    }

    body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid, body.impulse-template .home-advantages__grid, body.impulse-template .home-reviews__grid, body.impulse-template .home-journal__grid {
        grid-template-columns: minmax(0, 1fr);
    }

    body.impulse-template .home-category-card, body.impulse-template .home-scenario-card {
        min-height: 10.8rem;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex-basis: min(82vw, 18rem);
    }

    body.impulse-template .home-brands__row {
        gap: 1.55rem;
        font-size: 1.2rem;
    }

    body.impulse-template .site-header__city-popover-actions {
        grid-template-columns: minmax(0, 1fr);
    }

    body.impulse-template .product-card__price, body.impulse-template .home-product-card .product-card__price, body.impulse-template .catalog-results__grid .product-card__price, body.impulse-template .product-page__related-grid .product-card__price {
        font-size: 0.95rem;
    }
}

@media (max-width: 430px) {
    body.impulse-template .home-hero__title {
        max-width: 14rem;
        font-size: 1.96rem;
    }

    body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts {
        max-width: 18.5rem;
    }
}

@media (max-width: 1024px) {
    html, body.impulse-template {
        width: 100% !important;
        max-width: 100vw !important;
        overflow-x: hidden !important;
    }

    body.impulse-template *, body.impulse-template *::before, body.impulse-template *::after {
        box-sizing: border-box;
    }

    body.impulse-template .page-shell, body.impulse-template .page-main, body.impulse-template .site-header, body.impulse-template .site-header__top, body.impulse-template .site-header__nav-shell, body.impulse-template .home-page, body.impulse-template .home-page>*, body.impulse-template .home-hero, body.impulse-template .home-categories, body.impulse-template .home-products, body.impulse-template .home-brands, body.impulse-template .home-consult, body.impulse-template .home-scenarios, body.impulse-template .home-reviews, body.impulse-template .home-journal, body.impulse-template .home-subscribe, body.impulse-template .site-footer {
        width: 100% !important;
        max-width: 100vw !important;
        min-width: 0 !important;
        overflow-x: clip;
    }

    body.impulse-template .site-header__prebar-inner, body.impulse-template .site-header__top-inner, body.impulse-template .site-header__nav-shell>.container, body.impulse-template .site-header__mega>.container, body.impulse-template .home-page .container, body.impulse-template .home-hero__content, body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid, body.impulse-template .home-subscribe .container, body.impulse-template .site-footer>.container, body.impulse-template .site-footer__grid, body.impulse-template .site-footer__bottom {
        width: calc(100% - 1.5rem) !important;
        max-width: calc(100vw - 1.5rem) !important;
        min-width: 0 !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    body.impulse-template .home-hero {
        min-height: auto !important;
        overflow: hidden !important;
    }

    body.impulse-template .home-hero__media, body.impulse-template .home-hero__media picture, body.impulse-template .home-hero__media img {
        max-width: 100vw !important;
        min-width: 0 !important;
    }

    body.impulse-template .home-hero__content {
        display: flex !important;
        align-items: center !important;
        justify-content: flex-start !important;
        min-height: 36rem !important;
        padding-top: 4.5rem !important;
        padding-bottom: 2rem !important;
        overflow: visible !important;
    }

    body.impulse-template .home-hero__body, body.impulse-template .home-hero__title, body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts, body.impulse-template .home-hero__actions {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        white-space: normal !important;
        overflow-wrap: break-word;
    }

    body.impulse-template .home-hero__body {
        max-width: 31rem !important;
    }

    body.impulse-template .home-hero__title {
        max-width: 22rem !important;
        font-size: 2.45rem !important;
        line-height: 1.06 !important;
        letter-spacing: 0 !important;
    }

    body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts {
        max-width: 26rem !important;
    }

    body.impulse-template .home-hero__actions {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 0.75rem !important;
    }

    body.impulse-template .home-hero__actions .button {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere;
    }

    body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 1rem !important;
    }

    body.impulse-template .home-category-card, body.impulse-template .home-scenario-card, body.impulse-template .home-consult__card, body.impulse-template .home-review-card, body.impulse-template .home-journal-card {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.impulse-template .home-rail {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body.impulse-template .home-products__grid, body.impulse-template .home-brands__row {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex: 0 0 min(18.5rem, 42vw) !important;
        width: min(18.5rem, 42vw) !important;
        max-width: min(18.5rem, 42vw) !important;
        min-width: 0 !important;
        scroll-snap-align: start;
    }

    body.impulse-template .home-brands__row span {
        flex: 0 0 auto !important;
        scroll-snap-align: start;
    }

    body.impulse-template .home-rail__button, body.impulse-template .home-rail:not(.home-rail--scrollable) .home-rail__button {
        position: static !important;
        display: inline-flex !important;
        transform: none !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    body.impulse-template .site-header__city-popover, body.impulse-template .site-header__mobile-city .site-header__city-popover {
        left: 0.75rem !important;
        right: 0.75rem !important;
        width: auto !important;
        max-width: calc(100vw - 1.5rem) !important;
        min-width: 0 !important;
        transform: none !important;
    }
}

@media (max-width: 767px) {
    body.impulse-template .site-header__prebar, body.impulse-template .site-header__nav-shell, body.impulse-template .site-header__mega {
        display: none !important;
    }

    body.impulse-template .site-header__top-inner, body.impulse-template .home-page .container, body.impulse-template .home-hero__content, body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid, body.impulse-template .home-subscribe .container, body.impulse-template .site-footer>.container, body.impulse-template .site-footer__grid, body.impulse-template .site-footer__bottom {
        width: calc(100% - 3rem) !important;
        max-width: calc(100vw - 3rem) !important;
    }

    body.impulse-template .home-hero__content {
        align-items: center !important;
        min-height: 36rem !important;
        padding-top: 4rem !important;
        padding-bottom: 1.35rem !important;
    }

    body.impulse-template .home-hero__body {
        max-width: min(100%, 20rem) !important;
    }

    body.impulse-template .home-hero__title {
        max-width: 15.5rem !important;
        font-size: 2rem !important;
        line-height: 1.08 !important;
    }

    body.impulse-template .home-hero__text {
        max-width: 19.5rem !important;
        font-size: 1.32rem !important;
        line-height: 1.42 !important;
    }

    body.impulse-template .home-hero__facts {
        max-width: 19.5rem !important;
        font-size: 0.88rem !important;
    }

    body.impulse-template .home-hero__actions {
        grid-template-columns: minmax(0, 1fr) !important;
        max-width: 100% !important;
    }

    body.impulse-template .home-categories__grid, body.impulse-template .home-scenarios__grid, body.impulse-template .home-advantages__grid, body.impulse-template .home-reviews__grid, body.impulse-template .home-journal__grid {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.impulse-template .home-products__grid .home-product-card {
        flex-basis: min(82vw, 18rem) !important;
        width: min(82vw, 18rem) !important;
        max-width: min(82vw, 18rem) !important;
    }

    body.impulse-template .product-page__related-rail {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: visible !important;
    }

    body.impulse-template .product-page__related-grid {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        overflow-x: auto !important;
        overflow-y: visible !important;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
    }

    body.impulse-template .product-page__related-grid .product-card {
        flex: 0 0 min(82vw, 18rem) !important;
        width: min(82vw, 18rem) !important;
        max-width: min(82vw, 18rem) !important;
        min-width: 0 !important;
        scroll-snap-align: start;
    }

    body.impulse-template .product-card__price, body.impulse-template .home-product-card .product-card__price, body.impulse-template .catalog-results__grid .product-card__price, body.impulse-template .product-page__related-grid .product-card__price {
        font-size: 1.3rem !important;
        line-height: 1 !important;
        max-width: 100% !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        font-variant-numeric: tabular-nums;
        letter-spacing: 0 !important;
    }
}

@media (max-width: 430px) {
    body.impulse-template .home-hero__body {
        max-width: min(100%, 18.5rem) !important;
    }

    body.impulse-template .home-hero__title {
        max-width: 14rem !important;
        font-size: 1.96rem !important;
    }

    body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts {
        max-width: 18.5rem !important;
    }
}

body.impulse-template .home-page {
    --home-text-xs: 0.75rem;
    --home-text-sm: 0.875rem;
    --home-text-md: 1rem;
    --home-text-lg: 1.125rem;
    --home-heading-sm: 1.5rem;
    --home-heading-md: 2rem;
    --home-heading-lg: 2.65rem;
    --home-heading-hero: clamp(3.25rem, 5.5vw, 5.25rem);
    font-size: var(--home-text-md);
    line-height: 1.5;
}

body.impulse-template .home-page p, body.impulse-template .home-page li, body.impulse-template .home-category-card__content small, body.impulse-template .home-review-card p, body.impulse-template .home-subscribe p, body.impulse-template .home-consultation__copy p {
    font-size: var(--home-text-md);
    line-height: 1.5;
}

body.impulse-template .home-hero__title {
    font-size: var(--home-heading-hero);
    line-height: 0.98;
}

body.impulse-template .home-section-title, body.impulse-template .home-subscribe h2, body.impulse-template .home-consultation__copy h2 {
    font-size: var(--home-heading-lg);
    line-height: 1.12;
}

body.impulse-template .home-category-card__content strong, body.impulse-template .home-scenario-card span {
    font-size: var(--home-text-lg);
    line-height: 1.2;
}

body.impulse-template .home-advantage {
    font-size: var(--home-text-md);
    line-height: 1.35;
}

body.impulse-template .home-hero__eyebrow, body.impulse-template .text-link, body.impulse-template .home-subscribe__agree, body.impulse-template .home-journal-card span {
    font-size: var(--home-text-sm);
}

body.impulse-template .home-hero__facts, body.impulse-template .home-consultation__copy ul {
    font-size: var(--home-text-md);
}

body.impulse-template .home-brands__row {
    scroll-behavior: smooth;
}

body.impulse-template .home-brands__row span {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.1;
}

body.impulse-template .home-brand-link {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3.25rem;
    color: inherit;
    text-decoration: none;
    scroll-snap-align: start;
}

body.impulse-template .home-brand-link img {
    display: block;
    width: auto;
    max-width: 16rem;
    min-height: 4rem;
    max-height: 4.25rem;
    object-fit: contain;
    filter: grayscale(1);
    opacity: 0.72;
    transition: opacity 0.18s ease, filter 0.18s ease;
}

body.impulse-template .home-brand-link:hover img {
    filter: grayscale(0);
    opacity: 1;
}

body.impulse-template .home-brand-link span {
    font-size: clamp(1.35rem, 2vw, 1.85rem);
    line-height: 1.1;
}

body.impulse-template .home-consultation__card {
    min-height: 23rem;
    height: auto;
}

body.impulse-template .home-consultation__copy {
    display: flex;
    min-height: 100%;
    flex-direction: column;
    align-items: flex-start;
}

body.impulse-template .home-consultation__copy ul {
    margin-top: auto;
    padding-top: 1.8rem;
}

@media (min-width: 1025px) {
    body.impulse-template .home-rail--brands .home-rail__button {
        display: none !important;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    body.impulse-template .home-page {
        --home-heading-lg: 2.25rem;
        --home-heading-hero: 2.65rem;
    }

    body.impulse-template .home-hero__body {
        max-width: 32rem !important;
    }

    body.impulse-template .home-hero__title {
        max-width: 24rem !important;
    }
}

@media (max-width: 767px) {
    body.impulse-template .home-page {
        --home-text-xs: 0.75rem;
        --home-text-sm: 0.875rem;
        --home-text-md: 1rem;
        --home-text-lg: 1.125rem;
        --home-heading-sm: 1.35rem;
        --home-heading-md: 1.65rem;
        --home-heading-lg: 1.75rem;
        --home-heading-hero: 2rem;
    }

    body.impulse-template .home-hero__content {
        min-height: 37rem !important;
        padding-top: 3.25rem !important;
        padding-bottom: 1.6rem !important;
    }

    body.impulse-template .home-hero__body {
        max-width: min(100%, 20.5rem) !important;
    }

    body.impulse-template .home-hero__eyebrow {
        margin-bottom: 1rem;
        font-size: var(--home-text-sm) !important;
        line-height: 1.35;
        letter-spacing: 0.14em;
    }

    body.impulse-template .home-hero__title {
        max-width: 16rem !important;
        font-size: var(--home-heading-hero) !important;
        line-height: 1.08 !important;
    }

    body.impulse-template .home-hero__text, body.impulse-template .home-hero__facts {
        max-width: 20rem !important;
        font-size: var(--home-text-md) !important;
        line-height: 1.45 !important;
    }

    body.impulse-template .home-hero__facts {
        gap: 0.5rem;
    }

    body.impulse-template .home-section-head {
        align-items: flex-start;
        flex-direction: column;
        gap: 0.55rem;
        margin-bottom: 1.15rem;
    }

    body.impulse-template .home-section-title, body.impulse-template .home-subscribe h2, body.impulse-template .home-consultation__copy h2 {
        font-size: var(--home-heading-lg) !important;
        line-height: 1.15 !important;
    }

    body.impulse-template .home-category-card__content strong, body.impulse-template .home-scenario-card span {
        font-size: var(--home-text-lg) !important;
    }

    body.impulse-template .home-category-card__content small, body.impulse-template .home-scenario-card small, body.impulse-template .home-advantage, body.impulse-template .home-review-card p, body.impulse-template .home-subscribe p, body.impulse-template .home-consultation__copy p {
        font-size: var(--home-text-md) !important;
        line-height: 1.45 !important;
    }

    body.impulse-template .home-brands {
        padding-top: 1.75rem;
        padding-bottom: 1.75rem;
    }

    body.impulse-template .home-brands__row {
        gap: 2rem !important;
        padding-top: 0.85rem !important;
        padding-bottom: 0.85rem !important;
    }

    body.impulse-template .home-brands__row span {
        font-size: 1.25rem !important;
    }

    body.impulse-template .home-rail {
        gap: 0.65rem !important;
    }

    body.impulse-template .home-rail__button {
        width: 2.65rem !important;
        height: 2.65rem !important;
        font-size: 1.35rem !important;
    }
}

@media (max-width: 430px) {
    body.impulse-template .home-hero__body {
        max-width: min(100%, 19.5rem) !important;
    }

    body.impulse-template .home-hero__title {
        max-width: 15.5rem !important;
    }
}


.bx-authform-social {
    display: none;
}

.info-page {
    margin-top: 3rem;
}

@media (max-width: 767px) {
    body.impulse-template .mobile-bottom-nav {
        position: fixed !important;
        top: auto !important;
        right: 0 !important;
        bottom: 0 !important;
        left: 0 !important;
        width: 100% !important;
        max-width: 100vw !important;
        margin: 0 !important;
        transform: none !important;
    }
}


.personal-page #profile-edit-form,
.personal-page #personal-settings-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 24px;
    width: 100%;
    max-width: none;
    padding: 30px 32px 28px;
    box-sizing: border-box;
    background: #fff;
    border: 1px solid rgba(33, 29, 27, 0.08);
    border-radius: 18px;
    box-shadow: 0 16px 44px rgba(20, 16, 13, 0.08);
}

.personal-page #profile-edit-form>.account-form__photo,
.personal-page #profile-edit-form>.account-form__grid,
.personal-page #profile-edit-form>.account-form__actions {
    min-width: 0;
    width: 100%;
    grid-column: 1 / -1;
}

.personal-page #profile-edit-form .account-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(280px, 1fr));
    gap: 24px 28px;
    align-items: start;
    width: 100%;
}

.personal-page #profile-edit-form .account-form__field {
    display: grid;
    gap: 10px;
    min-width: 0;
    align-content: start;
    width: 100%;
    align-self: start;
}

.personal-page #profile-edit-form .account-form__photo {
    display: grid;
    grid-template-columns: 96px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(33, 29, 27, 0.1);
}

.personal-page #profile-edit-form .account-form__photo-preview {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    overflow: hidden;
    border: 1px solid rgba(33, 29, 27, 0.1);
    border-radius: 50%;
    background: linear-gradient(180deg, rgba(0, 138, 179, 0.08) 0%, rgba(0, 138, 179, 0.02) 100%);
    color: #008ab3;
}

.personal-page #profile-edit-form .account-form__photo-preview img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.personal-page #profile-edit-form .account-form__photo-preview .icon {
    width: 34px;
    height: 34px;
}

.personal-page #profile-edit-form .account-form__photo-content {
    display: grid;
    gap: 10px;
    justify-items: start;
}

.personal-page #profile-edit-form .account-form__photo-title {
    color: #211d1b;
    font-size: 16px;
    font-weight: 600;
    line-height: 1.4;
}

.personal-page #profile-edit-form .account-form__photo-upload {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 46px;
    padding: 0 18px;
    border: 1px solid rgba(0, 138, 179, 0.24);
    border-radius: 999px;
    color: #008ab3;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    overflow: hidden;
}

.personal-page #profile-edit-form .account-form__photo-upload input[type="file"] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
}

.personal-page #profile-edit-form .account-form__field>span,
.personal-page #profile-edit-form .account-form__checkbox span,
.personal-page #personal-settings-form .personal-settings-form__checkbox span {
    color: #211d1b;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.45;
}

.personal-page #profile-edit-form input[type="text"],
.personal-page #profile-edit-form input[type="email"],
.personal-page #profile-edit-form input[type="tel"] {
    width: 100%;
    min-height: 56px;
    padding: 16px 18px;
    border: 1px solid rgba(33, 29, 27, 0.16);
    border-radius: 10px;
    background: #fff;
    color: #211d1b;
    font-size: 16px;
    line-height: 1.35;
    transition: border-color .2s ease, box-shadow .2s ease;
    box-sizing: border-box;
}

.personal-page #profile-edit-form input[type="text"]:focus,
.personal-page #profile-edit-form input[type="email"]:focus,
.personal-page #profile-edit-form input[type="tel"]:focus {
    border-color: #008ab3;
    box-shadow: 0 0 0 3px rgba(0, 138, 179, 0.14);
    outline: none;
}

.personal-page #profile-edit-form input[readonly] {
    background: #f7f5f2;
    color: rgba(33, 29, 27, 0.72);
    cursor: default;
}

.personal-page #profile-edit-form .account-form__checkbox {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    grid-column: 1 / -1;
    padding-top: 4px;
}

.personal-page #profile-edit-form .account-form__checkbox input[type="checkbox"],
.personal-page #personal-settings-form .personal-settings-form__checkbox input[type="checkbox"] {
    width: 16px;
    height: 16px;
    margin: 0;
    flex: 0 0 auto;
}

.personal-page #profile-edit-form .account-form__hint {
    color: rgba(33, 29, 27, 0.62);
    font-size: 12px;
    line-height: 1.45;
    min-height: 38px;
    max-width: 100%;
}

.personal-page #profile-edit-form .account-form__actions,
.personal-page #personal-settings-form .personal-settings-form__actions {
    display: flex;
    justify-content: flex-end;
    width: 100%;
    justify-self: stretch;
    margin-top: 8px;
    padding-top: 22px;
    border-top: 1px solid rgba(33, 29, 27, 0.1);
}

.personal-page #profile-edit-form .account-form__button,
.personal-page #personal-settings-form .account-form__button {
    min-width: 228px;
    min-height: 56px;
    padding: 16px 32px;
    border: 0;
    background: #008ab3;
    color: #fff;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.personal-page #profile-edit-form .account-form__button:hover,
.personal-page #personal-settings-form .account-form__button:hover {
    background: #00779b;
    box-shadow: 0 10px 22px rgba(0, 138, 179, 0.18);
}

.personal-page #profile-edit-form .account-form__button:focus-visible,
.personal-page #personal-settings-form .account-form__button:focus-visible {
    outline: none;
    box-shadow: 0 0 0 3px rgba(0, 138, 179, 0.18);
}

.personal-page #profile-edit-form .account-form__actions {
    grid-column: 1 / -1;
}

.personal-page .personal-page__content {
    min-width: 0;
    width: 100%;
}

.personal-page.section {
    padding-top: 3.2rem;
    padding-bottom: 3.2rem;
    background: linear-gradient(180deg, #ffffff 0%, #f3f8fb 100%);
}

.personal-page .container {
    max-width: 1240px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.personal-page .personal-section__title {
    margin-bottom: 2rem;
    font-size: clamp(2.25rem, 2.9vw, 2.95rem);
    line-height: 1.06;
}

.personal-page .personal-page__layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 2.2rem;
    align-items: start;
}

.personal-page .personal-nav {
    border: 1px solid rgba(33, 29, 27, 0.08);
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 12px 30px rgba(20, 16, 13, 0.06);
    overflow: hidden;
}

.personal-page .personal-mobile-nav {
    display: none;
}

.personal-page .personal-nav__head {
    padding: 1.2rem 1.35rem 1.05rem;
}

.personal-page .personal-nav__group {
    padding: 0.85rem 0;
}

.personal-page .personal-nav__group-title {
    padding-left: 1.4rem;
    padding-right: 1.4rem;
    letter-spacing: 0.18em;
}

.personal-page .personal-nav__link {
    position: relative;
    margin: 0 0.85rem;
    padding: 0.82rem 1rem 0.82rem 1.15rem;
    border-radius: 10px;
}

.personal-page .personal-nav__link--active {
    background: rgba(0, 138, 179, 0.08);
    color: #008ab3;
    font-weight: 600;
}

.personal-page .personal-nav__link:hover {
    background: rgba(0, 138, 179, 0.06);
    color: #008ab3;
}

.personal-page .personal-nav__link--active::before {
    content: "";
    position: absolute;
    top: 8px;
    bottom: 8px;
    left: -0.85rem;
    width: 3px;
    border-radius: 999px;
    background: #008ab3;
}

.personal-page .personal-nav__logout {
    margin-top: 6rem;
    padding: 1rem 1.4rem 1.15rem;
}

.personal-page #profile-edit-form .account-form__field:has(input[data-input-date]) {
    position: relative;
}

.personal-page #profile-edit-form input[data-input-date] {
    padding-right: 3rem;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%237b7f86' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E");
    background-repeat: no-repeat;
    background-position: right 14px center;
    background-size: 18px 18px;
}

.personal-page #profile-edit-form .account-form__checkbox input[type="checkbox"] {
    appearance: none;
    border: 1.5px solid rgba(0, 138, 179, 0.55);
    border-radius: 5px;
    background: #fff;
}

.personal-page #profile-edit-form .account-form__checkbox input[type="checkbox"]:checked {
    background: linear-gradient(180deg, #1aa7d0 0%, #008ab3 100%);
    border-color: #008ab3;
    box-shadow: inset 0 0 0 3px #fff;
}

.personal-page #profile-edit-form .account-form__button:disabled,
.personal-page #personal-settings-form .account-form__button:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.personal-page #profile-edit-form .account-form__message,
.personal-page #personal-settings-form .account-form__message {
    padding: 14px 16px;
    border: 1px solid rgba(33, 29, 27, 0.12);
    background: #fff;
    font-size: 14px;
    line-height: 1.5;
}

.personal-page #profile-edit-form .account-form__message--success,
.personal-page #personal-settings-form .account-form__message--success {
    border-color: rgba(18, 127, 78, 0.24);
    color: #0f6a42;
}

.personal-page #profile-edit-form .account-form__message--error,
.personal-page #personal-settings-form .account-form__message--error {
    border-color: rgba(171, 54, 54, 0.24);
    color: #9f2b2b;
}

.personal-page #personal-settings-form .personal-settings-form__group {
    display: grid;
    gap: 16px;
}

.personal-page #personal-settings-form .personal-settings-form__checkbox {
    display: grid;
    grid-template-columns: 16px minmax(0, 1fr);
    align-items: start;
    gap: 12px;
}

@media (max-width: 900px) {

    .personal-page.section {
        padding-top: 2rem;
        padding-bottom: 2.4rem;
    }

    .personal-page .container {
        padding: 14px 14px 18px;
    }

    .personal-page .personal-page__layout {
        grid-template-columns: 1fr;
        gap: 1.25rem;
    }

    .personal-page .personal-nav {
        display: none;
    }

    .personal-page .personal-mobile-nav {
        display: grid;
        gap: 0.9rem;
    }

    .personal-page .personal-mobile-nav__card,
    .personal-page .personal-mobile-bonus,
    .personal-page .personal-mobile-dashboard__item,
    .personal-page .personal-mobile-tabs__link {
        border: 1px solid rgba(33, 29, 27, 0.08);
        border-radius: 18px;
        background: #fff;
        box-shadow: 0 10px 26px rgba(20, 16, 13, 0.06);
    }

    .personal-page .personal-mobile-nav__card {
        display: grid;
        grid-template-columns: 56px minmax(0, 1fr);
        gap: 0.9rem;
        align-items: center;
        padding: 1rem;
    }

    .personal-page .personal-mobile-nav__user-icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 56px;
        height: 56px;
        border-radius: 50%;
        background: linear-gradient(180deg, rgba(0, 138, 179, 0.1) 0%, rgba(0, 138, 179, 0.04) 100%);
        color: #008ab3;
    }

    .personal-page .personal-mobile-nav__user-photo {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .personal-page .personal-mobile-nav__user-icon .icon {
        width: 24px;
        height: 24px;
    }

    .personal-page .personal-mobile-nav__user-meta {
        min-width: 0;
    }

    .personal-page .personal-mobile-nav__user-name {
        font-size: 1rem;
        font-weight: 600;
        line-height: 1.3;
        word-break: break-word;
    }

    .personal-page .personal-mobile-nav__user-label,
    .personal-page .personal-mobile-nav__user-detail {
        color: var(--color-muted);
        font-size: 0.86rem;
        line-height: 1.45;
    }

    .personal-page .personal-mobile-dashboard {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.85rem;
    }

    .personal-page .personal-mobile-dashboard__item {
        position: relative;
        display: grid;
        grid-template-rows: 24px minmax(40px, auto);
        align-content: start;
        gap: 0.7rem;
        min-height: 124px;
        padding: 1rem;
        color: inherit;
        text-decoration: none;
    }

    .personal-page .personal-mobile-dashboard__item--active {
        border-color: rgba(0, 138, 179, 0.24);
        box-shadow: 0 14px 30px rgba(0, 138, 179, 0.12);
    }

    .personal-page .personal-mobile-dashboard__icon,
    .personal-page .personal-mobile-tabs__icon {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        color: #008ab3;
    }

    .personal-page .personal-mobile-dashboard__icon .icon,
    .personal-page .personal-mobile-tabs__icon .icon {
        width: 20px;
        height: 20px;
    }

    .personal-page .personal-mobile-dashboard__label {
        font-size: 0.95rem;
        font-weight: 600;
        line-height: 1.35;
        display: flex;
        align-items: flex-start;
    }

    .personal-page .personal-mobile-dashboard__count {
        position: absolute;
        top: 0.9rem;
        right: 0.9rem;
        min-width: 1.45rem;
        height: 1.45rem;
        padding: 0 0.35rem;
        border-radius: 999px;
        background: #008ab3;
        color: #fff;
        font-size: 0.76rem;
        font-weight: 700;
        line-height: 1.45rem;
        text-align: center;
    }

    .personal-page .personal-mobile-bonus {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 1rem;
        padding: 1rem 1.05rem;
        color: inherit;
        text-decoration: none;
    }

    .personal-page .personal-mobile-bonus__meta {
        display: grid;
        gap: 0.24rem;
    }

    .personal-page .personal-mobile-bonus__label {
        color: var(--color-muted);
        font-size: 0.82rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
    }

    .personal-page .personal-mobile-bonus__value {
        font-size: 1.35rem;
        font-weight: 700;
        color: #0f1a2c;
    }

    .personal-page .personal-mobile-bonus__icon {
        color: rgba(0, 138, 179, 0.32);
    }

    .personal-page .personal-mobile-bonus__icon .icon {
        width: 32px;
        height: 32px;
    }

    .personal-page .personal-mobile-tabs {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 0.7rem;
    }

    .personal-page .personal-mobile-tabs__link {
        display: grid;
        grid-template-columns: 22px minmax(0, 1fr);
        align-items: center;
        gap: 0.55rem;
        min-height: 72px;
        padding: 0.85rem 0.95rem;
        color: inherit;
        text-decoration: none;
        font-size: 0.92rem;
        font-weight: 500;
        line-height: 1.3;
        box-sizing: border-box;
    }

    .personal-page .personal-mobile-tabs__link--active {
        border-color: rgba(0, 138, 179, 0.24);
        color: #008ab3;
        box-shadow: 0 14px 30px rgba(0, 138, 179, 0.12);
    }

    .personal-page .personal-page__content {
        min-width: 0;
        overflow: hidden;
        scroll-margin-top: 1rem;
    }

    .personal-page .personal-section__title {
        margin-bottom: 1rem;
        font-size: clamp(1.65rem, 7vw, 2.1rem);
        line-height: 1.1;
    }

    .personal-page #profile-edit-form,
    .personal-page #personal-settings-form {
        padding: 24px 20px;
    }

    .personal-page #profile-edit-form .account-form__photo {
        grid-template-columns: 1fr;
        justify-items: center;
        text-align: center;
    }

    .personal-page #profile-edit-form .account-form__photo-content {
        justify-items: center;
    }

    .personal-page #profile-edit-form .account-form__grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .personal-page #profile-edit-form .account-form__button,
    .personal-page #personal-settings-form .account-form__button {
        width: 100%;
        min-width: 0;
    }

    .personal-profile-card,
    .personal-order-card,
    .address-card,
    .address-form {
        width: 100%;
        min-width: 0;
        box-sizing: border-box;
    }

    .personal-profile__grid,
    .address-form__grid {
        grid-template-columns: 1fr;
    }

    .personal-profile__actions,
    .address-card__actions,
    .address-form__footer,
    .personal-order-card__header,
    .personal-order-card__item,
    .personal-order-card__footer {
        flex-direction: column;
        align-items: flex-start;
    }

    .personal-page .personal-profile__actions .button,
    .personal-page .address-card__actions .address-card__action,
    .personal-page .address-form__footer .button {
        width: 100%;
    }
}

/* Catalog variant picker */
.variant-modal {
    padding: 1rem;
}

.variant-modal__overlay {
    background: rgba(16, 16, 16, 0.62);
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
}

.variant-modal__dialog {
    width: min(100%, 32.5rem);
    max-height: calc(100vh - 2rem);
    border: 1px solid rgba(33, 29, 27, 0.1);
    border-radius: 0.85rem;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.34);
    overflow: auto;
}

.variant-modal__close {
    top: 1.1rem;
    right: 1.15rem;
    z-index: 2;
    width: 2.35rem;
    height: 2.35rem;
    border: 0;
    background: #f3f5f6;
    color: rgba(33, 29, 27, 0.72);
    font-size: 1.45rem;
    line-height: 1;
}

.variant-modal__close:hover,
.variant-modal__close:focus-visible {
    background: #e9edef;
    color: #211d1b;
    outline: none;
}

.variant-modal__content {
    padding: 1.75rem 1.75rem 1.65rem;
}

.variant-modal__heading {
    margin: 0 3rem 0.75rem 0;
    color: #211d1b;
    font-family: var(--font-body);
    font-size: 1.42rem;
    font-weight: 700;
    line-height: 1.2;
}

.variant-modal__product {
    display: grid;
    grid-template-columns: 108px minmax(0, 1fr);
    gap: 1.45rem;
    align-items: center;
    padding-bottom: 1rem;
    border-bottom: 1px solid rgba(33, 29, 27, 0.1);
}

.variant-modal__media {
    width: 108px;
    height: 98px;
    border: 1px solid rgba(33, 29, 27, 0.1);
    border-radius: 0.7rem;
    background: #f6f6f4;
}

.variant-modal__media img {
    object-fit: contain;
}

.variant-modal__head-main {
    min-width: 0;
}

.variant-modal__title {
    color: #211d1b;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.35;
}

.variant-modal__block {
    margin-top: 1.35rem;
}

.variant-modal__label {
    margin-bottom: 0.7rem;
    color: #211d1b;
    font-size: 0.9rem;
    font-weight: 650;
    letter-spacing: 0;
    line-height: 1.3;
    text-transform: none;
}

.variant-modal__label span {
    color: #dc3545;
}

.variant-modal__colors {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.variant-modal__color-option {
    display: inline-flex;
    align-items: center;
    gap: 0;
    width: 46px;
    min-width: 46px;
    height: 46px;
    padding: 5px;
    overflow: hidden;
    border: 1px solid rgba(33, 29, 27, 0.16);
    border-radius: 0.55rem;
    background: #fff;
    color: #211d1b;
    cursor: pointer;
    transition: width 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.variant-modal__color-option:hover,
.variant-modal__color-option:focus-visible {
    border-color: rgba(0, 138, 179, 0.55);
    outline: none;
}

.variant-modal__color-option[aria-pressed=true] {
    width: auto;
    max-width: 100%;
    gap: 0.65rem;
    padding-right: 0.9rem;
    border-color: #159bc3;
    box-shadow: 0 0 0 2px rgba(0, 138, 179, 0.1);
}

.variant-modal__color-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid rgba(33, 29, 27, 0.14);
    border-radius: 0.38rem;
    background: var(--swatch-color, #e1e1e1);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.72);
}

.variant-modal__color-check {
    display: none;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 0.3rem;
    background: rgba(16, 31, 43, 0.7);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
}

.variant-modal__color-option[aria-pressed=true] .variant-modal__color-check {
    display: inline-flex;
}

.variant-modal__color-name {
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    font-size: 0.9rem;
    line-height: 1.2;
    white-space: nowrap;
    transition: max-width 180ms ease, opacity 180ms ease;
}

.variant-modal__color-option[aria-pressed=true] .variant-modal__color-name {
    max-width: 16rem;
    opacity: 1;
}

.variant-modal__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.variant-modal__opt {
    min-width: 88px;
    min-height: 44px;
    padding: 0.65rem 1rem;
    border-color: rgba(33, 29, 27, 0.16);
    border-radius: 0.55rem;
    background: #fff;
    color: #211d1b;
    font-size: 0.9rem;
    line-height: 1.2;
}

.variant-modal__opt:hover,
.variant-modal__opt:focus-visible {
    border-color: rgba(0, 138, 179, 0.55);
    outline: none;
}

.variant-modal__opt[aria-pressed=true],
.variant-modal__opt.is-active {
    border-color: #159bc3;
    background: rgba(0, 138, 179, 0.08);
    box-shadow: 0 0 0 2px rgba(0, 138, 179, 0.09);
}

.variant-modal__notice {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: 1.1rem;
    padding: 0.7rem 0.75rem;
    border-radius: 0.38rem;
    background: #f4f7f9;
    color: rgba(33, 29, 27, 0.62);
    font-size: 0.74rem;
    line-height: 1.35;
}

.variant-modal__notice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border-radius: 50%;
    background: #3098b8;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    font-family: Arial, sans-serif;
}

.variant-modal__actions {
    margin-top: 0.8rem;
}

.variant-modal__submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 50px;
    padding: 0.85rem 1.1rem;
    border-radius: 0.15rem;
    background: #159bc3;
    font-size: 0.82rem;
    letter-spacing: 0.02em;
    text-transform: none;
    transition: background-color 160ms ease, opacity 160ms ease;
}

.variant-modal__submit:not(:disabled):hover,
.variant-modal__submit:not(:disabled):focus-visible {
    background: #0c86aa;
    outline: none;
}

.variant-modal__submit:disabled {
    background: #a9d4e1;
    color: rgba(255, 255, 255, 0.94);
    opacity: 1;
}

.variant-modal__submit-icon {
    display: inline-flex;
    width: 17px;
    height: 17px;
}

.variant-modal__submit-icon svg {
    width: 100%;
    height: 100%;
    stroke: currentColor;
    stroke-width: 1.7;
    stroke-linecap: round;
    stroke-linejoin: round;
}

@media (max-width: 560px) {
    .variant-modal {
        align-items: center;
        padding: 0.5rem;
    }

    .variant-modal__dialog {
        width: 100%;
        max-height: calc(100vh - 1rem);
        border-radius: 0.75rem;
    }

    .variant-modal__content {
        padding: 1.25rem 1.15rem 1.15rem;
    }

    .variant-modal__close {
        top: 0.75rem;
        right: 0.75rem;
        width: 2.15rem;
        height: 2.15rem;
    }

    .variant-modal__heading {
        margin-right: 2.6rem;
        font-size: 1.3rem;
    }

    .variant-modal__product {
        grid-template-columns: 84px minmax(0, 1fr);
        gap: 1rem;
    }

    .variant-modal__media {
        width: 84px;
        height: 84px;
    }

    .variant-modal__title {
        font-size: 0.94rem;
    }

    .variant-modal__block {
        margin-top: 1.1rem;
    }

    .variant-modal__opt {
        min-width: 76px;
        flex: 1 1 76px;
    }

    .variant-modal__notice {
        align-items: flex-start;
    }
}

@media (max-width: 360px) {
    .variant-modal__content {
        padding-right: 0.9rem;
        padding-left: 0.9rem;
    }

    .variant-modal__heading {
        font-size: 1.18rem;
    }

    .variant-modal__product {
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 0.75rem;
    }

    .variant-modal__media {
        width: 72px;
        height: 72px;
    }
}

/* Product page variant picker aligned with the catalog modal. */
.product-page__options {
    max-width: 40rem;
    gap: 1.25rem;
}

.product-page__option-group {
    gap: 0;
    margin-bottom: 0.2rem;
}

.product-page__option-label {
    margin-bottom: 0.7rem;
    color: #211d1b;
    font-size: 0.9rem;
    font-weight: 650;
    letter-spacing: 0;
    line-height: 1.3;
    text-transform: none;
}

.product-page__option-label>span {
    color: #dc3545;
}

.product-page__colors,
.product-page__sizes {
    display: flex;
    flex-wrap: wrap;
    gap: 0.6rem;
}

.product-page__color-option {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 0;
    width: 46px;
    min-width: 46px;
    height: 46px;
    padding: 3px;
    overflow: hidden;
    border: 1px solid rgba(33, 29, 27, 0.16);
    border-radius: 0.55rem;
    background: #fff;
    color: #211d1b;
    cursor: pointer;
    transform: none;
    box-shadow: none;
    transition: width 180ms ease, border-color 180ms ease, box-shadow 180ms ease;
}

.product-page__color-option::after {
    content: none;
}

.product-page__color-option:hover,
.product-page__color-option:focus-visible {
    border-color: rgba(0, 138, 179, 0.55);
    outline: none;
    transform: none;
    box-shadow: none;
}

.product-page__color-option.is-active,
.product-page__color-option[aria-pressed="true"] {
    width: auto;
    max-width: 100%;
    gap: 0.65rem;
    padding-right: 0.9rem;
    border-color: #159bc3;
    box-shadow: 0 0 0 2px rgba(0, 138, 179, 0.1);
}

.product-page__color-chip {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    flex: 0 0 34px;
    border: 1px solid rgba(33, 29, 27, 0.14);
    border-radius: 0.38rem;
    background: var(--swatch-color, #e1e1e1);
    box-shadow: inset 0 0 0 2px rgba(255, 255, 255, 0.72);
}

.product-page__color-check {
    display: none;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    border-radius: 0.3rem;
    background: rgba(16, 31, 43, 0.7);
    color: #fff;
    font-size: 0.82rem;
    font-weight: 700;
}

.product-page__color-option.is-active .product-page__color-check,
.product-page__color-option[aria-pressed="true"] .product-page__color-check {
    display: inline-flex;
}

.product-page__color-name {
    max-width: 0;
    overflow: hidden;
    opacity: 0;
    font-size: 0.9rem;
    line-height: 1.2;
    white-space: nowrap;
    transition: max-width 180ms ease, opacity 180ms ease;
}

.product-page__color-option.is-active .product-page__color-name,
.product-page__color-option[aria-pressed="true"] .product-page__color-name {
    max-width: 16rem;
    opacity: 1;
}

.product-page__size {
    min-width: 88px;
    min-height: 44px;
    padding: 0.65rem 1rem;
    border: 1px solid rgba(33, 29, 27, 0.16);
    border-radius: 0.55rem;
    background: #fff;
    color: #211d1b;
    font-size: 0.9rem;
    font-weight: 500;
    line-height: 1.2;
    transform: none;
}

.product-page__size:hover,
.product-page__size:focus-visible {
    border-color: rgba(0, 138, 179, 0.55);
    background: #fff;
    outline: none;
    transform: none;
}

.product-page__size.is-active,
.product-page__size[aria-pressed="true"] {
    border-color: #159bc3;
    background: rgba(0, 138, 179, 0.08);
    box-shadow: 0 0 0 2px rgba(0, 138, 179, 0.09);
}

.product-page__color-option:disabled,
.product-page__size:disabled {
    cursor: not-allowed;
    opacity: 0.38;
}

.product-page__variant-notice {
    display: flex;
    align-items: center;
    gap: 0.55rem;
    margin-top: -0.1rem;
    padding: 0.5rem 0.7rem;
    border-radius: 0.38rem;
    background: #f4f7f9;
    color: rgba(33, 29, 27, 0.62);
    font-size: 0.74rem;
    line-height: 1.35;
}

.product-page__variant-notice[hidden] {
    display: none;
}

.product-page__variant-notice-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    flex: 0 0 16px;
    border-radius: 50%;
    background: #3098b8;
    color: #fff;
    font-family: Arial, sans-serif;
    font-size: 0.68rem;
    font-weight: 700;
}

.product-page__cart-button:disabled,
.product-page__cart-button[aria-disabled="true"] {
    cursor: not-allowed;
    background: #a9d4e1;
    color: rgba(255, 255, 255, 0.94);
    opacity: 1;
}

@media (max-width: 560px) {
    .product-page__size {
        min-width: 76px;
        flex: 1 1 76px;
    }

    .product-page__variant-notice {
        align-items: flex-start;
    }
}

/* Keep catalog prices inside the card footer at every card width. */
.product-card__footer,
.catalog-results__grid .product-card__footer,
.product-page__related-grid .product-card__footer,
.home-product-card .product-card__footer {
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    max-width: 100%;
}

.product-card__price-wrap,
.catalog-results__grid .product-card__price-wrap,
.product-page__related-grid .product-card__price-wrap,
.home-product-card .product-card__price-wrap {
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    container-type: inline-size;
    container-name: product-price;
}

.product-card__price-wrap .product-card__price {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    overflow: visible;
    font-size: clamp(0.75rem, 22cqi, 1.18rem);
    white-space: nowrap;
    text-wrap: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

.catalog-results__grid .product-card__price-wrap .product-card__price,
.product-page__related-grid .product-card__price-wrap .product-card__price,
.home-product-card .product-card__price-wrap .product-card__price {
    font-size: clamp(0.75rem, 22cqi, 1.18rem);
}

.product-card__price-wrap .product-card__price--long,
.catalog-results__grid .product-card__price-wrap .product-card__price--long,
.product-page__related-grid .product-card__price-wrap .product-card__price--long,
.home-product-card .product-card__price-wrap .product-card__price--long {
    font-size: clamp(0.65rem, 22cqi, 1.96rem);
    letter-spacing: -0.02em;
}

.product-card__price-wrap .product-card__price--compact,
.catalog-results__grid .product-card__price-wrap .product-card__price--compact,
.product-page__related-grid .product-card__price-wrap .product-card__price--compact,
.home-product-card .product-card__price-wrap .product-card__price--compact {
    margin: 0;
    overflow: visible;
    font-size: clamp(0.5rem, 12cqi, 0.98rem);
    line-height: 1;
    letter-spacing: -0.025em;
    white-space: nowrap;
    text-wrap: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

.product-card__footer:has(.product-card__price--compact) {
    gap: 0.3rem;
}

.product-card__footer:has(.product-card__price--compact) .product-card__actions {
    gap: 0.25rem;
}

.product-card__footer:has(.product-card__price--compact) .product-card__cta {
    min-height: 2.3rem;
    padding-inline: 0.62rem;
    font-size: 0.56rem;
}

.product-card__footer:has(.product-card__price--compact) .product-card__cart {
    width: 2.2rem;
    height: 2.2rem;
}

@supports not (font-size: 1cqi) {
    .product-card__price-wrap .product-card__price {
        font-size: 0.9rem;
    }

    .product-card__price-wrap .product-card__price--long {
        font-size: 0.72rem;
    }

    .product-card__price-wrap .product-card__price--compact {
        font-size: 0.5rem;
    }
}

/* Render the full-title tooltip outside the line-clamped heading. */
.product-card__title-block {
    position: relative;
    min-width: 0;
}

.product-card__title-tooltip {
    position: absolute;
    top: auto;
    bottom: calc(100% + 0.45rem);
    left: 0;
    z-index: 100;
    display: block;
    width: min(18rem, 100%);
    box-sizing: border-box;
    padding: 0.7rem 0.85rem;
    border: 1px solid rgba(33, 29, 27, 0.14);
    background: rgba(29, 26, 24, 0.96);
    box-shadow: 0 16px 36px rgba(17, 15, 14, 0.22);
    color: #fff;
    font-family: var(--font-body);
    font-size: 0.84rem;
    font-weight: 500;
    line-height: 1.35;
    letter-spacing: 0;
    white-space: normal;
    text-transform: none;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(0.25rem);
    transition: opacity 180ms ease, transform 180ms ease, visibility 180ms ease;
}

.product-card__title-block.has-title-tooltip:hover,
.product-card__title-block.has-title-tooltip:focus-within {
    z-index: 100;
}

.product-card__title-block.has-title-tooltip:hover .product-card__title-tooltip,
.product-card__title-block.has-title-tooltip:focus-within .product-card__title-tooltip {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}

.variant-modal__color-option:disabled,
.variant-modal__color-option.is-disabled {
    opacity: 0.38;
    filter: grayscale(0.72);
    cursor: not-allowed;
}

.variant-modal__color-option:disabled:hover,
.variant-modal__color-option:disabled:focus-visible {
    border-color: rgba(33, 29, 27, 0.16);
    box-shadow: none;
}

.variant-modal__color-option:disabled .variant-modal__color-chip::after,
.variant-modal__color-option.is-disabled .variant-modal__color-chip::after {
    content: "";
    position: absolute;
    top: 50%;
    left: -3px;
    width: calc(100% + 6px);
    height: 1px;
    background: #746f6c;
    transform: rotate(-45deg);
}

/* End */
/* /local/css/custom.css?17778205939222 */
/* /local/css/custom2.css?1783140399358 */
/* /bitrix/templates/impulse/css/site.css?178681852349092 */
/* /bitrix/templates/impulse/css/ui-kit.css?17868185239192 */
/* /bitrix/templates/impulse/css/site2.css?178681852312459 */
/* /bitrix/templates/impulse/css/core-page.css?178681852115443 */
/* /bitrix/templates/impulse/css/commerce.css?17868185217444 */
/* /bitrix/templates/impulse/css/catalog.css?178681852145226 */
/* /bitrix/templates/impulse/template_styles.css?1786818519348551 */
