/* Mont — self-hosted (woff2/woff/ttf/eot). */
@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-Thin.eot");
    src:
        url("/static/fonts/mont/Mont-Thin.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-Thin.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-Thin.woff") format("woff"),
        url("/static/fonts/mont/Mont-Thin.ttf") format("truetype");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-ThinItalic.eot");
    src:
        url("/static/fonts/mont/Mont-ThinItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-ThinItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-ThinItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-ThinItalic.ttf") format("truetype");
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-ExtraLight.eot");
    src:
        url("/static/fonts/mont/Mont-ExtraLight.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-ExtraLight.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-ExtraLight.woff") format("woff"),
        url("/static/fonts/mont/Mont-ExtraLight.ttf") format("truetype");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-ExtraLightItalic.eot");
    src:
        url("/static/fonts/mont/Mont-ExtraLightItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-ExtraLightItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-ExtraLightItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-ExtraLightItalic.ttf") format("truetype");
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-Light.eot");
    src:
        url("/static/fonts/mont/Mont-Light.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-Light.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-Light.woff") format("woff"),
        url("/static/fonts/mont/Mont-Light.ttf") format("truetype");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-LightItalic.eot");
    src:
        url("/static/fonts/mont/Mont-LightItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-LightItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-LightItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-LightItalic.ttf") format("truetype");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-Regular.eot");
    src:
        url("/static/fonts/mont/Mont-Regular.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-Regular.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-Regular.woff") format("woff"),
        url("/static/fonts/mont/Mont-Regular.ttf") format("truetype");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-RegularItalic.eot");
    src:
        url("/static/fonts/mont/Mont-RegularItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-RegularItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-RegularItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-RegularItalic.ttf") format("truetype");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-SemiBold.eot");
    src:
        url("/static/fonts/mont/Mont-SemiBold.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-SemiBold.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-SemiBold.woff") format("woff"),
        url("/static/fonts/mont/Mont-SemiBold.ttf") format("truetype");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-SemiBoldItalic.eot");
    src:
        url("/static/fonts/mont/Mont-SemiBoldItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-SemiBoldItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-SemiBoldItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-SemiBoldItalic.ttf") format("truetype");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-Bold.eot");
    src:
        url("/static/fonts/mont/Mont-Bold.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-Bold.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-Bold.woff") format("woff"),
        url("/static/fonts/mont/Mont-Bold.ttf") format("truetype");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-BoldItalic.eot");
    src:
        url("/static/fonts/mont/Mont-BoldItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-BoldItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-BoldItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-BoldItalic.ttf") format("truetype");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-Heavy.eot");
    src:
        url("/static/fonts/mont/Mont-Heavy.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-Heavy.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-Heavy.woff") format("woff"),
        url("/static/fonts/mont/Mont-Heavy.ttf") format("truetype");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-HeavyItalic.eot");
    src:
        url("/static/fonts/mont/Mont-HeavyItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-HeavyItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-HeavyItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-HeavyItalic.ttf") format("truetype");
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-Black.eot");
    src:
        url("/static/fonts/mont/Mont-Black.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-Black.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-Black.woff") format("woff"),
        url("/static/fonts/mont/Mont-Black.ttf") format("truetype");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: "Mont";
    src:
        url("/static/fonts/mont/Mont-BlackItalic.eot");
    src:
        url("/static/fonts/mont/Mont-BlackItalic.eot?#iefix") format("embedded-opentype"),
        url("/static/fonts/mont/Mont-BlackItalic.woff2") format("woff2"),
        url("/static/fonts/mont/Mont-BlackItalic.woff") format("woff"),
        url("/static/fonts/mont/Mont-BlackItalic.ttf") format("truetype");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}


:root {
    --font-main: "Mont", "Segoe UI", Tahoma, sans-serif;
    --color-black: #222020;
    --color-black-10: rgba(34, 32, 32, 0.10);
    --color-black-60: rgba(34, 32, 32, 0.60);
    --color-black-100: #0F1426;
    --color-bordo: #741629;
    --color-bordo-hover: #690A1F;
    --color-bordo-pressed: #5E0217;
    --color-bordo-disable: #6a1f2b;
    --color-bordo-10: rgba(106, 31, 43, 0.1);
    --color-bordo-20: rgba(106, 31, 43, 0.2);
    --color-bordo-50: #AF898F;
    --color-white: #ffffff;
    --color-red: #F90000;
    --color-light: #f5f5f5;
    --color-white-no: rgba(255, 255, 255, 0.0);
    --color-white-60: rgba(255, 255, 255, 0.60);
    --color-gray: #778194;
    --color-gray-dark: #4a5565;
    --color-ink: #101425;
    --color-sand: #d29d79;
    --color-gray: #758196;
    --color-green: #008236;
    --color-green-light: #ecfdf3;
    --color-orange: #fe9a00;
    --color-card: #edebe1;
    --color-blue: #0048EF;
    --color-blue-light: #E8EDFD;
    --color-card-body: #f5f5f5;
    --color-card-media: #eaeaea;
    --color-border-10: #D4DBE3;
    --color-border-20: #E1D2D5;
    --color-cream: #F1EFE5;
    --color-light-blue: #E7EDFF;
    --color-background-primary: rgba(116, 22, 41, 0.30);
    --shadow-soft: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1);
    --radius-sm: 8px;
    --radius-md: 16px;
    --radius-ml: 18px;
    --radius-mx: 20px;
    --radius-lg: 24px;
    --radius-pill: 999px;
    --space-05: 2px;
    --space-1: 4px;
    --space-2: 8px;
    --space-2-1: 10px;
    --space-3: 12px;
    --space-4: 16px;
    --space-4-1: 20px;
    --space-5: 24px;
    --space-6: 32px;
    --space-7: 40px;
    --space-8: 60px;
    --overlay-dark-60: rgba(34, 32, 32, 0.60);

    --review-clamp-saze: 15;
}

html {
    font-family: var(--font-main);
}

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

body {
    margin: 0;
    font-family: var(--font-main);
    color: var(--color-black);
    font-style: normal;
    min-inline-size: 360px;
}

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

a:hover {
    text-decoration: underline;
}

img {
    max-inline-size: 100%;
    display: block;
}

button,
input,
select {
    font-family: inherit;
}

:focus-visible {
    outline: 2px solid var(--color-bordo);
    outline-offset: 2px;
}

/* TYPO */
h1,
.h1 {
    font-size: 40px;
    line-height: 1.3;
    font-weight: 600;
}

h2,
.h2 {
    font-size: 32px;
    line-height: 1.2;
    font-weight: 600;
}

h3,
.h3 {
    font-size: 24px;
    line-height: 1.2;
    font-weight: 600;
}

h4,
.h4 {
    font-size: 20px;
    line-height: 1.2;
    font-weight: 600;
}


p {
    margin: 0;
    color: var(--color-gray);
}



ul li {
    list-style: none;
}

/* LAYOUT */
.site-container {
    max-inline-size: 1760px;
    inline-size: 100%;
    margin: 0 auto;
    padding-inline: 40px;
}

.info-cards__item ul li {
    list-style: disc;
}

/* =========================
   Utilities: typography
   ========================= */

.font-main {
    font-family: var(--font-main);
}

/* sizes (как мы договорились) */
.text-16 {
    font-size: 16px;
    line-height: 1.4;
}

.text-18 {
    font-size: 18px;
    line-height: 1.4;
}

.text-20 {
    font-size: 20px;
    line-height: 1.4;
}

.text-22 {
    font-size: 24px;
    line-height: 1.4;
}


.text-24 {
    font-size: 24px;
    line-height: 1.4;
}

.cursor-point {
    cursor: pointer !important;
}

/* weights (если не хочешь использовать bootstrap fw-*) */
.fw-400 {
    font-weight: 400;
}

.fw-500 {
    font-weight: 500;
}

.fw-600 {
    font-weight: 600;
}

.fw-700 {
    font-weight: 700;
}

.mw-sm {
    max-inline-size: 540px !important;
}

.mw-md {
    max-inline-size: 720px !important;
}

.mw-lg {
    max-inline-size: 960px !important;
}

.mw-xl {
    max-inline-size: 1140px !important;
}

.mw-xxl {
    max-inline-size: 1320px !important;
}

.mw-wide {
    max-inline-size: 1680px !important;
}

/* =========================
   Utilities: colors
   ========================= */

/* text */
.text-black {
    color: var(--color-black) !important;
}

.text-black-60 {
    color: var(--color-black-60) !important;
}

.text-black-100 {
    color: var(--color-black-100) !important;
}

.text-ink {
    color: var(--color-ink) !important;
}

.text-gray {
    color: var(--color-gray) !important;
}

.text-gray-dark {
    color: var(--color-gray-dark) !important;
}

.text-gray-dark-60 {
    color: var(--overlay-dark-60) !important;
}

.text-bordo {
    color: var(--color-bordo) !important;
}

.text-green {
    color: var(--color-green) !important;
}

.text-orange {
    color: var(--color-orange) !important;
}

.text-sand {
    color: var(--color-sand) !important;
}

.text-bordo-50 {
    color: var(--color-bordo-50) !important;
}


.text-white {
    color: var(--color-white) !important;
}

.text-blue {
    color: var(--color-blue) !important;
}

.text-white-60 {
    color: var(--color-white-60) !important;
}

.text-red {
    color: var(--color-red) !important;
}


/* backgrounds */
.bg-white {
    background: var(--color-white) !important;
}

.bg-card {
    background: var(--color-card) !important;
}

.bg-card-media {
    background: var(--color-card-media) !important;
}

.bg-bordo {
    background: var(--color-bordo) !important;
}

.bg-bordo-10 {
    background: var(--color-bordo-10) !important;
}

.bg-bordo-20 {
    background: var(--color-bordo-20) !important;
}

.bg-primary-soft {
    background: var(--color-background-primary) !important;
}

.bg-blue-light {
    background: var(--color-blue-light) !important;
}

.bg-light {
    background: var(--color-light) !important;
}

.bg-green-light {
    background: var(--color-green-light) !important;
}


.bg-gray {
    background: var(--color-gray) !important;
}




