:root {
    /* Typography: Montserrat is the working family pending visual verification. */
    --font-headers-main: 'Montserrat Bold';
    --font-headers-bold: 'Montserrat Bold';
    --font-regular: 'Montserrat Regular';
    --font-bold: 'Montserrat Bold';
    --font-title-bold: 'Montserrat Bold';

    --font-weight-regular: 400;
    --font-weight-medium: 500;
    --font-weight-semibold: 600;
    --font-weight-bold: 700;
    --font-size-display: var(--size-32-42);
    --font-size-h1: var(--size-24-36);
    --font-size-h2: var(--size-24-36);
    --font-size-card-title: clamp(1.125rem, 1.0341rem + 0.4545vw, 1.375rem);
    --font-size-price: var(--size-24-36);
    --font-size-body-large: var(--size-16-18);
    --font-size-body: var(--size-14-16);
    --font-size-small: var(--size-12-14);
    --font-size-button: clamp(0.9375rem, 0.8693rem + 0.3409vw, 1.125rem);
    --line-height-tight: 1.2;
    --line-height-body: 1.5;

    /* Design-system colors. */
    --color-primary: #FF6D3D;
    --color-accent: #FF6842;
    --color-text: #15191F;
    --color-text-secondary: #5F646B;
    --color-text-muted: #9298A1;
    --color-text-inverse: var(--color-bg);
    --color-background: #F7F8FA;
    --color-bg: #FFFFFF;
    --color-bg-secondary: #F1F3F5;
    --color-bg-dark: #070809;
    --color-border: #D9DDE2;
    --color-border-strong: #979DA5;
    --color-white: var(--color-bg);
    --color-black: var(--color-bg-dark);

    /* Existing state colors are retained for compatibility, not approved as new UI states. */
    --color-primary-hover: #b21007;  /* затемнение */
    --color-primary-active: #C98700; /* ещё темнее */
    --color-primary-disabled: #F5D68A; /* осветлённый */
    --color-success: #2E7D32;
    --color-warning: #F59E0B;
    --color-error: #D32F2F;
    --color-info: #0288D1;

    /* Legacy names used by existing blocks, normalized to the system palette. */
    --color-gray-l: var(--color-border);
    --color-gray: var(--color-text-muted);
    --color-gray-d: var(--color-text-secondary);
    --color-orange: var(--color-primary);
    --color-secondary: var(--color-primary);
    --color-secondary-d: var(--color-primary);
    --color-secondary-d-2: var(--color-primary);
    --color-secondary-l: var(--color-bg-secondary);
    --color-green: var(--color-success);
    --color-red: var(--color-error);
    --color-blue-l: var(--color-text-secondary);
    --color-blue: var(--color-accent);
    --color-blue-d: var(--color-bg-dark);
    --color-tg: #0088CC;
    --color-max: #6C33E8;

    /* Layout and spacing. */
    --container-max: 1320px;
    --container-content: 1120px;
    --container-gutter: 24px;
    --space-1: 4px;
    --space-2: 8px;
    --space-3: 12px;
    --space-4: 16px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 48px;
    --space-8: 72px;
    --space-9: 96px;

    /* Shape, borders and elevation. */
    --border-radius-small: 6px;
    --border-radius-default: 10px;
    --border-radius-large: 16px;
    --border-radius-round: 999px;
    --border-radius-button: var(--border-radius-small);
    --border-radius-button-inner: var(--border-radius-round);
    --border-radius-form-control: var(--border-radius-small);
    --border-default: 1px solid var(--color-border);
    --box-shadow-default: 0 3px 10px rgba(15, 23, 42, 0.10);
    --box-shadow-default-2: 0 8px 22px rgba(15, 23, 42, 0.14);

    --height-item-param: 24px; /* 18 + gap 6  */

    --size-1_3-1_66: clamp(1.33, calc(1.33 + (1.66 - 1.33) * ((100vw - 320px) / (1200px - 320px))), 1.66);
    --size-0-12: clamp(0rem, -0.2727rem + 1.3636vw, 0.75rem);
    --size-0-24: clamp(0rem, -0.5455rem + 2.7273vw, 1.5rem);
    --size-2-3: clamp(0.125rem, 0.1023rem + 0.1136vw, 0.1875rem);
    --size-4-6: clamp(0.25rem, 0.2045rem + 0.2273vw, 0.375rem);
    --size-4-8: clamp(0.25rem, 0.1591rem + 0.4545vw, 0.5rem);
    --size-6-8: clamp(0.375rem, 0.3295rem + 0.2273vw, 0.5rem);
    --size-6-10: clamp(0.375rem, 0.2841rem + 0.4545vw, 0.625rem);
    --size-6-12: clamp(0.375rem, 0.2386rem + 0.6818vw, 0.75rem);
    --size-6-18: clamp(0.375rem, 0.1023rem + 1.3636vw, 1.125rem);
    --size-6-24: clamp(0.375rem, -0.0341rem + 2.0455vw, 1.5rem);
    --size-8-10: clamp(0.5rem, 0.4545rem + 0.2273vw, 0.625rem);
    --size-8-12: clamp(0.5rem, 0.4091rem + 0.4545vw, 0.75rem);
    --size-8-16: clamp(0.5rem, 0.3182rem + 0.9091vw, 1rem);
    --size-10-12: clamp(0.625rem, 0.5795rem + 0.2273vw, 0.75rem);
    --size-10-14: clamp(0.625rem, 0.5341rem + 0.4545vw, 0.875rem);
    --size-12-14: clamp(0.75rem, 0.7045rem + 0.2273vw, 0.875rem);
    --size-12-16: clamp(0.75rem, 0.6591rem + 0.4545vw, 1rem);
    --size-12-24: clamp(0.75rem, 0.4773rem + 1.3636vw, 1.5rem);
    --size-12-18: clamp(0.75rem, 0.6136rem + 0.6818vw, 1.125rem);
    --size-12-32: clamp(0.75rem, 0.2955rem + 2.2727vw, 2rem);
    --size-14-16: clamp(0.875rem, 0.8295rem + 0.2273vw, 1rem);
    --size-14-18: clamp(0.875rem, 0.7841rem + 0.4545vw, 1.125rem);
    --size-14-24: clamp(0.875rem, 0.6477rem + 1.1364vw, 1.5rem);
    --size-15-30: clamp(0.9375rem, 0.5966rem + 1.7045vw, 1.875rem);
    --size-16-18: clamp(1rem, 0.9545rem + 0.2273vw, 1.125rem);
    --size-16-20: clamp(1rem, 0.9091rem + 0.4545vw, 1.25rem);
    --size-16-22: clamp(1rem, 0.8636rem + 0.6818vw, 1.375rem);
    --size-16-24: clamp(1rem, 0.8182rem + 0.9091vw, 1.5rem);
    --size-16-28: clamp(1rem, 0.7273rem + 1.3636vw, 1.75rem);
    --size-18-24: clamp(1.125rem, 0.9886rem + 0.6818vw, 1.5rem);
    --size-18-32: clamp(1.125rem, 0.8068rem + 1.5909vw, 2rem);
    --size-18-36: clamp(1.125rem, 0.7159rem + 2.0455vw, 2.25rem);
    --size-18-42: clamp(1.125rem, 0.5795rem + 2.7273vw, 2.625rem);
    --size-18-48: clamp(1.125rem, 0.4432rem + 3.4091vw, 3rem);
    --size-18-60: clamp(1.125rem, 0.1705rem + 4.7727vw, 3.75rem);
    --size-24-32: clamp(1.5rem, 1.3182rem + 0.9091vw, 2rem);
    --size-24-36: clamp(1.5rem, 1.2273rem + 1.3636vw, 2.25rem);
    --size-24-48: clamp(1.5rem, 0.9545rem + 2.7273vw, 3rem);
    --size-24-60: clamp(1.5rem, 0.6818rem + 4.0909vw, 3.75rem);
    --size-24-72: clamp(1.5rem, 0.4091rem + 5.4545vw, 4.5rem);
    --size-24-80: clamp(1.5rem, 0.2273rem + 6.3636vw, 5rem);
    --size-28-96: clamp(1.75rem, 0.2045rem + 7.7273vw, 6rem);
    --size-32-42: clamp(2rem, 1.7727rem + 1.1364vw, 2.625rem);
    --size-32-48: clamp(2rem, 1.6364rem + 1.8182vw, 3rem);
    --size-36-120: clamp(2.25rem, 0.3409rem + 9.5455vw, 7.5rem);
    --size-48-96: clamp(3rem, 1.9091rem + 5.4545vw, 6rem);
}

@media screen and (max-width: 1023px) {
    :root {
        --container-gutter: 20px;
    }
}

@media screen and (max-width: 767px) {
    :root {
        --container-gutter: 16px;
    }
}

html, body {
    /* overflow-x: clip; */
}

html, body, .page-container, .overflow {
    /* height: 100vh; */
}

body {
	font-family: var(--font-regular);
	font-size: var(--font-size-body);
	line-height: var(--line-height-body);
	color: var(--color-text);
    background-color: var(--color-background);
}

.page-container {
    
}

body.scroll-lock{
    overflow: hidden !important;
    overscroll-behavior: contain;
    position: relative !important;
    padding-left: 0px;
    padding-top: 0px;
    padding-right: 0px;
    margin-left: 0;
    margin-top: 0;
    margin-right: 15px !important;
}

@media screen and (max-width: 576px) {
    body.scroll-lock{
        margin-right: 0 !important;
    }
    
}

body.catalog-panel-open:after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.5);
    z-index: 900;
}

@media (min-width: 1400px) {
    .container, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
        max-width: var(--container-max);
    }
}

.table-scroll-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

table {
  width: 100%;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #e5e7eb; /* внешняя рамка */
  margin-bottom: var(--size-6-12);
}

table th,
table td {
  padding: 10px 14px;
  text-align: left;
  border: 1px solid #e5e7eb; /* все промежуточные границы */
}

table th {
  background: #f8fafc;
  font-weight: 600;
  color: #1E293B;
}

table tr:hover {
  background: #f9fafb;
}

.form-control {
    width: 100%;
    min-height: 48px;
    padding: 10px 16px;
    font-family: var(--font-regular);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    color: var(--color-text);
    background-color: var(--color-bg);
    border: var(--border-default);
    border-radius: var(--border-radius-form-control);
    box-shadow: none;
}

.form-control::placeholder {
    color: var(--color-text-muted);
}

.form-control:focus {
    color: var(--color-text);
    background-color: var(--color-bg);
    border-color: var(--color-accent);
    outline: 1px solid var(--color-accent);
    box-shadow: none;
}

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

.icon-16 {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
}

.icon-18-24 {
    width: var(--size-18-24);
    height: var(--size-18-24);
    min-width: var(--size-18-24);
    min-height: var(--size-18-24);
}

.icon-20 {
    width: 20px;
    height: 20px;
    min-width: 20px;
    min-height: 20px;
}

.icon-24 {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
}

.icon-32 {
    width: 32px;
    height: 32px;
    min-width: 32px;
    min-height: 32px;
}

.icon-24-32 {
    width: var(--size-24-32);
    height: var(--size-24-32);
    min-width: var(--size-24-32);
    min-height: var(--size-24-32);
}

.fs-12 {
    font-size: 12px;
}

.c-gray {
    color: var(--color-gray);
}

.c-seconday-l {
    color: var(--color-secondary-l);
}

.f-white {
    fill: var(--color-white);
}

.f-gray {
    fill: var(--color-gray);
}

.f-blue-d {
    fill: var(--color-blue-d);
}

.f-primary {
    fill: var(--color-primary);
}

.f-black {
    fill: var(--color-black);
}

.f-secondary {
    fill: var(--color-secondary)
}

.f-secondary-d {
    fill: var(--color-secondary-d)
}

.f-secondary-d-2 {
    fill: var(--color-secondary-d-2)
}

.f-tg {
    fill: var(--color-tg)
}

.f-max {
    fill: var(--color-max)
}

.s-gray {
    stroke: var(--color-gray);
}

.s-blue-d {
    stroke: var(--color-blue-d);
}

.s-red {
    stroke: var(--color-red);
}

.s-attention {
    stroke: var(--color-red);
}

.s-white {
    stroke: var(--color-white);
}

.s-black {
    stroke: var(--color-black);
}

.s-primary {
    stroke: var(--color-primary);
}

.s-secondary {
    stroke: var(--color-secondary);
}

.font-title-bold {
    font-family: var(--font-title-bold);
}

.tr-15 {
    transition: 0.15s;
}

.gap-6 {
    gap: 6px;
}

.gap-6-12 {
    gap: var(--size-6-12);
}

.gap-12 {
    gap: 12px;
}

.gap-12-24 {
    gap: var(--size-12-24);
}



.shadow-2 {
    box-shadow: var(--box-shadow-default-2);
}

.border-radius {
    border-radius: var(--border-radius-default);
}

a {
    /* transition: 0.15s; */
}

a,
a:focus,
a:hover,
a:active,
a:visited {
	color: inherit;
	text-decoration: none;
}

a.link:hover {
    text-decoration: underline;
}

a:hover {
    color: var(--color-primary-hover);
}

a svg.s-hover,
a svg.f-hover {
    transition: 0.15s;
}

a:hover svg.s-hover {
    stroke: var(--color-primary-hover);
}

a:hover svg.f-hover {
    stroke: var(--color-primary-hover);
}


ol, ul, li {
    
}

ol {
    counter-reset: num;
    padding-left: 0;
    list-style: none;
}

.b-text ol, .b-text ul {
    margin: var(--size-12-24) 0;
}

.b-text {
    word-break: break-word;
}

.b-text p {
    margin: var(--size-12-24) 0;
}

.b-text a {
    text-decoration: underline;
    color: var(--color-primary);
}

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

.b-text {
    margin-top: var(--size-12-24);
}


ol li {
    counter-increment: num;
    margin: 0 0 var(--size-6-12) 0;
    padding-left: 40px; /* расстояние между цифрой и текстом */
    position: relative;
}

ol li::before {
    
    content: counter(num);
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 28px;
    height: 28px;
    border: 2px solid var(--color-secondary-l);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    box-shadow: 
        rgba(0, 0, 0, 0.1) 0px 0px 12px,
        0 0 0 4px #fff;
    background: var(--color-white);
    font-weight: 600;
}

h1 {
    font-family: var(--font-headers-main);
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    margin: var(--space-6) 0 var(--space-3);
    padding: 0;
}

h2 {
    font-family: var(--font-headers-main);
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    margin: 0 0 var(--space-5);
    padding: 0;
}

h5 {
    font-family: var(--font-headers-main);
}

/* Design-system primitives. */
.section-heading {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
    margin-bottom: var(--space-7);
    text-align: center;
}

.section-heading__title {
    margin: 0;
    padding: 0;
    font-family: var(--font-headers-main);
    font-size: var(--font-size-h2);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    color: var(--color-text);
}

.section-heading__accent {
    color: var(--color-accent);
}

.section-heading__marker {
    display: block;
    width: clamp(56px, 6vw, 96px);
    height: 4px;
    background-color: var(--color-accent);
}

.section-heading__description {
    max-width: 70ch;
    margin: 0;
    color: var(--color-text-secondary);
}

.section-heading--left {
    align-items: flex-start;
    text-align: left;
}

.section-heading--compact {
    gap: var(--space-2);
    margin-bottom: var(--space-5);
}

.section-heading--accent-word .section-heading__marker {
    display: none;
}

.button.button--primary,
.button.button--secondary,
.button.button--dark,
.button.button--icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: var(--space-2);
    min-height: 44px;
    padding: 10px var(--space-5);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-button);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    text-align: center;
    text-decoration: none;
    border: 1px solid transparent;
    border-radius: var(--border-radius-button);
    cursor: pointer;
}

.button.button--primary {
    color: var(--color-text-inverse);
    background-color: var(--color-primary);
}

.button.button--secondary {
    color: var(--color-text);
    background-color: var(--color-bg);
    border-color: var(--color-border-strong);
}

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

.button.button--icon {
    width: 44px;
    padding: 10px;
}

.button__icon {
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
}

.button--block {
    width: 100%;
}

.button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover,
.btn-default:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):hover,
.button:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):focus-visible,
.btn-default:not(:disabled):not([aria-disabled="true"]):not(.disabled):not(.is-disabled):focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.card {
    color: var(--color-text);
    background-color: var(--color-bg);
    border: var(--border-default);
    border-radius: var(--border-radius-default);
}

.card--elevated {
    border-radius: var(--border-radius-large);
    box-shadow: var(--box-shadow-default-2);
}

.card--interactive {
    transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.card--interactive:hover,
.card--interactive:focus-visible {
    border-color: var(--color-accent);
}

.card--interactive:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

/* Product listing / product-card--catalog. */
.product-listing__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-4);
    margin: 0;
    padding: 0;
    list-style: none;
}

.product-card--catalog {
    display: flex;
    min-width: 0;
    overflow: hidden;
    flex-direction: column;
}

.product-card__media {
    position: relative;
    aspect-ratio: 4 / 3;
    padding: var(--space-3);
    background-color: var(--color-bg);
}

.product-card__media-inner,
.product-card__image {
    display: block;
    width: 100%;
    height: 100%;
}

.product-card__image {
    object-fit: contain;
}

.product-card__tools {
    position: absolute;
    top: var(--space-2);
    right: var(--space-2);
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
}

.product-card__tool.button.button--icon {
    color: var(--color-primary);
    background-color: transparent;
    border-color: transparent;
}

.product-card__body {
    display: flex;
    flex: 1;
    flex-direction: column;
    padding: var(--space-4);
}

.product-card__title {
    display: block;
    color: var(--color-text);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    text-decoration: none;
}

.product-card__title:hover {
    color: var(--color-primary);
}

.product-card__params {
    display: -webkit-box;
    margin-top: var(--space-2);
    margin-bottom: 0;
    overflow: hidden;
    color: var(--color-text-secondary);
    font-size: var(--font-size-small);
    line-height: var(--line-height-body);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

.product-card__param-title {
    color: var(--color-text-secondary);
}

.product-card__param-value {
    color: var(--color-text);
    font-weight: var(--font-weight-medium);
}

.product-card__params.is-expanded {
    display: block;
    overflow: visible;
    -webkit-line-clamp: initial;
}

.product-card__params-toggle {
    align-self: flex-start;
    margin-top: var(--space-2);
    padding: 0;
    color: var(--color-primary);
    font: inherit;
    font-size: var(--font-size-small);
    line-height: var(--line-height-body);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.product-card__params-toggle:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.product-card__price {
    margin-top: auto;
    padding-top: var(--space-3);
    color: var(--color-primary);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-body-large);
    font-weight: var(--font-weight-bold);
    font-variant-numeric: tabular-nums;
    line-height: var(--line-height-tight);
}

.product-card__actions {
    margin-top: var(--space-3);
}

.product-card__cart-control {
    min-height: 44px;
}

.b-cart-qty-control.button--primary {
    color: var(--color-text-inverse);
    background-color: var(--color-primary);
    border-radius: var(--border-radius-button);
}

.product-card__stock {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-2);
    color: var(--color-text-secondary);
    font-size: var(--font-size-small);
    line-height: var(--line-height-body);
}

.product-card__stock-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    color: var(--color-primary);
    stroke: currentColor;
}

.product-listing__pagination {
    margin-top: var(--space-5);
}

@media screen and (max-width: 1199px) {
    .product-listing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-5);
    }
}