.bg-brown-gradient {
    background: linear-gradient(180deg, #71493C 0%, #97786E 100%);
}


/* =========================
   Utilities: borders
   ========================= */

.border-10 {
    border: 1px solid var(--color-border-10) !important;
}

.border-20 {
    border: 1px solid var(--color-border-20) !important;
}

.border-top-10 {
    border-block-start: 1px solid var(--color-border-10) !important;
}

.border-right-10 {
    border-inline-end: 1px solid var(--color-border-10) !important;
}

.border-bottom-10 {
    border-block-end: 1px solid var(--color-border-10) !important;
}

.border-left-10 {
    border-inline-start: 1px solid var(--color-border-10) !important;
}

.border-top-20 {
    border-block-start: 1px solid var(--color-border-20) !important;
}

.border-right-20 {
    border-inline-end: 1px solid var(--color-border-20) !important;
}

.border-bottom-20 {
    border-block-end: 1px solid var(--color-border-20) !important;
}

.border-left-20 {
    border-inline-start: 1px solid var(--color-border-20) !important;
}

.border-top-cream {
    border-block-start: 1px solid var(--color-cream) !important;
}

.border-black-light {
    border: 1px solid var(--color-black-10) !important;
}

/* =========================
   Utilities: radius
   ========================= */

.radius-sm {
    border-radius: var(--radius-sm) !important;
}

.radius-md {
    border-radius: var(--radius-md) !important;
}

.radius-ml {
    border-radius: var(--radius-ml) !important;
}

.radius-lg {
    border-radius: var(--radius-lg) !important;
}

.radius-mx {
    border-radius: var(--radius-mx) !important;
}

.radius-pill {
    border-radius: var(--radius-pill) !important;
}


/* =========================
   Utilities: shadow
   ========================= */

.shadow-soft {
    box-shadow: var(--shadow-soft) !important;
}


/* =========================
   Utilities: spacing
   (под ваши --space-*)
   ========================= */

/* padding */
.p-1 {
    padding: var(--space-1) !important;
}

.p-2 {
    padding: var(--space-2) !important;
}

.p-3 {
    padding: var(--space-3) !important;
}

.p-4 {
    padding: var(--space-4) !important;
}

.p-4-1 {
    padding: var(--space-4-1) !important;
}

.p-5 {
    padding: var(--space-5) !important;
}

.p-6 {
    padding: var(--space-6) !important;
}

.p-7 {
    padding: var(--space-7) !important;
}

.p-8 {
    padding: var(--space-8) !important;
}

.pt-1 {
    padding-block-start: var(--space-1) !important;
}

.pt-2 {
    padding-block-start: var(--space-2) !important;
}

.pt-3 {
    padding-block-start: var(--space-3) !important;
}

.pt-4 {
    padding-block-start: var(--space-4) !important;
}

.pt-5 {
    padding-block-start: var(--space-5) !important;
}

.pt-6 {
    padding-block-start: var(--space-6) !important;
}

.pt-7 {
    padding-block-start: var(--space-7) !important;
}

.pt-8 {
    padding-block-start: var(--space-8) !important;
}

.pb-1 {
    padding-block-end: var(--space-1) !important;
}

.pb-2 {
    padding-block-end: var(--space-2) !important;
}

.pb-3 {
    padding-block-end: var(--space-3) !important;
}

.pb-4 {
    padding-block-end: var(--space-4) !important;
}

.pb-5 {
    padding-block-end: var(--space-5) !important;
}

.pb-6 {
    padding-block-end: var(--space-6) !important;
}

.pb-7 {
    padding-block-end: var(--space-7) !important;
}

.pb-8 {
    padding-block-end: var(--space-8) !important;
}

.pl-6 {
    padding-inline-start: var(--space-6) !important;
}

.pr-1 {
    padding-inline-end: var(--space-1) !important;
}

.pr-2 {
    padding-inline-end: var(--space-2) !important;
}

.pr-3 {
    padding-inline-end: var(--space-3) !important;
}

.pr-4 {
    padding-inline-end: var(--space-4) !important;
}

.pr-5 {
    padding-inline-end: var(--space-5) !important;
}

.pr-6 {
    padding-inline-end: var(--space-6) !important;
}

.pr-7 {
    padding-inline-end: var(--space-7) !important;
}

.pr-8 {
    padding-inline-end: var(--space-8) !important;
}

.pl-1 {
    padding-inline-start: var(--space-1) !important;
}

.pl-2 {
    padding-inline-start: var(--space-2) !important;
}

.pl-3 {
    padding-inline-start: var(--space-3) !important;
}

.pl-4 {
    padding-inline-start: var(--space-4) !important;
}

.pl-5 {
    padding-inline-start: var(--space-5) !important;
}

.pl-6 {
    padding-inline-start: var(--space-6) !important;
}

.pl-7 {
    padding-inline-start: var(--space-7) !important;
}

.pl-8 {
    padding-inline-start: var(--space-8) !important;
}


/* ========== Margin utilities (no conflict with Bootstrap) ========== */

/* margin all */
.u-m-1 {
    margin: var(--space-1) !important;
}

.u-m-2 {
    margin: var(--space-2) !important;
}

.u-m-3 {
    margin: var(--space-3) !important;
}

.u-m-4 {
    margin: var(--space-4) !important;
}

.u-m-5 {
    margin: var(--space-5) !important;
}

.u-m-6 {
    margin: var(--space-6) !important;
}

.u-m-7 {
    margin: var(--space-7) !important;
}

.u-m-8 {
    margin: var(--space-8) !important;
}

/* margin top */

.u-mt-05 {
    margin-block-start: var(--space-05) !important;
}

.u-mt-1 {
    margin-block-start: var(--space-1) !important;
}

.u-mt-2 {
    margin-block-start: var(--space-2) !important;
}

.u-mt-2-1 {
    margin-block-start: var(--space-2-1) !important;
}


.u-mt-3 {
    margin-block-start: var(--space-3) !important;
}

.u-mt-4 {
    margin-block-start: var(--space-4) !important;
}

.u-mt-5 {
    margin-block-start: var(--space-5) !important;
}

.u-mt-6 {
    margin-block-start: var(--space-6) !important;
}

.u-mt-7 {
    margin-block-start: var(--space-7) !important;
}

.u-mt-8 {
    margin-block-start: var(--space-8) !important;
}

/* margin bottom */
.u-mb-1 {
    margin-block-end: var(--space-1) !important;
}

.u-mb-2 {
    margin-block-end: var(--space-2) !important;
}

.u-mb-3 {
    margin-block-end: var(--space-3) !important;
}

.u-mb-4 {
    margin-block-end: var(--space-4) !important;
}

.u-mb-5 {
    margin-block-end: var(--space-5) !important;
}

.u-mb-6 {
    margin-block-end: var(--space-6) !important;
}

.u-mb-7 {
    margin-block-end: var(--space-7) !important;
}

.u-mb-8 {
    margin-block-end: var(--space-8) !important;
}

/* margin left/right */
.u-ml-1 {
    margin-inline-start: var(--space-1) !important;
}

.u-ml-2 {
    margin-inline-start: var(--space-2) !important;
}

.u-ml-3 {
    margin-inline-start: var(--space-3) !important;
}

.u-ml-4 {
    margin-inline-start: var(--space-4) !important;
}

.u-ml-5 {
    margin-inline-start: var(--space-5) !important;
}

.u-ml-6 {
    margin-inline-start: var(--space-6) !important;
}

.u-ml-7 {
    margin-inline-start: var(--space-7) !important;
}

.u-ml-8 {
    margin-inline-start: var(--space-8) !important;
}

.u-mr-1 {
    margin-inline-end: var(--space-1) !important;
}

.u-mr-2 {
    margin-inline-end: var(--space-2) !important;
}

.u-mr-3 {
    margin-inline-end: var(--space-3) !important;
}

.u-mr-4 {
    margin-inline-end: var(--space-4) !important;
}

.u-mr-5 {
    margin-inline-end: var(--space-5) !important;
}

.u-mr-6 {
    margin-inline-end: var(--space-6) !important;
}

.u-mr-7 {
    margin-inline-end: var(--space-7) !important;
}

.u-mr-8 {
    margin-inline-end: var(--space-8) !important;
}

/* auto helpers (аналог ms-auto/me-auto в Bootstrap, но под твой префикс) */
.u-ml-auto {
    margin-inline-start: auto !important;
}

.u-mr-auto {
    margin-inline-end: auto !important;
}

.u-mt-auto {
    margin-block-start: auto !important;
}

.u-mb-auto {
    margin-block-end: auto !important;
}

.u-me-md-4 {}

.u-ms-md-4 {}



/* gap (для flex/grid контейнеров) */
.gap-1 {
    gap: var(--space-1) !important;
}

.gap-2 {
    gap: var(--space-2) !important;
}

.gap-3 {
    gap: var(--space-3) !important;
}

.gap-4 {
    gap: var(--space-4) !important;
}

.gap-4-1 {
    gap: var(--space-4-1) !important;
}

.gap-5 {
    gap: var(--space-5) !important;
}

.gap-6 {
    gap: var(--space-6) !important;
}

.gap-7 {
    gap: var(--space-7) !important;
}

.gap-8 {
    gap: var(--space-8) !important;
}

.row-gap-1 {
    row-gap: var(--space-1) !important;
}

.row-gap-2 {
    row-gap: var(--space-2) !important;
}

.row-gap-3 {
    row-gap: var(--space-3) !important;
}

.row-gap-4 {
    row-gap: var(--space-4) !important;
}

.row-gap-5 {
    row-gap: var(--space-5) !important;
}

.row-gap-6 {
    row-gap: var(--space-6) !important;
}

.row-gap-7 {
    row-gap: var(--space-7) !important;
}

.row-gap-8 {
    row-gap: var(--space-8) !important;
}

.col-gap-1 {
    column-gap: var(--space-1) !important;
}

.col-gap-2 {
    column-gap: var(--space-2) !important;
}

.col-gap-3 {
    column-gap: var(--space-3) !important;
}

.col-gap-4 {
    column-gap: var(--space-4) !important;
}

.col-gap-5 {
    column-gap: var(--space-5) !important;
}

.col-gap-6 {
    column-gap: var(--space-6) !important;
}

.col-gap-7 {
    column-gap: var(--space-7) !important;
}

.col-gap-8 {
    column-gap: var(--space-8) !important;
}

.u-gx-7 {
    --bs-gutter-x: var(--space-7) !important;
}

.avatar {
    object-fit: cover;
}

.avatar-xs {
    inline-size: 40px;
    block-size: 40px;
}


.avatar-sm {
    inline-size: 60px;
    block-size: 60px;
}

.avatar-md {
    inline-size: 80px;
    block-size: 80px;
}


.avatar-lg {
    inline-size: 100px;
    block-size: 100px;
}


.avatar-xl {
    inline-size: 135px;
    block-size: 135px;
}


main {
    background: #fff;
}

.title-level-2 {
    font-size: 24px;
    font-weight: 600;
    line-height: 1.2;
}

.title-elemet {
    font-size: var(--space-5);
    font-weight: 600;
    color: var(--color-bordo);
    line-height: 1.2;
}

/* HEADER */
.site-header {
    background: var(--color-white);
}

.site-header__top {
    background: var(--color-black);
    color: var(--color-white);
    padding: 6px 0;
    block-size: 60px;
}

.site-header__top-nav {
    display: flex;
    gap: 40px;
    font-size: 16px;
}

.site-link {
    color: var(--color-white);
}

.site-header__lang {
    background: transparent;
    border: none;
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 16px;
}

.site-header__lang svg {
    inline-size: 20px;
    block-size: 20px;
}

.site-logo img {
    inline-size: 130px;
    block-size: auto;
}

.site-nav__link {
    background: transparent;
    border: none;
    color: var(--color-black);
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0;
}

.site-nav__link--dropdown svg {
    inline-size: 16px;
    block-size: 16px;
}

.site-search {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 10px 20px;
    border-radius: var(--radius-sm);
    background: rgba(106, 31, 43, 0.1);
    border: 1px solid rgba(106, 31, 43, 0.2);
    max-inline-size: 410px;
}

.site-search input {
    border: none;
    background: transparent;
    outline: none;
    font-size: 18px;
    color: var(--color-gray);
    inline-size: 100%;
}

.site-search svg {
    inline-size: 20px;
    block-size: 20px;
    color: var(--color-gray);
}

.site-icon-btn {
    inline-size: 52px;
    block-size: 52px;
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    background: var(--color-bordo);
    color: var(--color-white);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
}

.site-icon-btn span {
    display: block;
    inline-size: 22px;
    block-size: 2px;
    background: currentColor;
    border-radius: 2px;
}

.site-icon-btn--outline {
    background: transparent;
    border-color: var(--color-bordo);
    color: var(--color-bordo);
}

.site-btn {
    border-radius: var(--radius-sm);
    border: 1px solid transparent;
    padding: 10px 24px;
    align-items: center;
    justify-content: center;
    gap: 10px;
}

.site-btn-white {
    color: var(--color-bordo);

}

.site-btn-white:hover {
    background-color: var(--color-bordo-hover);
    color: var(--color-white);
}

.site-btn-dark {
    background: var(--color-bordo);
    color: var(--color-white);
}

.site-btn-dark:hover {
    background: var(--color-bordo-hover);
    color: var(--color-white);
}

.site-btn-dark:active {
    background: var(--color-bordo-hover);
    color: var(--color-white);
}


.site-btn--primary {
    background: var(--color-bordo);
    color: var(--color-white);
}

.site-btn--outline {
    background: transparent;
    border-color: var(--color-bordo);
    color: var(--color-bordo);
}

.site-btn--secondary {
    background: transparent;
    border-color: rgba(106, 31, 43, 0.4);
    color: var(--color-bordo);
}


/* =========================================================
   SITE BADGES (reusable)
   ========================================================= */

/* Alias: чтобы старые .site-card__badge не сломались сразу */
.site-badge,
.site-card__badge {
    --b-bg: #f3f4f6;
    --b-color: #111827;
    --b-border: transparent;

    --b-py: 6px;
    --b-px: 12px;
    --b-fs: 14px;
    --b-lh: 1;
    --b-h: auto;

    --b-icon-size: 16px;
    --b-icon-bg: transparent;
    --b-icon-color: currentColor;
    --b-br: 999px;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: var(--b-py) var(--b-px);
    border-radius: var(--b-br);

    font-size: var(--b-fs);
    line-height: var(--b-lh);

    background: var(--b-bg);
    color: var(--b-color);
    border: 1px solid var(--b-border);

    white-space: nowrap;

    max-block-size: var(--b-h)
}

/* ---------- sizes ---------- */
.site-badge--info {
    --b-py: 4px;
    --b-px: 12px;
    --b-fs: 20px;
    --height: auto;
    --b-br: 8px;
    --b-lh: 1.4;
}


.site-badge--icon {
    --b-py: 4px;
    --b-px: 4px;
    --b-fs: 16px;
    --b-icon-size: 22px;
    --b-h: auto;
}

.site-badge--xs {
    --b-py: 6px;
    --b-px: 12px;
    --b-fs: 16px;
    --b-icon-size: 16px;
    --b-h: 30px;
}

.site-badge--sm {
    --b-py: 8px;
    --b-px: 14px;
    --b-fs: 18px;
    --b-icon-size: 18px;
    --height: 30px;
}

.site-badge--md {
    --b-py: 10px;
    --b-px: 16px;
    --b-fs: 20px;
    --b-icon-size: 20px;
    --height: 30px;
}

.site-badge--lg {
    --b-py: 14px;
    --b-px: 20px;
    --b-fs: 28px;
    --b-lh: 1.15;
    --b-icon-size: 22px;
    --height: 30px;
}

.site-badge--icon-lg {
    --b-icon-size: 18px;
}

/* ---------- inner parts ---------- */
.site-badge__icon {
    inline-size: var(--b-icon-size);
    block-size: var(--b-icon-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;

    border-radius: var(--b-br);
    flex: 0 0 auto;
}

.site-badge__icon svg {
    inline-size: calc(var(--b-icon-size) - 2px);
    block-size: calc(var(--b-icon-size) - 2px);
    display: block;
}

.site-badge__text {
    display: inline-block;
}



/* =========================================================
   TONES + VARIANTS
   ========================================================= */

/* VIP */
.site-badge--vip.site-badge--solid {
    --b-bg: var(--color-orange);
    --b-color: #ffffff;
}

.site-badge--vip.site-badge--soft {
    --b-bg: #fff7ed;
    --b-color: #92400e;
    --b-border: rgba(245, 158, 11, 0.25);
}

/* SUCCESS (зелёный) */
.site-badge--success.site-badge--soft {
    --b-bg: #ecfdf3;
    --b-color: #067647;
}

.site-badge--success.site-badge--solid {
    --b-bg: #067647;
    --b-color: #ffffff;
}

.site-badge--success.site-badge--outline {
    --b-bg: transparent;
    --b-color: #067647;
    --b-border: rgba(6, 118, 71, 0.35);
}

/* ORANGE) */
.site-badge--orange {
    --b-bg: #FFF2A1;
    --b-color: #BB4E00;
}

/* CREAME*/
.site-badge--creame {
    --b-bg: #FFECD1;
    --b-color: #AD1E00;
}


/* PRIMARY */
.site-badge--primary.site-badge--soft {
    --b-bg: var(--color-blue-light);
    --b-color: var(--color-blue);
}

.site-badge--primary.site-badge--dark {
    --b-bg: rgba(17, 24, 39, 0.55);
    --b-color: var(--color-blue);
}

/* NEUTRAL */
.site-badge--neutral.site-badge--soft {
    --b-bg: #ffffff;
    --b-color: #6b7280;
    --b-border: rgba(107, 114, 128, 0.25);
}

/* DARK (зелёный/синий на тёмном) */
.site-badge--dark.site-badge--dark {
    --b-bg: rgba(17, 24, 39, 0.55);
    --b-color: #10b981;
}

.site-badge--gray.site-badge--gray {
    --b-bg: var(--color-light);
    --b-color: var(--color-gray);
}



/* =========================================================
   ICON DOT BEHAVIOR (как на макете: кружок с галкой)
   ========================================================= */

/* Для "soft success": зелёный кружок + белая галка */
.site-badge--success.site-badge--soft .site-badge__icon {
    --b-icon-bg: #067647;
    --b-icon-color: #ffffff;
    padding: 2px;
}

/* Для "solid success": лёгкий кружок на зелёном фоне */
.site-badge--success.site-badge--solid .site-badge__icon {
    --b-icon-bg: rgba(255, 255, 255, 0.18);
    --b-icon-color: #ffffff;
    padding: 2px;
}



/* HERO */

.site-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(34, 32, 32, 0.7) 0%, rgba(34, 32, 32, 0.2) 60%, rgba(34, 32, 32, 0) 100%);
}

.site-hero__content {
    position: relative;
    max-inline-size: 820px;
}

.site-hero__content p {
    color: var(--color-white);
    font-size: clamp(18px, 2.4vw, 28px);
}



.site-filters__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-block-end: 28px;
}

.site-filters__head p {
    font-size: 20px;
}


.site-filter-form__actions {
    display: flex;
    justify-content: flex-end;
    gap: 16px;
    margin-block-start: 32px;
    flex-wrap: wrap;
}



.site-field select {
    block-size: 70px;
    border-radius: var(--radius-sm);
    border: none;
    padding: 0 24px;
    font-size: 20px;
    color: var(--color-ink);
    background: var(--color-white);
    appearance: none;
    background-image: linear-gradient(45deg, transparent 50%, var(--color-gray) 50%),
        linear-gradient(135deg, var(--color-gray) 50%, transparent 50%);
    background-position: calc(100% - 24px) calc(50% - 3px), calc(100% - 18px) calc(50% - 3px);
    background-size: 6px 6px, 6px 6px;
    background-repeat: no-repeat;
}

.site-range {
    border: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: var(--color-gray);
}

.site-range legend,
.site-field>span,
.site-field>div,
.filter-checks__title,
.filter-radios__title {
    font-size: 18px;
    padding: 0;
    margin: 0;
    color: var(--color-gray);
}

.site-range__values {
    background: var(--color-white);
    border-radius: var(--radius-sm);
    padding: 18px 24px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
}

.site-range__values label {
    display: inline-flex;
    align-items: baseline;
    gap: 6px;
    color: var(--color-gray);
    font-size: 18px;
}

.site-range__values input {
    inline-size: 100px;
    border: none;
    font-size: 20px;
    font-weight: 700;
    color: var(--color-black);
    background: transparent;
    text-align: center;
}

.site-range__track {
    position: relative;
    display: flex;
    align-items: center;
    inline-size: calc(100% - 32px);
    margin: 0 auto;
}

.site-range__track::before {
    content: "";
    position: absolute;
    inset-inline-start: 12px;
    inset-inline-end: 12px;
    block-size: 2px;
    background: rgba(106, 31, 43, 0.4);
    inset-block-start: 50%;
    transform: translateY(-50%);
    margin-block-start: -12px;
}

.site-range__track input[type="range"] {
    appearance: none;
    inline-size: 100%;
    block-size: 2px;
    background: transparent;
    position: absolute;
    pointer-events: none;
    margin-block-start: -24px;
}

.site-range__track input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    inline-size: 14px;
    block-size: 14px;
    border-radius: 50%;
    background: var(--color-bordo);
    pointer-events: auto;
}

.site-range__track input[type="range"]::-moz-range-thumb {
    inline-size: 14px;
    block-size: 14px;
    border-radius: 50%;
    background: var(--color-bordo);
    border: none;
    pointer-events: auto;
}

/* LISTING */
.site-listing {
    padding: 60px 0;
}

.site-listing__head {
    display: flex;
    flex-direction: column;
}

.site-tabs {
    display: flex;
    gap: 12px;
    margin: 40px 0;
    padding: 0px;
}

.site-tabs--lg {
    margin: 32px 0;
}

.site-tabs li {
    list-style: none;
}

.lsn {
    padding: 0px;
    margin: 0px;
}

.lsn li {
    list-style: none;
}

.site-tab {
    border: 1px solid var(--color-bordo);
    padding: 16px 24px;
    border-radius: var(--radius-sm);
    background: var(--color-white);
    color: var(--color-bordo);
    line-height: 1.4;
}

.site-tab.active,
.site-tab:hover {
    background: var(--color-bordo);
    color: var(--color-white);
}

/* CARDS */
.site-card {
    border-radius: var(--radius-lg);
    overflow: hidden;
    display: flex;
    flex-direction: column;
    block-size: 100%;
    position: relative;
}

.site-card__media {
    position: relative;
    block-size: 298px;
    overflow: hidden;
}

.site-card__media img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

.site-card__slider {
    inline-size: 100%;
    block-size: 100%;
}

.site-card__slider .swiper-slide {
    block-size: 100%;
}

.site-card__slider img {
    display: block;
}

.site-card__badge {
    position: absolute;
    inset-block-start: 16px;
    inset-inline-start: 16px;
    background: var(--color-orange);
    color: var(--color-white);
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 16px;
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.site-card__badge,
.site-card__favorite,
.site-card__meta,
.site-card__nav {
    z-index: 2;
}

.site-card__badge svg {
    inline-size: 16px;
    block-size: 16px;
}

.site-card__favorite {
    inline-size: 40px;
    block-size: 40px;
    border-radius: 50%;
    background: var(--color-white);
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-bordo);
}

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

.site-card__meta span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.site-card__meta svg {
    inline-size: 16px;
    block-size: 16px;
}

.site-card__nav {
    position: absolute;
    inset-block-start: 50%;
    transform: translateY(-50%);
    border: none;
    inline-size: 32px;
    block-size: 32px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.6);
    box-shadow: var(--shadow-soft);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: var(--color-bordo);
}

.site-card__nav--prev {
    inset-inline-start: 16px;
    background: var(--color-white);
}

.site-card__nav--next {
    inset-inline-end: 16px;
    background: var(--color-white);
}

.site-card__body {
    background: var(--color-card-body);
    padding: 16px;
    display: flex;
    flex-direction: column;
    gap: 16px;
}

.site-card__title {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.site-card__price {
    color: var(--color-green);
    font-size: 22px;
    font-weight: 600;
}

.site-card__specs {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin: 0;
}

.site-card__spec {
    display: flex;
    justify-content: space-between;
    font-size: 16px;
    color: var(--color-gray-dark);
}

.site-card__spec dt {
    color: var(--color-gray);
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.site-card__spec dd {
    margin: 0;
    text-align: end;
}

/* FOOTER */
.site-footer {
    background: var(--color-black);
    color: var(--color-white);
    padding: 60px 0;
}

.site-footer__logo img {
    inline-size: 260px;
}


.site-footer__columns a {
    display: block;
    color: var(--color-white);
}

.site-footer__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding-block-start: 32px;
    font-size: 14px;
    color: rgba(255, 255, 255, 0.85);
}


.site-footer__socials a {
    inline-size: 50px;
    block-size: 50px;
    border-radius: 50%;
    color: var(--color-black);
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.site-footer__socials svg {
    inline-size: 35px;
    block-size: 35px;
}


/* BLOCK */
.site-hero {
    min-block-size: 778px;
    padding: 0;
    display: flex;
    align-items: center;
    color: var(--color-white);
}

.site-hero::before {
    content: none;
}

.site-hero .site-container {
    min-block-size: 778px;
    display: flex;
    align-items: center;
}

.site-hero__content {
    display: flex;
    flex-direction: column;
    gap: 60px;
    max-inline-size: 1254px;
}

.site-hero__title {
    font-size: 60px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--color-white);
    margin: 0;
}

.site-hero__subtitle {
    font-size: 40px;
    line-height: 1.4;
    color: var(--color-white);
    margin: 0;
}

.site-hero__subtitle {
    max-inline-size: 600px;
    font-weight: 500;
    margin-block-start: 55px;
}

.site-filters__panel {
    border-radius: 24px;
    display: flex;
    flex-direction: column;
    gap: 40px;
}

.site-filters__head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 24px;
}

.site-filters__more svg {
    inline-size: 20px;
    block-size: 20px;
    margin-inline-end: 12px;
}

.site-search--filters {
    inline-size: 100%;
    margin: 0;
    background: #ffffff;
    border: none;
    padding: 16px 20px;
    border-radius: 8px;
    gap: 10px;
    max-inline-size: none;
    inline-size: 100%;
}

.site-search--filters input {
    font-size: 20px;
    color: #778194;
}

.site-search--filters input::placeholder {
    color: #778194;
}

.site-search--filters svg {
    color: #778194;
}

.site-filter-form {
    display: flex;
    flex-direction: column;
    gap: 32px;
}


.site-filter-form__actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    margin-block-start: 8px;
    flex-wrap: wrap;
}

.site-filter-form__actions .site-btn--primary {
    padding: 20px 30px;
    border-radius: 8px;
    margin-inline-start: auto;
}

.site-footer {
    background: #222020;
    color: #ffffff;
    padding: 60px 0;
}

.site-footer__top {
    padding-block-end: 40px;
    border-block-end: 1px solid rgba(255, 255, 255, 0.1);
}

.site-footer__logo {
    display: inline-flex;
    align-items: center;
}

.site-footer__logo--main img {
    max-inline-size: 300px;
    block-size: auto;
    inline-size: 100%;
}

.site-footer__logo--compact img {
    inline-size: 108px;
    block-size: auto;
}


.site-footer__group a {
    display: block;
    margin-block-end: 18px;
    color: #ffffff;
}

.site-footer__group a:last-child {
    margin-block-end: 0;
}

.site-footer__services-title {
    display: flex;
    align-items: center;
    gap: 12px;
    color: #ffffff;
}

.site-footer__services-title svg {
    inline-size: 24px;
    block-size: 24px;
    transform: rotate(180deg);
    margin-inline-end: auto;
}

.site-footer__bottom {
    padding-block-start: 32px;
    font-size: 14px;
    line-height: 1.3;
    color: #ffffff;
}

.site-footer__meta p {
    margin: 0;
    max-inline-size: 410px;
}

.site-footer__socials {
    display: flex;
    gap: 12px;
}



.about-hero__actions {
    margin-block-start: var(--space-4);
}

.about-cta__note {
    margin-block-start: var(--space-3);
}

.site-header__top-nav-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.site-header__top-nav-item {
    margin: 0;
    padding: 0;
}

/* Если раньше ссылки стояли в ряд — вернем поведение */
.site-header__top-nav-list {
    display: flex;
    gap: 16px;
    /* при необходимости подстрой */
    align-items: center;
}


.dropdown-item.active,
.dropdown-item:active {
    text-decoration: none;
    background: var(--color-bordo);
    color: var(--color-white);
}

.site-header__lang.btn.show {
    color: var(--color-white);
    opacity: 0.8;
}

.site-header__lang.btn:hover {
    color: var(--color-white);
    opacity: 0.8;
}

.site-header__top-nav-list {
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 40px;
    /* ровно между пунктами, без отступа слева/справа */
}

.site-header__top-nav-item {
    margin: 0;
    padding: 0;
}

.gap-lg-4--5 {
    gap: 40px !important;
}


/* Стрелка рисуется как "картинка" через ::after */
.site-nav__link--dropdown::after {
    content: "";
    display: inline-block;
    inline-size: 16px;
    block-size: 16px;
    margin-inline-start: 8px;
    background: currentColor;
    -webkit-mask: url("/static/img/icons/chevron-down.svg") no-repeat center / contain;
    mask: url("/static/img/icons/chevron-down.svg") no-repeat center / contain;
    transition: transform 0.15s ease;
    vertical-align: -2px;
}

/* Подменю: базово скрыто */
.site-nav__item--has-dropdown .site-dropdown-menu {
    position: absolute;
    display: block;
    /* оставляем в потоке absolute-меню, но прячем визуально */
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(8px);
    transition: opacity 0.15s ease, transform 0.15s ease, visibility 0s linear 0.15s;
}

.block-icon-btn {
    inline-size: 52px;
    block-size: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.block-icon-btn--favorite:hover svg {
    fill: #7F0327;
}

/* Чтобы Bootstrap рисовал "три полоски" через фон-иконку */
.site-burger.navbar-toggler {
    background: #741629;
    border-radius: var(--radius-sm);
    inline-size: 52px;
    block-size: 52px;
    padding: 0;
}

.site-burger .navbar-toggler-icon {
    inline-size: 30px;
    block-size: 30px;
}

/* если у тебя темный хедер/нужна светлая иконка — включай эту строку */
.site-burger.navbar-toggler {
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255%2c255%2c255%2c1%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}

.site-button-nav {
    display: none;
}

.block-lang .dropdown-item {
    padding: 8px 25px;
}

.block-lang .dropdown-item:hover {
    text-decoration: none;
    background: var(--color-bordo);
    color: var(--color-white);
}

.dropdown-menu li:last-child .dropdown-item {
    margin-block-end: 0;
}

.site-dropdown-menu {
    padding: 20px;
}

/* ===== Mobile menu layout ===== */

.site-mobile-nav {
    padding: 12px 16px;
    padding-block-end: 45px;
}

.site-mobile-nav__list {
    margin: 0;
    padding: 0;
    list-style: none;

    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
}

.site-mobile-nav__item {
    margin: 0;
    padding: 0;
    inline-size: 100%;
}

.site-mobile-nav__link:hover,
.site-mobile-nav__link:focus-visible {
    text-decoration: underline;
}

.site-mobile-nav__divider {
    margin: 12px 0;
    border: 0;
    block-size: 1px;
    background: rgba(255, 255, 255, 0.2);
}

/* ===== Services sublist (always visible on mobile) ===== */
.site-mobile-subnav {
    margin: 6px 0 0;
    padding: 0 0 0 14px;
    list-style: none;

    display: flex;
    flex-direction: column;
    gap: 8px;
}

.site-mobile-subnav__item {
    margin: 0;
    padding: 0;
}

.site-mobile-subnav__link:hover,
.site-mobile-subnav__link:focus-visible {
    color: var(--color-white);
    text-decoration: underline;
}

.navbar-collapse {
    background: #fff;
}

.navbar-collapse .site-btn {}

/* Моб. меню: фиксированное, не участвует в потоке (ничего не двигает) */
.site-mobile-collapse {
    position: fixed;
    inset-inline-start: 0;
    inset-inline-end: 0;
    inset-block-start: 178px;
    inset-block-end: 0;
    z-index: 1050;

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 16px;
}

/* Bootstrap collapse: чтобы корректно вел себя при анимации */
.site-mobile-collapse.collapsing {
    position: fixed;
    inset-inline-start: 0;
    inset-inline-end: 0;
    inset-block-start: 178px;
    inset-block-end: 0;
}

.site-header__main.is-fixed {
    position: fixed;
    inset-block-start: 0;
    inset-inline-start: 0;
    inset-inline-end: 0;
    z-index: 1030;
    background: var(--color-white);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.04);
}

.site-search-mobile {
    display: none;
}

.socials-tg svg {
    margin-inline-start: -8px;
}

.socials-vk svg {
    margin-block-start: 2px;
    inline-size: 45px;
    block-size: 45px;
}

.socials-wa svg {
    margin-block-start: -4px;
}

.socials-yt svg {
    margin-block-start: -2px;
}

.site-footer__columns {
    display: flex;
    justify-content: flex-end;
    align-items: flex-start;
    gap: 100px;
}

.hr-block--footer {
    display: none;
}

.hr-block {
    border-block-end: 1px solid #4E4D4D;
    inline-size: 100%;
}

.site-footer__services-title {
    inline-size: 100%;
    border: 0;
    background: transparent;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    color: #fff;
}

.site-footer__services-icon {
    inline-size: 18px;
    block-size: 18px;
    transform: rotate(180deg);
    transition: transform 0.15s ease;
}

.site-footer__services-title[aria-expanded="true"] .site-footer__services-icon {
    transform: rotate(0deg);
}

.site-footer__services-collapse a {
    margin-block-start: 1em;
    color: #A7A6A6;
}

.footer-link a {
    display: block;
    text-align: start;
}

.site-hero {
    position: relative;
    overflow: hidden;
}

/* фон */
.site-hero__bg {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.site-hero__bg-image,
.site-hero__bg-video {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

/* видео скрыто, пока не готово */
.site-hero__bg-video {
    opacity: 0;
    transition: opacity 200ms ease;
}

/* когда модуль сказал "готово" */
.site-hero.is-video-ready .site-hero__bg-video {
    opacity: 1;
}

/* лёгкая подложка/градиент для читабельности текста */
.site-hero__bg-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(34, 32, 32, 0.55) 0%, rgba(34, 32, 32, 0.25) 60%, rgba(34, 32, 32, 0.05) 100%);
}

/* контент поверх */
.site-hero .site-container {
    position: relative;
    z-index: 1;
}

.site-filters--blocks {
    border-radius: 24px;
    background: #f1eee6;
    padding-block-start: 60px;
    padding-block-end: 60px;
}

.site-filters {
    z-index: 100;
    position: relative;
}

.site-filters--blocks {
    margin-block-start: -24px;
}

.select-block-filter {
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: var(--color-gray);
}

.select-block-filter .select2-selection {
    padding: 18px 24px;
    border-radius: 8px;
    block-size: 70px;
    border: none;
    font-size: 20px;
}

.select-block-filter .select2-selection__arrow {}

.select-block-filter .select2-container--default .select2-selection--single .select2-selection__arrow {
    inline-size: 20px;
    block-size: 20px;
    inset-block-start: 50%;
    inset-inline-end: 18px;
    transform: translateY(-50%);
    margin: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.select-block-filter .select2-container--default .select2-selection--single .select2-selection__arrow b {
    display: none;
}

.select-block-filter .select2-container--default .select2-selection--single .select2-selection__arrow::before {
    content: "";
    inline-size: 16px;
    block-size: 16px;
    background: currentColor;
    -webkit-mask: url("/static/img/icons/chevron-down.svg") no-repeat center / contain;
    mask: url("/static/img/icons/chevron-down.svg") no-repeat center / contain;
    transition: transform 0.15s ease;
    pointer-events: none;
}

.select-block-filter .select2-container--open .select2-selection--single .select2-selection__arrow::before {
    transform: rotate(180deg);
}

.select-block-filter .select2-container--default .select2-selection--single {
    color: var(--color-gray);
}

.select2-container--default .select2-search--dropdown .select2-search__field {
    border: 1px solid #f1eee6;
    padding: 8px 24px;
}


.select2-results__options {
    font-family: 'Mont';
    font-size: 20px;
    font-style: normal;
    line-height: 1.4;
}

.select2-results__option:first-child {
    border: none;
}

.select2-results__option {
    border: 1px solid #f1eee6;
    font-size: 20px;
    padding: 16px 24px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.select2-container--default .select2-results__option--highlighted[aria-selected] {
    background-color: var(--color-background-primary);
    color: var(--color-black);
    border: 1px solid var(--color-border-10);
}

.select2-results__options {
    overflow: auto;
    scrollbar-width: thin;
    scrollbar-color: #741629 transparent;
}

.select2-results__options::-webkit-scrollbar {
    inline-size: 10px;
}

.select2-results__options::-webkit-scrollbar-thumb {
    background: #741629;
    border-radius: 14px;
}

.select2-results__options::-webkit-scrollbar-track {
    background: transparent;
}

.select2-container--default .select2-results>.select2-results__options {
    max-block-size: 305px;
}


.site-card::after {
    content: "";
    position: absolute;
    inset-inline-start: 16px;
    inset-inline-end: 16px;
    inset-block-end: -10px;
    block-size: 18px;
    box-shadow: 0 18px 22px rgba(0, 0, 0, 0.12);
    pointer-events: none;
    border-radius: 24px;
    opacity: 0.35;
}

.site-card__favorite svg {
    inline-size: 18px;
}

.site-card__favorite:hover svg,
.site-card__favorite.is-active svg {
    fill: var(--color-bordo-hover);
}


.site-ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    min-inline-size: 0;
}

.site-card__title {
    display: flex;
    align-items: baseline;
    gap: 12px;
}

.site-card__title h3 {
    flex: 1 1 auto;
    min-inline-size: 0;
}

.site-card__price {
    flex: 0 0 auto;
    max-inline-size: 45%;
}


.site-card__spec dd {
    min-inline-size: 0;
    max-inline-size: 60%;
    text-align: end;
}

.site-card__spec--location dd {
    min-inline-size: 0;
    flex: 1 1 auto;
}

.site-card__title,
.site-card__specs,
.site-card__specs dt,
.site-card__specs dd {
    cursor: default;
}

.breadcrumb-item {
    color: #758196;
}

.breadcrumb-item.active {
    color: var(--color-black);
}

.site-breadcrumbs {
    --bs-breadcrumb-divider: "";
    padding: 18px 0;
}

.site-breadcrumbs .breadcrumb-item {
    display: inline-flex;
    align-items: center;
}

.site-breadcrumbs .breadcrumb-item+.breadcrumb-item::before {
    content: "";
    float: none;
    padding: 0;

    display: inline-block;
    inline-size: 4px;
    block-size: 4px;
    flex-shrink: 0;
    border-radius: 50%;
    background: #D9D9D9;

    margin: 0 12px;
    /* 12px — точка — 12px */
}

.py-lg-custom {
    padding: 40px 0px;
}

.site-filters--catalog .select2-selection,
.form-gray .select2-selection {
    background: var(--color-card-body);
}

.site-filters--catalog .site-range__values,
.form-gray .site-range__values {
    background: var(--color-card-body);
}

.select2-selection__clear {
    display: none;
}

.select2-container--default .select2-results__option[aria-selected=true] {
    background-color: var(--color-background-primary);
    color: var(--color-black);
    border: 1px solid var(--color-border-10);
}

.site-listing--catalog {
    background: var(--color-card-body);
    border-radius: 24px;
    margin-block-start: 40px;
}

.site-listing--catalog .site-card__body {
    background: var(--color-white);
}

.site-listing__sentinel {
    block-size: 1px;
}

.site-card--skeleton {
    min-block-size: 420px;
    border-radius: var(--radius-lg);
    background: rgba(217, 217, 217, .30);
    position: relative;
    overflow: hidden;
}

.site-card--skeleton::after {
    content: "";
    position: absolute;
    inset: 0;
    transform: translateX(-100%);
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, .55), transparent);
    animation: siteShimmer 1.1s infinite;
}