@media screen and (max-width: 767px) {
    .product-listing__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-4);
    }

    .product-card__body {
        padding: var(--space-4);
    }
}

.logo {
    position: relative;
    /* width: 96px;
    height: 96px; */
    /* margin-right: var(--size-6-12); */
    transition: 0.15s;
    text-transform: uppercase;
    font-size: var(--size-16-22);
    font-family: var(--font-headers-main);
}

@media screen and (max-width: 576px) {
    .b-logo {
        text-align: center;
    }

    .logo {
        font-size: var(--size-14-16);
        
    }
    
}



.logo svg {
    fill: var(--color-blue-d);
    transition: 0.15s;
}

.b-logo:hover svg {
    fill: var(--color-orange);
    fill: var(--color-blue);
}

.icon-logo {
    height: 70px;
    width: auto;
    display: inline-block;
    transition: 0.15s;
    /* fill: var(--color-black); */
}

.icon-logo-text {
    width: 160px;
    width: clamp(7.5rem, 6.5909rem + 4.5455vw, 10rem); /* 120 - 160 */
    width: clamp(5rem, 3.1818rem + 9.0909vw, 10rem); /* 80 - 160 */
    height: auto;
    display: inline-block;
    transition: 0.15s;
    /* fill: var(--color-black); */
}


.b-fluid-gradient {
    background: linear-gradient(to right, var(--color-secondary-l) 0%, var(--color-secondary) 100%);
    overflow: hidden;
}

.container-xl,
.container-fluid {
    overflow-x: clip;
}


header {
    /* background-color: rgb(0 0 0 / 10%); */
    
    /* margin-bottom: var(--size-24-48); */
    
}

header a {
    transition: inherit;
}

header a:hover {
    color: inherit;
}

.site-header {
    position: sticky;
    top: 0;
    z-index:1000;
}

header .header-wrap {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 1px 2px 0px;
    box-shadow: rgba(0, 0, 0, 0.02) 0px 12px 24px 0px;
    border-bottom: 1px solid var(--color-gray-l);
    position: relative;
    background-color: var(--color-secondary-l);
}

header .header-wrap .header-content {
    background-color: var(--color-secondary-l);
    z-index: 1100;
    position: relative;
}

header .header-wrap .container-xl {
    padding-top: var(--size-6-12); 
    padding-bottom: var(--size-6-12); 
    /* padding: var(--size-6-12) 0; */
    /* background-color: var(--color-background); */
}

header .header-top {
    gap: var(--size-6-12);
    font-size: 14px;
    /* margin-bottom: 12px; */
    transition: 0.15s;
}


header .b-header-bottom {
   margin-top: var(--size-6-12);
}

@media screen and (min-width: 767px) {
    .is-sticky .icon-logo {
        height: 44px;
        width: auto;
    }

    .is-sticky .logo {
        /* margin-right: var(--size-6-12);
        pointer-events: none; */
    }

    .is-sticky .icon-logo-text {
        /* width: 0; */
    }

    .is-sticky .header-wrap {
       
    }

    .is-sticky .header-center {
        margin-top: 0;
    }


    .is-sticky .header-top,
    .is-sticky .header-bottom  {
        opacity: 0;
        max-height: 0;
    }

    .is-sticky .b-logo {
        /* opacity: 0;
        max-height: 0;
        transition: none; */
      
    }

    .is-sticky .b-menu-header {
        opacity: 0;
        max-height: 0;
        pointer-events: none;
        overflow: hidden;
    }

    .is-sticky .b-header-left,
    .is-sticky .b-header-left .b-header-bottom,
    .is-sticky .b-header-left .b-header-search {
        /* flex: 1 1 auto; */
    }

    .is-sticky .b-header-bottom {
        /* margin-top: 0; */
    }

    .is-sticky .b-feedback {
        opacity: 0;
        max-height: 0;
    }
        
}

header .header-center {
    margin-top: var(--size-6-12);
    transition: 0.15s;
}

@media screen and (max-width: 767px) {
    header .header-center {
        margin-top: 0;
    }
}

header .b-city {
    transform: 0.15s;
    /* margin-right: 48px; */
}

header .b-city:hover {
    color: var(--color-primary-hover);
    cursor: pointer;
}

header .b-phone,
header .b-email {
    font-size: var(--size-16-18);
    white-space: nowrap;
}

header .b-search {
    /* margin-right: 48px; */
}

.b-cart {
    position: relative;
}

header .b-menu {
    /* border: 2px solid var(--color-blue-d); */
    /* border-radius: var(--border-radius-button); */
    box-shadow: var(--box-shadow-default);
    /* padding: var(--size-4-6); */
    border-radius: 50%;
    background-color: var(--color-white);
    padding: var(--size-4-6);
}

header .b-menu svg {
    
    stroke: var(--color-blue-d);
}


header .b-cart {
    
}


header .b-cart a {
   
}

header .b-cart svg {
    /* width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
    fill: var(--color-blue-d);
    stroke: var(--color-secondary); */
}

header .b-cart:hover {
    /* border-color: var(--color-red); */
    /* background-color: var(--color-secondary); */
}

header .b-cart:hover svg {
    /* stroke: var(--color-primary); */
}





header  .b-message:hover {
    /* background-color: var(--color-blue-d); */
}

header  .b-message:hover svg {
    /* stroke: var(--color-white); */
}

header .b-btn-catalog:hover svg {
    stroke: var(--color-secondary-d);
}

header .b-btn-catalog:hover > div {
    /* background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%); */
    /* box-shadow: var(--box-shadow-default-2); */
}

body.catalog-panel-open header .b-btn-catalog .icon-menu,
header .b-btn-catalog .icon-close {
    display: none;
}


body.catalog-panel-open header .b-btn-catalog .icon-close {
    display: inline-block;
}

.b-cart-count,
.b-cart .b-count {
    
    color: var(--color-primary);
    font-family: var(--font-title-bold);
    padding: 2px 4px;
    line-height: 1;
    font-size: var(--size-14-16);
    /* bottom: -12px; */
    /* right: -8px; */
    pointer-events: none;
    
    display: flex;
    align-items: center;
    justify-content: center;
    top: 0;
    right: 0;
    background-color: var(--color-white);
    border-radius: 24px;
    min-width: 24px;
    color: var(--color-black);
    margin-left: 2px;
    white-space: nowrap;
    padding: 4px; 

}

header .b-cart-count {
    position: inherit;
}

header .b-cart:hover .b-cart-count {
    /* background-color: var(--color-primary);
    color: var(--color-secondary); */
}

.b-empty-cart  {
    font-size: var(--size-14-16);
    padding: var(--size-6-12) 0;
}

.b-empty-cart .text {
    margin-bottom: var(--size-6-12);
}

.b-menu-header {
    gap: 24px;
    
}

/* Desktop site header / REF-018. */
.site-header .site-header__wrap,
.site-header .site-header__content {
    color: var(--color-text);
    background-color: var(--color-bg);
}

.site-header .site-header__wrap {
    border-bottom: var(--border-default);
    box-shadow: none;
}

.site-header .site-header__container {
    display: flex;
    flex-direction: column;
    padding-right: var(--container-gutter);
    padding-left: var(--container-gutter);
    padding-top: var(--space-2);
    padding-bottom: var(--space-2);
}

.site-header__main {
    display: grid;
    grid-template-columns: max-content minmax(260px, 1fr) auto auto 44px;
    gap: var(--space-4);
    align-items: center;
    min-height: 48px;
}

.site-header__brand {
    display: inline-flex;
    align-items: center;
    gap: var(--space-3);
    color: var(--color-text);
    text-decoration: none;
}

.site-header__brand-logo {
    color: #000;
    display: block;
    width: 40px;
    height: 40px;
    flex: 0 0 40px;
    object-fit: contain;
}

.site-header__brand-name {
    font-family: var(--font-title-bold);
    font-size: var(--size-24-32);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    white-space: nowrap;
}

.site-header .site-header__search {
    position: relative;
    height: 44px;
    padding: 0;
    background-color: transparent;
}

.site-header__search-form {
    display: flex;
    height: 100%;
}

.site-header__search-input {
    min-width: 0;
    width: 100%;
    padding: 0 var(--space-4);
    color: var(--color-text);
    background-color: var(--color-bg);
    border: var(--border-default);
    border-right: 0;
    border-radius: var(--border-radius-form-control) 0 0 var(--border-radius-form-control);
    outline: none;
}

.site-header__search-input::placeholder {
    color: var(--color-text-muted);
}

.site-header__search-input:focus-visible {
    border-color: var(--color-accent);
    box-shadow: inset 0 0 0 1px var(--color-accent);
}

.site-header .site-header__search-submit {
    min-height: 44px;
    border-radius: 0 var(--border-radius-button) var(--border-radius-button) 0;
}

.site-header__search-submit .button__icon {
    fill: var(--color-text-inverse);
}

.site-header__contacts {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    font-size: var(--font-size-small);
    line-height: var(--line-height-tight);
    white-space: nowrap;
    margin: 0 var(--space-3);
}

.site-header__contact {
    display: flex;
    align-items: center;
    gap: var(--space-4);
}

.site-header__contact a {
    color: var(--color-text);
    text-decoration: none;
    font-family: var(--font-title-bold);
    font-size: var(--size-16-18);
}

.site-header__contact-icon {
    width: 20px;
    height: 20px;
    flex: 0 0 20px;
    fill: var(--color-text);
    stroke: var(--color-text);
}

.site-header .site-header__request.button.button--primary {
    width: 177px;
    padding-right: var(--space-3);
    padding-left: var(--space-3);
    font-size: var(--font-size-body);
    white-space: nowrap;
}

.site-header .site-header__cart {
    position: relative;
    color: var(--color-text);
    background-color: transparent;
    border-color: transparent;
}

.site-header__cart .button__icon {
    fill: none;
    stroke: currentColor;
}

.site-header .site-header__cart .b-cart-count {
    position: absolute;
    top: 0;
    right: 0;
    min-width: 16px;
    height: 16px;
    margin: 0;
    padding: 2px;
    color: var(--color-text-inverse);
    font-size: 10px;
    background-color: var(--color-primary);
    border-radius: var(--border-radius-round);
}

.site-header__navigation-row {
    display: flex;
    align-items: center;
    gap: calc(var(--space-8) + var(--space-4));
    min-height: 48px;
    margin-top: var(--space-2);
}

.site-header .site-header__catalog {
    width: 136px;
    min-width: 136px;
    padding-right: var(--space-4);
    padding-left: var(--space-4);
    font-size: var(--font-size-body);
}

.site-header__catalog .button__icon {
    fill: var(--color-text-inverse);
    stroke: var(--color-text-inverse);
}

body.catalog-panel-open .site-header__catalog .icon-menu,
.site-header__catalog .icon-close {
    display: none;
}

body.catalog-panel-open .site-header__catalog .icon-close {
    display: block;
}

.site-header__navigation {
    display: flex;
    align-items: center;
    gap: var(--space-7);
    min-width: 0;
}

.site-header__navigation-link {
    display: inline-flex;
    align-items: center;
    gap: var(--space-2);
    min-height: 44px;
    color: var(--color-text);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    text-decoration: none;
    white-space: nowrap;
}

.site-header__navigation-link:hover,
.site-header__navigation-link.is-active {
    color: var(--color-primary);
}

.site-header__navigation-link:focus-visible,
.site-header__brand:focus-visible,
.site-header__cart:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.site-header__navigation-arrow {
    width: 10px;
    height: 10px;
    fill: currentColor;
}

.site-header__mobile-actions {
    display: none;
}

@media screen and (max-width: 1199px) {
    .site-header__main {
        grid-template-columns: max-content minmax(220px, 1fr) auto 177px 44px;
        gap: var(--space-3);
    }

    .site-header__navigation-row {
        gap: calc(var(--space-8) + var(--space-4));
    }

    .site-header__navigation {
        gap: var(--space-5);
    }

    .site-header__brand-name {
        font-size: var(--size-24-32);
    }
}

/* Keep the approved header controls above the later legacy search rules. */
.site-header .site-header__search .site-header__search-input {
    padding: 0 var(--space-4);
    color: var(--color-text);
    background-color: var(--color-bg);
    border: var(--border-default);
    border-right: 0;
}

.site-header .site-header__search .site-header__search-submit.button.button--dark {
    min-height: 44px;
    padding: 10px;
    color: var(--color-text-inverse);
    background-color: var(--color-bg-dark);
}

@media screen and (max-width: 991px) {
    .site-header .site-header__container {
        padding-top: var(--space-2);
        padding-bottom: var(--space-2);
    }

    .site-header__main {
        display: flex;
        justify-content: space-between;
        min-height: 48px;
    }

    .site-header .site-header__search,
    .site-header .site-header__contacts,
    .site-header .site-header__cart,
    .site-header .site-header__navigation-row {
        display: none;
    }

    .site-header .site-header__request.button.button--primary {
        display: none;
    }

    .site-header__mobile-actions {
        display: flex;
        align-items: center;
        gap: var(--space-3);
    }

    .site-header__mobile-phone {
        font-family: var(--font-title-bold);
        font-size: var(--font-size-small);
        white-space: nowrap;
    }

    .site-header__mobile-phone a {
        color: var(--color-text);
        text-decoration: none;
    }

    .site-header .site-header__mobile-menu {
        color: var(--color-text);
        background-color: var(--color-bg);
        border-color: var(--color-border);
    }
}

@media screen and (max-width: 479px) {
    .site-header__brand {
        gap: var(--space-2);
    }

    .site-header__brand-logo {
        width: 32px;
        height: 32px;
        flex-basis: 32px;
    }

    .site-header__brand-name {
        font-size: var(--size-18-24);
    }

    .site-header__mobile-phone {
        display: none;
    }
}

.btn-icon-light-bold-shadow,
.btn-default { 
    background: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-secondary-d) 100%);
    border-radius: var(--border-radius-button);
    padding: 6px 12px;
    /* transition: 0.15s; */
    display: flex;
    align-items: center;
    /* transition: 0.15s; */
    justify-content: center;
    cursor: pointer; 
    box-shadow: var(--box-shadow-default);

    font-family: var(--font-title-bold);
    color: var(--color-white);
    font-size: var(--size-14-16);
}

.btn-icon-light-bold-shadow,
.btn-default-light,
.btn-light {
    box-shadow: inherit;
    color: var(--color-black);
    background: var(--color-white);
    font-family: var(--font-regular);
}

.btn-icon-light-bold-shadow,
.btn-default-icon {
    display: flex;
    gap: 6px;
    align-items: center;
    flex-direction: row;
    white-space: nowrap;
    padding: 4px;
    padding-right: 12px;
}

.btn-icon-light-bold-shadow .btn-icon,
.btn-default-icon .btn-icon {
    background-color: var(--color-secondary-l);
    border-radius: 100px;
    padding: 6px;
    display: flex;
}

.btn-icon-light-bold-shadow {
    font-family: var(--font-title-bold);
    box-shadow: var(--box-shadow-default);
}


a.btn-default {
    color: var(--color-white);
}

a.btn-default-light {
    color: var(--color-black);
}

.btn-default:hover {
    box-shadow: var(--box-shadow-default);
    
    color: var(--color-secondary-l);

    /* background: linear-gradient(90deg, var(--color-primary) 0%, var(--color-secondary) 100%); */
    background: var(--color-secondary);
}

.btn-default-light:hover {
    background: var(--color-secondary);
}

.btn-default:hover a {
    color: var(--color-secondary-l);
}

header .btn-default {
    white-space: nowrap;
}

.shadow-default {
    box-shadow: var(--box-shadow-default);
}

.font-title-bold {
    font-family: var(--font-title-bold);
}


.img-border {
    position: relative;
    padding: var(--size-6-12);
    border-radius: 50%;
    background-color: var(--color-secondary-l);
    box-shadow: var(--box-shadow-default);
}

.img-border img {
    width: 100%;
    height: auto;
    border-radius: 50%;
}

.img-border:after {
    /* content: "";
    position: absolute;
    top: var(--size-4-6);
    left: var(--size-4-6);
    width: calc(100% - var(--size-8-12));
    height: calc(100% - var(--size-8-12));
    box-shadow: inset rgba(0, 0, 0, 0.05) -3px 3px 12px 0px;
    border-radius: 12px; */
}


.page-home h1 {
    font-size: var(--size-18-36);
    line-height: 1.33;
    text-transform: uppercase;
    text-align: left;
    color: var(--color-text);
    /* font-weight: bold; */
    font-family: var(--font-headers-bold);
    margin: 0;
    margin: var(--size-24-32) 0;
    padding: var(--size-12-24) 0;
    /* margin-bottom: var(--size-24-36); */
}

.page-home h1 span {
    color: var(--color-primary);
    color: var(--color-secondary);
    background-color: var(--color-secondary);
    background-color: var(--color-primary);
    padding: var(--size-4-6) var(--size-6-12);
}

.page-home .b-intro-text {
    font-size: var(--size-14-18);
    text-align: center;
    color: var(--color-text);
}

.page-home .b-intro {
    position: relative;
    padding-top: clamp(1.5rem, -0.8636rem + 11.8182vw, 8rem); /* 24 - 128 */
    padding-top: var(--size-24-72);
    padding-bottom: var(--size-24-48);
    margin-bottom: var(--size-12-24);
}

.page-home .b-intro-image-overlay {
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    z-index: -1;
    opacity: 0.3;
}

.page-home .b-intro-image-overlay:after {
    content: '';
    position: absolute;
    inset: 0;
    top: 0;
    left: 0;
    width: 100%;
    height: 101%;
    background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 70%);
    pointer-events: none;
}

.page-home .b-intro .b-form {
    margin-bottom: var(--size-12-24);
    background-color: transparent;
    padding: 0;
    border-radius: 0;
    box-shadow: none;
}


.b-search .button {
    padding: 0 12px;
}

.b-top-articles {
    margin-bottom: var(--size-12-32);
}

.b-top-articles .b-article-tile {
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid var(--color-white);
    position: relative;
}

.b-top-articles .b-article-tile::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    border-bottom: 1px solid var(--color-gray-l);
}

.b-article-tile .item-link.level-0 {
    font-size: 18px;
    padding: var(--size-12-24) 0;
    position: relative;
    display: inline-block;
    font-family: var(--font-title-bold);
    gap: 6px;
}

.b-article-tile .item-link.level-0:hover svg {
    stroke: var(--color-orange);
}

.b-article-tile ul {
    list-style: none;
    padding: 0;
    /* margin: 0; */
    position: relative;
    /* gap: 24px; */
    /* display: flex; */

    /* margin-top: 24px;
    margin-bottom: 48px; */

    gap: var(--size-6-12);
}

.b-article-tile ul li {
    /* width: 12.5%;
    flex: 0 0 12.5%;
    max-width: 12.5%; */


    flex: 0 0 calc(10% - var(--size-6-12));
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;

    /* padding: 6px;
    padding-bottom: 12px; */
    border-radius: var(--border-radius-default);
    transition: 0.15s;

    background-color: #fff;
    border: 1px solid #fff;
}



.b-article-tile ul li:hover {
    box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px;
    box-shadow: rgba(139, 0, 0, 0.1) 0px 6px 24px 0px, rgba(139, 0, 0, 0.15) 0px 0px 0px 1px;
    border: 1px solid var(--color-red);
}

.b-article-tile ul li:hover a {
    color: inherit;
    color: var(--color-red);
}


.b-article-tile ul li .img {
    /* width: 96px;
    height: 96px; */
    border-radius: var(--border-radius-default);
    background-color: #F7F8FA;
    position: relative;
    
    /* width: 256px;
    height: 256px; */
}

.b-article-tile ul li .img:after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    box-shadow: inset rgba(0, 0, 0, 0.05) -6px 6px 12px 0px;
    border-radius: 12px;
}


.b-article-tile ul li .img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    border-radius: var(--border-radius-default);
}

.b-article-tile ul li .item-link {
    /* width: 96px; */
    display: block;
    /* height: 96px;

    width: 256px;
    height: 256px;*/

    padding: var(--size-4-6);
    height: 100%;
    display: flex;
    flex-direction: column;
}

.b-article-tile ul li .title {
    font-size: 14px;
    text-align: center;
    padding: var(--size-4-6) 0;
    padding-top: var(--size-8-12);
    word-break: break-word;
    align-items: center;
    justify-content: center;
    display: flex;
    flex: 1 1 auto;
}

@media screen and (max-width: 576px) {
    .b-article-tile ul li {
        /* flex: 0 0 calc(50% - var(--size-6-12)); */
        flex: 0 0 100%;
    }

    .b-article-tile ul li .item-link {
        display: flex;
        flex-direction: row;
        gap: var(--size-12-24);
        align-items: center;
    }

    .b-article-tile ul li .item-link .img {
        width: 48px;
        height: 48px;
    }

    .b-article-tile ul li .title {
        justify-content: start;
        padding: 0;
        position: relative;
    }
}

.b-articles-list {
    margin-bottom: var(--size-12-24);
}

.b-articles-list .col {
    border: 1px solid var(--color-gray-l);
    
}

.b-article-list .title {
    font-family: var(--font-title-bold);
    font-size: var(--size-14-16);
    margin-bottom: var(--size-6-12);
}

.b-article-list .items {
    list-style: none;
    margin: 0;
    padding: 0;
}

.b-article-list .items li {
    margin: 0;
    padding: 0;
}

.b-article-list .items li a {
    padding: var(--size-2-3) 0;
    display: inline-block;
}

.b-articles-list .items-list {
    padding: 24px;
    margin: 0;
    /* border-radius: var(--border-radius-default); */
    /* box-shadow: var(--box-shadow-default); */
    height: 100%;
    list-style: none;
   
}

.b-articles-list .item-title {
    font-size: var(--size-16-18);
    font-family: var(--font-title-bold);
}

.b-articles-list .item-title.level-2 {
    font-size: var(--size-14-16);
}

.b-articles-list .item-title-repeat {
    color: var(--color-gray-d);
    font-size: var(--size-12-14);
    font-family: var(--font-regular);
}

.b-articles-list ul {

}

.b-articles-list li {
    padding: var(--size-4-6) 0;
}

.b-about {
    width: 100%;
    /* margin-left: 10%; */
    
    position: relative;
    margin-top: var(--size-24-48);
    margin-bottom: var(--size-18-48);

    background-color: var(--color-secondary-l);
    /* padding-bottom: var(--size-18-48); */
    border-radius: var(--border-radius-button);
    padding: var(--size-12-24);
    
}

.b-about .wrap-about-img {
    border-radius: var(--border-radius-button);
    padding: 6px;
    
    background-color: var(--color-white);
    margin-top: var(--size-12-24);
}

.b-about .about-img {
    border-radius: var(--border-radius-button);
    padding: 6px;
    border: 2px solid var(--color-secondary-l);
    
    overflow: hidden;
    position: relative;
   
}

.b-about img {
    border-radius: var(--border-radius-button-inner) ;
}



.b-about .text {
    font-size: var(--size-14-18);
}

.b-about .btn-more {
    
    /* display: block; */
}

.b-about .btn-more a {
    border: 2px solid var(--color-blue-d);
    padding: var(--size-4-6) var(--size-6-12);
    border-radius: var(--border-radius-button);
    font-size: var(--size-14-18);
    line-height: 1;
    font-family: var(--font-title-bold);
    display: inline-block;
    margin-top: var(--size-12-24);

    background-color: var(--color-white);
}

.b-about .btn-more a:hover {
    background-color: var(--color-blue);
    color: var(--color-white);
    border-color: var(--color-blue);
}

.b-about:before {
    /* content: '';
    border: 2px solid var(--color-blue-d);
    width: 100%;
    height: calc(100% - var(--size-24-48));
    position: absolute;
    top: 0;
    left: 0;
    border-radius: var(--border-radius-default);
    z-index: -1;
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default-2); */
}

.b-about .logo {
    /* margin-left: var(--size-24-48); */
}

.b-about .title {
    text-transform: uppercase;
    font-family: var(--font-headers-main);
    font-size: var(--size-24-32);
    color: var(--color-blue-d);
    padding-bottom: var(--size-6-12);
}

@media screen and (max-width: 767px) {
    .b-about .title {
        text-align: center;
    }
    
}

.b-about .logo .icon-logo {
    /* width: 180px;
    width: 120px;
    width: 160px; */
    /* width: clamp(10rem, 7.2727rem + 13.6364vw, 17.5rem);  */
    /* 160 - 280 */
    /* width: 280px; */
    margin-bottom: var(--size-6-12);
}

.b-about .logo .icon-logo-text {
    width: 120px;
}

.b-about .about-items {
    gap: var(--size-6-24);
    display: flex;
    flex-direction: column;
    flex-wrap: wrap;
    /* position: absolute; */
    /* bottom: calc(-100% + var(--size-18-48)); */
    
}

.b-about .about-items .about-item {
    /* border: 3px solid var(--color-blue); */
    background-color: var(--color-secondary);
    color: var(--color-white);
    padding: var(--size-6-12);
    border-radius: 0 var(--border-radius-default) var(--border-radius-default) 0;
    display: flex;
    align-items: center;
    text-align: center;
    justify-content: center;
    font-size: var(--size-14-18);
    box-shadow: var(--box-shadow-default-2);
    position: relative;
    border-left: 6px solid var(--color-primary);
}

.b-about .about-items .about-item:before {
    /* content: "";
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    width: 20px;
    height: 20px;
    background: var(--color-primary); */
}

@media screen and (max-width: 768px) {
    .b-about .about-items {
        margin-top: var(--size-24-32);
    }
}



.faq-section {
    width: 100%;
    margin: var(--space-7) auto;
    padding: var(--space-8) var(--space-7);
    background-color: var(--color-bg);
    border-radius: var(--border-radius-large);
    box-shadow: var(--box-shadow-default-2);
}

.faq-section .section-heading {
    margin-bottom: var(--space-7);
}

.accordion--faq {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4) var(--space-5);
    align-items: start;
}

.accordion--faq .accordion__item {
    overflow: hidden;
    background-color: var(--color-bg-secondary);
    border-radius: var(--border-radius-default);
    box-shadow: var(--box-shadow-default);
}

.accordion--faq .accordion__trigger {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--space-5);
    min-height: 100px;
    padding: var(--space-5) var(--space-6);
    color: var(--color-text);
    cursor: pointer;
    list-style: none;
}

.accordion--faq .accordion__trigger::-webkit-details-marker {
    display: none;
}

.accordion--faq .accordion__trigger::marker {
    content: '';
}

.accordion--faq .accordion__trigger:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
}

.accordion--faq .accordion__question {
    font-family: var(--font-title-bold);
    font-size: var(--font-size-card-title);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

.accordion--faq .accordion__icon {
    position: relative;
    flex: 0 0 24px;
    width: 24px;
    height: 24px;
}

.accordion--faq .accordion__icon::before,
.accordion--faq .accordion__icon::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 24px;
    height: 3px;
    background-color: var(--color-accent);
    transform: translate(-50%, -50%);
}

.accordion--faq .accordion__icon::after {
    transform: translate(-50%, -50%) rotate(90deg);
}

.accordion--faq .accordion__item[open] .accordion__icon::after {
    display: none;
}

.accordion--faq .accordion__item[open] .accordion__trigger {
    min-height: auto;
    padding-bottom: var(--space-3);
}

.accordion--faq .accordion__panel {
    padding: 0 var(--space-6) var(--space-5);
    color: var(--color-text-secondary);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
}

.accordion--faq .accordion__panel > :last-child {
    margin-bottom: 0;
}

@media screen and (max-width: 1023px) {
    .faq-section {
        padding: var(--space-7) var(--space-5);
    }

    .accordion--faq .accordion__trigger {
        padding: var(--space-5);
    }

    .accordion--faq .accordion__panel {
        padding-right: var(--space-5);
        padding-left: var(--space-5);
    }
}

@media screen and (max-width: 767px) {
    .faq-section {
        margin: var(--space-6) auto;
        padding: var(--space-7) var(--space-4);
    }

    .faq-section .section-heading {
        margin-bottom: var(--space-6);
    }

    .accordion--faq {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-4);
    }

    .accordion--faq .accordion__trigger {
        min-height: 88px;
        padding: var(--space-4);
    }

    .accordion--faq .accordion__panel {
        padding: 0 var(--space-4) var(--space-4);
    }
}




.b-slider  {
    position: relative;
	margin-bottom: 48px;

}

.b-slider .tns-outer {
    position: relative;
}


/* левый градиент */
.b-slider .tns-outer::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 20%; /* регулируешь ширину */
    height: 100%;
    background: linear-gradient(to right, #fff 20%, rgba(255,255,255,0) 100%);
    pointer-events: none;
    z-index: 2;
}

/* правый градиент */
.b-slider .tns-outer::after {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    width: 20%; /* регулируешь ширину */
    height: 100%;
    background: linear-gradient(to left, #fff 20%, rgba(255,255,255,0) 100%);
    pointer-events: none;
    z-index: 2;
}

@media (max-width: 1400px) {
    .b-slider .tns-outer::before,
    .b-slider .tns-outer::after {
        display: none;
    }
}

.b-slider .img {
    position: relative;
    overflow: hidden;
    border-radius: var(--border-radius-button);
}

.b-slider .img:before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 50%;
    height: 100%;
    background: linear-gradient(to right, rgba(0,0,0,0.7) 50%, rgba(0, 0, 0, 0) 100%);
    pointer-events: none;
    z-index: 1;
}

.b-slider .btn-more {
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	bottom: -48px;
	padding: 12px 16px;
	background-color: var(--color-white);
	border-radius: var(--size-4-8);
	font-size: var(--size-16-22);
	line-height: 1;
	box-shadow: var(--box-shadow-default);
	opacity: 0;
	transition: 0.3s;
	pointer-events: none;
	background-color: var(--color-red);
	color: var(--color-white);
    
}

.b-slider:hover .btn-more {
	/* opacity: 1; */
}

.b-slider img {
	width: 100%;
    /* height: 100%; */
	object-fit: contain;
	aspect-ratio: 3 / 1;
    border-radius: var(--border-radius-button);
}

@media screen and (max-width: 576px) {
	.b-slider img {
		aspect-ratio: 4 / 3;
	}
}


.b-slider .slider-content {
    position: absolute;
    left: 0;
    padding: var(--size-12-32);
    
    top: 50%;
    transform: translateY(-50%);
    color: var(--color-white);
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: var(--size-4-6);
    
}

.b-slider .slider-content .slider-content-title {
    text-transform: uppercase;
    font-size: var(--size-24-48);
    line-height: 1.33;
    font-family: var(--font-bold);
}

.b-slider .slider-content .slider-content-text {
    font-size: var(--size-16-24);
    font-family: var(--font-title-bold);
    
}

.b-slider .slider-content .slider-btn-more {
    border-radius: var(--border-radius-button);
    padding: var(--size-6-12) var(--size-14-18);
    transition: 0.15s;
    display: inline-flex;
    align-items: center;
    transition: 0.15s;
    justify-content: center;
    cursor: pointer;
    box-shadow: var(--box-shadow-default);
    font-family: var(--font-title-bold);
    background-color: var(--color-white);
    color: var(--color-white);
    font-size: var(--size-14-16);
    color: var(--color-black);
    align-self: flex-start;
    margin-top: var(--size-12-24);
}

.b-slider .slider-content .slider-btn-more:hover {
    background-color: var(--color-secondary-d);
    color: var(--color-white);
}

.b-slider .slider-controls {
    position: absolute;
	width:100%;
	height:100%;
	/* top: 0; */
	left: 0;

    bottom: 0;
}

.b-slider .slider-controls > div {
    position: absolute;
    height: 100%;
    width: 80px;	
    z-index: 10;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    background-position: center center;
    text-align: center;
    display: flex;
    align-items: end;
    justify-content: center;
	/* margin-top: 24px; */
    margin-bottom: -24px;
    
    width: 30%;
    height: 20%;
}

.b-slider .slider-controls > div svg {
    width: var(--size-32-48);
    height: var(--size-32-48);
    min-width: var(--size-32-48);
    min-height: var(--size-32-48);
	transition: 0.3s;
    padding: var(--size-6-12);
    
    
	fill: var(--color-secondary-d);
	
}

.b-slider .slider-controls > div .icon {
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default);
    border-radius: 50%;
    transition: 0.3s;
    overflow: hidden;
}

.b-slider .slider-controls > div:hover {
    cursor: pointer;
}


.b-slider .slider-controls > div:hover .icon {
    transform: scale(1.3);
}

.b-slider .slider-controls .prev {
	left: 0;
	bottom: 0;
    justify-content: end;
}

.b-slider .slider-controls .next {
	right: 0;
	bottom: 0;
    justify-content: start;
}


.hero-slider {
    position: relative;
    max-width: 100%;
    margin-bottom: var(--space-8);
    overflow: hidden;
}

.hero-slider .tns-outer {
    position: relative;
}

.hero-slider .tns-ovh {
    overflow: hidden;
    border-radius: var(--border-radius-small);
}

.hero-slider__track:not(.tns-slider) {
    overflow: hidden;
}

.hero-slider__track:not(.tns-slider) .hero-slider__slide:not(:first-child) {
    display: none;
}

.hero-slider__slide {
    position: relative;
    aspect-ratio: 3 / 1;
    overflow: hidden;
    color: var(--color-text);
    background-color: var(--color-bg);
}

.hero-slider__picture,
.hero-slider__image {
    display: block;
    width: 100%;
    height: 100%;
}

.hero-slider__image {
    object-fit: cover;
    object-position: center;
}

.hero-slider__content.section-heading {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    box-sizing: border-box;
    width: min(100%, var(--container-max));
    margin: 0;
    padding: 0 var(--container-gutter);
    gap: var(--space-5);
    transform: translate(-50%, -50%);
    opacity: 1;
}

.hero-slider__title.section-heading__title {
    max-width: 48%;
    font-size: var(--font-size-h1);
    line-height: var(--line-height-tight);
}

.hero-slider__text.section-heading__description {
    max-width: 48%;
    font-size: var(--font-size-body-large);
    line-height: var(--line-height-body);
}

.hero-slider__action.button {
    box-sizing: border-box;
    min-width: 236px;
    min-height: 52px;
    align-self: flex-start;
}

.hero-slider .tns-nav {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 3;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 44px;
}

.hero-slider .tns-nav button {
    position: relative;
    width: 28px;
    height: 44px;
    padding: 0;
    background: transparent;
    border: 0;
}

.hero-slider .tns-nav button::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 6px;
    height: 6px;
    background-color: color-mix(in srgb, var(--color-bg) 78%, transparent);
    border-radius: var(--border-radius-round);
    transform: translate(-50%, -50%);
    transition: width 0.25s ease, background-color 0.25s ease;
}

.hero-slider .tns-nav button.tns-nav-active::before {
    width: 20px;
    background-color: var(--color-bg-dark);
}

.hero-slider .tns-nav button:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -6px;
    border-radius: var(--border-radius-round);
}

@media screen and (max-width: 1023px) {
    .hero-slider__content.section-heading {
        padding-right: var(--container-gutter);
        padding-left: var(--container-gutter);
    }
}

@media screen and (max-width: 767px) {
    .hero-slider {
        margin-bottom: var(--space-7);
    }

    .hero-slider__slide {
        display: inline-block !important;
        aspect-ratio: 4 / 3;
    }

    .hero-slider__slide::after {
        content: '';
        position: absolute;
        inset: 0;
        z-index: 1;
        pointer-events: none;
        background: linear-gradient(
            to right,
            color-mix(in srgb, var(--color-bg) 92%, transparent) 0%,
            color-mix(in srgb, var(--color-bg) 78%, transparent) 62%,
            transparent 100%
        );
    }

    .hero-slider__content.section-heading {
        position: absolute;
        top: 50%;
        left: 0;
        width: min(calc(100vw - var(--space-4)), 100%);
        padding: 0 var(--space-4);
        gap: var(--space-4);
        transform: translateY(-50%);
        opacity: 1;
    }

    .hero-slider .tns-nav {
        right: auto;
        width: min(calc(100vw - var(--space-4)), 100%);
    }

    .hero-slider__title.section-heading__title {
        max-width: 100%;
        font-size: var(--font-size-display);
    }

    .hero-slider__text.section-heading__description {
        max-width: 100%;
    }

    .hero-slider__action.button {
        width: 100%;
        min-width: 0;
    }
}




.wrap-b-partners {
    background-color: var(--color-white);
    padding: var(--size-24-48) 0;
    border-top: 1px solid var(--color-gray-l);
    border-bottom: 1px solid var(--color-gray-l);
    margin: var(--size-24-48) 0;
}

.b-partners  .b-slider {
	position: relative;
}

.b-partners .b-slider .wrap-slider {
	padding: 0 48px;
}

.b-partners .b-slider .slider .item {
	min-height: 200px;
	height: 200px;
}

.b-partners .b-slider .slider .item img {
    width: 100%;
    height: auto;
    border-radius: inherit;
}

.b-partners .b-slider .wrap-slider-controls {
	width: 100%;
	position: absolute;
	/* top: 50%; */
	/* bottom: 50%; */
	height: 100%;
	top: 0;
	left: 0;
}

.b-partners .b-slider .wrap-slider-controls .slider-controls {
	height: 100%;
}

.b-partners .b-slider .wrap-slider-controls .slider-controls > div {
	height: 100%;
	width: 50%;
    user-select: none;
}

.b-partners .b-slider .wrap-slider-controls .slider-controls > div svg {
	transition: 0.3s;
	background-color: inherit;
}

.b-partners .b-slider .wrap-slider-controls .slider-controls > div:hover {
	cursor: pointer;
}

.b-partners .b-slider .wrap-slider-controls .slider-controls > div:hover svg {
	width: 48px;
	height: 48px;
}

.b-partners .b-slider .slider-controls svg {
	
}

.b-partners .b-slider .slider-controls svg path {
	
}


.b-pagination {
    gap: 12px;
    margin: var(--size-12-24) 0;
    justify-content: center;
}

.b-pagination .item {
    padding: var(--size-4-6);
    border-radius: var(--border-radius-button);
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default-2);

    min-width: calc(20px + var(--size-8-12));
    text-align: center;
    transition: 0.15s;

    border: none;
}

.b-pagination .item.link:hover {
    text-decoration: inherit;
    
    color: var(--color-white);
    background-color: var(--color-blue);
}

.b-pagination .item.page-nav__item_current_true {
    background-color: var(--color-secondary-l);
    border-color: var(--color-gray-l);
    box-shadow: none;
}

.b-pagination .item.page-nav__item_type_separator {
    background: none;
    box-shadow: none;
}