.site-btn--more {
    padding: 20px 30px;
    line-height: 1.4;
}

.filters-element {}

.btn-toggle {
    inline-size: 35px;
    block-size: 35px;
    padding: 0;
    border: 1px solid #E9E9E9;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: var(--color-white);
    flex-shrink: 0;
}

.btn-toggle:hover {
    background: #E9E9E9;
}

.btn-toggle__icon {
    inline-size: 17px;
    block-size: 10px;
    background: url("/static/img/icons/toggle_icon.svg") no-repeat center / contain;
    transition: transform .15s ease;
    transform: rotate(0deg);
}

.btn-toggle[aria-expanded="false"] .btn-toggle__icon {
    transform: rotate(180deg);
}

.site-filter-block-element {
    border-radius: 24px;
    background: var(--color-card-body);
    padding: 32px;
}

.site-filter-block-element .bg-body {
    background: none !important;
}

.mt-4-5 {
    margin-block-start: 2.2rem !important;
}

.filter-checks {
    display: flex;
    flex-direction: column;
    gap: 12px;
    /* расстояние между чекбоксами (можно 8/16) */
}

.filter-check {
    display: flex;
    align-items: center;
    gap: 12px;
    /* как в твоем дизайне */
    cursor: pointer;
    user-select: none;
}

.filter-check__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.filter-check__box {
    display: flex;
    inline-size: 32px;
    block-size: 32px;
    justify-content: center;
    align-items: center;
    border-radius: 6px;
    border: 1px solid var(--color-border-20);
    background: var(--color-white);
    flex: 0 0 32px;
}

/* Иконка "активно" */
.filter-check__box::before {
    content: "";
    inline-size: 16px;
    block-size: 12px;
    background: url("/static/img/icons/chebox_active.svg") no-repeat center / contain;
    opacity: 0;
    transition: opacity .12s ease;
}

/* checked -> показываем иконку */
.filter-check__input:checked+.filter-check__box::before {
    opacity: 1;
}

/* (опционально) фокус с клавиатуры */
.filter-check__input:focus-visible+.filter-check__box {
    outline: 2px solid rgba(0, 0, 0, .15);
    outline-offset: 2px;
}

.filter-check__text {
    font-size: 20px;
    line-height: 1.4;
}

.filter-check--price {
    margin-block-start: 54px;
}


.filter-switch__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    cursor: pointer;
    user-select: none;
    inline-size: max-content;
}

.filter-switch__label {
    line-height: 1.2;
}

.filter-switch__control {
    position: relative;
    display: inline-flex;
    align-items: center;
}

/* input скрыт, но остаётся фокусируемым (нормальный UX/доступность) */
.filter-switch__input {
    position: absolute;
    opacity: 0;
    inline-size: 1px;
    block-size: 1px;
    margin: 0;
}

.filter-switch__track {
    inline-size: 48px;
    block-size: 28px;
    border-radius: 999px;
    border: 1px solid var(--color-border-20);
    background: #fff;
    position: relative;
    transition: background .15s ease, border-color .15s ease;
}

.filter-switch__thumb {
    inline-size: 22px;
    block-size: 22px;
    border-radius: 999px;
    background: var(--color-border-20);
    position: absolute;
    inset-block-start: 50%;
    inset-inline-start: 3px;
    transform: translateY(-50%);
    transition: transform .15s ease, background .15s ease;
}

/* OFF = слева (по умолчанию) */
/* ON = справа + цвет */
.filter-switch__input:checked+.filter-switch__track {
    background: var(--color-bordo);
    border-color: var(--color-bordo);
}

.filter-switch__input:checked+.filter-switch__track .filter-switch__thumb {
    transform: translate(20px, -50%);
    /* 48 - 22 - 3 - 3 = 20 */
    background: #fff;
}

.filter-switch__input:focus-visible+.filter-switch__track {
    outline: 2px solid rgba(0, 0, 0, .15);
    outline-offset: 2px;
}

.filter-switch__label {
    font-size: 20px;
    line-height: 1.40;
    color: var(--color-black-100);
}

.temp-filter__title {
    color: var(--color-bordo);
    margin-block-end: 12px;
}

.temp-filter__top {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-block-end: 10px;
}

.temp-filter__edge {
    font-size: 16px;
}

.temp-filter__slider {
    position: relative;
    padding-block-end: 76px;

}

.temp-filter__track {
    block-size: 28px;
    border-radius: 999px;
    position: relative;
    overflow: hidden;
    background: #e9e2d8;
    /* незаполненная часть */
}

/* Накрываем справа нейтральным — от текущего fill до конца */
.temp-filter__track::after {
    content: "";
    position: absolute;
    inset-block-start: 0;
    inset-block-end: 0;
    inset-inline-start: var(--temp-fill);
    /* 0%..100% */
    inset-inline-end: 0;
    background: #e9e2d8;
    z-index: 2;

}

/* fallback gradient */
.temp-filter {
    --temp-gradient: linear-gradient(90deg, #1ea75a 0%, #e2e744 23.73%, #ee9632 49.93%, #ef5816 76.59%, #e23416 100%);
    --temp-fill: 50%;
    --temp-badge-bg: #ee9632;
}

/* display-p3 gradient (если поддерживается) */
@supports (color: color(display-p3 1 1 1)) {
    .temp-filter {
        --temp-gradient: linear-gradient(90deg,
                color(display-p3 0.1195 0.6538 0.3485) 0%,
                color(display-p3 0.8875 0.9087 0.2752) 23.73%,
                color(display-p3 0.9327 0.5895 0.1973) 49.93%,
                color(display-p3 0.9375 0.3453 0.0856) 76.59%,
                color(display-p3 0.8846 0.1783 0.0851) 100%);
    }
}

/* Градиент всегда на 100% ширины */
.temp-filter__track::before {
    content: "";
    position: absolute;
    inset: 0;
    background: var(--temp-gradient);
    border-radius: inherit;
    z-index: 1;
}

.temp-filter__range {
    position: absolute;
    inset-inline-start: 0;
    inset-block-start: 0;
    inline-size: 100%;
    block-size: 28px;
    margin: 0;
    background: transparent;
    -webkit-appearance: none;
    appearance: none;
    z-index: 3;
    /* важно */
}


/* прячем нативный track */
.temp-filter__range::-webkit-slider-runnable-track {
    block-size: 28px;
    background: transparent;
}

.temp-filter__range::-moz-range-track {
    block-size: 28px;
    background: transparent;
}

/* thumb */
.temp-filter__range::-webkit-slider-thumb {
    -webkit-appearance: none;
    inline-size: 22px;
    block-size: 22px;
    border-radius: 999px;
    background: #6b4b3f;
    border: 4px solid #fff;
    margin-block-start: 3px;
    /* (28-22)/2 */
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}

.temp-filter__range::-moz-range-thumb {
    inline-size: 22px;
    block-size: 22px;
    border-radius: 999px;
    background: #6b4b3f;
    border: 4px solid #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, .15);
}

/* плавность движения и цвета плашки */
.temp-filter__badge {
    position: absolute;
    inset-block-start: 44px;
    inset-inline-start: var(--temp-fill);
    transform: translateX(-50%);
    background: var(--temp-badge-bg);
    color: #fff;
    white-space: nowrap;
    padding: 16px 24px;
    border-radius: 30px;
    font-size: 20px;
    line-height: 1.4;
}

.filter-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    justify-content: flex-end;
}

.filter-tag {
    cursor: pointer;
    user-select: none;
}

.filter-tag__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.filter-tag__pill {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 20px 30px;
    border-radius: 40px;
    line-height: 1.4;
    font-size: 20px;
    background: #fff;
    color: inherit;
    transition: background-color .15s ease, border-color .15s ease, color .15s ease;
}

.filter-tag__x {
    display: inline-block;
    /* место всегда занято */
    inline-size: 18px;
    block-size: 18px;
    position: relative;
    opacity: 0;
    /* скрыт, но размер есть */
    transition: opacity .15s ease;
}

.filter-tag__x::before,
.filter-tag__x::after {
    content: "";
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    inline-size: 18px;
    block-size: 2px;
    background: currentColor;
    transform-origin: center;
}

.filter-tag__x::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.filter-tag__x::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

/* selected */
.filter-tag__input:checked+.filter-tag__pill {
    background: var(--color-bordo);
    color: #fff;
}

.filter-tag__input:checked+.filter-tag__pill .filter-tag__x {
    opacity: 1;
}

/* focus */
.filter-tag__input:focus-visible+.filter-tag__pill {
    outline: 2px solid rgba(0, 0, 0, .15);
    outline-offset: 2px;
}

/* чтобы последние элементы фильтра не прятались за липкой панелью */
.filters-form,
.filters-panel,
.filters-body {
    padding-block-end: 76px;
    /* высота липкой панели + запас */
}

.filters-submitbar {
    position: sticky;
    inset-block-end: 0;
    background: #fff;
    padding: 40px 0;
    z-index: 100;
}

.filters-submitbar__inner {
    display: flex;
    gap: 24px;
    align-items: center;
}

.filters-submitbar__reset:hover {
    text-decoration: none;
}


.applied-filters-block {
    border: 1px solid var(--color-border-10);
    border-radius: 14px;
    background: #fff;
    padding: 24px;
}

.applied-filters__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-block-end: 40px;
}

.applied-filters__reset {
    color: inherit;
    text-decoration: none;
    white-space: nowrap;
    font-size: 20px;
    line-height: 1.4;
}

.applied-filters__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.applied-chip {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 12px 20px;
    color: inherit;
    text-decoration: none;
    cursor: pointer;
    border-radius: 40px;
    background: var(--color-card-body);
    border: none;
    font-size: 20px;
    line-height: 1.4;
}

.applied-chip__x {
    display: inline-block;
    inline-size: 14px;
    block-size: 14px;
    position: relative;
    opacity: .75;
}

.applied-chip__x::before,
.applied-chip__x::after {
    content: "";
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 50%;
    inline-size: 18px;
    block-size: 2px;
    background: currentColor;
    transform-origin: center;
    background: #758196;
}

.applied-chip__x::before {
    transform: translate(-50%, -50%) rotate(45deg);
}

.applied-chip__x::after {
    transform: translate(-50%, -50%) rotate(-45deg);
}

.applied-filters__empty {
    display: none;
    color: rgba(0, 0, 0, .55);
    min-height: 52px;
}

.applied-filters.is-empty .applied-filters__empty {
    display: block;
}

.applied-filters.is-empty .applied-filters__empty {
    display: block;
}

.applied-filters.is-empty .applied-filters__chips {
    display: none;
}

.applied-filters__bottom {
    display: none;
}

/* === Applied filters sticky/compact (дополнение) === */

.applied-filters.is-fixed .applied-filters__head {
    display: none;
}

.applied-filters.is-fixed .applied-filters-block {
    border: none;
    border-radius: 0px;
    background: #fff;
    padding: 2px;
    margin-block-end: 0px;
}

.applied-filters.is-fixed .applied-chip {
    padding: 5px 10px;
}


.applied-filters.is-fixed {
    position: fixed;
    inset-block-start: 120px;
    inset-inline-start: var(--applied-fixed-left, 0px);
    inline-size: var(--applied-fixed-width, 100%);
    z-index: 1000;
    background: #fff;
    padding-block-end: 10px;
    padding-block-start: 5px;
}

/* компакт в одну строку — только когда реально “прилип” и есть фильтры */
.applied-filters-block.is-stuck {
    padding: 12px 16px;
    /* компактнее, но в твоём стиле */
    border-radius: 0 0 14px 14px;
    --applied-sticky-top: 92px;
}

.applied-filters-block.is-stuck .applied-filters__head {
    display: none;
}

.applied-filters-block.is-stuck .applied-filters__chips {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}

.applied-filters-block.is-stuck .applied-chip {
    flex: 0 0 auto;
    white-space: nowrap;
}

/* reset-chip (создаёт sticky-модуль), виден только в stuck */
.applied-chip--reset {
    display: none;
}

.applied-filters-block.is-stuck .applied-chip--reset {
    display: inline-flex;
}

.site-about__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.btn-about {
    font-style: 20px;
    padding: 12px 24px;
}

.about__bottom {
    margin-block-start: 60px;
}

.site-radius-block {
    border-radius: 24px;
}

.site-radius-block {
    margin-block-start: -24px;
    z-index: 100;
    position: relative;
}

.bg-gradient-red {
    background: linear-gradient(93deg, #741629 0%, #2A0007 61.88%);
}


.site-radius--red {
    border-radius: 24px;
    background: linear-gradient(93deg, #97021B 0%, #451504 61.88%);
    color: var(--color-white)
}

.site-radius--red {}

.site-radius-title {
    margin-block-end: 40px;
}

.section-parameters {
    padding-block-start: 60px;
    padding-block-end: 60px;
}

.color-white p {
    color: var(--color-white);
}


.about-values__item {
    border-block-end: 1px solid rgba(106, 31, 43, 0.3);
    padding: 40px 0;
}


.about-stats-block-card {
    background: #ffffff;
    border-radius: 16px;
    box-shadow: 0 12px 30px rgba(34, 32, 32, 0.08);
    overflow: hidden;
    position: relative;
    block-size: 350px;
}

.about-block-bg {
    background-image: url("/static/img/about-stats-left-top.png");
    background-size: cover;
    block-size: 100%;
    inline-size: 100%;
}

.about-block-bg--bottom {
    background-image: url("/static/img/about-stats-left-bottom.png");
}

.about-block-bg--right {
    background-image: url("/static/img/about-stats-right.png");
}


.about-stats__logo {
    block-size: 140px;
}

.about-stats__overlay {
    block-size: 100%;
    inline-size: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}



.about-stats-block__mini {
    block-size: 100%;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}

.about-stats__mini {
    color: var(--color-white);
}

.about-stats__mini .p {
    max-inline-size: 130px;
}

.about-stats__mini .h3 {
    font-size: 60px;
    font-weight: 600;
    line-height: 1.3;
}


.about-block-bg.about-block-bg--bottom {
    display: flex;
    flex-direction: column;
}

/* Список уезжает вниз и занимает нижние ~50% */
.about-stats__list {
    margin-block-start: auto;
    min-block-size: 50%;
    display: flex;
    padding: 40px 24px;
}

/* row растягиваем по высоте списка */
.about-stats__list>.row {
    inline-size: 100%;
    margin-inline-start: 0;
    margin-inline-end: 0;
    align-items: flex-end;
    /* элементы внизу */
}

.about-block-bg--right {}

.about-stats-block-card--right {
    block-size: 100%;
}

.about-stats__badge {
    display: flex;
    justify-content: flex-end;
    padding: 40px 24px;
}

/* современный hover без подъёма карточки */
.about-stats-block-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    transition: box-shadow .22s ease, border-color .22s ease;
    border: 1px solid rgba(0, 0, 0, .06);
    /* очень мягкая рамка */
}

/* фон: лёгкий zoom + немного “сочнее”, без движения блока */
.about-block-bg {
    transition: transform .28s ease, filter .28s ease;
    will-change: transform;
}

/* деликатный highlight поверх */
.about-stats-block-card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity .28s ease;
    background: radial-gradient(900px 340px at 20% 15%,
            rgba(255, 255, 255, .16),
            transparent 60%);
}