.b-list {
    
    
    background-color: var(--color-gray-l);
    gap: 16px;
    display: flex;
    flex-direction: column;
    margin-bottom: 24px;

    /* box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; */
    
    transition: 0.15s;
    background-color: #fff;
}

.b-list .list-item {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--size-6-12);

    background-color: var(--color-secondary-l);
    border-radius: var(--size-12-24);
    padding: var(--size-6-10) var(--size-8-12);
    align-self: flex-start;
}

.b-list .list-item .title {
    color: var(--color-gray-d);
    
}

.b-list .list-item .value {

}

.b-files {
    gap: 12px;
}

.contacts-page {
    width: 100%;
    max-width: var(--container-max);
    margin: 0 auto;
    padding: var(--space-6) 0 var(--space-8);
}

.contacts-page__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-5);
    align-items: stretch;
}

.contacts-page__panel {
    min-width: 0;
    overflow: hidden;
}

.contacts-page__panel--form {
    padding: var(--space-6);
}

.contacts-page__panel--office {
    padding: var(--space-4);
}

.contacts-page__heading {
    gap: var(--space-2);
    margin-bottom: var(--space-5);
}

.contacts-page__summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2) var(--space-4);
    margin: 0 calc(var(--space-6) * -1) var(--space-5);
    padding: var(--space-3) var(--space-4);
    background-color: var(--color-bg-secondary);
}

.contact-item {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    min-width: 0;
    color: var(--color-text);
    font-size: var(--font-size-small);
    line-height: 1.4;
}

.contact-item__icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    margin-top: 1px;
    color: var(--color-primary);
    fill: currentColor;
    stroke: currentColor;
}

.contact-item__value,
.contact-item__value a {
    min-width: 0;
    color: inherit;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.contacts-page__form .feedback-form {
    margin: 0;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
    box-shadow: none;
}

.contacts-page__form .feedback-form__inner {
    max-width: none;
}

.contacts-page__form .feedback-form__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3) var(--space-4);
    margin: 0;
}

.contacts-page__form .feedback-form__field {
    width: 100%;
    max-width: none;
    margin: 0;
    padding: 0;
}

.contacts-page__form-field--message {
    grid-column: 1;
    grid-row: 3 / span 2;
}

.contacts-page__form-field--subject {
    grid-column: 2;
    grid-row: 3;
}

.contacts-page__form-field--submit,
.contacts-page__form-field--agreement {
    grid-column: 1 / -1;
}

.contacts-page__form .feedback-form__label {
    margin-bottom: var(--space-1);
    font-family: var(--font-regular);
    font-size: var(--font-size-small);
    font-weight: var(--font-weight-medium);
}

.contacts-page__form .feedback-form__control {
    min-height: 44px;
    padding: 9px var(--space-3);
    border: var(--border-default);
    border-radius: var(--border-radius-form-control);
    box-shadow: none;
}

.contacts-page__form textarea.feedback-form__control {
    min-height: 120px;
}

.contacts-page__form .feedback-form__control:focus {
    border-color: var(--color-accent);
    box-shadow: 0 0 0 1px var(--color-accent);
}

.contacts-page__form .feedback-form__submit .btn-default {
    min-height: 48px;
    padding: 10px var(--space-5);
    color: var(--color-text-inverse);
    background: var(--color-primary);
    border: 0;
    border-radius: var(--border-radius-button);
    box-shadow: none;
}

.contacts-page__form .feedback-form__submit .btn-default:hover,
.contacts-page__form .feedback-form__submit .btn-default:focus-visible {
    color: var(--color-text-inverse);
    background: var(--color-primary);
}

.contacts-page__form .feedback-form__agreement-label {
    color: var(--color-text);
    font-size: var(--font-size-small);
}

.contacts-page__map-wrap {
    overflow: hidden;
    border-radius: var(--border-radius-default);
}

.contacts-page__map {
    width: 100%;
    min-height: 312px;
    aspect-ratio: 5 / 3;
}

.contacts-page__map-balloon {
    padding: var(--space-2) var(--space-3);
    font-size: var(--font-size-small);
    line-height: 1.4;
}

.contacts-page__office,
.contacts-page__benefits {
    padding: var(--space-4) 0 0;
}

.contacts-page__benefits {
    margin-top: var(--space-4);
    border-top: var(--border-default);
}

.contacts-page__subtitle {
    margin: 0 0 var(--space-2);
    font-size: var(--font-size-card-title);
    line-height: var(--line-height-tight);
}

.contacts-page__office-contacts,
.contacts-page__benefit-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-1);
    margin: 0;
    padding: 0;
    list-style: none;
}

.contacts-page__benefit {
    display: flex;
    align-items: flex-start;
    gap: var(--space-2);
    font-size: var(--font-size-small);
}

.contacts-page__benefit-icon {
    width: 18px;
    height: 18px;
    flex: 0 0 18px;
    color: var(--color-primary);
    stroke: currentColor;
}

.contacts-page__details {
    margin-top: var(--space-5);
    padding: var(--space-6);
}

.contacts-page__details-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-3) var(--space-5);
    margin: 0;
}

.contacts-page__details-row {
    display: grid;
    grid-template-columns: minmax(140px, 40%) 1fr;
    gap: var(--space-3);
    padding-bottom: var(--space-2);
    border-bottom: var(--border-default);
}

.contacts-page__details-title,
.contacts-page__details-value {
    margin: 0;
}

.contacts-page__details-title {
    color: var(--color-text-secondary);
    font-weight: var(--font-weight-medium);
}

@media screen and (max-width: 1023px) {
    .contacts-page__grid {
        grid-template-columns: 1fr;
    }
}

@media screen and (max-width: 767px) {
    .contacts-page {
        padding: var(--space-5) 0 var(--space-7);
    }

    .contacts-page__panel--form,
    .contacts-page__panel--office,
    .contacts-page__details {
        padding: var(--space-4);
    }

    .contacts-page__summary,
    .contacts-page__form .feedback-form__grid,
    .contacts-page__details-list {
        grid-template-columns: 1fr;
    }

    .contacts-page__summary {
        margin-right: calc(var(--space-4) * -1);
        margin-left: calc(var(--space-4) * -1);
    }

    .contacts-page__form-field--message,
    .contacts-page__form-field--subject,
    .contacts-page__form-field--submit,
    .contacts-page__form-field--agreement {
        grid-column: auto;
        grid-row: auto;
    }

    .contacts-page__form-field--agreement {
        order: 1;
    }

    .contacts-page__form-field--submit {
        order: 2;
    }

    .contacts-page__map {
        min-height: 260px;
        aspect-ratio: 4 / 3;
    }

    .contacts-page__details-row {
        grid-template-columns: 1fr;
        gap: var(--space-1);
    }
}


.bread-crumbs {
    margin-top: var(--size-24-48);
}

.bread-crumbs-drop-parent {
    position: relative;
}

.bread-crumbs-drop-parent::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;          /* сразу под родителем */
    height: 30px;       /* размер "моста" до меню */
    /* background: rgba(255,0,0,0.1); для проверки, потом убери */
}

.bread-crumbs-drop {
    position: absolute;
    top: calc(100% + 12px);  /* ровно под мостом */
    left: -18px;
    background: #fff;
    border: 1px solid #eee;
    padding: 12px 18px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(5px);
    transition: 0.2s ease;
    z-index: 20;
    border-radius: var(--border-radius-default);
    gap: 6px;
    text-wrap: nowrap;
    box-shadow: var(--box-shadow-default);
}

@media screen and (max-width: 767px) {

    .bread-crumbs-drop-parent:hover .bread-crumbs-drop {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

}

.bread-crumbs .item.active {
    color: var(--color-gray);
}

.bread-crumbs .item.active:hover {
    cursor: default;
}

.bread-crumbs .item.active .bread-crumbs-drop {
    color: var(--color-black);
}

.bread-crumbs {
    flex-wrap: wrap;
}

.bread-crumbs .item {
    white-space: nowrap;
}

@media screen and (max-width: 767px) {
    .bread-crumbs {
        flex-wrap: nowrap;
        min-width: 100%;
        overflow-x: auto;
        overflow-y: hidden;
        padding-bottom: 12px;
        padding-bottom: var(--size-12-24);
    }
}

.b-table-items {
    list-style: none;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: var(--size-12-24);
}

.b-table-items .table-item {
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default);
    border-radius: 90px var(--size-24-36) var(--size-24-36) 90px;
    overflow: hidden;
    padding: 6px;
}


.b-table-items .table-item .item-link {
    
    
}

.b-table-items .table-item .item-link:hover {
    color: var(--color-secondary-d);
}

.b-table-items .table-item .title {
    font-size: var(--size-14-18);
    font-family: var(--font-title-bold);
    line-height: 1.33;
    /* padding-top: var(--size-6-12); */
    /* margin-bottom: var(--size-4-6); */
    /* margin-top: var(--size-4-6); */
}

.b-table-items .table-item .col-img {
    padding-right: 0;
}

.b-table-items .table-item .col-info {
    
}

.b-table-items .table-item .col-marketing {
    /* padding-left: 0; */
    display: flex;
    align-items: end;
    /* flex-direction: column; */
    gap: var(--size-6-12);
}

@media screen and (max-width: 576px) {

    /* .b-table-items .table-item .col-marketing {
        border-top: 1px solid var(--color-gray-l);
        border-left: none;
        padding-right: 0;
    } */
    
}

.b-table-items .table-item .img {
    width: 100%;
    aspect-ratio: 1/1;
    border-radius: 90px;
    overflow: hidden;
    /* padding: 6px; */
    border: 6px solid var(--color-secondary-l);
    background-color: var(--color-secondary-l);
    position: relative;
    z-index: 1;

    isolation: isolate;
}

.b-table-items .table-item .img:after {
    /* content: "";
    position: absolute;
    top: var(--size-4-6);
    left: var(--size-4-6);
    width: calc(100% - var(--size-6-12));
    height: calc(100% - var(--size-6-12));



    box-shadow: inset rgba(0, 0, 0, 0.05) -3px 3px 12px 0px;
    border-radius: 12px; */
}
    
.b-table-items .table-item img {
    width: 100%;
    aspect-ratio: 1/1;
    object-fit: cover;
    border-radius: 90px;
    transition: transform 0.3s ease;
    display: block;
    z-index: 1;
    /* border-radius: 12px; */

    /* width: clamp(2.5rem, 0.6818rem + 9.0909vw, 7.5rem); /* 40 - 120 */
    /* height: clamp(2.5rem, 0.6818rem + 9.0909vw, 7.5rem); /* 40 - 120 */

    user-select: none;

        transform: scale(1);
    transform-origin: center;
    transition: transform 0.6s ease;
    will-change: transform;
    backface-visibility: hidden;
}

.b-table-items .table-item:hover .img img {
    transform: scale(1.1);
}


.b-table-items .table-item {
   
}

.b-table-items .table-item > .row {
    padding: 0;
    margin: 0;
}
.b-table-items .table-item .marketing {
    /* width: 100%;
    margin: 0;
    padding: 0; */
}

.b-table-items .table-item .marketing > div {
    /* width: 100%; */
    position: relative;
}

.b-table-items .table-item .info {
    /* padding: var(--size-6-12);
    display: block;
    width: 100%;
    height: 100%;
    padding-top: 0; */
}



.b-table-items .table-item .marketing {
    /* padding: var(--size-6-12);
    height: 100%; */
}

.b-table-items .table-item .b-item-availability {
    /* font-size: 12px; */
    color: var(--color-green);
    /* position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 0; */
}

.b-table-items .table-item .marketing .art,
.b-table-items .table-item .marketing .availability {
    /* white-space: nowrap;
    font-size: 12px; */
}

.b-table-items .table-item .marketing .art {
    /* color: var(--color-gray); */
}

.b-table-items .table-item .marketing .availability {
    /* color: var(--color-blue-d); */
}

.b-table-items .table-item .b-item-price {
    /* text-align: center;
    font-family: var(--font-title-bold);
    font-size: var(--size-14-16);
    line-height: 1;
    padding: var(--size-12-24) 0;
    white-space: nowrap; */
    text-align: center;
    font-family: var(--font-title-bold);
    white-space: nowrap;
    position: relative;
    padding-bottom: var(--size-12-24);
}

.b-table-items .table-item .b-item-price .cost-currency {
    /* margin-left: 6px; */
}

.b-table-items .table-item .marketing .button {   
    /* padding: var(--size-6-12);
    border-top: 1px solid var(--color-gray-l);
    border-bottom: 1px solid var(--color-gray-l);
    border: 1px solid var(--color-gray-l);
    transition: 0.15s;
    border-radius: var(--border-radius-default);
    background-color: var(--color-background);
    user-select: none; */
    white-space: nowrap;
    display: flex;
    align-items: center;
    justify-content: center;
}

.b-table-items .table-item .marketing .button svg {
    width: 16px;
    height: 16px;
    min-width: 16px;
    min-height: 16px;
}

.b-table-items .table-item .marketing .button:hover {
    /* background-color: var(--color-gray-l);
    color: var(--color-orange); */
    cursor: pointer;
}

.b-table-items .table-item .marketing .button .button-title {
    text-align: center;
}

.b-table-items .table-item .marketing .btn-fast-order {
    /* border-color: var(--color-orange); */
    background-color: var(--color-primary);
    color: var(--color-secondary);
    font-family: var(--font-bold);
    
    flex: 0 0 40%;
}

.b-table-items .table-item .marketing .btn-fast-order:hover {
    background-color: var(--color-primary-hover);
}

.b-table-items .table-item .b-order {
    /* gap: 6px; */
}

.b-table-items .table-item .b-order .btn-order {
    display: inline-block;
    padding: 6px;
    background-color: var(--color-secondary);
    color: var(--color-primary);
    font-family: var(--font-bold);
    flex: 0 0 60%;

    background-color: inherit;
    color: var(--color-secondary);
    /* box-shadow: rgba(0, 0, 0, 0.25) 0px 25px 50px -12px; */
    box-shadow: rgba(0, 0, 0, 0.15) 0px 2px 8px;

}

.b-table-items .table-item .b-order .btn-order:hover {
    background-color: var(--color-secondary-d);
    color: var(--color-primary);
}

.b-table-items .table-item .b-params {
    /* gap: 6px; */
    
    overflow: hidden;
    list-style: none;
    padding: 0;
    margin: 0;
    margin-bottom: var(--size-4-6);
    gap: 4px;
}

@media (max-width: 768px) {
    .b-table-items .table-item .b-params {
        clear: left;
    }

    .b-table-items .table-item .b-order .btn-order  {
        padding: var(--size-6-12);
    }
}

.b-table-items .table-item .b-params .param-item {
    background-color: var(--color-secondary-l);
    align-items: center;
    padding: 6px 12px;
    border-radius: var(--size-6-12);
    /* border-right: 1px solid var(--color-gray-l); */
    /* padding-bottom: var(--size-4-6); */
    
}

.b-table-items .table-item .b-params .param-item-title {
    font-size: 12px;
    color: var(--color-gray);
}

.b-table-items .table-item .b-params .param-item-value {
    color: var(--color-black);
}

@media screen and (max-width: 576px) {

    .b-table-items .table-item .marketing .button {
        padding: var(--size-4-8);
        flex: 0 0 30%;
    }

    .b-table-items .table-item .b-params {
        /* max-height: calc(var(--height-item-param) * 5);
        margin-bottom: var(--size-8-12); */
        margin-top: var(--size-4-6);
    }

    .b-table-items .table-item .b-params .param-item {
        align-items: end;
    }

    .b-table-items .table-item .b-params .param-item-title {
        /* width: 40%; */
        position: relative;
    }

    .b-table-items .table-item .b-params .param-item-title .text {
        /* background-color: var(--color-white);
        padding: 6px;
        padding-left: 0;
        z-index: 1;
        position: relative;
        line-height: 1.66; */
    }

    .b-table-items .table-item .b-params .param-item-title:before {
        /* content: '';
        position: absolute;
        bottom: 0.2em;
        left: 0;
        width: 100%;
        border-bottom: 1px dashed #E3E3E3; */
    }

    .b-table-items .table-item .b-params {
        height: 0;
        /* margin-bottom: 0; */
    }

    .b-table-items .table-item .b-params.params-show {
        height: auto;
    }
    
}


.b-table-items .table-item .wrap-b-params {
    margin-top: 6px;
    /* padding-left: calc(var(--size-8-12) + clamp(5rem, 4.0909rem + 4.5455vw, 7.5rem)); */
}

@media screen and (max-width: 768px) {
    .b-table-items .table-item .wrap-b-params {
        clear: left;
        padding-left: 0;
        margin-top: 0;
    }   
}

.b-table-items .table-item .b-show-params {
    color: var(--color-blue-l);
    /* margin: var(--size-4-6) 0; */
    text-decoration: underline;

}

.b-table-items .table-item .b-show-params:hover {
    cursor: pointer;
    color: var(--color-blue);
}

@media screen and (max-width: 576px) {
    .b-table-items .table-item .info {
        padding-bottom: 0;
    }

    .b-table-items .table-item .img {
        margin-bottom: 0;
    }

    .b-table-items .table-item .title {
        margin-bottom: 0;
    }

    .b-table-items .table-item .b-item-price {
        /* padding: 0; */
        /* text-align: left; */
        text-align: center;
        padding: 6px 0 16px 0;
    }
}

@media screen and (min-width: 576px) {
    .b-table-items .table-item .b-order {
        width: 100%;
    }
}

.b-other-items .b-table-items {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--size-6-12);
}

.b-other-items .b-table-items .table-item {
    flex: 0 0 calc(100% / 3 - var(--size-6-12));
}

.b-other-items .b-table-items .wrap-b-params {
    display: none;
}

@media screen and (max-width: 900px) {
    .b-other-items .b-table-items .table-item {
        flex: 0 0 calc(100% / 2 - var(--size-6-12));
    }

    .b-other-items .b-table-items .table-item .b-item-price {
        padding: 0;
        text-align: left;
    }
}

@media screen and (max-width: 576px) {
    .b-other-items .b-table-items .table-item {
        flex: 0 0 100%;
    }
}

.b-other-items .b-table-items .table-item {
    margin-bottom: var(--size-6-12);
}

.b-other-items .b-table-items .table-item .info {
    padding-bottom: 0;
}

.b-other-items .b-table-items .table-item .title {
    margin-bottom: 0;
}

.b-other-items .b-table-items .table-item .b-item-price {
    padding: 12px;
    padding: 0;
    
}

.b-other-items .b-table-items .table-item .img {
    margin-bottom: 0;
}

.b-other-items .b-table-items .table-item img {
    width: clamp(2.5rem, 2.0455rem + 2.2727vw, 3.75rem);
    height: clamp(2.5rem, 2.0455rem + 2.2727vw, 3.75rem);
}

.b-other-items .b-table-items .table-item .marketing {
    padding: 6px;
    padding-top: 0;
}

.b-item-btn-order {
    display: inline-flex;
    width: fit-content;
    flex-direction: row;
    gap: var(--size-4-6);
    align-items: center;
    background: linear-gradient(90deg, var(--color-secondary) 0%, var(--color-secondary-d) 100%);
    color: var(--color-white);
    border-radius: 24px;
    padding: 4px 12px 4px 4px;
    font-family: var(--font-title-bold);
    white-space: nowrap;
}

.b-item-btn-order .button-title {
    font-family: var(--font-title-bold);
}

.b-item-btn-order .cost {
    font-size: var(--size-14-16);
    font-family: var(--font-title-bold);
    padding: var(--size-4-6) var(--size-10-12);
    user-select: none;
    background-color: var(--color-secondary-l);
    border-radius: 24px;
    color: var(--color-black);
    white-space: nowrap;
}


.b-cart-qty-control {
    
    /* padding: 6px; */
    /* background-color: var(--color-background);
    border-radius: var(--border-radius-default);
    border: 1px solid var(--color-gray-l); */
}

.b-cart-qty-control .qty {
    font-size: var(--size-14-16);
    font-family: var(--font-title-bold);
    padding: var(--size-4-6) var(--size-4-6);
    user-select: none;
}

.b-cart-qty-control__button {
    display: flex;
    flex: 0 0 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 0;
    color: inherit;
    background: transparent;
    border: 0;
    outline: none;
    cursor: pointer;
}

.b-cart-qty-control__button:hover svg,
.b-cart-qty-control__button:focus-visible svg {
    opacity: .65;
}

.b-item-btn-fast-order {
    user-select: none;
}

@media screen and (max-width: 576px) {
    .b-item-btn-fast-order {
        padding-right: 4px;
    }
}

.button:hover {
    cursor: pointer;
}


.filter-tags {
    display: grid;
    gap: var(--space-5);
    margin-bottom: var(--space-5);
}




.filter-tags__heading {
    margin-bottom: var(--space-2);
}

.filter-tags__title {
    margin: 0;
    color: var(--color-text);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-body-large);
    line-height: var(--line-height-tight);
}

.filter-tags__items {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.filter-tags__item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    padding: var(--space-1) var(--space-3);
    color: var(--color-text-secondary);
    font-size: var(--font-size-body);
    line-height: var(--line-height-tight);
    white-space: nowrap;
    background-color: var(--color-bg);
    border: var(--border-default);
    border-radius: var(--border-radius-round);
    transition: border-color 0.15s, color 0.15s, background-color 0.15s;
}

.filter-tags__item:hover {
    color: var(--color-text);
    border-color: var(--color-border-strong);
}

.filter-tags__item:focus-visible {
    color: var(--color-text);
    border-color: var(--color-accent);
    outline: 1px solid var(--color-accent);
    outline-offset: 2px;
}

.filter-tags__item.is-selected {
    gap: var(--space-2);
    color: var(--color-white);
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.filter-tags__item.is-selected:hover,
.filter-tags__item.is-selected:focus-visible {
    color: var(--color-white);
    border-color: var(--color-primary);
}

.filter-tags__check {
    width: 7px;
    height: 12px;
    border-right: 2px solid currentColor;
    border-bottom: 2px solid currentColor;
    transform: rotate(45deg) translateY(-1px);
}

@media screen and (max-width: 767px) {
    .filter-tags {
        gap: var(--space-4);
    }

    .b-cart-qty-control {
        /* flex: 0 0 70%; */
    }
}

.b-other-variants {
    margin-top: var(--size-12-24);
    margin-bottom: var(--size-12-24);
}

.b-other-variants ul {
    list-style: none;
    padding: 0;
    margin: 0;
    gap: var(--size-6-12);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    margin-top: var(--size-6-12);
}

.b-other-variants ul li {
    flex: 0 0 calc(20% - var(--size-6-12));
}

.b-other-variants ul li a {
    white-space: nowrap;
    padding: var(--size-4-6) var(--size-6-12);
    border-radius: var(--border-radius-button);
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default-2);
    transition: 0.15s;
    display: inline-block;
}

.b-other-variants ul li a:hover {
    box-shadow: var(--box-shadow-default);
    background-color: var(--color-secondary-d);
    color: var(--color-white);
    /* box-shadow: rgba(0, 0, 0, 0.05) 0px 6px 24px 0px, rgba(0, 0, 0, 0.08) 0px 0px 0px 1px; */
}


.p-catalog-item {
    margin-top: 24px;
}

.p-catalog-item .item-img {
    
    position: relative;

    
}

.p-catalog-item  .item-img:after {
    
}

.p-catalog-item .item-img img {
    width: 100%;
    height: auto;
}

.p-catalog-item h1 {
    /* margin: 0;
    padding: 0; */
    
}

@media screen and (max-width: 767px) {
    .p-catalog-item h1 {
        margin: 0;
        padding: 0;
        margin-top: var(--size-6-12);
    }
}

.p-catalog-item .b-articul {
    padding: 0 6px;
}

.p-catalog-item .art {
    color: var(--color-gray);
}

.p-catalog-item .availability {
    color: var(--color-blue-d);
}

.p-catalog-item .b-price {
    text-align: center;
    font-family: var(--font-title-bold);
    font-size: var(--size-18-24);
    line-height: 1;
    padding: 24px 0;
    white-space: nowrap;
    justify-content: center;
}

.p-catalog-item .b-order {
    gap: var(--size-6-12);
    width: 100%;
}

.p-catalog-item .b-order .button {
    padding: var(--size-6-12) var(--size-6-12);
    border-top: 1px solid var(--color-gray-l);
    border-bottom: 1px solid var(--color-gray-l);
    border: 1px solid var(--color-gray-l);
    transition: 0.15s;
    border-radius: var(--border-radius-default);
    background-color: var(--color-background);
    user-select: none;


    font-family: var(--font-bold);
}

.p-catalog-item .b-order .btn-fast-order {
    background-color: var(--color-primary);
    color: var(--color-secondary);
}

.p-catalog-item .b-order .btn-order {
    background-color: var(--color-secondary);
    color: var(--color-primary);
}

.p-catalog-item .b-order .button svg {
    width: 24px;
    height: 24px;
    min-width: 24px;
    min-height: 24px;
}

.p-catalog-item .b-order .button .button-title {
    text-align: center;
    
}


.p-catalog-item .b-item-marketing {
    display: inline-block;
    box-shadow: var(--box-shadow-default);
    border-radius: var(--border-radius-default);
    padding: var(--size-6-12);
    background-color: var(--color-white);
    /* height: 100%; */
    width: 100%;
}

.p-catalog-item .b-item-info {
    display: flex;
    flex-direction: row;
    margin-bottom: var(--size-12-24);
    align-items: center;
    gap: var(--size-6-12);
    flex-wrap: wrap;
}

.p-catalog-item .b-item-info .item {
    background-color: var(--color-secondary-l);
    border-radius: var(--size-12-24);
    padding: var(--size-4-6) var(--size-6-12);
    height: 100%;
    align-items: center;
    display: flex;
}

.p-catalog-item .b-item-info .item.item-icon {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--size-4-6);
    padding-left: var(--size-4-6);
}

.p-catalog-item .b-item-info .item .icon {
    background-color: var(--color-white);
    border-radius: 50%;
    padding: 2px;
    display: flex;
}

.p-catalog-item .b-item-info .item .icon.s-color {
    stroke: #1DCB00;
}


.p-catalog-item .b-item-params {
    /* margin-top: var(--size-6-12); */
}

.p-catalog-item .b-item-params .items {
    list-style: none;
    padding: 0;
    margin: 0;
    gap: 12px;
    display: flex;
    flex-direction: column;
}

.p-catalog-item .b-item-params .item {
    display: flex;
    flex-direction: row;
    gap: var(--size-6-12);
    align-items: center;
    background-color: var(--color-secondary-l);
    border-radius: var(--size-12-24);
    padding: 6px 12px;
    align-self: flex-start;
}

.p-catalog-item .b-item-params .item .title {
    position: relative;
}

.p-catalog-item .b-item-params .item .title .text {
    z-index: 1;
    position: relative;
    line-height: 1.66;
    color: var(--color-gray);
}

.p-catalog-item .b-item-params .item .values {
    gap: 6px;
}

.p-catalog-item .b-item-params .item .values .value-link {
    /* white-space: nowrap; */
    padding: var(--size-4-6) var(--size-6-12);
    border-radius: var(--border-radius-button);
    background-color: var(--color-white);
    transition: 0.15s;
    display: inline-block;
    box-shadow: var(--box-shadow-default-2);
}

.p-catalog-item .b-item-params .item .values .value-link:hover {
    box-shadow: var(--box-shadow-default);
}

@media (max-width: 768px) {
    /* .p-catalog-item .b-item-params .item {
        flex-wrap: wrap;
    }

    .p-catalog-item .b-item-params .item .title {
        width: 100%;
    }

    .p-catalog-item .b-item-params .item .title:before {
        display: none;
    } */
}


.p-catalog-item .b-price-updated {
    margin-top: var(--size-6-12);
    margin-top: 12px;
    
    color: var(--color-gray);
}



.p-catalog-item .b-other-articles .b-article-tile ul li {
        flex: 0 0 calc(20% - var(--size-6-12));
}

@media screen and (max-width: 576px) {
    .p-catalog-item .b-other-articles .b-article-tile ul li {
        flex: 0 0 calc(100%);
    }
}

.p-catalog-item .b-other-articles .b-article-tile ul li .title {
    font-size: var(--size-14-16);
}


.b-consultant {
    margin-top: var(--size-12-24);
}


.b-payment-delivery {
    /* margin-top: var(--size-12-24);
    padding: var(--size-6-12);
    border-radius: var(--border-radius-default);
    background-color: var(--color-background);
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
    display: flex;
    flex-direction: column;
    box-shadow: var(--box-shadow-default-2);
    background-color: var(--color-white); */
    padding: var(--size-12-24) 0;
}

.b-payment-delivery > div {
    /* width: 50%; */
    
}

.b-payment-delivery-item {
    border-radius: 32px;
    background-color: var(--color-white);
    padding: var(--size-6-12);
    box-shadow: var(--box-shadow-default);
}

.b-payment-delivery .title {
    display: flex;
    flex-direction: row;
    gap: var(--size-6-12);
    align-items: top;
    margin-bottom: var(--size-6-12);
}

.b-payment-delivery .title h2 {
    margin: 0;
    padding: 0;
}

.b-payment-delivery .title .icon {
    border-radius: 50%;
    background-color: var(--color-secondary-l);
    padding: 6px;
    align-self: flex-start;
}

.b-payment-delivery a {
    color: var(--color-blue);
}

.b-payment-methods {
    gap: var(--size-6-12);
    display: flex;
    flex-direction: column;
    margin-bottom: var(--size-6-12);
}

.b-payment-methods .payment-method {
    display: flex;
    flex-direction: row;
    gap: var(--size-6-12);
    align-items: center;
}

.b-payment {
    /* width: 50%; */
    padding: var(--size-6-12);
}

.b-delivery {
    /* width: 50%; */
    padding: var(--size-6-12);
}

@media screen and (min-width: 767px) {
    .b-payment {
        border-right: 1px solid var(--color-background);
    }

    .b-delivery {
        /* border-left: 1px solid var(--color-gray-l); */
    }
}

@media screen and (max-width: 767px) {

    .b-payment {
        border-bottom: 1px solid var(--color-gray-l);
        padding-bottom: var(--size-12-24);
    }

    .b-delivery {
        border-top: 1px solid var(--color-background);
        padding-top: var(--size-12-24);
    }

    .b-payment-delivery > div {
        width: 100%;
    }
    
}


.b-consultant .cosunltant-person .img {
    width: 96px;
    height: 96px;
}

.b-consultant .cosunltant-person img {

}

.b-consultant .cosunltant-person .name {
    font-family: var(--font-title-bold);
    font-size: var(--size-14-18);
}

.b-consultant .cosunltant-person .job {
    color: var(--color-gray-d);
    font-size: var(--size-12-14);
}

.b-consultant .cosunltant-person .email {
    margin-top: var(--size-4-6);
    color: var(--color-blue-d);
    font-size: var(--size-14-16);
}

.b-consultant .consultant-advantages .title {
    font-family: var(--font-title-bold);
    font-size: var(--size-14-18);
    margin-bottom: var(--size-6-12);
}

.b-consultant .consultant-advantages ol {
    gap: 12px;
}

.b-consultant .consultant-form {
    margin-top: var(--size-12-24);
}



.b-consultant.tpl-row .consultant-form {
    margin-top: 0;
    background: linear-gradient(to right, #29323c, #485563);
    border-radius: var(--border-radius-default);
    padding: var(--size-12-24);
    color: var(--color-white);

}

.b-consultant.tpl-row ol {
    gap: var(--size-6-12);
}

.b-consultant.tpl-row ol li {
    padding: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--size-6-12)
}

.b-consultant.tpl-row ol li:before {
    display: none;
}

.b-consultant.tpl-row ol li .icon {
    padding: var(--size-6-8);
    /* box-shadow: var(--box-shadow-default); */
    border-radius: 50%;
    background-color: var(--color-secondary-l);
    display: flex;
    align-items: center;
    justify-content: center;
}

.wrap-b-other-items {
    background-color: var(--color-white);
    padding: var(--size-12-32) 0;
    margin-top: var(--size-24-48);
    /* box-shadow: var(--box-shadow-default-2); */
    border-top: 1px solid var(--color-gray-l);
    border-bottom: 1px solid var(--color-gray-l);
}

.wrap-b-other-articles {
    margin-top: var(--size-24-48);
}



.catalog-filters {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    color: var(--color-text);
}

.catalog-filters__header {
    display: flex;
    align-items: flex-start;
}

.catalog-filters__header-main {
    min-width: 0;
    flex: 1;
    cursor: pointer;
}

.catalog-filters__title-row {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: var(--space-2);
}

.catalog-filters__toggle {
    display: flex;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    align-items: center;
    justify-content: center;
    border-radius: var(--border-radius-round);
    background-color: var(--color-bg-secondary);
}

.catalog-filters__toggle-icon {
    color: var(--color-text);
    fill: currentColor;
    transition: transform 0.2s ease;
}

.catalog-filters__group.active .catalog-filters__toggle-icon {
    transform: rotate(180deg);
}

.catalog-filters__title {
    font-family: var(--font-bold);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
}

.catalog-filters__body {
    display: none;
    margin-top: var(--space-1);
    padding: var(--space-3);
    border-radius: var(--border-radius-default);
    background-color: var(--color-bg);
    box-shadow: var(--box-shadow-default);
}

.catalog-filters__group.active .catalog-filters__body {
    display: block;
}

.catalog-filters__body--search {
    padding: var(--space-2);
}

.catalog-filters__body--search .catalog-filters__list {
    display: none;
}

.catalog-filters__group.active .catalog-filters__body--search .catalog-filters__list {
    display: block;
}

.catalog-filters__search {
    box-sizing: border-box;
    width: 100%;
    height: 32px;
    margin-bottom: 0;
    padding: 0 var(--space-2);
    border: var(--border-default);
    border-color: transparent;
    border-radius: var(--border-radius-form-control);
    outline: none;
    background-color: var(--color-bg-secondary);
    color: var(--color-text);
    font: var(--font-weight-regular) var(--font-size-body)/var(--line-height-body) var(--font-regular);
}

.catalog-filters__search::placeholder {
    color: var(--color-text-muted);
}

.catalog-filters__search:focus {
    border-color: var(--color-accent);
}

.catalog-filters__list {
    max-height: 200px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

.catalog-filters__group.active .catalog-filters__search + .catalog-filters__list {
    margin-top: var(--space-2);
}

.catalog-filters__option {
    display: flex;
    min-height: 24px;
    align-items: center;
    gap: var(--space-2);
    margin: 0;
    cursor: pointer;
    font-size: var(--font-size-body);
    line-height: var(--line-height-tight);
    -webkit-touch-callout: none;
}

.catalog-filters__checkbox {
    appearance: none;
    -webkit-appearance: none;
    width: 18px;
    height: 18px;
    margin: 0;
    flex: 0 0 18px;
    border: 2px solid var(--color-accent);
    border-radius: var(--border-radius-small);
    background-color: var(--color-bg);
    cursor: pointer;
    position: relative;
}

.catalog-filters__checkbox:checked {
    border-color: var(--color-accent);
    background-color: var(--color-accent);
}

.catalog-filters__checkbox:checked::after {
    content: '';
    position: absolute;
    top: 2px;
    left: 5px;
    width: 4px;
    height: 8px;
    border: solid var(--color-bg);
    border-width: 0 2px 2px 0;
    transform: rotate(45deg);
}

.catalog-filters__checkbox:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.catalog-filters__checkbox:disabled {
    cursor: not-allowed;
    opacity: 0.5;
}

.catalog-filters__checkbox:disabled + .catalog-filters__label {
    color: var(--color-text-muted);
}

.catalog-filters__count {
    color: var(--color-text-muted);
    font-size: var(--font-size-small);
}

.catalog-filters__empty {
    padding: var(--space-2) 0;
    color: var(--color-text-muted);
    font-size: var(--font-size-small);
}

.catalog-filters__actions {
    display: flex;
    margin-top: var(--space-3);
    flex-direction: column;
    align-items: center;
    gap: var(--space-2);
}

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

.catalog-filters__reset {
    color: var(--color-text-muted);
    font-size: var(--font-size-small);
    text-decoration: underline;
}


.filtersModal .modal-body {
    padding: 0;
}

@media screen and (max-width: 576px) {
    .catalog-filters {
        gap: var(--space-2);
    }

    .catalog-filters__body {
        width: 100%;
    }
}


.b-fluid-gradient--services {
    background: var(--color-bg-secondary);
}

.service-listing {
    margin: 0 auto var(--space-6);
}

.service-listing--home {
    margin-bottom: 0;
    padding: var(--space-7) 0;
}

.service-listing__heading {
    margin-bottom: var(--space-7);
}

.service-listing__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-5);
    margin: 0;
    padding: 0;
    list-style: none;
}

.service-listing__item {
    min-width: 0;
}

.service-card {
    display: flex;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    height: 100%;
    min-height: 246px;
    padding: var(--space-5);
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: var(--color-text);
    text-align: center;
    text-decoration: none;
}

.service-card:hover,
.service-card:focus-visible {
    color: var(--color-text);
    transform: translateY(-2px);
}

.service-card__media {
    display: flex;
    width: 72px;
    height: 72px;
    margin-bottom: var(--space-4);
    align-items: center;
    justify-content: center;
}

.service-card__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.service-card__body {
    width: 100%;
    max-width: 310px;
    min-width: 0;
}

.service-card__title {
    margin: 0;
    padding: 0;
    color: var(--color-text);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-card-title);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
    overflow-wrap: anywhere;
}

.service-card__description {
    display: -webkit-box;
    max-width: 310px;
    margin: var(--space-3) 0 0;
    overflow: hidden;
    color: var(--color-text-secondary);
    font-size: var(--font-size-body);
    line-height: var(--line-height-body);
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
}

@media screen and (max-width: 1023px) {
    .service-listing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .service-listing__heading {
        margin-bottom: var(--space-6);
    }

    .service-listing__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-4);
    }

    .service-card {
        min-height: 220px;
        padding: var(--space-4);
    }
}


.site-footer {
    color: var(--color-text-inverse);
    background: var(--color-bg-dark);
    margin-top: var(--size-48-96);
}

.site-footer__main {
    padding: var(--space-7) 0;
}

.site-footer__grid {
    display: grid;
    grid-template-columns: minmax(180px, 1.15fr) repeat(2, minmax(150px, 1fr)) minmax(250px, 1.2fr);
    gap: var(--space-6);
    align-items: start;
}

.site-footer__brand {
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: stretch;
}

.site-footer__logo {
    display: block;
    width: 80px;
    max-width: 100%;
    min-height: 56px;
}

.site-footer__brand-logo {
    display: block;
    width: 80px;
    height: 80px;
    color: var(--color-text-inverse);
}