.about-stats-block-card:hover {
    box-shadow: 0 18px 44px rgba(0, 0, 0, .12);
    border-color: rgba(0, 0, 0, .10);
}

.about-stats-block-card:hover .about-block-bg {
    transform: scale(1.03);
    filter: saturate(1.06) contrast(1.02);
}

.about-stats-block-card:hover::after {
    opacity: 1;
}

.about-partners__swiper:not(.swiper-initialized) .swiper-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.about-partners__swiper:not(.swiper-initialized) .swiper-slide {
    inline-size: calc(50% - 8px);
}

/* навигация */
.about-partners__nav {
    inline-size: 44px;
    block-size: 44px;
    border-radius: 12px;
    border: 1px solid var(--color-border-20);
    background: #fff;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}

.about-partners__arrow {
    inline-size: 10px;
    block-size: 10px;
    display: block;
    border-inline-end: 2px solid #758196;
    border-block-end: 2px solid #758196;
}

.about-partners__arrow--prev {
    transform: rotate(135deg);
}

.about-partners__arrow--next {
    transform: rotate(-45deg);
}

/* сами слайды */
.about-partners__slide {
    block-size: 200px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.about-partners__img {
    max-block-size: 200px;
    inline-size: auto;
    max-inline-size: 100%;
    display: block;
    object-fit: contain;
}


.about-team__photo {
    position: relative;
    inline-size: 100%;
    aspect-ratio: 4 / 5;
    border-radius: 24px;
    overflow: hidden;
    background: #f3f4f6;
    max-block-size: 380px;
}

.about-team__photo img {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.about-team__name {
    font-size: 32px;
    font-weight: 600;
    line-height: 1.2;
}

.about-team__role {
    font-size: 22px;
    font-weight: 600;
    line-height: 1.4;
    color: var(--color-gray);
}



.about-team__card {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
    margin-block-end: 40px;
}

.about-team__name,
.about-team__role {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

/* 3 строки + троеточие */
.about-team__desc {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
    overflow: hidden;
}

.btn-outline-secondary {
    border-color: #6a1f2b;
    color: #6a1f2b;
    padding: 20px 30px;
    border-radius: 8px;
}

.btn-outline-secondary:hover {
    background-color: var(--color-bordo-disable);
    color: var(--color-white);
}

.about-team__card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    /* чтобы подсветка/фото не вылезали */
    transition: box-shadow .22s ease, border-color .22s ease;
    background: #fff;
}

/* мягкий highlight */
.about-team__card::after {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    opacity: 0;
    transition: opacity .22s ease;
    background: radial-gradient(800px 260px at 20% 10%,
            rgba(255, 255, 255, .18),
            transparent 60%);
}

/* фото — лёгкий зум, без движения карточки */
.about-team__photo img {
    transition: transform .28s ease, filter .28s ease;
    will-change: transform;
}



.about-team__card:hover::after {
    opacity: 1;
}

.about-team__card:hover .about-team__photo img {
    transform: scale(1.03);
    filter: saturate(1.05) contrast(1.02);
}

.about-contacts__group {
    display: flex;
    flex-direction: column;
    row-gap: 24px;
}

.about-contacts__map {
    block-size: 100%;
    border-radius: 24px;
    overflow: hidden;
    background: #f3f4f6;
    position: relative;
}

.about-contacts__map-image {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
}

.about-contacts__map.is-map-ready .about-contacts__map-image {
    opacity: 0;
    pointer-events: none;
}

.about-contacts__marker--map {
    transform: translate(-50%, -100%);
    white-space: nowrap;
}

.about-contacts__marker-icon {
    display: block;
    margin: 0 auto;
    margin-block-end: 24px;
}

.about-contacts__map-canvas,
.about-contacts__map-image {
    block-size: 100%;
}

.about-contacts__marker {
    position: relative;
}

.about-contacts__marker--fallback {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: 65%;
    transform: translate(-50%, -100%);
    z-index: 200;
}

.about-contacts__marker--map {
    transform: translate(-50%, -100%);
    white-space: nowrap;
}

.about-contacts__marker-card {
    padding: 24px 32px;
    background: #fff;
    border-radius: 8px;
    gap: 10px;
    text-align: center;
}

.input-text {
    font-size: 20px;
    line-height: 1.4;
    padding: 20px 24px;
    border-radius: 8px;
}

.input-text::placeholder {
    color: var(--color-gray);
}

.site-btn--big {
    padding: 20px 30px;
}

.about-stats__card-text {
    padding: 55px 8px;
    margin: 24px 0px;
}

.bg-iteam-services {
    transition: transform .28s ease, filter .28s ease;
    will-change: transform;
    block-size: 550px;
    overflow: hidden;
    background-size: cover;
}

.bg-iteam-services--1 {
    background-image: url(/static/img/services/service_bg_1.jpg);
}

.bg-iteam-services--2 {
    background-image: url(/static/img/services/service_bg_2.jpg);
}

.bg-iteam-services--3 {
    background-image: url(/static/img/services/service_bg_3.jpg);
}

.bg-iteam-services--4 {
    background-image: url(/static/img/services/service_bg_4.jpg);
}

.bg-iteam-services--5 {
    background-image: url(/static/img/services/service_bg_5.jpg);
}

.bg-iteam-services--6 {
    background-image: url(/static/img/services/service_bg_6.jpg);
}

.bg-iteam-services--7 {
    background-image: url(/static/img/services/service_bg_7.jpg);
}


.bg-color-black {
    background: linear-gradient(180deg,
            rgba(34, 32, 32, 0.10) 0%,
            rgba(34, 32, 32, 0.60) 100%);
    block-size: 100%;
}

.team-service-block {
    padding: 32px;
}

.team-service-block__bottom-panel {
    border-radius: 16px;
    background: rgba(255, 255, 255, 0.20);
    backdrop-filter: blur(3px);
    -webkit-backdrop-filter: blur(3px);
    padding: 24px;
    inline-size: 100%;
}

.link-round-btn {
    --btn-size: 48px;
    --icon-size: 16px;
    --icon-url: url("/static/img/icons/toggle_icon.svg");
    inline-size: var(--btn-size);
    block-size: var(--btn-size);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: #fff;
    text-decoration: none;
    border: 0;
    padding: 0;
    line-height: 1;
}

.link-round-btn::before {
    content: "";
    inline-size: var(--icon-size);
    block-size: var(--icon-size);
    background: var(--icon-url) center / contain no-repeat;
    transform: rotate(90deg);
}

.link-round-btn:hover {
    filter: brightness(0.98);
}

.link-round-btn:focus-visible {
    outline: 2px solid currentColor;
    outline-offset: 2px;
}

.team-service-block--big {
    max-inline-size: 550px;
}

.team-service-block--mini {
    max-inline-size: 400px;
}

.block-link {
    padding-inline-start: 24px;
}

.services-iteams a {
    text-decoration: none !important;
}

.bg-iteam-services:hover {
    box-shadow: 0 18px 44px rgba(0, 0, 0, .12);
    border-color: rgba(0, 0, 0, .10);
}

.bg-iteam-services:hover {
    transform: scale(1.03);
    filter: saturate(1.06) contrast(1.02);
}

.site-header__main {
    padding: 30px 0px;
}

.site-filters__more {
    padding: 20px 18px;
}

.filters-submitbar__apply {
    padding: 20px 30px;
    inline-size: 100%;
}

.filters-submitbar__reset {
    border: none;
}


.site-page-hero {
    min-block-size: 778px;
    padding: 0;
    display: flex;
    align-items: center;
    color: var(--color-white);
    position: relative;
    overflow: hidden;
}

.site-page-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.site-page-hero__image,
.site-page-hero__video {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
}

/* video hidden until ready */
.site-page-hero__video {
    opacity: 0;
    transition: opacity 200ms ease;
}

/* when module says "ready" */
.site-page-hero.is-video-ready .site-page-hero__video {
    opacity: 1;
}

/* overlay/gradient for text readability */
.site-page-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg,
            rgba(34, 32, 32, 0.55) 0%,
            rgba(34, 32, 32, 0.25) 60%,
            rgba(34, 32, 32, 0.05) 100%);
}

/* content above media */
.site-page-hero .site-container {
    position: relative;
    z-index: 1;
}

.site-page-hero__title {
    font-size: 60px;
    line-height: 1.3;
    font-weight: 600;
    color: var(--color-white);
    margin: 0;
}

.site-page-hero__content {
    display: flex;
    flex-direction: column;
    gap: 24px;
}

.site-page-hero__actions {
    margin-block-start: 36px;
}

.btn--midel {
    padding: 12px 24px;
}

.tdn,
.tdn:hover,
.tdn:active {
    text-decoration: none;
}

.site-radius--cream {
    background: #f1eee6;
}

.site-steps__num {
    inline-size: 80px;
    block-size: 80px;
    font-size: 40px;
    line-height: 1.3;
    border-radius: 50%;
    background-image: url("/static/img/icons/bg_number.svg");
    overflow: hidden;
    background-position: center;
    background-repeat: no-repeat;
    background-color: #F1EFE6;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto;
}

.site-steps__title {
    min-block-size: 3em;
}

.bg-iteam-services-logistics--1 {
    background-image: url(/static/img/services/logistics/logistics_category_1.jpg);
}

.bg-iteam-services-logistics--2 {
    background-image: url(/static/img/services/logistics/logistics_category_2.jpg);
    block-size: auto;
}

.bg-iteam-services-logistics--3 {
    background-image: url(/static/img/services/logistics/logistics_category_3.jpg);
    block-size: auto;
}

.bg-iteam-services-logistics--4 {
    background-image: url(/static/img/services/logistics/logistics_category_4.jpg);
}


.bg-iteam-customs-clearance--1 {
    background-image: url(/static/img/services/customs-clearance/category_1.jpg);
}

.bg-iteam-customs-clearance--2 {
    background-image: url(/static/img/services/customs-clearance/category_2.jpg);
    block-size: auto;
}

.bg-iteam-customs-clearance--3 {
    background-image: url(/static/img/services/customs-clearance/category_3.jpg);
    block-size: auto;
}

.bg-iteam-customs-clearance--4 {
    background-image: url(/static/img/services/customs-clearance/category_4.jpg);
}

.bg-iteam-customs-clearance--5 {
    background-image: url(/static/img/services/customs-clearance/category_5.jpg);
}

.bg-iteam-customs-clearance--6 {
    background-image: url(/static/img/services/customs-clearance/category_6.jpg);
}

.bg-iteam-customs-clearance--7 {
    background-image: url(/static/img/services/customs-clearance/category_7.jpg);
}

.bg-iteam-customs-clearance--8 {
    background-image: url(/static/img/services/customs-clearance/category_8.jpg);
}

.bg-iteam-customs-horse--9 {
    background-image: url(/static/img/services/customs-clearance/category_9.jpg);
}

.bg-iteam-customs-horse--1 {
    background-image: url(/static/img/services/horse-evaluation/category_1.jpg);
}

.bg-iteam-customs-horse--2 {
    background-image: url(/static/img/services/horse-evaluation/category_2.jpg);
}

.bg-iteam-customs-insurance--1 {
    background-image: url(/static/img/services/insurance/category_1.jpg);
}

.bg-iteam-customs-insurance--2 {
    background-image: url(/static/img/services/insurance/category_2.jpg);
}

.bg-iteam-customs-insurance--3 {
    background-image: url(/static/img/services/insurance/category_3.jpg);
}


.bg-iteam-services--long {
    block-size: 800px;
}

.iteam-logistics-top {
    padding-block-end: 12px;
}

.iteam-logistics-bottom {
    padding-block-start: 12px;
}

.site-cta-banner__actions {
    margin-block-start: 36px;
}

.site-cta-banner-bg-1 {
    background-image: url(/static/img/services/logistics/cta_banner_logistics.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.site-cta-banner-bg-2 {
    background-image: url(/static/img/services/customs-clearance/cta_banner.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.site-cta-banner-bg-3 {
    background-image: url(/static/img/services/horse-evaluation/cta_banner.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.site-cta-banner-bg-4 {
    background-image: url(/static/img/services/selecting-horse/cta_banner.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.site-cta-banner-bg-5 {
    background-image: url(/static/img/services/insurance/cta_banner.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.site-cta-banner-bg-6 {
    background-image: url(/static/img/services/syndication/cta_banner.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.site-cta-banner-bg-7 {
    background-image: url(/static/img/services/legal-support/cta_banner.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.site-cta-banner-bg-8 {
    background-image: url(/static/img/services/legal-support/cta_banner_1.png);
    background-repeat: no-repeat;
    background-position: right bottom;
    background-size: auto 100%;
}

.text-p>p {
    margin-block-end: var(--space-2);
}

.form-gray .input-text {
    background: var(--color-card-body);
}


.site-form__required {
    color: red;
}

.filter-radio__text {
    font-size: var(--space-4_1);
    line-height: 1.4;
}


/* wrapper (вертикальный список) */
.filter-radios {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

/* label as clickable row */
.filter-radio {
    display: flex;
    align-items: center;
    gap: 16px;
    cursor: pointer;
    user-select: none;
}

/* hide native radio but keep accessibility */
.filter-radio__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

/* icon box */
.filter-radio__box {
    inline-size: 24px;
    block-size: 24px;
    flex: 0 0 24px;
    background-image: url("/static/img/icons/radio.svg");
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
}

/* checked state -> active icon */
.filter-radio__input:checked+.filter-radio__box {
    background-image: url("/static/img/icons/radio_active.svg");
}

/* text */
.filter-radio__text {
    line-height: 1.2;
    font-size: 20px;
}

/* hover: subtle */
.filter-radio:hover .filter-radio__text {
    opacity: 0.9;
}

/* focus: outline on icon */
.filter-radio__input:focus-visible+.filter-radio__box {
    outline: 2px solid rgba(255, 255, 255, 0.35);
    outline-offset: 2px;
    border-radius: 6px;
}

.input-block-field {
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: var(--color-gray);
    position: relative;
}

.input-block-field input {
    padding: 18px 24px;
    border-radius: 8px;
    block-size: 70px;
    border: none;
}

.input-block-field input,
.input-block-field input:hover,
.input-block-field input:focus,
.input-block-field input:focus-visible,
.input-block-field input:active {
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

.input-text,
.input-text:hover,
.input-text:focus,
.input-text:focus-visible,
.input-text:active {
    border-color: transparent !important;
    outline: none !important;
    box-shadow: none !important;
}

.hr-block-form {
    block-size: 2px;
    border-radius: 3px;
    background: rgba(34, 32, 32, 0.10);
}

.date-block-field {
    display: flex;
    flex-direction: column;
    gap: 12px;
    color: var(--color-gray);
}

.input-info {
    position: absolute;
    inset-inline-end: 24px;
    inset-block-end: 20px;
}

.input-info.type-number {
    inset-inline-end: 50px;
}

.select2-container .select2-selection--single .select2-selection__rendered {
    padding-inline-start: 0px;
    line-height: 32px;
}

.input-textarea {
    block-size: auto;
}

.info-cards__icon {
    inline-size: 48px;
    block-size: 48px;
    flex: 0 0 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #DB9A73;
}

/* ========== File dropzone ========== */
.file-drop__zone {
    background: rgba(0, 0, 0, 0.01);
    border-radius: 12px;
    border: 2px dashed rgba(34, 32, 32, 0.10);
    padding: 60px 24px;
    min-block-size: 180px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transition: border-color 150ms ease, background 150ms ease;
}

.file-drop__zone.is-dragover {
    border-color: rgba(0, 0, 0, 0.28);
    background: rgba(0, 0, 0, 0.03);
}

.file-drop__btn {
    border-radius: 12px;
}

.btn-transparent {
    border: 1px solid #FFF;
    background: rgba(255, 255, 255, 0.20);
}

.btn-transparent:hover {
    border: 1px solid #FFF;
}

/* ========== Pros & Cons (Risks & Benefits) ========== */
.site-proscons__item.is-pro {
    background: rgba(0, 128, 64, 0.10);
}

.site-proscons__item.is-con {
    background: rgba(220, 53, 69, 0.10);
}

.site-proscons__icon {
    inline-size: 48px;
    block-size: 48px;
    border-radius: 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 48px;
}

.site-proscons__icon.is-pro {
    background: #0a7a44;
}

.site-proscons__icon.is-con {
    background: #e05252;
}

.site-proscons__icon svg {
    inline-size: 24px;
    block-size: 24px;
    fill: #fff;
}

.btn-copy {
    inline-size: 52px;
    block-size: 52px;
}

.btn-copy {
    position: relative;
    /* якорь для подсказки */
}

.btn-copy::after {
    content: attr(data-copied-text);
    position: absolute;
    inset-inline-end: 0;
    inset-block-start: -8px;
    transform: translateY(-100%);
    padding: 6px 10px;
    border-radius: 10px;
    font-size: 12px;
    line-height: 1;
    white-space: nowrap;
    pointer-events: none;

    /* аккуратный "тёмный тост" */
    background: rgba(34, 32, 32, 0.60);
    color: rgba(255, 255, 255, 0.95);
    backdrop-filter: blur(3px);

    opacity: 0;
    visibility: hidden;
    transition: opacity 150ms ease, visibility 150ms ease;
}

.btn-copy.is-copied::after {
    opacity: 1;
    visibility: visible;
}

/* Tabs wrapper: mobile -> horizontal, desktop -> vertical */
.site-faq-tabs {}

.site-faq-tabs__tab {
    flex: 0 0 auto;
    border: 0;
    background: transparent;
    padding: 16px 20px;
    text-align: start;
    cursor: pointer;
    line-height: 1.3;
}

.site-faq-tabs__tab:hover,
.site-faq-tabs__tab.is-active {
    font-weight: 600;
}


/* Results item button reset */
.site-faq-results__item {
    border: 0;
    inline-size: 100%;
    cursor: pointer;
}

.site-faq-search {
    /* оставь как есть под твой дизайн, если нужно — переопределишь */
}

/* Results item button reset */
.site-faq-results__item {
    border: 0;
    inline-size: 100%;
    cursor: pointer;
}

.site-faq-search {
    /* оставь как есть под твой дизайн, если нужно — переопределишь */
}

.site-faq-tabs .swiper-slide {
    inline-size: auto;
}

.site-faq-tabs .swiper-wrapper {
    align-items: center;
}

.site-card dt {
    font-weight: 600;
}

.site-card dd {
    font-weight: 600;
}

.site-card__badge--green {
    background: #16A34A;
}

.site-card__chip {
    padding: 4px 12px;
    background: rgba(255, 255, 255, 0.20);
}

.site-page-hero__logo img {
    block-size: 150px;
}

.applied-catalog .applied-filters-block {
    border: none;
    background: none;
    margin-block-end: 60px;
    padding: 0px;
}


.applied-catalog .applied-chip {
    background: var(--color-white);
}


.site-reviews__grid {
    column-gap: var(--space-5);
    column-count: 1;
}

.site-reviews__item {
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    display: inline-block;
    inline-size: 100%;
    margin: 0 0 var(--space-5);
}

.site-review-card__stars {
    gap: 4px;
}

.site-review-card__star {
    flex: 0 0 auto;
    display: block;
}

.site-review-card__text {
    overflow-wrap: anywhere;
    word-break: break-word;
    --review-clamp: var(--review-clamp-saze);
}

.site-review-card__text.is-clamped {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.site-review-card__text.is-clamped {
    -webkit-line-clamp: var(--review-clamp-saze);
}

.site-review-card__more {
    padding: 0;
    border: 0;
    background: transparent;
    text-decoration: none;
    inline-size: max-content;
}

.site-modal-review .modal-content {
    border-radius: 24px;
}


.site-gallery__img {
    inline-size: 100%;
    block-size: auto;
    display: block;
}

.site-gallery__thumbs .swiper-slide {
    inline-size: 120px;
    block-size: 120px;
    border-radius: 10px;
    overflow: hidden;
    cursor: pointer;
    opacity: 0.5;
    border: 2px solid var(--color-white-no);
}

.site-gallery__thumb-img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
}

.site-gallery__thumbs .swiper-slide-thumb-active {
    opacity: 1;
    border: 2px solid var(--color-bordo);
}

.site-gallery .site-card__nav.swiper-button-disabled {
    opacity: .35;
    pointer-events: none;
}

.site-gallery__media {
    border-radius: 24px;
    overflow: hidden;
}

.site-gallery__main {
    inline-size: 100%;
    aspect-ratio: 21 / 10;
}

.site-gallery__main .swiper-wrapper,
.site-gallery__main .swiper-slide {
    block-size: 100%;
}

.site-gallery__img {
    inline-size: 100%;
    block-size: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

.site-gallery__main {
    max-block-size: 800px;
}

.site-gallery__thumb {
    inline-size: 100%;
    block-size: 100%;
}

.site-gallery__video-iframe {
    inline-size: 100%;
    block-size: 100%;
    display: block;
}

.site-gallery__thumb.is-video {
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--color-bordo-10);
}

.site-gallery__thumb.is-video .site-gallery__thumb-img {
    inline-size: 50%;
    block-size: 50%;
}

/* Видео-слой внутри слайда: занимает 100% area галереи */
.site-gallery__video {
    position: relative;
    inline-size: 100%;
    block-size: 100%;
}

/* Постер — как картинка: cover */
.site-gallery__video-poster {
    inline-size: 100%;
    block-size: 100%;
    display: block;
    object-fit: cover;
    object-position: center;
}

/* Клик по всему слайду через кнопку-покрытие */
.site-gallery__video-play {
    position: absolute;
    inset: 0;
    border: 0;
    background: transparent;
    padding: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Кнопка Play (минимализм). Можно потом заменить на SVG */
.site-gallery__video-play-btn {
    inline-size: 100px;
    block-size: 100px;
    border-radius: 999px;
    background: #fff;
    color: rgba(34, 32, 32, 0.60);
    font-size: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 100;
}

/* Куда вставляется iframe */
.site-gallery__video-frame {
    position: absolute;
    inset: 0;
}

/* Сам iframe: ВАЖНО — абсолют + 100% чтобы НЕ резался */
.site-gallery__video-iframe {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
    border: 0;
}

.applied-catalog .applied-filters.is-fixed .applied-filters-block {
    background: var(--color-card-body);
}

.applied-catalog .applied-filters.is-fixed {
    background: var(--color-card-body);
}

.site-gallery---card .site-gallery__main {
    aspect-ratio: 1048 / 600;
}

.site-gallery---card .site-gallery__main {
    max-block-size: 600px;
}

.site-gallery__block .site-card__nav {
    inline-size: 48px;
    block-size: 48px;
}

.site-gallery__block .site-card__nav svg {
    inline-size: 24px;
    block-size: 24px;
}

.site-card__top {
    position: absolute;
    inset-block-start: 0px;
    z-index: 1;
    inline-size: 100%;
    padding: 16px;
    padding-block-end: 0px;
}

.site-button-icon {
    inline-size: 40px;
    block-size: 40px;
    border-radius: 50%;
    background: var(--color-white);
    border: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.button-page-card:hover {
    border-radius: 8px;
    background: var(--color-bordo-10);
}

.card-indicators--iteam {
    position: absolute;
    inset-inline-start: 0;
    inset-inline-end: 0;
    inset-block-end: 0;
    padding: 12px 12px 8px;
    background: linear-gradient(180deg, rgba(34, 32, 32, 0) 0%, rgba(34, 32, 32, 0.6) 100%);
    color: var(--color-white);
    font-size: 14px;
}

.kv-table__row--divided .kv-table__cell {
    border-block-end: 1px solid var(--bs-border-color);
}

.site-hint {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    line-height: 0;
    color: #9aa3b2;
    flex-shrink: 0;
}

.site-hint:hover {
    color: #6b7280;
}

.site-popover {
    --bs-popover-max-width: 700px;
    --bs-popover-border-radius: 16px;
    --bs-popover-body-padding-x: 24px;
    --bs-popover-body-padding-y: 24px;
    --bs-popover-border-color: rgba(0, 0, 0, 0.06);
    --bs-popover-box-shadow: 0 0 30.5px 0 rgba(0, 0, 0, 0.10);
    --bs-popover-body-color: var(--color-black)
}

.site-popover {
    border: none;
    box-shadow: 0 0 30.5px 0 rgba(0, 0, 0, 0.10);
}

.site-popover .popover-body {
    font-size: 16px;
    line-height: 1.4;
    max-inline-size: var(--bs-popover-max-width);
}

.site-popover .popover-arrow {
    display: none;
}

.temperament-block--card .temp-filter__edge {
    font-size: 20px;
}

.table.text-gray-dark {
    --bs-table-color: var(--color-gray-dark) !important;
    /* твой цвет текста */
}

.table.table-gap {
    border-collapse: separate;
    border-spacing: 0 24px;
}


.site-map {
    position: relative;
    inline-size: 100%;
    block-size: 260px;
    /* важно */
    min-block-size: 260px;
    /* запас */
    overflow: hidden;
    border-radius: 24px;
    /* если надо */
    background: #f3f4f6;
}

.site-map__canvas {
    position: absolute;
    inset: 0;
    inline-size: 100%;
    block-size: 100%;
}

.md-width {
    max-inline-size: 600px;
    inline-size: 100%;
}

.menu-auth-iteam {}

.menu-auth-iteam.is-active,
.menu-auth-iteam:hover {
    background: var(--color-bordo);
    color: var(--color-white);
}

.shadow-dropdown {
    box-shadow: 0 0 30.5px 0 rgba(0, 0, 0, 0.10);
}

.button-action {
    inline-size: 52px;
    block-size: 52px;
    line-height: 0px;
}

.button-action:hover,
.button-action:active {
    background: #DCDDDF;
    border: none;
}

.dropdown-button-action .dropdown-item:hover {
    background: rgba(116, 22, 41, 0.10);
}

.dropdown-button-action .dropdown-item {
    padding: 20px 30px;
}

.site-dropdown-menu {}

.site-dropdown-menu .dropdown-item {
    padding: 0px;
    font-size: 20px;
}

.site-dropdown-menu .dropdown-item:hover {
    background: none;
}

.card-media-line {
    inline-size: 270px;
    max-inline-size: 100%;
    position: relative;
    overflow: hidden;
}

.card-media-line img {
    inline-size: 100%;
    block-size: 220px;
    object-fit: cover;
    border-radius: 16px;
}

.btn-card-action {
    inline-size: 270px;
}

.select-sm .select-block-filter .select2-selection {
    background-color: #F5F5F5;
    block-size: auto;
    padding: 10px 24px;
}

.site-chat .select-block-filter {
    max-inline-size: 300px;
    inline-size: 100%;
}

.site-chat .site-search.input-text {
    padding: 11px 24px;
    block-size: auto;
}

.site-chat .chat-list,
.site-chat .chat-messages {
    block-size: 600px;
}

.messages-svg {
    inline-size: 96px;
}

.tpl-chat-message {}

.tpl-time {
    display: none;
}

.tpl-chat-message.justify-content-end .time-left {
    display: block;
}

.tpl-chat-message.justify-content-start .time-right {
    display: block;
}

.form-chat .input-text {
    padding: 12px 24px;
    block-size: auto;
}

.input-chat {
    border-radius: 8px 0 0 8px;
}

.btn-chat {
    border-radius: 0px 8px 8px 0px;
}

.avatar-badge-container {
    inset-inline-end: -10px;
    inset-block-start: -10px;
}

.file-drop-info-bg {
    background: rgba(116, 22, 41, 0.10);
}

.file-drop-info-bg img {
    max-inline-size: 600px;
    inline-size: 100%;
    display: block;
    margin: 0 auto;
}

.site-media-strip__swiper .swiper-slide {
    inline-size: auto;
}

.site-media-thumb {
    inline-size: 120px;
    block-size: 120px;
    border: 0;
    padding: 0;
    border-radius: 10px;
    overflow: hidden;
    position: relative;
    background: #f3f4f6;
    cursor: pointer;
}

.site-media-thumb__img {
    inline-size: 100%;
    block-size: 100%;
    object-fit: cover;
    display: block;
}

.site-media-thumb.is-cover {
    border: 4px solid #FF9400;
}

.site-media-thumb__cover {
    position: absolute;
    inset-block-start: 0px;
    inset-inline-end: 12px;
    inline-size: 38px;
    block-size: 45px;
}

.site-media-thumb__play {
    position: absolute;
    inset: 0;
    background: linear-gradient(0deg, rgba(0, 0, 0, .35), rgba(0, 0, 0, 0));
}

.site-media-strip__scrollbar {
    margin-block-start: 12px;
    block-size: 4px;
    border-radius: 999px;
    background: #e5e7eb;
}

/* это “бордовая” полоска прогресса */
.site-media-strip__scrollbar .swiper-scrollbar-drag {
    block-size: 4px;
    border-radius: 999px;
    background: rgba(116, 22, 41, 0.50);
}

.listing-stepper {
    --stepper-accent: #6A1F2B;
    --stepper-line: #E7E8EC;
    --stepper-dot: #EEF0F3;
    --stepper-text-muted: var(--color-gray);
    --stepper-text-dark: var(--color-black);
    --stepper-dot-size: 40px;

}

.listing-stepper__head {
    margin-block-end: 40px;
}


.listing-stepper__track {
    position: relative;
}


/* контейнер трека */
.listing-stepper__track {
    position: relative;
}

/* сама линия */
.listing-stepper__track::before {
    content: "";
    position: absolute;

    inset-inline-start: calc(var(--stepper-dot-size) * 1.5);
    inset-inline-end: calc(var(--stepper-dot-size) * 1.5);

    inset-block-start: calc(var(--stepper-dot-size) / 2 - 1px);

    block-size: 2px;
    background: var(--stepper-line);
    border-radius: 999px;
    z-index: 0;
}

/* чтобы кружки были выше линии */
.listing-stepper__item {
    position: relative;
    z-index: 1;
}

.listing-stepper__items {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
}

.listing-stepper__item {
    flex: 1 1 0;
    min-inline-size: 0;
    text-align: center;
}

.listing-stepper__link {
    text-decoration: none;
    color: inherit;
}

.listing-stepper__dot {
    inline-size: 40px;
    block-size: 40px;
    margin: 0 auto;
    border-radius: 999px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--stepper-dot);
    color: #7E8899;
    font-weight: 600;
    font-size: 20px;
    position: relative;
    z-index: 2;
}

.listing-stepper__label {
    margin-block-start: 24px;
    font-size: 16px;
    line-height: 1.4;
    color: var(--stepper-text-dark);
    max-inline-size: 110px;
    margin-inline-start: auto;
    margin-inline-end: auto;
}


.listing-stepper__item.is-active .listing-stepper__dot {
    background: var(--stepper-accent);
    color: #fff;
}

.listing-stepper__item.is-done .listing-stepper__dot {
    background-color: var(--stepper-accent);
    background-image: url('/static/img/icons/is_done.svg');
    background-repeat: no-repeat;
    background-position: center;

}

.listing-stepper__item.is-done .listing-stepper__num {
    display: none;
}

.listing-stepper__link:hover .listing-stepper__dot {
    box-shadow: 0 0 0 4px rgba(106, 31, 43, 0.08);
}

.iteam-reviews {
    border-block-end: 1px solid rgba(34, 32, 32, 0.10);
}

.y-overflow-auto {
    overflow-y: auto;
}

.disabled {
    opacity: 0.5;
}

.reviews-container {
    /* max-block-size: 1500px;*/
}

.icon-type-block {
    inline-size: 64px;
    block-size: 64px;
    border-radius: 60px;
    background: #F8F7F3;
}

.active .icon-type-block {
    background: #F1EFE6;

}

.border-light-lg {
    border: 2px solid rgba(34, 32, 32, 0.10) !important;
}


.block-base {
    background: var(--color-light);
    color: var(--color-gray);
    border: 2px solid #E5E7EC;
}

.block-base .block-icon {
    background: var(--color-gray);
}

.block-base .block-step svg {
    fill: var(--color-gray);
}

.block-premium {
    background: var(--color-blue-light);
    color: var(--color-blue);
    border: 2px solid #B7DCFF;
}

.block-premium .block-icon {
    background: var(--color-blue);
}

.block-premium .block-step svg {
    fill: var(--color-blue);
}

.block-top {
    background: linear-gradient(135deg, #FFFBE9 0%, #FFF3C2 100%);
    color: var(--color-orange);
    border: 2px solid #FFE575;
}

.block-top .block-icon {
    background: var(--color-orange);
}

.block-top .block-step svg {
    fill: var(--color-orange);
}

.block-badge-tariff {
    position: absolute;
    inset-inline-start: 50%;
    inset-block-start: -40px;
    transform: translateX(-50%);
}

.badge-tariff {
    background: var(--color-blue);
    padding: 4px 12px;
}

.block-option {
    background: rgba(116, 22, 41, 0.10);
}

.block-step-final {
    gap: 60px;
}

.block-moderation {
    background: var(--color-blue-light);
    color: var(--color-blue);
    border: 1px solid rgba(0, 73, 248, 0.30);
}

.block-moderation .block-icon {
    background: var(--color-blue);
}

.block-notifications {
    color: var(--color-green);
    border: 1px solid rgba(0, 135, 21, 0.30);
}

.block-notifications .block-icon {
    background: var(--color-green);
}

.block-editing {
    background: linear-gradient(135deg, #FFFBE9 0%, #FFF3C2 100%);
    color: var(--color-orange);
    border: 1px solid #FFE575;
}

.block-editing .block-icon {
    background: var(--color-orange);
}

body.is-mobile-nav-open {
    position: fixed;
    inset-inline-start: 0;
    inset-inline-end: 0;
    inline-size: 100%;
    overflow: hidden;
    padding-inline-end: var(--scrollbar-comp, 0px);
}

.site-mobile-nav {
    max-block-size: 100svh;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
}

.site-burger .navbar-toggler-icon {
    background-size: 100% 100%;
    background-position: center;
    background-repeat: no-repeat;
}

.site-burger.is-open .navbar-toggler-icon {
    background-image: var(--burger-close-icon);
    inline-size: 24px;
    block-size: 24px;
}

.line-clamp-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;

    overflow: hidden;
    text-overflow: ellipsis;
    word-break: break-word;
    /* чтобы не раздувало на длинных словах */
}

.tabs-cabinet.is-swiper {
    overflow: hidden;
}

.tabs-cabinet.is-swiper .swiper-wrapper {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
}

.tabs-cabinet.is-swiper .swiper-slide {
    inline-size: auto;
    flex: 0 0 auto;
}

.menu-mobile .block-icon-btn {
    inline-size: 35px;
    block-size: 35px;
}

.profile-stats-chart {
    overflow: hidden;
}

.block-tariff-price {
    white-space: nowrap;
    flex-shrink: 0;
}

.filter-check {
    min-inline-size: 0;
}

.filter-check__text {
    min-inline-size: 0;
}

.team-more__label--hide {
    display: none;
}

[data-role="team-more"][aria-expanded="true"] .team-more__label--show {
    display: none;
}

[data-role="team-more"][aria-expanded="true"] .team-more__label--hide {
    display: inline;
}

.form-control:focus {
    background: none;
    box-shadow: none;
}

.site-mobile-offcanvas .offcanvas-body {
    overflow: hidden;
}

.site-mobile-offcanvas .site-mobile-nav {
    block-size: 100%;
    overflow: auto;
    padding: 16px;
}

.site-mobile-offcanvas .offcanvas-body {
    overflow: hidden;
}

.site-mobile-offcanvas .site-mobile-nav {
    block-size: 100%;
    overflow: auto;
}

.profile-avatar-content {
    inline-size: 100%;
    min-inline-size: 0;
}

.profile-avatar-label {
    display: block;
    inline-size: 100%;
    min-inline-size: 0;
}

.profile-avatar-input {
    inline-size: 100%;
    max-inline-size: 100%;
    min-inline-size: 0;
    box-sizing: border-box;
}

.profile-avatar-delete-btn {
    inline-size: 100%;
}

.site-toasts {
    position: fixed;
    inset-block-start: 12px;
    inset-inline-end: 12px;
    z-index: 1080;

    inline-size: calc(100% - 24px);
    max-inline-size: 420px;

    display: flex;
    flex-direction: column;
    gap: 10px;

    pointer-events: none;

    --toast-enter-offset: 100px;

    opacity: 1;
    transform: translateY(0);
    transition: opacity .24s ease-out, transform .24s ease-out;
}

.site-toast {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;
    pointer-events: auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .10);

    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .22s ease, transform .22s ease;
}

.site-toast.is-show {
    opacity: 1;
    transform: translateY(0);
}

.site-toast.is-leave {
    opacity: 0;
    transform: translateY(-6px);
}

.site-toast__body {
    flex: 1 1 auto;
    min-inline-size: 0;
}

.site-toast__close {
    flex: 0 0 auto;
    margin-inline-start: auto;
}

.site-toasts.is-enter {
    opacity: 0;
    transform: translateY(var(--toast-enter-offset));
}

.site-toast {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    margin: 0;

    pointer-events: auto;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .10);

    opacity: 0;
    transform: translateY(-6px);
    transition: opacity .22s ease, transform .22s ease;
}

.site-toast.is-show {
    opacity: 1;
    transform: translateY(0);
}

.site-toast.is-leave {
    opacity: 0;
    transform: translateY(-10px);
}

.site-toast__body {
    flex: 1 1 auto;
    min-inline-size: 0;
}

.site-toast__close {
    flex: 0 0 auto;
    margin-inline-start: auto;
}

.text-left {
    text-align: start;
}

.file-drop__thumb {
    position: relative;
    width: 120px;
    height: 120px;
}

.file-drop__thumb-img {
    width: 120px;
    height: 120px;
    object-fit: cover;
    display: block;
}

.file-drop__thumb-remove {
    position: absolute;
    top: 6px;
    right: 6px;
    width: 32px;
    height: 32px;
    border-radius: 999px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
    padding: 0;
}

.btn-close img {
    width: 50%;
}

.help-block {
    color: var(--color-red) !important;
    font-size: 18px;
}

.container-input {
    width: 100%;
    position: relative;
}

.container-input .input-text {
    width: 100%;
}

.file-drop__thumb-file {
    width: 120px;
    height: 120px;
    object-fit: cover;
    display: block;
}

.tariff .is-active button {
    background: var(--color-bordo) !important;
    color: var(--color-white);
}

.chat-list button.is-active {
    background: var(--color-light) !important;
}

.btn-chat {
    border: none !important;
}

/* cabinet-review-create.css */

.review-page-card {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.review-meta-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
}

@media (min-width: 768px) {
    .review-meta-grid {
        grid-template-columns: 1fr 1fr;
    }
}

.review-meta-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    background: #fff;
    border-radius: 14px;
    padding: 12px 14px;
}

.review-meta-row__label {
    color: #6b7280;
    font-size: 15px;
    line-height: 1.2;
}

.review-meta-row__value {
    font-weight: 600;
    font-size: 15px;
    line-height: 1.2;
    text-align: right;
    color: #111827;
}

.review-pill {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border-radius: 999px;
    padding: 6px 10px;
    font-size: 13px;
    line-height: 1;
    font-weight: 600;
}

.review-pill--ok {
    background: #ecfdf3;
    color: #047857;
}

.review-pill--wait {
    background: #fff7ed;
    color: #c2410c;
}

.review-pill--info {
    background: #eff6ff;
    color: #1d4ed8;
}

.review-lock-note {
    border-radius: 14px;
    background: #f8fafc;
    border: 1px dashed #cbd5e1;
    color: #334155;
    padding: 12px 14px;
    font-size: 14px;
}



.review-rating-card__title {
    font-weight: 600;
    font-size: 18px;
    margin-bottom: 12px;
}

.review-stars {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.review-star-btn {
    width: 42px;
    height: 42px;
    border: 1px solid #e5e7eb;
    border-radius: 12px;
    background: #fff;
    cursor: pointer;
    transition: .15s ease;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    user-select: none;
    padding: 0;
    position: relative;
    appearance: none;
}

.review-star-btn:hover {
    transform: translateY(-1px);
    border-color: #f59e0b;
    box-shadow: 0 2px 10px rgba(245, 158, 11, .12);
}

.review-star-btn:focus-visible {
    outline: 0;
    border-color: #f59e0b;
    box-shadow: 0 0 0 3px rgba(245, 158, 11, .18);
}

.review-star-btn[disabled] {
    cursor: default;
    opacity: .75;
    transform: none;
    box-shadow: none;
}

.review-star-btn__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}

.review-star-btn__icon svg {
    display: block;
}

.review-star-btn__icon--filled {
    display: none;
}

.review-star-btn__icon--outline {
    display: inline-flex;
}

.review-star-btn.is-active {
    border-color: #f59e0b;
    background: #fffaf0;
}

.review-star-btn.is-active .review-star-btn__icon--filled {
    display: inline-flex;
}

.review-star-btn.is-active .review-star-btn__icon--outline {
    display: none;
}

.review-rating-caption {
    margin-top: 10px;
    color: #6b7280;
    font-size: 14px;
}

.review-form-hidden-field {
    display: none;
}

.review-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.review-alerts .alert {
    margin-bottom: 0;
}

.filters-submitbar__hmax {
    height: 70px;
}

.help-none .help-block {
    display: none;
}

.bg-cream {
        background: var(--color-cream) !important;
}

/*
end_css
*/

@supports (color: color(display-p3 1 1 1 / 1)) {
    .team-service-block__bottom-panel {
        background: color(display-p3 1 1 1 / 0.20);
    }
}

@keyframes siteShimmer {
    100% {
        transform: translateX(100%);
    }
}

@media (prefers-reduced-motion: reduce) {

    .about-team__card,
    .about-team__card::after,
    .about-team__photo img {
        transition: none;
    }

    .about-stats-block-card,
    .about-block-bg,
    .about-stats-block-card::after {
        transition: none;
    }

    .site-hero__bg-video {
        display: none;
    }

    .site-card--skeleton::after {
        animation: none;
    }
}

@media (hover: hover) and (pointer: fine) {

    .site-nav__item--has-dropdown:hover .site-dropdown-menu,
    .site-nav__item--has-dropdown:focus-within .site-dropdown-menu {
        opacity: 1;
        visibility: visible;
        pointer-events: auto;
        transform: translateY(0);
        transition-delay: 0s;
    }

    .site-nav__item--has-dropdown:hover>.site-nav__link--dropdown::after,
    .site-nav__item--has-dropdown:focus-within>.site-nav__link--dropdown::after {
        transform: rotate(180deg);
    }
}

@media (min-width: 576px) {
    .site-reviews__grid {
        column-count: 2;
    }

    .profile-avatar-delete-btn {
        inline-size: auto;
    }
}

@media (min-width: 768px) and (max-width: 1199.98px) {
    .col-sm-to-lg-6 {
        flex: 0 0 auto;
        inline-size: 50%;
    }
}

@media (min-width: 1200px) {
    .site-reviews__grid {
        column-count: 3;
    }

    .section-parameters__sticky {
        position: sticky;
        inset-block-start: 120px;
        align-self: flex-start;
    }
}

@media (min-width: 1680px) {
    .col-xxxl-3 {
        flex: 0 0 auto;
        inline-size: 25%;
    }

    .col-xxxl-6 {
        flex: 0 0 auto;
        inline-size: 50%;
    }
}

@media (max-width: 1500px) {
    .site-header__main .site-search-block {
        display: none;
    }

}

@media (max-width: 1300px) {
    .site-header__nav {
        display: none;
    }

    .site-header__main .site-search-block {
        display: inline-flex;
    }

    .site-button-nav {
        display: block;
    }

    .about-stats__mini .h3 {
        font-size: 42px;
    }
}

@media (max-width: 1199.98px) {
    .section-parameters__sticky {
        position: static;
        inset-block-start: auto;
    }

    .site-gallery__main {
        aspect-ratio: 16 / 9;
    }

    .site-footer-left.col-12.col-lg-3 {
        display: none !important;
    }

    .site-footer-right.left.col-12.col-lg-9 {
        flex: 0 0 100% !important;
        max-inline-size: 100% !important;
        inline-size: 100% !important;
    }

    .site-footer-right.col-lg-9 {
        flex: 0 0 100%;
        max-inline-size: 100%;
        inline-size: 100%;
    }

    .site-footer__columns {
        gap: unset;
        flex-direction: row;
        flex-wrap: nowrap;
        justify-content: space-between;
    }

    .bg-iteam-services--long {
        block-size: 480px;
    }

    .site-steps__title {
        min-block-size: auto;
    }

    .bg-iteam-services--mini {
        block-size: 480px !important;
    }

    .iteam-logistics-bottom {
        padding-block-start: 0px;
    }

    .lg-pt-7 {
        padding-block-start: var(--space-7) !important;
    }

    .u-xl-mb-5 {
        margin-block-end: var(--space-5) !important;
    }

    .button-messenger {
        border-block-end: 1px solid #D4DBE3 !important;
        border-radius: 0px !important;
    }

    .chat-list .button-messenger:last-child {
        border: 0 !important;
    }
}

@media (max-width: 1024px) {
    .section-parameters {
        padding: 40px 0px;
    }

    .bg-iteam-services {
        block-size: 480px;
    }

    .block-link {
        display: none !important;
    }
}

@media (max-width: 992px) {

    .applied-chip__x::before,
    .applied-chip__x::after {
        inline-size: 10px;
        block-size: 2px;
    }

    .applied-filters__bottom {
        margin-block-start: 8px;
        display: block;
    }

    .filters-submitbar {
        padding: 6px 0;
    }

    .filters-submitbar__apply {
        padding: 6px 6px;
    }

    .card-media-line img {
        inline-size: 140px;
        block-size: 140px;
        border-radius: 8px;
    }

    .card-media-line {
        inline-size: 140px;
        block-size: 140px;
    }

    .card-media-line .site-card__nav {
        display: none;
    }

    .site-chat .select-block-filter {
        max-inline-size: none;
        margin-block-start: 24px;
    }

    .site-mobile-collapse {
        inset-block-start: 82px;
    }

    .site-mobile-collapse.collapsing {
        inset-block-start: 82px;
    }

    .listing-stepper__track::before {
        inset-inline-start: calc(var(--stepper-dot-size));
        inset-inline-end: calc(var(--stepper-dot-size));
    }

    .listing-stepper__label {
        display: none;
    }

    .about-stats__mini .h3 {
        font-size: 60px;
    }

    .about-stats-block-card--right {
        block-size: 350px;
    }

    .about-block-bg--right {
        background-position: 0px -200px;
    }

    .about-stats__mini {
        padding: 20px 22px;
    }

    .about-partners__title {
        font-size: 40px;
    }

    .about-partners__grid {
        margin-block-start: 40px;
    }

    .about-partners__item {
        padding: 32px;
    }

    .site-header__main {
        padding: 16px 0;
    }

    .site-header__main .site-search {
        min-inline-size: auto;
    }

    .site-icon-btn {
        inline-size: 44px;
        block-size: 44px;
    }

    .site-filters {
        padding: 40px 0 60px;
    }

    .site-filters__head {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-filter-form__actions {
        justify-content: flex-start;
    }

    .site-filters__panel {}

    .site-filter-form {
        gap: 24px;
    }

    .site-filter-form__actions {
        margin-block-start: 16px;
    }

    .site-footer__top {
        flex-direction: column;
    }

    .site-footer__columns {
        flex-direction: column;
        gap: 24px;
    }

    .site-footer__bottom {
        flex-direction: column;
        align-items: flex-start;
    }

    .site-footer__top {
        border-block-end: 0;
        padding-block-end: 0;
    }

    .site-footer__bottom {
        padding-block-start: 40px;
    }

    .site-logo img {
        inline-size: 100px;
        block-size: auto;
    }

    .site-header__main {
        inset-block-start: 60px;
    }

    .site-footer {
        padding: 40px 0;
    }

    .hr-block--footer {
        display: block;
    }

    .site-footer__services-collapse.show {}

    .site-footer__group--decstop {
        display: none;
    }

    .site-footer__bottom {
        align-items: center;
        text-align: center;
        gap: 26px;
    }

    .site-hero__title {
        font-size: 40px;
    }

    .site-hero__subtitle {
        font-size: 24px;
    }

    .site-range--average .site-range__values input {
        inline-size: 50px;
    }

    .mt-md-4-5 {
        margin-block-start: 2em;
    }

    .site-filter-block-element {
        padding: 16px;
    }

    .team-service-block__bottom-panel {
        max-inline-size: none;
    }
}

@media (max-width: 767px) {
    .footer-link a {
        text-align: center;
    }

    .site-cta-banner-bg {
        background: none;
    }

    .site-cta-banner__actions .btn {
        inline-size: 100%;
    }

    .block-from-button .site-btn {
        inline-size: 100%;
    }

    .block-from-button .text-block {
        text-align: center;
        inline-size: 100%;
        margin: 0px !important;
        margin-block-start: 24px !important;
    }

    .p-sm-1 {
        padding: var(--space-1) !important;
    }

    .p-sm-2 {
        padding: var(--space-2) !important;
    }

    .p-sm-3 {
        padding: var(--space-3) !important;
    }

    .p-sm-4 {
        padding: var(--space-4) !important;
    }

    .p-sm-5 {
        padding: var(--space-5) !important;
    }

    .p-sm-6 {
        padding: var(--space-6) !important;
    }

    .h-sm-auto {
        block-size: auto !important;
    }

    .site-container {
        padding-inline: 16px;
    }

    .avatar-xl {
        inline-size: 100px;
        block-size: 100px;
    }

    .avatar-lg {
        inline-size: 60px;
        block-size: 60px;
    }

    .block-button-md {
        display: block;
        inline-size: 100%;
        text-align: center;
    }

    .block-button-md a {
        inline-size: 100%;
        margin-block-end: 12px;

    }
}

@media (max-width: 575.98px) {
    .gap-xs-1 {
        gap: var(--space-1) !important;
    }

    .gap-xs-2 {
        gap: var(--space-2) !important;
    }

    .gap-xs-3 {
        gap: var(--space-3) !important;
    }

    .gap-xs-4 {
        gap: var(--space-4) !important;
    }

    .avatar-xl {
        inline-size: 52px;
        block-size: 52px;
    }

    .site-gallery__thumbs .swiper-slide {
        inline-size: 80px;
        block-size: 80px
    }

    .site-gallery---card .site-gallery__main {
        aspect-ratio: 500 / 320;
    }

    .site-gallery---card .site-gallery__main {
        max-block-size: 320px;
    }


    .u-sm-w-100 {
        inline-size: 100% !important;
    }

    .site-gallery__main {
        aspect-ratio: 4 / 3;
        border-radius: 16px;
    }

    .site-filters {
        padding: 24px 0 24px;
    }

    .block-icon-btn--favorite {
        margin-inline-end: 1rem;
    }

    .site-header__main .site-search-block {
        display: none;
    }

    .site-hero__title {
        font-size: 40px;
    }

    .site-header__main-row {
        --bs-gutter-x: 16px;
    }

    .site-hero {
        padding: 0px;
        min-block-size: 400px;
    }

    .site-card {
        border-radius: var(--radius-md);
    }

    .site-card__media {
        block-size: 265px;
    }

    .site-card__spec--location dd {
        text-align: start;
        inline-size: 100%;
    }

    .site-filters__panel {
        padding: 24px 16px;
        border-radius: 16px;
        gap: 24px;
    }

    .site-filters__title h2 {
        font-size: 32px;
    }

    .site-filters__title p {
        font-size: 18px;
    }

    .site-filters__more {
        padding: 12px 0;
        min-block-size: 52px;
    }

    .site-filter-form__actions {
        flex-direction: column;
        align-items: stretch;
    }

    .site-filter-form__actions .site-btn--primary {
        inline-size: 100%;
        padding: 12px 24px;
        margin-inline-start: 0;
    }

    .site-footer__group--services a {
        color: rgba(255, 255, 255, 0.6);
    }

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

    .site-search-mobile {
        display: block;
        margin-block-end: 20px;
    }

    .site-search-mobile .site-search {
        display: inline-flex;
    }

    .site-footer__columns {
        grid-auto-flow: row;
        /* на мобилке — в столбик */
        justify-content: start;
        column-gap: 0;
        row-gap: 24px;
    }

    .site-card__spec--location {
        gap: 10px;
    }

    .site-card__spec--location dd {
        text-align: start;
        max-inline-size: 100%;
    }

    .about-stats__mini .h3 {
        font-size: 40px;
    }

    .about-block-bg--right {
        background-position: center;
    }

    .about-team__name {
        font-size: 24px;
    }

    .about-team__role {
        font-size: 20px;
    }

    .about-team__desc {
        font-size: 18px;
    }

    .about-team__card {
        row-gap: 20px;
    }

    .site-btn--big,
    .btn-outline-secondary {
        padding: 12px 24px;
    }

    .text-24 {
        font-size: 20px;
    }

    h1,
    .h1 {
        font-size: 32px;
    }

    h2,
    .h2 {
        font-size: 24px;
    }

    h3,
    .h3 {
        font-size: 20px;
    }

    h4,
    .h4 {
        font-size: 18px;
    }

    .bg-iteam-services {
        block-size: 300px;
    }

    .text-sm-16 {
        font-size: 16px;
    }

    .text-sm-18 {
        font-size: 18px;
    }


    .text-sm-20 {
        font-size: 20px;
    }


    .text-sm-24 {
        font-size: 24px;
    }

    .team-service-block__bottom-panel {
        padding: 16px;
    }

    .team-service-block {
        padding: 24px;
    }

    .flex-md-colum {
        flex-direction: column !important;
    }

    .align-items-md-center {
        align-items: start !important;
    }

    .bg-iteam-services--mini {
        block-size: 300px !important;
    }

    .sm-pt-4 {
        padding-block-start: var(--space-5) !important;
    }

    /* margin all */
    .u-mob-m-1 {
        margin: var(--space-1) !important;
    }

    .u-mob-m-2 {
        margin: var(--space-2) !important;
    }

    .u-mob-m-3 {
        margin: var(--space-3) !important;
    }

    .u-mob-m-4 {
        margin: var(--space-4) !important;
    }

    .u-mob-m-5 {
        margin: var(--space-5) !important;
    }

    .u-mob-m-6 {
        margin: var(--space-6) !important;
    }

    .u-mob-m-7 {
        margin: var(--space-7) !important;
    }

    .u-mob-m-8 {
        margin: var(--space-8) !important;
    }

    /* margin top */
    .u-mob-mt-1 {
        margin-block-start: var(--space-1) !important;
    }

    .u-mob-mt-2 {
        margin-block-start: var(--space-2) !important;
    }

    .u-mob-mt-3 {
        margin-block-start: var(--space-3) !important;
    }

    .u-mob-mt-4 {
        margin-block-start: var(--space-4) !important;
    }

    .u-mob-mt-5 {
        margin-block-start: var(--space-5) !important;
    }

    .u-mob-mt-6 {
        margin-block-start: var(--space-6) !important;
    }

    .u-mob-mt-7 {
        margin-block-start: var(--space-7) !important;
    }

    .u-mob-mt-8 {
        margin-block-start: var(--space-8) !important;
    }

    /* margin bottom */
    .u-mob-mb-1 {
        margin-block-end: var(--space-1) !important;
    }

    .u-mob-mb-2 {
        margin-block-end: var(--space-2) !important;
    }

    .u-mob-mb-3 {
        margin-block-end: var(--space-3) !important;
    }

    .u-mob-mb-4 {
        margin-block-end: var(--space-4) !important;
    }

    .u-mob-mb-5 {
        margin-block-end: var(--space-5) !important;
    }

    .u-mob-mb-6 {
        margin-block-end: var(--space-6) !important;
    }

    .u-mob-mb-7 {
        margin-block-end: var(--space-7) !important;
    }

    .u-mob-mb-8 {
        margin-block-end: var(--space-8) !important;
    }

    /* margin left/right */
    .u-mob-ml-1 {
        margin-inline-start: var(--space-1) !important;
    }

    .u-mob-ml-2 {
        margin-inline-start: var(--space-2) !important;
    }

    .u-mob-ml-3 {
        margin-inline-start: var(--space-3) !important;
    }

    .u-mob-ml-4 {
        margin-inline-start: var(--space-4) !important;
    }

    .u-mob-ml-5 {
        margin-inline-start: var(--space-5) !important;
    }

    .u-mob-ml-6 {
        margin-inline-start: var(--space-6) !important;
    }

    .u-mob-ml-7 {
        margin-inline-start: var(--space-7) !important;
    }

    .u-mob-ml-8 {
        margin-inline-start: var(--space-8) !important;
    }

    .u-mob-mr-1 {
        margin-inline-end: var(--space-1) !important;
    }

    .u-mob-mr-2 {
        margin-inline-end: var(--space-2) !important;
    }

    .u-mob-mr-3 {
        margin-inline-end: var(--space-3) !important;
    }

    .u-mob-mr-4 {
        margin-inline-end: var(--space-4) !important;
    }

    .u-mob-mr-5 {
        margin-inline-end: var(--space-5) !important;
    }

    .u-mob-mr-6 {
        margin-inline-end: var(--space-6) !important;
    }

    .u-mob-mr-7 {
        margin-inline-end: var(--space-7) !important;
    }

    .u-mob-mr-8 {
        margin-inline-end: var(--space-8) !important;
    }

    /* (опционально) оси — часто надо */
    .u-mob-mx-1 {
        margin-inline-start: var(--space-1) !important;
        margin-inline-end: var(--space-1) !important;
    }

    .u-mob-mx-2 {
        margin-inline-start: var(--space-2) !important;
        margin-inline-end: var(--space-2) !important;
    }

    .u-mob-mx-3 {
        margin-inline-start: var(--space-3) !important;
        margin-inline-end: var(--space-3) !important;
    }

    .u-mob-mx-4 {
        margin-inline-start: var(--space-4) !important;
        margin-inline-end: var(--space-4) !important;
    }

    .u-mob-mx-5 {
        margin-inline-start: var(--space-5) !important;
        margin-inline-end: var(--space-5) !important;
    }

    .u-mob-mx-6 {
        margin-inline-start: var(--space-6) !important;
        margin-inline-end: var(--space-6) !important;
    }

    .u-mob-mx-7 {
        margin-inline-start: var(--space-7) !important;
        margin-inline-end: var(--space-7) !important;
    }

    .u-mob-mx-8 {
        margin-inline-start: var(--space-8) !important;
        margin-inline-end: var(--space-8) !important;
    }

    .u-mob-my-1 {
        margin-block-start: var(--space-1) !important;
        margin-block-end: var(--space-1) !important;
    }

    .u-mob-my-2 {
        margin-block-start: var(--space-2) !important;
        margin-block-end: var(--space-2) !important;
    }

    .u-mob-my-3 {
        margin-block-start: var(--space-3) !important;
        margin-block-end: var(--space-3) !important;
    }

    .u-mob-my-4 {
        margin-block-start: var(--space-4) !important;
        margin-block-end: var(--space-4) !important;
    }

    .u-mob-my-5 {
        margin-block-start: var(--space-5) !important;
        margin-block-end: var(--space-5) !important;
    }

    .u-mob-my-6 {
        margin-block-start: var(--space-6) !important;
        margin-block-end: var(--space-6) !important;
    }

    .u-mob-my-7 {
        margin-block-start: var(--space-7) !important;
        margin-block-end: var(--space-7) !important;
    }

    .u-mob-my-8 {
        margin-block-start: var(--space-8) !important;
        margin-block-end: var(--space-8) !important;
    }

    .block-repeater-item {
        display: block !important;
    }

    .block-repeater-item .block-repeater-button {
        margin-block-start: 20px;

    }
}

@media (max-width: 480px) {
    .dropdown-button-action .dropdown-item {
        padding: 10px 20px;
    }

    .customs-clearance-banner-block div {
        display: block !important;
    }

    .customs-clearance-banner-block.site-cta-banner__actions {
        margin-block-start: 0px;
    }

    .customs-clearance-banner-block div a {
        margin-block-start: 15px;
    }

    .input-text {
        font-size: 16px;
        padding: 17px 24px;
    }

    .site-page-hero {
        min-block-size: 500px;
    }

    .site-search--filters {
        padding: 11px 20px;
    }

    .block-icon-btn {
        inline-size: 35px;
        block-size: 35px;
        padding: 10px;
    }

    .site-block-title {
        padding-block-end: 0px;
        padding-block-start: 20px;
    }

    .applied-filters.is-fixed .applied-chip {
        padding: 5px 5px;
        font-size: 10px;
    }

    .applied-filters.is-fixed .applied-filters__reset {
        font-size: 10px;
    }

    .applied-filters.is-fixed {
        inset-block-start: 45px;
    }

    .filters-submitbar {
        padding: 6px 0;
    }

    .site-tabs {
        gap: 6px;
        margin: 20px 0;
    }

    .site-tab {
        padding: 6px 16px;
    }

    .text-24 {
        /*font-size: 16px;*/
    }

    .select-block-filter .select2-selection {
        padding: 13px 24px;
        block-size: auto;
        font-size: 16px;
    }

    .site-hero .site-container {
        min-block-size: 500px;
    }

    .site-mobile-collapse {
        inset-block-start: 45px;
    }

    .site-mobile-collapse.collapsing {
        inset-block-start: 45px;
    }

    .site-burger.navbar-toggler {
        inline-size: 35px;
        block-size: 35px;
    }

    .site-burger .navbar-toggler-icon {
        inline-size: 20px;
        block-size: 20px;
    }

    .site-logo img {
        inline-size: 70px;
    }

    .site-burger.is-open .navbar-toggler-icon {
        inline-size: 10px;
        block-size: 10px;
    }


    .block-tariff-price {
        white-space: normal;
        flex-shrink: unset;
    }

    .card-media-line img {
        inline-size: 80px;
        block-size: 80px;
        border-radius: 4px;
    }

    .card-media-line {
        inline-size: 80px;
        block-size: 80px;
    }

    .listing-stepper__dot {
        inline-size: 25px;
        block-size: 25px;
    }

    .listing-stepper {
        --stepper-dot-size: 25px;
    }

    html {
        font-size: 16px;
    }

    body {
        font-size: 1rem;
        line-height: 1.5;
    }

    p,
    li,
    label,
    input,
    select,
    textarea {
        font-size: 1rem;
        line-height: 1.5;
    }

    h1,
    .h1 {
        font-size: 1.5rem;
        line-height: 1.2;
    }

    /* 24px */
    h2,
    .h2 {
        font-size: 1.375rem;
        line-height: 1.25;
    }

    /* 22px ↓13% */
    h3,
    .h3 {
        font-size: 1.25rem;
        line-height: 1.3;
    }

    /* 20px ↓9% */
    h4,
    .h4 {
        font-size: 1.125rem;
        line-height: 1.35;
    }

    /* 18px ↓10% */
    h5,
    .h5 {
        font-size: 1rem;
        line-height: 1.4;
    }

    /* 16px ↓11% */
    h6,
    .h6 {
        font-size: 0.9375rem;
        line-height: 1.45;
    }

    /* 15px ↓6% */
    small {
        font-size: 0.8125rem;
        line-height: 1.45;
    }

    /* 13px ↓7% */


    .site-hero__title {
        font-size: 24px;
        line-height: 1.15;
    }


    .site-filters__title h2 {
        font-size: 1.625rem;
        line-height: 1.2;
    }


    .favorite-button {
        display: none;
    }

    .login-button {
        display: none;
    }

    .site-range__values label {
        font-size: 12px;
    }


    .site-range__values input {
        font-size: 16px;
    }

    .site-filters__more {
        font-size: 16px;
        line-height: 1.7;
    }

    .select2-results__option {
        font-size: 16px;
    }

    .site-search--filters input {
        font-size: 16px;
    }

    .applied-filters__head .applied-filters__title {
        inline-size: 100%;
    }

    .applied-filters__head .applied-filters__title {
        inline-size: 100%;
    }

    .applied-filters__head .applied-filters__reset {
        display: none;
    }

    .applied-filters__head {
        margin-block-end: 16px;
    }



    .about-stats__mini .h3 {
        font-size: 32px;
    }

    .about-stats__mini .p {
        font-size: 14px;
    }

    .about-stats__mini {
        padding: 0px;
    }

    .p-xxs-4 {
        padding: var(--space-4) !important;
    }

    .site-header__main {
        padding: 5px 0;
    }
}

@media (max-width: 420px) {
    .site-toasts {
        max-inline-size: none;
    }
}

@media (max-width: 380px) {


    .site-filters__panel {
        padding: 24px 8px;
    }

    .site-container {
        padding-inline: 8px;
    }
}