.site-footer__links {
    display: flex;
    flex-direction: column;
    gap: var(--space-2);
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-footer__nav-title,
.site-footer__contacts-title {
    margin: 0 0 var(--space-1);
    color: var(--color-text-inverse);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-card-title);
    line-height: var(--line-height-tight);
}

.site-footer__contacts-title {
    margin-bottom: var(--space-3);
}

.site-footer__link,
.site-footer__link:visited,
.site-footer__legal-link,
.site-footer__legal-link:visited {
    color: var(--color-text-muted);
    text-decoration: none;
    transition: color 0.15s ease;
}

.site-footer__contact-value a:visited {
    color: inherit;
}

.site-footer__link:hover,
.site-footer__link:focus-visible,
.site-footer__legal-link:hover,
.site-footer__legal-link:focus-visible,
.site-footer__contact-value a:hover,
.site-footer__contact-value a:focus-visible {
    color: var(--color-text-inverse);
}

.site-footer__contacts {
    padding: var(--space-5);
    border: 1px solid var(--color-accent);
    border-radius: var(--border-radius-large);
}

.site-footer__contacts-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
}

.site-footer__contact {
    display: flex;
    gap: var(--space-3);
    align-items: flex-start;
}

.site-footer__contact-icon {
    flex: 0 0 auto;
    margin-top: var(--space-1);
    color: var(--color-accent);
    fill: currentColor;
}

.site-footer__contact-value {
    color: var(--color-text-inverse);
}

.site-footer__contact-meta,
.site-footer__copyright-note,
.site-footer__offer-note {
    margin-top: var(--space-1);
    color: var(--color-text-muted);
    font-size: var(--font-size-small);
    line-height: 1.45;
}

.site-footer__secondary,
.site-footer__bottom {
    padding: var(--space-6) 0;
    border-top: 1px solid var(--color-text-secondary);
}

.site-footer__secondary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: var(--space-6);
}

.site-footer__legal-row {
    display: flex;
    gap: var(--space-5);
    justify-content: space-between;
    align-items: flex-start;
}

.site-footer__copyright {
    /* flex: 0 1 420px; */
}

.site-footer__legal-links {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3) var(--space-5);
    justify-content: flex-end;
}

.site-footer__offer-note {
    max-width: var(--container-content);
    margin-top: var(--space-5);
}

@media screen and (max-width: 1023px) {
    .site-footer__grid,
    .site-footer__secondary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .site-footer {
        padding-bottom: calc(70px + env(safe-area-inset-bottom, 0px));
    }

    .site-footer__main {
        padding: var(--space-6) 0;
    }

    .site-footer__grid,
    .site-footer__secondary-grid {
        grid-template-columns: 1fr;
        gap: var(--space-5);
    }

    .site-footer__legal-row {
        flex-direction: column;
    }

    .site-footer__legal-links {
        justify-content: flex-start;
    }
}

.form-title {
    font-family: var(--font-title-bold);
    font-size: var(--size-14-18);
}

.feedback-form {
    container-type: inline-size;
    margin-bottom: var(--size-12-24);
    padding: clamp(24px, 4vw, 56px);
    color: var(--color-text);
    background: var(--color-white);
    border: 1px solid rgba(229, 231, 235, 0.75);
    border-radius: var(--border-radius-default);
    box-shadow: 0 4px 20px rgba(31, 36, 40, 0.12);
}

.feedback-form__inner {
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}

.feedback-form__title {
    position: relative;
    margin: 0 0 clamp(32px, 4vw, 46px);
    padding-bottom: 15px;
    font-size: clamp(24px, 3vw, 34px);
    line-height: 1.15;
    text-align: center;
}

.feedback-form__title::after {
    position: absolute;
    bottom: 0;
    left: 50%;
    width: min(224px, 64%);
    height: 5px;
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary-d));
    border-radius: 3px;
    content: '';
    transform: translateX(-50%);
}

.feedback-form__grid {
    row-gap: 18px;
    
}

.feedback-form__field.mt-2,
.feedback-form__field.mt-3 {
    margin-top: 0 !important;
}

.feedback-form__label {
    margin-bottom: 7px;
    font-family: var(--font-title-bold);
    font-size: 15px;
    line-height: 1.25;
}

.feedback-form__control {
    min-height: 42px;
    padding: 9px 13px;
    color: var(--color-text);
    background-color: var(--color-white);
    border: 1px solid var(--color-border-strong);
    border-radius: var(--border-radius-default);
    box-shadow: inset 0 1px 2px rgba(31, 36, 40, 0.04);
    transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.feedback-form textarea.feedback-form__control {
    min-height: 132px;
    resize: vertical;
}

.feedback-form__control:focus {
    color: var(--color-text);
    background-color: var(--color-white);
    border-color: var(--color-primary);
    box-shadow: 0 0 0 2px rgba(253, 116, 16, 0.14);
}

.feedback-form__control::placeholder {
    color: var(--color-text-muted);
    opacity: 0.72;
}

.feedback-form__agreement > div {
    position: relative;
}

.feedback-form__agreement-label {
    user-select: none;
    margin: 0;
    color: var(--color-text-muted);
    font-size: 14px;
    line-height: 1.35;
    cursor: pointer;
}

.feedback-form__agreement .form-check-input {
    width: 18px;
    min-width: 18px;
    height: 18px;
    min-height: 18px;
    margin-bottom: 0;
    margin-top: 0;
    border: 1px solid var(--color-primary);
    border-radius: 4px;
    box-shadow: none;
    cursor: pointer;
}

.feedback-form__agreement .form-check-input:checked {
    background-color: var(--color-primary);
    border-color: var(--color-primary);
}

.feedback-form__agreement a {
    color: inherit;
    text-decoration: underline;
    text-underline-offset: 2px;
}

.feedback-form__agreement a:hover {
    color: var(--color-primary);
}

.feedback-form__submit .btn-default {
    border: none;
    border-radius: var(--border-radius-default);
    min-height: 48px;
    padding: 11px 20px;
    font-family: var(--font-title-bold);
    font-size: 17px;
    color: var(--color-white);
    background: linear-gradient(90deg, var(--color-primary), var(--color-secondary-d));
    box-shadow: none;
}

.feedback-form__submit .btn-default:hover {
    color: var(--color-white);
    background: linear-gradient(90deg, var(--color-secondary-d), var(--color-secondary-d-2));
}

.feedback-form:has(textarea) .feedback-form__field:has(.feedback-form__submit) {
    width: 100%;
    margin-left: 0;
}

.feedback-form__file-button {
    width: 100%;
    min-height: 42px;
    border-radius: var(--border-radius-default);
}

.feedback-form__file-list {
    color: var(--color-text-muted);
}

.feedback-form .form-text {
    color: var(--color-text-muted);
}

.modal .feedback-form {
    margin-bottom: 0;
    padding: 0;
    border: 0;
    box-shadow: none;
}

@container (max-width: 620px) {
    .feedback-form__field {
        width: 100%;
        margin-left: 0;
    }
}

@media (max-width: 576px) {
    .feedback-form {
        padding: 24px 18px;
    }

    .feedback-form__title {
        margin-bottom: 28px;
        padding-bottom: 12px;
    }

    .feedback-form__title::after {
        height: 4px;
    }
}

/* Compact feedback form in the catalog listing sidebar. */
.catalog-listing__feedback {
    margin-top: var(--space-4);
}

.catalog-listing__feedback .feedback-form {
    margin: 0;
    padding: var(--space-4);
    border: var(--border-default);
    border-radius: var(--border-radius-default);
    box-shadow: var(--box-shadow-default);
}

.catalog-listing__feedback .feedback-form__inner {
    max-width: none;
}

.catalog-listing__feedback .feedback-form__title {
    margin: 0 0 var(--space-4);
    padding-bottom: var(--space-2);
    font-size: var(--font-size-body-large);
    line-height: var(--line-height-tight);
    text-align: left;
}

.catalog-listing__feedback .feedback-form__title::after {
    left: 0;
    width: 56px;
    height: 3px;
    background: var(--color-accent);
    border-radius: 0;
    transform: none;
}

.catalog-listing__feedback .feedback-form__grid {
    margin-right: 0;
    margin-left: 0;
    row-gap: var(--space-3);
}

.catalog-listing__feedback .feedback-form__field,
.catalog-listing__feedback .feedback-form__field.mt-2,
.catalog-listing__feedback .feedback-form__field.mt-3 {
    width: 100%;
    max-width: none;
    margin: 0 !important;
    padding: 0;
}

.catalog-listing__feedback .feedback-form__label {
    margin-bottom: var(--space-1);
    font-size: var(--font-size-small);
}

.catalog-listing__feedback .feedback-form__control {
    width: 100%;
    min-height: 44px;
    padding: 10px var(--space-3);
    font-size: var(--font-size-small);
    border: var(--border-default);
    border-radius: var(--border-radius-small);
}

.catalog-listing__feedback .feedback-form__agreement > div {
    gap: var(--space-2) !important;
}

.catalog-listing__feedback .feedback-form__agreement-label {
    font-size: var(--font-size-small);
    line-height: 1.35;
}

.catalog-listing__feedback .feedback-form__submit .btn-default {
    min-height: 44px;
    padding: 10px var(--space-3);
    color: var(--color-text-inverse);
    font-size: var(--font-size-body);
    background: var(--color-primary);
    border-radius: var(--border-radius-small);
}

.catalog-listing__feedback .feedback-form__submit .btn-default:hover {
    color: var(--color-text-inverse);
    background: var(--color-primary-hover);
}

.b-response.tpl-default {
    font-size: var(--size-14-16);
    text-align: center;
    padding: var(--size-12-24);
    margin-top: var(--size-6-12);
    border-radius: var(--border-radius-default);
    border: 2px solid var(--color-blue-d);
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default-2);
    transition: 0.15s;
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: var(--font-title-bold);
}

.modal-title {
    font-family: var(--font-title-bold);
    font-size: var(--size-16-18);
}

.modal-dialog.modal-bottom {
    position: fixed;
    margin: 0;
    bottom: -100%;
    left: 0;
    width: 100%;
    transform: translateY(0);
    transition: bottom .3s ease;
}

.modal.show .modal-dialog.modal-bottom {
    bottom: 0;
}


.modal-fast-order-content .item-content {
    margin-bottom: var(--size-12-24);
    gap: var(--space-4);
    /* box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; */
    border-radius: var(--border-radius-default);
}

.modal-fast-order-content .item-content .img {
    width: 30%;
    flex: 0 0 30%;
    min-width: 0;
    aspect-ratio: 1;
    box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px;
    border-radius: var(--border-radius-small);
    overflow: hidden;
}

.modal-fast-order-content .item-content .img img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.modal-fast-order-content__title {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}


.modal.mobile-menu .modal-dialog .modal-content {
    border-radius: 0;
    border: none;
}

.modal.mobile-menu .modal-dialog .modal-content .modal-body {
    padding: 0;
}

.b-menu-mobile-contacts,
.b-menu-mobile-links {
    padding: var(--bs-modal-padding);
}


.b-menu-mobile-links {
    border-top: 1px solid var(--color-gray-l);
}

.b-menu-mobile-links ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--size-6-12);
    padding: var(--size-12-24);
}


.b-bottom-mobile-bar {
    position: fixed;
    left: 0;
    bottom: 0;
    width: 100%;
    z-index: 100;
    padding: var(--space-2);
    padding-bottom: calc(var(--space-2) + env(safe-area-inset-bottom, 0px));
    color: var(--color-text-inverse);
    background-color: var(--color-bg-dark);
    gap: var(--space-1);
    border-top: 1px solid var(--color-text-secondary);
}

.mobile-bar__item,
.mobile-bar__item:visited {
    display: flex;
    flex: 1 1 0;
    min-width: 0;
    min-height: 48px;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-1);
    align-items: center;
    padding: 0;
    border: 0;
    border-radius: var(--border-radius-small);
    background: transparent;
    color: var(--color-text-inverse);
    font-family: inherit;
    font-size: 12px;
    line-height: var(--line-height-tight);
    text-decoration: none;
    cursor: pointer;
}

.mobile-bar__item:hover,
.mobile-bar__item:focus-visible,
.mobile-bar__item[aria-expanded="true"] {
    color: var(--color-primary);
}

.mobile-bar__item:focus-visible {
    outline: 2px solid var(--color-primary);
    outline-offset: 2px;
}

.mobile-bar__icon {
    display: block;
    width: 24px;
    height: 24px;
    flex: 0 0 24px;
    color: var(--color-primary);
    fill: none;
    stroke: currentColor;
}

.mobile-bar__item[data-catalog-toggle] .mobile-bar__icon {
    /* menu-2 has a fixed white fill; tint it to the brand orange #FF6D3D. */
    filter: brightness(0) invert(25%) sepia(100%) saturate(403.68%) hue-rotate(328.545deg) brightness(176.277%);
}

.mobile-bar__icon--filled {
    fill: currentColor;
    stroke: none;
}

.b-cart-mobile-bar .icon {
    position: relative;
}

.b-cart-mobile-bar .b-cart-count {
    position: absolute;
    top: 0;
    right: 0;
    transform: translate(50%, -50%);
    min-width: 16px;
    height: 16px;
    margin: 0;
    padding: 2px 4px;
    color: var(--color-text-inverse);
    background: var(--color-primary);
    font-size: 10px;
}

.cookies-info {
    position: fixed;
    bottom: var(--size-6-12);
    left: var(--size-6-12);
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default-2);
    padding: var(--size-4-6) var(--size-6-12);
    padding-right: var(--size-4-6);
    border-radius: var(--border-radius-button);
    z-index: 10200;
    max-width: 50%;
    border: 1px solid var(--color-blue-d);
    font-size: var(--size-12-14);
    color: var(--color-black);

    display: flex;
    flex-direction: row;
    align-items: center;

    left: 50%;
    transform: translateX(-50%);
}

.cookies-info.cookies-info-show-more {
    flex-direction: column;
}

.cookies-info.cookies-info-show-more #btnAcceptCookies {
    align-self: flex-end;
}

.cookies-info p {
    margin-bottom: var(--size-4-6);
}

.cookies-info .more a,
.cookies-info .formCookiesAcceptMore {
    text-decoration: underline;
    cursor: pointer;
}

.cookies-info .formCookiesAcceptMore {
    padding: 0 var(--size-4-6);
}

@media (max-width: 768px) {
    .cookies-info {
        max-width: 100%;
        bottom: 78px;
        left: var(--size-6-12);
        width: calc(100% - var(--size-12-24));
        transform: none;
    }
}

.add-file-list {
    display: flex;
    flex-direction: row;
    gap: var(--size-6-12);
    flex-wrap: wrap;
    font-size: var(--size-12-14);
    align-items: center;
    /* padding: var(--size-6-12) 0; */
}

.add-file-list .js-delFile {
    font-size: var(--size-14-16);
    cursor: pointer;
    border-radius: 6px;
    border: 1px solid var(--color-gray-l);
    box-shadow: var(--box-shadow-default-2);

    display: flex;
    align-items: center;
    justify-content: center;

    box-sizing: content-box;
    width: 16px;
    height: 16px;
    padding: 4px;
    background-color: #fff;
    color: var(--color-black)
}

.add-file-list .add-file-list {
    display: flex;
    flex-direction: row;
    gap: var(--size-4-6);
    flex-wrap: nowrap;
    align-items: center;
    

}

.js-no_file.hidden {
    display: none;
}

.b-header-search {
	position: relative;
	/* height: 36px;
	padding: 0 12px 0 12px;
	margin-left: 12px;
	margin-right: 24px;
	z-index: 50;
	border-radius: 3px;
    border: 2px solid var(--color-blue);
	background-color: #fff; */
    padding: 2px;
    background-color: #fff;
    border-radius: var(--border-radius-button);
}


.b-header-search .content {
}

.b-search-drop {
	display: none;
	position: absolute;
	top: 100%;
	top: calc(100% + 12px);
	left: 0;
	background-color: #fff;
	box-shadow: 0px 5px 20px rgba(0, 0, 0, 0.2);
	z-index: 50;
	border-radius: 3px;
	padding: 12px 12px;
	height: auto;
	max-height: calc(100vh - 150px);
	width: calc(100vw / 3);
	max-width: 1000px;
	overflow-y: auto;
    overflow-x: hidden;
}

.b-header-search input {
	/* border: none;
	font-size: 14px;
	padding: 0;
	margin: 0;
	height: 36px;
	outline: 0;
	background-color: transparent; */
    /* border: 2px solid var(--color-blue-d); */
    border: none;
    border-radius: var(--border-radius-button) 0 0 var(--border-radius-button);
    /* box-shadow: rgba(0, 0, 0, 0.1) 0px 1px 3px 0px, rgba(0, 0, 0, 0.06) 0px 1px 2px 0px; */
    font-size: var(--size-12-14);
    background-color: var(--color-white);
    border: 2px solid var(--color-secondary-l);
}

.b-header-search input:focus {

}

.b-header-search .button {
    display: flex;
    align-items: center;
    background-color: var(--color-secondary-l);
    border-radius: 0 var(--border-radius-button) var(--border-radius-button) 0;
    padding: var(--size-4-8);
	/* border: none;
	padding: 0;
	margin: 0;
	height: 40px;
	width: 40px;
	display: inline-block;
	background-color: transparent; */
}

.b-header-search .button-search .icon {
	/* width: 24px;
	height: 24px;
	max-width: 24px;
	max-height: 24px;
	fill: var(--color-blue) */
}

.b-hint-result .b-items {

}

.b-hint-result .b-items .item {
	/* margin-top: 12px; */
	padding: var(--size-6-12); 
	/* padding: calc(6px + (12 - 6) * (100vw - 320px) / (1600 - 320)) 24px; */
	border-bottom: 1px solid #E2E2E2;
	position: relative;
}

.b-hint-result .b-items .item:after {
	content: '';
    position: absolute;
    width: 100%;
    left: 0;
    background-color: #F4F4F4;
    height: 1px;
    bottom: -2px;
}

.b-hint-result .b-items .item:last-child {
	border: none;
}

.b-hint-result .b-items .item:last-child:after {
	display: none;
}

.b-hint-result .b-items .item .title {
	font-size: 14px;
}

.b-hint-result .b-items .item .img {
	width: auto;
	height: auto;
}

.b-hint-result .b-items .item .img img {
	width: 100%;
	height: auto;
}

.b-hint-result .b-items .item .price .cost {
	font-family: 'Mulish Bold';
	white-space: nowrap;
	font-size: 16px;
}

.b-hint-result .b-items .item .price .unit {
	margin-left: 6px;
    font-size: 14px;
}

.mobile-search-result.b-hint-result {
    margin-bottom: var(--size-12-24);
}

.search-hint { font-family: var(--font-regular), Arial, sans-serif; color: var(--color-text); }
.search-hint__categories { display: flex; flex-wrap: wrap; gap: var(--space-2); margin-bottom: var(--space-3); }
.search-hint__categories a { padding: var(--space-2); border: var(--border-default); border-radius: var(--radius-sm); }
.search-hint__item { display: grid; grid-template-columns: 64px minmax(0, 1fr) auto; gap: var(--space-3); align-items: center; min-height: 80px; padding: var(--space-2) 0; border-bottom: var(--border-default); color: var(--color-text); text-decoration: none; }
.search-hint__item:hover { color: var(--color-accent); }
.search-hint__image { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; border-radius: var(--radius-sm); background: var(--color-bg-secondary); }
.search-hint__image img { width: 100%; height: 100%; object-fit: contain; }
.search-hint__title { font-size: 14px; line-height: 1.45; overflow-wrap: anywhere; }
.search-hint__price { font-family: var(--font-bold), Arial, sans-serif; font-size: 16px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.search-hint__price small { font-family: var(--font-regular), Arial, sans-serif; font-size: 12px; }
.search-hint__all.button.button--primary { display: flex; box-sizing: border-box; width: 100%; margin-top: var(--space-3); padding: var(--space-3); border-radius: var(--border-radius-button); background-color: var(--color-primary); color: var(--color-text-inverse); }
.search-hint__all.button.button--primary:hover { background-color: var(--color-primary-hover); }
.search-hint a:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.search-page { padding-top: var(--space-6); padding-bottom: var(--space-7); }
.search-page__form { margin-bottom: var(--space-6); }
.search-page__label { display: block; margin-bottom: var(--space-2); }
.search-page__input-row { display: flex; gap: var(--space-3); }
.search-page__input-row input { flex: 1; min-width: 0; }
.search-page__categories { margin-bottom: var(--space-6); }
.search-page__categories p { margin: 0 0 var(--space-2); }
.search-page__categories summary { cursor: pointer; margin-top: var(--space-2); }
.search-page__category-links { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.search-page__categories details .search-page__category-links { margin-top: var(--space-2); }
.search-page__category {
    display: inline-flex;
    gap: var(--space-2);
    align-items: center;
    max-width: 100%;
    min-height: 44px;
    padding: var(--space-2) var(--space-3);
    border: var(--border-default);
    border-radius: var(--border-radius-round);
    background: var(--color-bg);
    color: var(--color-text-secondary);
    overflow-wrap: anywhere;
}
.search-page__category:hover { background: var(--color-bg-secondary); color: var(--color-text); }
.search-page__category:focus-visible { outline: 2px solid var(--color-accent); outline-offset: 2px; }
.search-page__category-count { color: var(--color-text-muted); white-space: nowrap; font-variant-numeric: tabular-nums; }
.search-page__results { min-width: 0; }
.search-page__toolbar { margin-bottom: var(--space-3); }
.search-page__toolbar p { margin: 0; }
.search-page__simple-items { padding-left: var(--space-5); }
.search-page__simple-items li { padding: var(--space-2) 0; overflow-wrap: anywhere; }
.search-page__pagination { display: flex; gap: var(--space-4); flex-wrap: wrap; align-items: center; margin-top: var(--space-6); }
.search-page .b-pagination { flex-wrap: wrap; }
@media (max-width: 767px) {
    .search-hint__item { grid-template-columns: 56px minmax(0, 1fr); gap: var(--space-2) var(--space-3); }
    .search-hint__image { grid-row: span 2; width: 56px; height: 56px; }
    .search-hint__price { grid-column: 2; white-space: normal; }
}

#modalMobileSearch .modal-dialog {
    position: fixed;
    bottom: 0;
    width: 100%;
    padding-right: 15px;
}

.b-catalog-panel {
    position:absolute;
    left:0;
    top:100%;
    /* width:75vw;
    max-width:1200px; */
    width: 100%;
    z-index:1050;

    top:var(--header-h);
    height:calc(100vh - var(--header-h));
    height:calc(100dvh - var(--header-h));

    /* overflow:hidden; */
    

    left: 50%;
    transform: translate(-50%, -100%);
    transition:transform .25s ease;
    will-change:transform;


    
    /* left: 50%; */
    /* box-shadow: var(--box-shadow-default-2); */
    
    /* background-color: #F8FAFC; */
}

.b-catalog-panel.catalog-panel-open{
    transform: translate(-50%, 0); 
}

.b-catalog-panel > div {
    height:100%;
    background:#fff;
    box-shadow: rgba(50, 50, 93, 0.25) 0px 50px 100px -20px, rgba(0, 0, 0, 0.3) 0px 30px 60px -30px;
}

@media screen and (max-width: 1200px) {
    .b-catalog-panel {
        width:100vw;
    }
    
}

.b-catalog-panel ul {
    padding: var(--size-6-12) 0;
    margin: 0;
    list-style: none;
}

.b-catalog-panel .catalog-groups {
    display:flex;
    flex-wrap:wrap;
    gap:12px;
}



.b-catalog-panel .catalog-groups .catalog-group {
    flex:0 0 calc(33% - 12px);
}

@media screen and (max-width: 991px) {
    .b-catalog-panel .catalog-groups .catalog-group {
        flex: 0 0 100%;
    }
}

@media screen and (max-width: 576px) {
    .b-catalog-panel .catalog-groups {
        gap: 0;
    }

    .b-catalog-panel {
        width:100vw; max-width:none;
    }

    .b-catalog-panel .catalog-left {
        width:100%;
    }
}
  

.b-catalog-panel .catalog-group-parent-li {

}

.b-catalog-panel .catalog-top {
    flex-shrink: 0;
    padding: var(--size-12-16) var(--size-12-24);
    border-bottom: 1px solid var(--color-gray-l);
}

.b-catalog-panel .catalog-layout {
    flex: 1;
    min-height: 0;
}

.b-catalog-panel .catalog-left,
.b-catalog-panel .catalog-right {
    padding: var(--size-12-16) var(--size-12-24);
    padding-bottom: var(--header-h);
}

.b-catalog-panel .catalog-left {
    border-right: 1px solid var(--color-gray-l);   
    padding-top: 0;
    padding: 0;
    padding-bottom: var(--header-h);
}

.b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li {

}

.b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a {
    font-size: var(--size-14-16);
    padding: 12px var(--size-12-16);
    width: 100%;
    display: inline-block;
    display: flex;
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
}

@media screen and (max-width: 576px) {
    .b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a {
        border-bottom: 1px solid var(--color-gray-l);
    }

    
}

@media screen and (min-width: 576px) {
    .b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a.catalog-cat-active {
        background-color: var(--color-secondary);
        color: var(--color-white);
    }

    .b-catalog-panel .catalog-left .catalog-cats-list .catalog-cats-li a .svg-sprite-icon {
        display: none;
    }
}

.b-catalog-panel .catalog-right {
    border-left: 1px solid var(--color-white);
}

.b-catalog-panel .catalog-right .catalog-group-parent-li {
    padding: 0;
    font-size: var(--size-16-18);
    font-family: var(--font-regular);
    margin-bottom: var(--size-6-12);

    /* margin-left: calc(38px + var(--size-6-12)); */
}

.b-catalog-panel .catalog-right .catalog-group-parent-li a {
    display: flex;
    flex-direction: row;
    align-items: center;
    min-height: 44px;
    padding-left: calc(var(--space-4) + var(--space-2) + var(--space-2));
    font-family: var(--font-title-bold);
    font-weight: var(--font-weight-semibold);
}

.b-catalog-panel .catalog-right .catalog-group-item-li {
    margin-bottom: var(--space-1);
}

.b-catalog-panel .catalog-right .catalog-group-ul {
    padding: 0;
}

.b-catalog-panel .catalog-right .catalog-group-item {
    display: flex;
    flex-direction: row;
    gap: var(--space-2);
    align-items: center;
    font-size: 14px;
    min-height: 44px;
    padding-left: var(--space-4);
}

.b-catalog-panel .catalog-right .catalog-group-item::before {
    content: '';
    flex: 0 0 var(--space-2);
    height: 1px;
    background-color: var(--color-border);
}

.b-catalog-panel .catalog-right .catalog-group-parent,
.b-catalog-panel .catalog-right .catalog-group-item {
    color: var(--color-text);
    border-radius: var(--border-radius-small);
    overflow-wrap: anywhere;
}

.b-catalog-panel .catalog-right .catalog-group-parent:hover,
.b-catalog-panel .catalog-right .catalog-group-parent:focus-visible,
.b-catalog-panel .catalog-right .catalog-group-item:hover,
.b-catalog-panel .catalog-right .catalog-group-item:focus-visible {
    color: var(--color-text);
    background-color: var(--color-bg-secondary);
}

.b-catalog-panel .catalog-right .catalog-group-more-li {
    margin-top: var(--size-12-18);
    margin-bottom: var(--size-18-24);
}

.b-catalog-panel .catalog-right .catalog-group-more-li > div {
    display: flex;
    align-items: center;
    /* justify-content: center; */
    flex-wrap: nowrap;
    gap: var(--size-4-6);
    gap: calc((calc((38px - 20px) / 2)) + var(--size-6-12));
    /* color: var(--color-red); */
    margin-left: calc((38px - 20px) / 2);
    text-decoration: underline;
    
}

.b-catalog-panel .catalog-right.catalog-mobile-head {
    display:none;
}

.b-catalog-panel.catalog-mobile-mode .catalog-right .catalog-mobile-head {
    display:flex;
    gap: var(--size-6-12);
    align-items:center;
    padding: var(--size-6-12) 0;
    margin-bottom: var(--size-12-24);
    border-bottom: 1px solid var(--color-gray-l);
    padding-bottom: var(--size-12-24);
}

.b-catalog-panel.catalog-mobile-mode .catalog-right .catalog-mobile-head .catalog-mobile-title {
    font-size: var(--size-16-18);
    font-family: var(--font-title-bold);
    border-left: 1px solid var(--color-gray-l);
    padding-left: var(--size-6-12);
    line-height: 1.1;
}

.b-catalog-panel .catalog-right .catalog-mobile-back {
    display: flex;
    align-items: center;
    flex-wrap: nowrap;
}

.b-catalog-panel .catalog-right .catalog-mobile-back,
.b-catalog-panel .catalog-right .catalog-group-more-li > div:hover {
    cursor: pointer;
}

.catalog-is-hidden,
.b-catalog-panel .catalog-right .catalog-group-more-li > div.catalog-is-hidden {
    display:none;
}

.b-catalog-panel .catalog-top-title {
    font-size: var(--size-16-24);
    font-family: var(--font-title-bold);

    
}




.b-catalog-panel .catalog-top {

}

.b-articles-tile {
    margin-bottom: var(--size-24-32);
}

.b-articles-items-tile {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: var(--size-6-12);
    gap: var(--size-12-24);
}

.b-articles-items-tile .item {
    flex: 0 0 calc((100% - 4 * var(--size-6-12)) / 5);
    flex: 0 0 calc((100% - 4 * var(--size-12-24)) / 5);
    transition: 0.15s;
    /* box-shadow: rgba(100, 100, 111, 0.3) 0px 7px 29px 0px;
    border-radius: var(--border-radius-default); */
    
    position: relative;
    
}

@media screen and (max-width: 992px) {
    .b-articles-items-tile .item {
        flex: 0 0 calc((100% - 3 * var(--size-6-12)) / 4);
        flex: 0 0 calc((100% - 3 * var(--size-12-24)) / 4);
    }
    
}

@media screen and (max-width: 768px) {
    .b-articles-items-tile .item {
        /* flex: 0 0 calc(33.33% - 4px); */
        flex: 0 0 calc((100% - 2 * var(--size-6-12)) / 3);
        flex: 0 0 calc((100% - 2 * var(--size-12-24)) / 3);
    }
    
}

@media screen and (max-width: 576px) {
    .b-articles-items-tile .item {
        flex: 0 0 calc((100% - 1 * var(--size-6-12)) / 2);
        flex: 0 0 calc((100% - 1 * var(--size-12-24)) / 2);
    }

    .b-articles-items-tile .item .title {
        overflow-wrap: anywhere;
    }
}

.b-articles-items-tile .item:hover {
    cursor: pointer;
}

.b-articles-items-tile .item-link {
    position: relative;
    
    display: flex;
    flex-direction: column;
    /* padding: 0; */
}

.b-articles-items-tile .item .img {
    border-radius: 50%;
    overflow: hidden;
    /* padding: var(--size-6-12); */
    background-color: var(--color-secondary-l);
    box-shadow: var(--box-shadow-default);

    border: var(--size-6-12) solid var(--color-secondary-l);
    isolation: isolate;
}

.b-articles-items-tile .item .img img {
    width: 100%;
    height: auto;
    aspect-ratio: 1;

    border-radius: 50%;
    overflow: hidden;

    object-fit: cover;
    transform: scale(1);
    transform-origin: center;
    transition: transform 0.6s ease;
    will-change: transform;
    backface-visibility: hidden;
}

.b-articles-items-tile .item .title {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    /* padding: var(--size-6-12);
    padding-top: var(--size-12-24); */
    
    /* background: linear-gradient(0deg, rgba(0, 0, 0, 0.8) 50%, rgba(0, 0, 0, 0) 100%); */
    /* background: linear-gradient(0deg, rgba(30, 41, 59, 0.99) 50%, rgba(0, 0, 0, 0) 100%); */
    text-align: center;

    color: var(--color-black);
    border-radius: var(--border-radius-button);
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default-2);
    padding: 4px;
    /* margin-top: 50%; */
    z-index: 2;
    /* position: relative; */
    transition: 0.3s;
    transition: transform 0.6s ease;
}

.b-articles-items-tile .item:hover .title {
    transform: translateY(-50%);
    background-color: var(--color-secondary-d);
    
}

.b-articles-items-tile .item:hover .title span {
    color: var(--color-white);
}

.b-articles-items-tile .item:hover img {
    transform: scale(1.08) translateZ(0);
}

.b-articles-items-tile .item .title span:before {
    /* content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-radius: var(--border-radius-default); */
    /* background-color: var(--color-primary); */
    
    /* opacity: 0.8; */
}

.b-articles-items-tile .item:before {
    /* content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; */
    /* background-color: var(--color-primary); */
    /* background-color: var(--color-secondary);
    opacity: 0;
    z-index: 5;
    transition: 0.15s;
    pointer-events: none; */
}

.b-articles-items-tile .item:hover:before {
    /* opacity: 0.8; */
}

.b-articles-items-tile .item .title span {
    position: relative;
    font-family: var(--font-title-bold);
    font-size: var(--size-14-16);
    line-height: 1.1;
    
    color: var(--color-text);
    padding: var(--size-4-6) var(--size-4-8);
    display: inline-block;
    z-index: 5;
    width: 100%;

    /* font-family: var(--font-bold); */
    /* background-color: var(--color-secondary); */
    /* color: var(--color-primary); */
    
    color: var(--color-black);
    border-radius: var(--border-radius-button-inner);
    border: 3px solid var(--color-primary);
    border: 3px solid var(--color-secondary-l);
}

/* Category listing / category-card--wide and category-card--standard. */
.category-listings {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
}

.category-listing {
    min-width: 0;
}

.category-listing__title-link {
    color: var(--color-text);
    text-decoration: none;
}

.category-listing__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--space-5);
    margin: 0;
    padding: 0;
    list-style: none;
}

.category-listing__item {
    display: flex;
    min-width: 0;
    grid-column: span 2;
}

.category-listing__item--wide {
    grid-column: span 3;
}

.category-card {
    position: relative;
    display: block;
    width: 100%;
    min-width: 0;
    overflow: hidden;
    color: var(--color-text);
    background-color: var(--color-bg-secondary);
    border: 0;
    border-radius: var(--border-radius-large);
    isolation: isolate;
}

.category-card--wide,
.category-card--standard {
    aspect-ratio: 16 / 9;
}

.category-card__media,
.category-card__media img {
    display: block;
    width: 100%;
    height: 100%;
}

.category-card__media img {
    object-fit: cover;
    transition: transform 0.3s ease;
}

.category-card__title {
    position: absolute;
    z-index: 2;
    top: var(--space-4);
    left: var(--space-4);
    max-width: calc(100% - var(--space-6));
    color: var(--color-text);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-card-title);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    overflow-wrap: anywhere;
}

.category-card--standard .category-card__title {
    max-width: 65%;
}

.category-card__icon-disc {
    position: absolute;
    z-index: 2;
    bottom: var(--space-4);
    left: var(--space-4);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    border-radius: var(--border-radius-round);
    transition: 0.2s ease;
}

.category-card__icon {
    width: 48px;
    height: 48px;
    fill: none;
    stroke: currentColor;
}

.category-card:hover .category-card__media img {
    transform: scale(1.03);
}

.category-card:hover .category-card__icon-disc {
    transform: translateX(var(--size-8-12));
}

.category-card:focus-visible {
    outline: 3px solid var(--color-accent);
    outline-offset: 3px;
}

@media screen and (max-width: 1023px) {
    .category-listing__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: var(--space-4);
    }

    .category-listing__item,
    .category-listing__item--wide {
        grid-column: span 1;
    }

}

@media screen and (max-width: 767px) {
    .category-listings {
        gap: var(--space-7);
    }

    .category-listing__grid {
        grid-template-columns: 1fr;
    }

    .category-card__title {
        max-width: 65%;
    }

    .category-card__icon-disc {
        width: 56px;
        height: 56px;
    }

    .category-card__icon {
        width: 28px;
        height: 28px;
    }
}


.b-about-items {
    position: relative;
    margin-bottom: var(--size-32-48);
}

.b-about-items:after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 50%;
    pointer-events: none;
    z-index: -1;
    background: linear-gradient(to right, var(--color-secondary-l) 0%, var(--color-secondary) 100%);
}

@media screen and (max-width: 576px) {
    .b-about-items .col {
        padding: 0;
    }
    
    .b-about-items:after {
        display: none;
    }
}

@keyframes floatY {
    0%   { transform: translateY(0); }
    50%  { transform: translateY(-8px); }
    100% { transform: translateY(0); }
}


.b-about-items .item .item-img{
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    overflow: hidden;
    width: 70%;
    height: 70%;
    border: var(--size-6-12) solid var(--color-secondary-d);
    aspect-ratio: 1;
    box-shadow:
        -3px -3px 4px 0px rgba(0,0,0,0.3),
        0px 0px 0px 8px rgba(255, 255, 255, 0.5);

    box-shadow:
        var(--box-shadow-default),
        0px 0px 0px 8px rgba(255, 255, 255, 0.5);

    

    transition: transform 0.5s ease;
}

.b-about-items .item:hover .item-img {
    transform: translateY(-8px);
}

.b-about-items .item .item-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;    
}

.b-about-items .item .wrap-item-text {
    background-color: var(--color-white);
    border-radius: var(--border-radius-button);
    padding: 4px;
    margin: var(--size-12-16);
}

.b-about-items .item .item-text {
    padding: var(--size-6-12);
    border-radius: var(--border-radius-button);
    border: 2px solid var(--color-secondary-l);
    text-align: center;
    font-size: var(--size-14-16);
}


.b-intro-about-items {
    gap: var(--size-12-32);
}

.b-intro-about-items .item {
    background-color: var(--color-white);
    box-shadow: var(--box-shadow-default);
    flex: 0 0 calc((100% - 2 * var(--size-12-32)) / 3);
    /* gap: var(--size-12-24); */
    border-radius: var(--border-radius-default);
    overflow: hidden;
}

@media screen and (max-width: 768px) {

    .b-intro-about-items .item {
        flex: 0 0 100%;
    }

}

.b-intro-about-items .wrap-item-number {
    padding: var(--size-12-24);
    background-color: var(--color-secondary);
    color: var(--color-primary);
}

.b-intro-about-items .item-number {
    font-size: var(--size-18-42);
    font-family: var(--font-title-bold);
    line-height: 1;
    
}

.b-intro-about-items .item-number-label {
    font-size: var(--size-14-18);
    font-family: var(--font-title-bold);
}

.b-intro-about-items .item-text {
    font-size: var(--size-16-24);
    text-align: center;
    line-height: 1.1;
    padding: var(--size-12-24);
}


.p-catalog .b-catalog-left-menu {
  /* border: 1px solid #EFEFEF; */
  min-width: 256px;
  max-width: 256px;
  /* margin-right: 36px; */
}

.b-catalog-left-menu .item {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: stretch;
  /* align-items: center; */
  justify-content: center;
  transition: 0.15s;
}

.b-catalog-left-menu .item a,
.b-catalog-left-menu .item button {
  display: inline-flex; /* чтобы они были в одной строке */
  align-items: center;
}

.b-catalog-left-menu .item a {
    flex-grow: 1;
    width: 100%; 
    max-width: calc(100% - 29px - 18px - 10px);
    text-decoration: none;
    color: inherit;
    line-height: 24px;
}

.p-catalog .b-catalog-left-menu  .item.article-1 {
  border: 1px solid #EFEFEF;
}

.b-catalog-left-menu  .item.article-1 a {
  font-size: 16px;
  padding: 17px 0 17px 18px;
}

.b-catalog-left-menu  .item.article-2 {
  background-color: #F9F9F9;
}

.b-catalog-left-menu  .item.article-2.active {
    background-color: var(--color-secondary-l);
    background-color: var(--color-primary-disabled);
    color: var(--color-primary);
    color: var(--color-secondary);
}

.b-catalog-left-menu .item.article-2 .article-2-title  {
  font-size: 14px;
  padding: var(--size-12-16) 0 var(--size-12-16) var(--size-12-16);
  flex-grow: 1;
width: 100%;
max-width: calc(100% - 29px - 18px - 10px);
text-decoration: none;
color: inherit;
line-height: 24px;
}

.b-catalog-left-menu  .item.article-3 {
  background-color: #ECECEC;
  border-bottom: 1px solid #E2E2E2;
}

.b-catalog-left-menu  .item.article-3 a {
  font-size: 12px;
  padding: 10px 18px 10px 18px;
  max-width: 100%;
}

.b-catalog-left-menu  .item.article-3.active-default {
  background-color: #00b656;
  color: #fff;
}

.b-catalog-left-menu  .item:hover {
  background-color: #fff;
}

.b-catalog-left-menu  .item:hover > .item.article-3 {
  border-color: #fff;
}

.b-catalog-left-menu .item button {
    width: calc(29px + 10px);
    /* height: 100%; */
    white-space: nowrap;
    justify-content: center;
}

.b-catalog-left-menu  .item.active > button svg {
  transform: rotate(180deg);
}

.b-catalog-left-menu .collapse-content { 
  display: none; 
  flex-grow: 1;
  /* margin-left: 20px;  */
}

.b-catalog-left-menu .collapse-content.active {
  display: block; /* Показываем активные элементы */
}

.b-catalog-left-menu .toggle-btn { 
  cursor: pointer; 
  color: blue; 
  text-decoration: underline; 
  border: none; 
  background: none; 
}





/* Cart page / cart-line / order-summary. */
.cart-page {
    padding-bottom: var(--space-8);
}

.cart-page__header {
    margin-top: var(--space-6);
}

.cart-page__title {
    font-size: var(--font-size-h1);
}

.cart-page__count {
    display: none;
}

.cart-page__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, clamp(270px, 27vw, 300px));
    align-items: start;
    gap: var(--space-4);
}

.cart-list {
    box-sizing: border-box;
    min-width: 0;
    padding: 0 var(--space-5);
}

.cart-list__head,
.cart-line {
    display: grid;
    grid-template-columns: minmax(0, 2fr) minmax(70px, .65fr) 132px minmax(70px, .65fr) 44px;
    align-items: center;
    column-gap: var(--space-4);
}

.cart-list__head {
    min-height: 52px;
    color: var(--color-text-muted);
    font-size: var(--font-size-small);
    border-bottom: var(--border-default);
}

.cart-line {
    box-sizing: border-box;
    width: 100%;
    min-height: 112px;
    padding: var(--space-4) 0;
    border-bottom: var(--border-default);
}

.cart-line:last-child {
    border-bottom: 0;
}

.cart-line__product {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: var(--space-4);
    color: var(--color-text);
    text-decoration: none;
}

.cart-line__media {
    display: flex;
    width: 72px;
    height: 72px;
    flex: 0 0 72px;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background-color: var(--color-bg-secondary);
    border-radius: var(--border-radius-small);
}

.cart-line__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.cart-line__content {
    min-width: 0;
}

.cart-line__title {
    display: block;
    font-family: var(--font-title-bold);
    font-size: var(--font-size-body);
    font-weight: var(--font-weight-semibold);
    line-height: var(--line-height-tight);
}

.cart-line__product:hover .cart-line__title {
    color: var(--color-primary);
}

.cart-line__calculation {
    display: none;
    margin-top: var(--space-1);
    color: var(--color-text-secondary);
    font-size: var(--font-size-small);
    line-height: var(--line-height-body);
}

.cart-line__price,
.cart-line__sum {
    font-variant-numeric: tabular-nums;
    white-space: nowrap;
}

.cart-line__sum {
    font-family: var(--font-title-bold);
    font-weight: var(--font-weight-semibold);
}

.cart-line__quantity {
    display: grid;
    grid-template-columns: repeat(3, 44px);
    overflow: hidden;
    border: var(--border-default);
    border-radius: var(--border-radius-small);
}

.cart-line__quantity-button,
.cart-line__quantity-value,
.cart-line__remove {
    display: flex;
    min-width: 44px;
    min-height: 44px;
    align-items: center;
    justify-content: center;
}

.cart-line__quantity-button,
.cart-line__remove {
    padding: 0;
    color: var(--color-text-muted);
    background: transparent;
    border: 0;
    cursor: pointer;
}

.cart-line__quantity-button:first-child {
    border-right: var(--border-default);
}

.cart-line__quantity-button:last-child {
    border-left: var(--border-default);
}

.cart-line__quantity-button:hover,
.cart-line__remove:hover {
    color: var(--color-primary);
}

.cart-line__quantity-button:focus-visible,
.cart-line__remove:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: -2px;
}

.cart-line__quantity-icon,
.cart-line__remove-icon {
    width: 20px;
    height: 20px;
    color: currentColor;
    fill: currentColor;
    stroke: currentColor;
}

.cart-line__quantity-value {
    color: var(--color-text);
    font-family: var(--font-title-bold);
    font-variant-numeric: tabular-nums;
}

.cart-line__quantity.loading,
.cart-line__remove.loading {
    pointer-events: none;
    opacity: .6;
}

.order-summary {
    box-sizing: border-box;
    padding: var(--space-5);
    background-color: var(--color-bg-secondary);
}

.order-summary .button {
    box-sizing: border-box;
}

.order-summary__title {
    margin: 0 0 var(--space-4);
    font-size: var(--font-size-card-title);
}

.order-summary__details {
    font-size: var(--font-size-body);
}

.order-summary__rows {
    display: grid;
    gap: var(--space-2);
}

.order-summary__row,
.order-summary__total {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
}

.order-summary__value {
    margin-left: auto;
    font-family: var(--font-title-bold);
    font-variant-numeric: tabular-nums;
    text-align: right;
    white-space: nowrap;
}

.order-summary__value--delivery {
    max-width: 150px;
    color: var(--color-text-secondary);
    font-family: inherit;
    font-size: var(--font-size-small);
    line-height: var(--line-height-body);
    white-space: normal;
}

.order-summary__total {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: var(--border-default);
}

.order-summary__total-label {
    font-family: var(--font-title-bold);
    font-size: var(--font-size-card-title);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
}

.order-summary__total-value {
    margin-left: auto;
    color: var(--color-primary);
    font-family: var(--font-title-bold);
    font-size: var(--size-24-32);
    font-variant-numeric: tabular-nums;
    line-height: var(--line-height-tight);
    white-space: nowrap;
}

.order-summary__actions {
    display: grid;
    gap: var(--space-2);
    margin-top: var(--space-4);
}

.order-summary__note {
    margin: var(--space-3) 0 0;
    color: var(--color-text-muted);
    font-size: var(--font-size-small);
    line-height: var(--line-height-body);
    text-align: center;
}

.b-cart-summary {
    margin: 0;
    font-size: var(--font-size-body);
}

.b-cart-summary__info-item,
.b-cart-summary__total {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: var(--space-3);
}

.b-cart-summary__total {
    margin-top: var(--space-4);
    padding-top: var(--space-4);
    border-top: var(--border-default);
}

.b-cart-summary__total-title {
    font-family: var(--font-title-bold);
    font-size: var(--font-size-card-title);
    font-weight: var(--font-weight-bold);
    text-transform: uppercase;
}

.b-cart-summary__total-value {
    margin-left: 0;
    color: var(--color-primary);
    font-family: var(--font-title-bold);
    font-size: var(--size-24-32);
    font-variant-numeric: tabular-nums;
    line-height: var(--line-height-tight);
    white-space: nowrap;
}

.b-cart-summary__notice {
    display: flex;
    align-items: center;
    gap: var(--space-2);
    margin-top: var(--space-3);
    color: var(--color-text-secondary);
    font-size: var(--font-size-small);
}

.cart-page__checkout {
    margin-top: var(--space-7);
    scroll-margin-top: var(--space-5);
}

.cart-empty {
    display: flex;
    min-height: 240px;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-5);
    padding: var(--space-7);
    text-align: center;
}

.cart-empty__text {
    margin: 0;
    color: var(--color-text-secondary);
}

@media screen and (max-width: 1023px) {
    .cart-page__layout {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media screen and (max-width: 767px) {
    .cart-page {
        padding-bottom: var(--space-7);
    }

    .cart-page__header {
        margin-top: var(--space-4);
    }

    .cart-page__count {
        display: inline;
    }

    .cart-page__layout {
        gap: var(--space-4);
    }

    .cart-list {
        padding: 0;
        background: transparent;
        border: 0;
    }

    .cart-list__head {
        display: none;
    }

    .cart-list__items {
        display: grid;
        gap: var(--space-2);
    }

    .cart-line {
        grid-template-columns: 64px minmax(0, 1fr) 44px;
        grid-template-areas:
            "product product remove"
            "quantity quantity quantity";
        row-gap: var(--space-3);
        min-height: 88px;
        padding: var(--space-3);
        background-color: var(--color-bg);
        border: var(--border-default);
        border-radius: var(--border-radius-default);
        box-shadow: var(--box-shadow-default);
    }

    .cart-line:last-child {
        border-bottom: var(--border-default);
    }

    .cart-line__product {
        grid-area: product;
        gap: var(--space-3);
    }

    .cart-line__media {
        width: 64px;
        height: 64px;
        flex-basis: 64px;
    }

    .cart-line__calculation {
        display: block;
    }

    .cart-line__price,
    .cart-line__sum {
        display: none;
    }

    .cart-line__quantity {
        grid-area: quantity;
        justify-self: end;
    }

    .cart-line__remove {
        grid-area: remove;
        align-self: start;
        margin: calc(var(--space-2) * -1) calc(var(--space-2) * -1) 0 0;
    }

    .order-summary {
        padding: var(--space-4);
    }

    .order-summary__title {
        display: none;
    }

    .cart-page__checkout {
        margin-top: var(--space-6);
    }

    .cart-empty {
        min-height: 200px;
        padding: var(--space-5);
    }
}





/* 1.5 из 12 = 12.5% */
@media (min-width: 1200px) {
    .col-xl-1-5 {
        flex: 0 0 12.5%;
        max-width: 12.5%;
    }

    /* 10.5 из 12 = 87.5% */
    .col-xl-10-5 {
        flex: 0 0 87.5%;
        max-width: 87.5%;
    }
}

@media (min-width: 1400px) {
    .container-xxl-fluid {
        max-width: 100%;
        padding-left: var(--bs-gutter-x);
        padding-right: var(--bs-gutter-x);
    }
}

/* Product landing page. */
.product-summary {
    align-items: stretch;
    row-gap: var(--space-5);
    margin-top: var(--space-5);
}

.product-summary__media-frame {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    aspect-ratio: 1 / 1;
    padding: var(--space-6);
    overflow: hidden;
    background-color: var(--color-bg);
    border: var(--border-default);
    border-radius: var(--border-radius-small);
    box-shadow: var(--box-shadow-default-2);
}

.product-summary__media-frame img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.product-summary__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-4);
}

.product-summary__title {
    margin: 0;
    font-family: var(--font-headers-main);
    font-size: var(--font-size-h1);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
}

.product-summary__meta,
.product-summary__stock,
.product-summary__short-specs {
    display: flex;
    align-items: center;
}

.product-summary__meta {
    flex-wrap: wrap;
    gap: var(--space-3) var(--space-5);
    color: var(--color-text-secondary);
    font-size: var(--font-size-small);
}

.product-summary__stock {
    gap: var(--space-2);
    color: var(--color-text);
}

.product-summary__stock-icon {
    width: 24px;
    height: 24px;
    stroke: var(--color-primary);
}

.product-summary__price {
    color: var(--color-primary);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-price);
    font-weight: var(--font-weight-bold);
    line-height: 1.1;
}

.product-summary__short-specs {
    flex-wrap: wrap;
    gap: var(--space-1) var(--space-2);
    font-size: var(--font-size-body-large);
}

.product-summary__short-specs span:not(:last-child)::after {
    content: ',';
}

.product-summary__actions {
    display: grid;
    gap: var(--space-2);
}

.product-summary__actions .button,
.product-summary__actions .b-cart-qty-control__button {
    min-height: 48px;
}

.product-details {
    margin-top: var(--space-6);
}

.tabs__list {
    display: flex;
    gap: var(--space-6);
    overflow-x: auto;
    overflow-y: hidden;
    border-bottom: var(--border-default);
}

.tabs__tab {
    position: relative;
    min-height: 48px;
    padding: 0 0 var(--space-3);
    white-space: nowrap;
    color: var(--color-text-secondary);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-button);
    font-weight: var(--font-weight-semibold);
    background: none;
    border: 0;
}

.tabs__tab.is-active,
.tabs__tab.active {
    color: var(--color-text);
}

.tabs__tab.is-active::after,
.tabs__tab.active::after {
    position: absolute;
    right: 0;
    bottom: 0;
    left: 0;
    height: 3px;
    background-color: var(--color-accent);
    content: '';
}

.tabs__tab:focus-visible {
    outline: 2px solid var(--color-accent);
    outline-offset: 2px;
}

.product-details__content {
    margin-top: var(--space-5);
    overflow: hidden;
    background-color: var(--color-bg);
    border: var(--border-default);
    border-radius: var(--border-radius-small);
}

.specification-list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    padding: 0;
    margin: 0;
    list-style: none;
}

.specification-list__row,
.document-row {
    display: grid;
    align-items: center;
    min-height: 58px;
    padding: var(--space-3) var(--space-5);
}

.specification-list__row {
    grid-template-columns: 32px minmax(180px, 1fr) minmax(180px, 1fr);
    gap: var(--space-4);
}

.specification-list__row:nth-child(4n + 3),
.specification-list__row:nth-child(4n + 4),
.document-row:nth-child(odd) {
    background-color: var(--color-bg-secondary);
}

.specification-list__icon,
.document-row__icon {
    display: flex;
    color: var(--color-text-secondary);
}

.specification-list__icon svg,
.document-row__icon svg {
    width: 32px;
    height: 32px;
    stroke: currentColor;
}

.specification-list__label {
    font-size: var(--font-size-body-large);
}

.specification-list__value {
    justify-self: end;
    color: var(--color-text);
    font-family: var(--font-title-bold);
    font-size: var(--font-size-body-large);
    font-weight: var(--font-weight-semibold);
    text-align: right;
}

.specification-list__link,
.specification-list__link:visited {
    color: var(--color-primary);
}

.document-row {
    grid-template-columns: 40px minmax(0, 1fr) auto;
    gap: var(--space-5);
}

.document-row__icon {
    color: var(--color-accent);
}

.document-row__icon svg {
    fill: currentColor;
    stroke: none;
}

.document-row__title {
    font-size: var(--font-size-card-title);
    font-weight: var(--font-weight-semibold);
}

.document-row__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
}

.document-row__action {
    min-width: 156px;
}

.product-details__empty {
    padding: var(--space-6);
    color: var(--color-text-secondary);
    text-align: center;
}

.product-details__description {
    margin-top: var(--space-6);
}

.product-page__faq,
.product-offer {
    margin-top: var(--space-8);
}

.product-offer {
    width: 100%;
    max-width: none;
    margin-right: auto;
    margin-left: auto;
}

.product-offer .feedback-form {
    padding-top: var(--size-18-32);
    border: 0;
    box-shadow: none;
}

.product-offer .feedback-form__inner {
    max-width: none;
}

.product-offer__note {
    margin: calc(var(--space-4) * -1) 0 0;
    color: var(--color-text-secondary);
    text-align: center;
}

@media screen and (max-width: 767px) {
    .product-summary__media-frame {
        padding: var(--space-4);
    }

    .product-summary__content {
        gap: var(--space-3);
    }

    .tabs__list {
        gap: var(--space-5);
    }

    .specification-list {
        grid-template-columns: 1fr;
    }

    .specification-list__row:nth-child(odd) {
        background-color: var(--color-bg);
    }

    .specification-list__row:nth-child(even) {
        background-color: var(--color-bg-secondary);
    }

    .specification-list__row {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: var(--space-2) var(--space-3);
        padding: var(--space-3) var(--space-4);
    }

    .specification-list__value {
        grid-column: 2;
        justify-self: start;
        text-align: left;
    }

    .document-row {
        grid-template-columns: 32px minmax(0, 1fr);
        gap: var(--space-3);
        padding: var(--space-4);
    }

    .document-row__actions {
        grid-column: 1 / -1;
    }

    .document-row__action {
        width: 100%;
    }

    .product-page__faq,
    .product-offer {
        margin-top: var(--space-7);
    }
}

/* Product delivery and payment sections. */
.product-info-section {
    padding: var(--space-8) 0;
}

.product-info-section + .product-info-section {
    padding-top: 0;
}

.info-card-grid {
    display: grid;
    gap: var(--space-5);
    width: 100%;
    max-width: none;
    margin: 0 auto;
}

.info-card-grid--delivery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.info-card-grid--payment {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.info-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: var(--space-3);
    min-width: 0;
    padding: var(--space-6) var(--space-5);
    text-align: center;
}

.info-card--delivery {
    min-height: 250px;
}

.info-card--payment {
    min-height: 300px;
}

.info-card__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 96px;
    height: 96px;
    color: var(--color-accent);
}

.info-card__icon svg {
    width: 100%;
    height: 100%;
    fill: currentColor;
}

.info-card__title {
    margin: 0;
    font-family: var(--font-title-bold);
    font-size: var(--font-size-card-title);
    font-weight: var(--font-weight-bold);
    line-height: var(--line-height-tight);
    color: var(--color-text);
}

.info-card__description {
    color: var(--color-text-secondary);
}

@media screen and (max-width: 991px) {
    .info-card-grid--payment {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media screen and (max-width: 767px) {
    .product-info-section {
        padding: var(--space-7) 0;
    }

    .info-card-grid--delivery,
    .info-card-grid--payment {
        grid-template-columns: 1fr;
    }

    .info-card--delivery,
    .info-card--payment {
        min-height: 0;
    }

    .info-card__icon {
        width: 80px;
        height: 80px;
    }
}
