/* Catalog reference redesign. Loaded after app.css. */
:root {
    --catalog-ink: #2d2925;
    --catalog-muted: #746e68;
    --catalog-accent: #8d735f;
    --catalog-accent-light: #b99d87;
    --catalog-line: #ded8d0;
    --catalog-surface: #fbfaf7;
    --catalog-panel: #f5f1ec;
    --catalog-dark: #302a24;
    --catalog-serif: Georgia, "Times New Roman", serif;
    --catalog-sans: "Mont", "Segoe UI", Arial, sans-serif;
}

html:has(.catalog-page) {
    scrollbar-width: none;
}

html:has(.catalog-page)::-webkit-scrollbar {
    display: none;
}

.catalog-design-shell {
    background: var(--catalog-surface);
}

.catalog-container {
    width: min(1270px, calc(100% - 80px));
    margin-inline: auto;
}

.catalog-page {
    overflow-x: clip;
    background: var(--catalog-surface);
    color: var(--catalog-ink);
    font-family: var(--catalog-sans);
    letter-spacing: 0;
}

.catalog-page a:hover,
.catalog-header a:hover,
.catalog-footer a:hover {
    text-decoration: none;
}

/* Header */
.catalog-header {
    position: relative;
    z-index: 20;
    height: 108px;
    border-bottom: 1px solid rgba(45, 41, 37, 0.08);
    background: rgba(252, 250, 246, 0.98);
    color: var(--catalog-ink);
    font-family: var(--catalog-sans);
}

.catalog-header__inner {
    width: min(1320px, calc(100% - 64px));
    height: 100%;
    margin-inline: auto;
    display: flex;
    align-items: center;
    gap: 34px;
}

.catalog-brand {
    flex: 0 0 auto;
    display: inline-flex;
    align-items: center;
    color: inherit;
}

.catalog-brand__image {
    width: 126px;
    height: 58px;
    object-fit: contain;
}

.catalog-header__nav {
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 24px;
    margin-left: 12px;
    font-size: 14px;
    white-space: nowrap;
}

.catalog-header__nav a {
    position: relative;
    padding-block: 12px;
}

.catalog-header__nav > span {
    padding-block: 12px;
}

.catalog-header__nav a[aria-current="page"]::after {
    content: "";
    position: absolute;
    inset-inline: 0;
    inset-block-end: 3px;
    height: 1px;
    background: var(--catalog-accent);
}

.catalog-header__nav-item {
    position: relative;
}

.catalog-header__services-link {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.catalog-header__services-link svg {
    width: 10px;
    height: 7px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
    transition: transform 160ms ease;
}

.catalog-header__services-menu {
    position: absolute;
    top: calc(100% - 2px);
    left: -18px;
    z-index: 30;
    width: 270px;
    margin: 0;
    padding: 12px 0;
    border: 1px solid var(--catalog-line);
    border-radius: 5px;
    visibility: hidden;
    opacity: 0;
    transform: translateY(8px);
    background: #fff;
    box-shadow: 0 16px 34px rgba(48, 42, 36, 0.12);
    transition: opacity 160ms ease, transform 160ms ease, visibility 160ms ease;
}

.catalog-header__services-menu a {
    display: block;
    padding: 9px 18px;
    color: #4b4540;
    font-size: 12px;
    line-height: 1.35;
    white-space: normal;
}

.catalog-header__services-menu a:hover,
.catalog-header__services-menu a:focus-visible {
    background: #f3efea;
    color: #2d2925;
}

.catalog-header__nav-item:hover .catalog-header__services-menu,
.catalog-header__nav-item:focus-within .catalog-header__services-menu {
    visibility: visible;
    opacity: 1;
    transform: translateY(0);
}

.catalog-header__nav-item:hover .catalog-header__services-link svg,
.catalog-header__nav-item:focus-within .catalog-header__services-link svg {
    transform: rotate(180deg);
}

.catalog-header__actions {
    min-width: 0;
    min-height: 60px;
    margin-left: auto;
    padding-left: 20px;
    border-left: 1px solid var(--catalog-line);
    display: flex;
    align-items: center;
    gap: 18px;
}

.catalog-header__action {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    white-space: nowrap;
}

.catalog-header__action svg {
    width: 22px;
    height: 22px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.catalog-header__create {
    height: 42px;
    padding-inline: 14px;
    border-radius: 4px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    background: var(--catalog-dark);
    color: #fff;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    margin-right: 0;
}

.catalog-header__create:hover {
    color: #fff;
    background: #1f1b17;
}

.catalog-header__mobile-menu {
    display: none;
}

/* Hero */
.catalog-hero {
    position: relative;
    height: 360px;
    overflow: hidden;
    background-color: #f0e8dc;
    background-image: linear-gradient(90deg, rgba(250, 247, 241, 0.60) 0%, rgba(250, 247, 241, 0.14) 43%, rgba(250, 247, 241, 0.05) 100%), url("/static/img/catalog/catalog-hero-wide-balanced.jpg?v=20260714-2");
    background-position: center, calc(50% + 24px) 29%;
    background-repeat: no-repeat, no-repeat;
    background-size: cover, auto 180%;
}

.catalog-hero__inner {
    position: relative;
    z-index: 2;
    height: 100%;
}

.catalog-hero__copy {
    padding-top: 55px;
    margin-left: 0;
}

.catalog-hero__copy h1 {
    margin: 0;
    color: #38332e;
    font-family: var(--catalog-serif);
    font-size: 62px;
    font-weight: 400;
    letter-spacing: -2.5px;
    line-height: 0.97;
}

.catalog-hero__copy > p {
    margin-top: 20px;
    color: #55504a;
    font-size: 15px;
    line-height: 1.48;
}

.catalog-hero__stats {
    display: flex;
    gap: 76px;
    margin-top: 18px;
}

.catalog-hero__stats div {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.catalog-hero__stats strong {
    font-family: var(--catalog-serif);
    font-size: 31px;
    font-weight: 400;
    line-height: 1;
}

.catalog-hero__stats span {
    color: #69625b;
    font-size: 11px;
}

/* Expertise */
.catalog-expertise {
    height: 176px;
    background: #fcfaf7;
}

.catalog-expertise__inner {
    height: 100%;
    display: grid;
    grid-template-columns: 286px minmax(0, 1fr);
    align-items: center;
    gap: 40px;
}

.catalog-expertise h2 {
    margin: 0;
    font-family: var(--catalog-serif);
    font-size: 24px;
    font-weight: 400;
    line-height: 1.15;
}

.catalog-expertise__items {
    display: grid;
    grid-template-columns: repeat(7, minmax(0, 1fr));
    align-items: start;
}

.catalog-expertise__item {
    min-width: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 13px;
    color: #3f3a35;
    font-size: 11px;
    line-height: 1.25;
    text-align: center;
}

.catalog-expertise__icon {
    width: 58px;
    height: 58px;
    border: 1px solid #d7cdc3;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #a48770;
    transition: 160ms ease;
}

.catalog-expertise__icon svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.catalog-expertise__item:hover .catalog-expertise__icon {
    border-color: var(--catalog-accent);
    color: #7a604c;
    transform: translateY(-2px);
}

/* Trust strip */
.catalog-trust-strip {
    height: 92px;
    border-top: 1px solid var(--catalog-line);
    border-bottom: 1px solid var(--catalog-line);
    background: #fcfaf7;
}

.catalog-trust-strip__inner {
    height: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-items: center;
}

.catalog-trust-strip__item {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 19px;
    color: #4d4741;
    font-size: 11px;
    line-height: 1.45;
}

.catalog-trust-strip__item svg {
    width: 29px;
    height: 29px;
    fill: none;
    stroke: #a4866f;
    stroke-width: 1.25;
    stroke-linecap: round;
    stroke-linejoin: round;
}

/* Catalog body */
.catalog-market {
    padding: 34px 0 14px;
    background: #fdfcf9;
}

.catalog-market__toolbar,
.catalog-market__layout {
    display: grid;
    grid-template-columns: 290px minmax(0, 1fr);
    gap: 30px;
}

.catalog-market__toolbar {
    height: 52px;
}

.catalog-market__filter-heading {
    height: 52px;
    padding: 0 17px;
    border: 1px solid #e0d9d1;
    border-bottom: 0;
    border-radius: 7px 7px 0 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    background: #f0ece7;
}

.catalog-market__filter-title {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    font-size: 12px;
    font-weight: 600;
}

.catalog-market__filter-title svg {
    width: 21px;
    height: 21px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
    stroke-linecap: round;
}

.catalog-market__results-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
}

.catalog-market__results-toolbar p {
    color: #7c746d;
    font-size: 12px;
}

.catalog-market__view-controls {
    display: flex;
    align-items: center;
    gap: 28px;
}

.catalog-market__sort select {
    width: 173px;
    height: 40px;
    padding: 0 38px 0 15px;
    border: 1px solid #e1ddd8;
    border-radius: 4px;
    background: #fff;
    color: #4f4943;
    font-size: 11px;
}

.catalog-market__view-switch {
    height: 40px;
    border: 1px solid #e1ddd8;
    border-radius: 4px;
    display: flex;
    overflow: hidden;
    background: #fff;
}

.catalog-market__view-switch button {
    width: 41px;
    height: 100%;
    padding: 0;
    border: 0;
    border-left: 1px solid #eee9e4;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #8a827a;
}

.catalog-market__view-switch button:first-child {
    border-left: 0;
}

.catalog-market__view-switch button.is-active {
    background: #f1ede8;
    color: #4b453f;
}

.catalog-market__view-switch svg {
    width: 19px;
    height: 19px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.catalog-market__view-switch button:first-child svg {
    fill: currentColor;
    stroke: none;
}

.catalog-market__layout {
    margin-top: 10px;
    align-items: start;
}

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

.catalog-market__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px 20px;
    margin: 0;
}

.catalog-market__grid > [class*="col-"] {
    width: auto;
    max-width: none;
    padding: 0;
}

.catalog-market .site-listing__loader {
    margin-top: 18px;
}

.catalog-market .site-card--skeleton {
    min-height: 410px;
    border-radius: 6px;
    background: linear-gradient(100deg, #f0ece7 25%, #faf8f5 45%, #f0ece7 65%);
}

.catalog-market__load-more {
    display: flex;
    justify-content: center;
    margin-top: 24px;
}

.catalog-market__load-more .site-listing__more {
    min-width: 150px;
    height: 42px;
    padding: 0 22px;
    border: 1px solid #70675f;
    border-radius: 3px;
    background: #fff;
    color: #4b4540;
    font-size: 10px;
}

.catalog-market__load-more .site-listing__more:hover {
    background: #302a24;
    color: #fff;
}

/* Sidebar filters */
.catalog-sidebar {
    position: sticky;
    top: 16px;
    align-self: start;
    height: auto;
    max-height: calc(100vh - 32px);
    min-height: 0;
    border: 1px solid #e0d9d1;
    border-top: 0;
    border-radius: 0 0 7px 7px;
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #f7f4f0;
    transition: opacity 160ms ease;
}

.catalog-sidebar::-webkit-scrollbar {
    width: 6px;
}

.catalog-sidebar::-webkit-scrollbar-thumb {
    border-radius: 99px;
    background: rgba(128, 103, 85, 0.34);
}

.catalog-sidebar__form {
    min-height: 0;
    padding: 24px 17px 20px;
    display: flex;
    flex-direction: column;
    gap: 22px;
}

.catalog-sidebar__field,
.catalog-sidebar__field > label,
.catalog-sidebar__range {
    min-width: 0;
    margin: 0;
}

.catalog-sidebar__field > span:first-child,
.catalog-sidebar__field > label > span:first-child,
.catalog-sidebar__field > legend,
.catalog-sidebar__range > legend {
    display: block;
    margin: 0 0 9px;
    color: #39342f;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.3;
}

.catalog-sidebar__control {
    position: relative;
    display: block;
}

.catalog-sidebar__search input,
.catalog-sidebar__select {
    width: 100%;
    height: 45px;
    padding: 0 37px 0 12px;
    border: 1px solid #ddd7d0;
    border-radius: 4px;
    outline: 0;
    background: rgba(255, 255, 255, 0.72);
    color: #49433e;
    font-size: 10px;
}

.catalog-sidebar__search input::placeholder {
    color: #a29b94;
}

.catalog-sidebar__control > svg {
    position: absolute;
    right: 11px;
    top: 50%;
    width: 19px;
    height: 19px;
    transform: translateY(-50%);
    fill: none;
    stroke: #927866;
    stroke-width: 1.2;
    stroke-linecap: round;
    pointer-events: none;
}

.catalog-sidebar__range {
    padding: 0;
    border: 0;
    display: block;
}

.catalog-sidebar__range .site-range__values {
    height: 45px;
    padding: 0;
    border: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 17px;
    background: transparent;
}

.catalog-sidebar__range .site-range__values label {
    min-width: 0;
    height: 45px;
    padding: 0 9px;
    border: 1px solid #ddd7d0;
    border-radius: 4px;
    display: flex;
    align-items: center;
    gap: 4px;
    background: rgba(255, 255, 255, 0.72);
    color: #8f8881;
    font-size: 9px;
}

.catalog-sidebar__range .site-range__values .mb-3,
.catalog-sidebar__range .site-range__values .form-group {
    min-width: 0;
    margin: 0 !important;
}

.catalog-sidebar__range .site-range__number {
    min-width: 0;
    width: 100%;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: #544d47;
    font-size: 9px;
}

.catalog-sidebar__range .help-block {
    display: none;
}

.catalog-sidebar__range .site-range__track {
    position: relative;
    height: 16px;
    margin-top: 12px;
}

.catalog-sidebar__range .site-range__track::before {
    content: "";
    position: absolute;
    inset: 7px 4px auto;
    height: 2px;
    background: #8d7462;
}

.catalog-sidebar__range .site-range__track input[type="range"] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 16px;
    margin: 0;
    appearance: none;
    opacity: 1;
    pointer-events: none;
}

.catalog-sidebar__range .site-range__track::after {
    display: none;
}

.catalog-sidebar__range .site-range__track input[type="range"]::-webkit-slider-thumb {
    appearance: none;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #7b6250;
    pointer-events: auto;
}

.catalog-sidebar__range .site-range__track input[type="range"]::-moz-range-thumb {
    width: 10px;
    height: 10px;
    border: 0;
    border-radius: 50%;
    background: #7b6250;
    pointer-events: auto;
}

.catalog-sidebar__deal {
    padding: 0;
    border: 0;
}

.catalog-sidebar__deal-options {
    width: 100%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border: 1px solid #d8d2cb;
    border-radius: 4px;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.72);
}

.catalog-sidebar__deal-options label {
    position: relative;
    min-width: 0;
    margin: 0;
    border-left: 1px solid #e3ddd6;
}

.catalog-sidebar__deal-options label:first-child {
    border-left: 0;
}

.catalog-sidebar__deal-options input {
    position: absolute;
    inset: 0;
    opacity: 0;
    pointer-events: none;
}

.catalog-sidebar__deal-options span {
    min-height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6px;
    color: #6b645e;
    font-size: 9px;
    text-align: center;
    cursor: pointer;
}

.catalog-sidebar__deal-options input:checked + span {
    background: #806755;
    color: #fff;
}

.catalog-sidebar__actions {
    margin-top: 2px;
    padding-top: 18px;
    border-top: 1px solid #e3ddd6;
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.catalog-sidebar__apply {
    min-height: 44px;
    padding: 9px 12px;
    border: 1px solid var(--catalog-dark);
    border-radius: 4px;
    background: var(--catalog-dark);
    color: #fff;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
}

.catalog-sidebar__apply:hover,
.catalog-sidebar__apply:focus-visible {
    background: #1f1b17;
}

.catalog-sidebar__advanced {
    min-height: 42px;
    padding: 8px 12px;
    border: 1px solid #806755;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: #4f4842;
    font-size: 10px;
    font-weight: 600;
    text-align: center;
}

.catalog-sidebar__advanced svg {
    flex: 0 0 auto;
    width: 17px;
    height: 17px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.3;
    stroke-linecap: round;
}

.catalog-sidebar__advanced:hover {
    background: #806755;
    color: #fff;
}

.catalog-sidebar__reset {
    color: #544d47;
    font-size: 10px;
    text-align: center;
}

/* Cards */
.catalog-market .catalog-card {
    height: 410px;
    border: 1px solid #e2ddd7;
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 2px 10px rgba(54, 46, 38, 0.025);
}

.catalog-market .catalog-card::after {
    display: none;
}

.catalog-card__media,
.catalog-market .catalog-card .site-card__media {
    flex: 0 0 auto;
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
    border-radius: 0;
    background: #ddd7d0;
}

.catalog-card__image-link,
.catalog-card__image-link .swiper,
.catalog-card__image-link .swiper-wrapper,
.catalog-card__image-link .swiper-slide {
    display: block;
    width: 100%;
    height: 100%;
}

.catalog-card__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.catalog-card__select {
    position: absolute;
    z-index: 4;
    top: 10px;
    left: 10px;
    width: 20px;
    height: 20px;
}

.catalog-card__select input {
    position: absolute;
    inset: 0;
    margin: 0;
    opacity: 0;
}

.catalog-card__select span {
    display: block;
    width: 20px;
    height: 20px;
    border: 1px solid rgba(59, 51, 44, 0.28);
    border-radius: 4px;
    background: rgba(255, 255, 255, 0.95);
}

.catalog-card__select input:checked + span {
    border-color: #806755;
    background: #806755;
    box-shadow: inset 0 0 0 4px #fff;
}

.catalog-card__favorite {
    position: absolute;
    z-index: 4;
    top: 9px;
    right: 9px;
}

.catalog-card__favorite .site-card__favorite {
    width: 25px;
    height: 25px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #fff;
}

.catalog-card__favorite .site-card__favorite svg {
    width: 24px;
    height: 24px;
    fill: rgba(47, 41, 36, 0.18);
    stroke: #fff;
    stroke-width: 1.4;
    stroke-linecap: round;
    stroke-linejoin: round;
    filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.2));
}

.catalog-card__favorite .site-card__favorite.is-active svg {
    fill: #8b564d;
}

.catalog-card__deal {
    position: absolute;
    z-index: 4;
    left: 12px;
    bottom: 12px;
    padding: 7px 11px;
    border-radius: 3px;
    background: rgba(55, 49, 43, 0.72);
    color: #fff;
    font-size: 9px;
    line-height: 1;
    backdrop-filter: blur(4px);
}

.catalog-card .site-card__nav {
    width: 28px;
    height: 28px;
    border-radius: 50%;
    opacity: 0;
    color: #514a43;
    transition: opacity 140ms ease;
}

.catalog-card:hover .site-card__nav {
    opacity: 1;
}

.catalog-card .site-card__nav svg {
    width: 15px;
    height: 15px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.4;
}

.catalog-market .catalog-card__body {
    min-height: 0;
    flex: 1 1 auto;
    padding: 12px 16px 14px;
    display: flex;
    flex-direction: column;
    gap: 0;
    background: #fff;
}

.catalog-card__title {
    min-width: 0;
    margin: 0;
    overflow: hidden;
    font-family: var(--catalog-serif);
    font-size: 19px;
    font-weight: 400;
    line-height: 1.1;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-card__title a {
    color: #312c28;
}

.catalog-card__breed {
    margin-top: 5px;
    overflow: hidden;
    color: #746d67;
    font-size: 9px;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-card__facts {
    min-height: 14px;
    margin-top: 6px;
    overflow: hidden;
    color: #746d67;
    font-size: 9px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.catalog-card__price {
    margin-top: 10px;
    color: #2d2925;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
}

.catalog-card__price small {
    font-size: 9px;
    font-weight: 400;
}

.catalog-card__actions {
    margin-top: auto;
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.catalog-card__more {
    min-width: 88px;
    height: 34px;
    padding: 0 13px;
    border: 1px solid #70675f;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: #4b4540;
    font-size: 9px;
}

.catalog-card__more:hover {
    background: #302a24;
    color: #fff;
}

.catalog-card__compare {
    width: 34px;
    height: 34px;
    padding: 0;
    border: 0;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    color: #81786f;
}

.catalog-card__compare svg {
    width: 24px;
    height: 24px;
    fill: none;
    stroke: currentColor;
    stroke-width: 1.1;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.catalog-card__compare.is-active {
    color: #7e5d48;
}

.catalog-market__grid.is-list {
    grid-template-columns: 1fr;
}

.catalog-market__grid.is-list .catalog-card {
    height: 236px;
    display: grid;
    grid-template-columns: 330px minmax(0, 1fr);
}

.catalog-market__grid.is-list .catalog-card__media {
    height: 236px;
}

/* Selection CTA */
.catalog-selection-cta {
    position: relative;
    height: 188px;
    margin-top: 28px;
    border-radius: 7px;
    overflow: hidden;
    display: grid;
    grid-template-columns: 435px minmax(0, 1fr) 310px;
    align-items: center;
    background-color: #eee8df;
    background-image: linear-gradient(90deg, rgba(245, 240, 232, 0) 0%, rgba(245, 240, 232, 0) 32%, rgba(245, 240, 232, 0.94) 44%, #f5f0e8 100%), url("/static/img/catalog/catalog-cta.png");
    background-position: center, left center;
    background-repeat: no-repeat, no-repeat;
    background-size: cover, 1130px auto;
}

.catalog-selection-cta__copy {
    grid-column: 2;
    align-self: center;
}

.catalog-selection-cta__copy h2 {
    margin: 0;
    color: #37312c;
    font-family: var(--catalog-serif);
    font-size: 22px;
    font-weight: 400;
    line-height: 1.12;
}

.catalog-selection-cta__copy p {
    margin-top: 9px;
    color: #736b64;
    font-size: 9px;
    line-height: 1.45;
}

.catalog-selection-cta__copy a {
    height: 36px;
    margin-top: 12px;
    padding-inline: 17px;
    border-radius: 3px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: #302a24;
    color: #fff;
    font-size: 9px;
    font-weight: 600;
}

.catalog-selection-cta__benefits {
    grid-column: 3;
    margin: 0;
    padding: 0 24px 0 10px;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.catalog-selection-cta__benefits li {
    display: flex;
    align-items: center;
    gap: 14px;
    color: #514b45;
    font-size: 9px;
}

.catalog-selection-cta__benefits span {
    width: 26px;
    color: #ac8b72;
    font-family: var(--catalog-serif);
    font-size: 24px;
    text-align: center;
}

/* Footer */
.catalog-footer {
    height: 183px;
    padding: 28px 0 22px;
    background: radial-gradient(circle at 80% 10%, #554b40 0, #3a332c 34%, #2c2823 100%);
    color: rgba(255, 255, 255, 0.83);
    font-family: var(--catalog-sans);
}

.catalog-footer__inner {
    width: min(1270px, calc(100% - 80px));
    height: 100%;
    margin-inline: auto;
    display: grid;
    grid-template-columns: 280px repeat(3, 1fr) 190px;
    gap: 50px;
}

.catalog-brand--light {
    color: #f3eee7;
}

.catalog-brand__image--footer {
    width: 152px;
    height: 70px;
}

.catalog-footer__socials {
    display: flex;
    gap: 10px;
    margin-top: 15px;
}

.catalog-footer__socials a {
    width: 27px;
    height: 27px;
    border: 1px solid rgba(255, 255, 255, 0.34);
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    color: rgba(255, 255, 255, 0.8);
    font-size: 9px;
}

.catalog-footer__column {
    padding-top: 4px;
    display: flex;
    flex-direction: column;
    gap: 9px;
    color: rgba(255, 255, 255, 0.7);
    font-size: 9px;
    line-height: 1.25;
}

.catalog-footer__column strong {
    margin-bottom: 4px;
    color: rgba(255, 255, 255, 0.58);
    font-size: 9px;
    font-weight: 500;
}

.catalog-footer__column a {
    color: inherit;
}

.catalog-footer__contacts {
    white-space: nowrap;
}

@media (max-width: 1099.98px) {
    .catalog-container,
    .catalog-footer__inner {
        width: min(100% - 32px, 680px);
    }

    .catalog-header {
        height: 84px;
    }

    .catalog-header__inner {
        width: calc(100% - 32px);
    }

    .catalog-brand__image {
        width: 118px;
        height: 54px;
    }

    .catalog-header__nav,
    .catalog-header__actions {
        display: none;
    }

    .catalog-header__mobile-menu {
        position: relative;
        display: block;
        margin-left: auto;
    }

    .catalog-header__mobile-menu > summary {
        width: 42px;
        height: 42px;
        border: 1px solid var(--catalog-line);
        border-radius: 4px;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 5px;
        list-style: none;
        cursor: pointer;
    }

    .catalog-header__mobile-menu > summary::-webkit-details-marker {
        display: none;
    }

    .catalog-header__mobile-menu > summary span {
        width: 20px;
        height: 1px;
        background: currentColor;
    }

    .catalog-header__mobile-menu nav {
        position: absolute;
        top: 50px;
        right: 0;
        width: 230px;
        padding: 18px;
        border: 1px solid var(--catalog-line);
        border-radius: 6px;
        display: flex;
        flex-direction: column;
        gap: 14px;
        background: #fff;
        box-shadow: 0 12px 35px rgba(0, 0, 0, 0.12);
        font-size: 13px;
    }

    .catalog-header__mobile-services summary {
        display: flex;
        align-items: center;
        justify-content: space-between;
        list-style: none;
        cursor: pointer;
    }

    .catalog-header__mobile-services summary::after {
        content: "+";
        font-size: 16px;
    }

    .catalog-header__mobile-services[open] summary::after {
        content: "−";
    }

    .catalog-header__mobile-services summary::-webkit-details-marker {
        display: none;
    }

    .catalog-header__mobile-services > div {
        margin: 10px 0 2px;
        padding-left: 12px;
        display: flex;
        flex-direction: column;
        gap: 10px;
        color: #746c65;
        font-size: 12px;
    }

    .catalog-hero {
        height: auto;
        min-height: 490px;
        background-position: center, 62% top;
        background-size: cover, cover;
    }

    .catalog-hero__inner {
        min-height: 490px;
    }

    .catalog-hero__copy {
        width: 56%;
        padding-top: 42px;
        margin-left: 0;
    }

    .catalog-hero__copy h1 {
        font-size: clamp(46px, 10vw, 64px);
    }

    .catalog-hero__stats {
        gap: 30px;
    }

    .catalog-expertise {
        height: auto;
        padding: 34px 0;
    }

    .catalog-expertise__inner {
        display: block;
    }

    .catalog-expertise__items {
        grid-template-columns: repeat(4, 1fr);
        gap: 26px 10px;
        margin-top: 28px;
    }

    .catalog-trust-strip {
        height: auto;
    }

    .catalog-trust-strip__inner {
        grid-template-columns: 1fr;
        gap: 20px;
        padding-block: 26px;
    }

    .catalog-trust-strip__item {
        justify-content: flex-start;
    }

    .catalog-market__toolbar {
        height: auto;
        grid-template-columns: 1fr;
    }

    .catalog-market__filter-heading {
        border-bottom: 1px solid #e0d9d1;
        border-radius: 7px;
    }

    .catalog-market__results-toolbar {
        margin-top: 14px;
    }

    .catalog-market__layout {
        grid-template-columns: 1fr;
        margin-top: 16px;
    }

    .catalog-sidebar {
        display: block;
        position: static;
        max-height: none;
        min-height: 0;
        border-top: 1px solid #e0d9d1;
        border-radius: 7px;
        overflow: visible;
    }

    .catalog-sidebar__form {
        min-height: 0;
    }

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

    .catalog-selection-cta {
        height: auto;
        min-height: 300px;
        grid-template-columns: 38% minmax(0, 1fr);
        padding: 32px;
        background-position: left center;
        background-size: cover;
    }

    .catalog-selection-cta__copy {
        grid-column: 2;
    }

    .catalog-selection-cta__benefits {
        grid-column: 2;
        margin-top: 20px;
        padding: 0;
    }

    .catalog-footer {
        height: auto;
    }

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

@media (max-width: 575.98px) {
    .catalog-container,
    .catalog-footer__inner {
        width: calc(100% - 24px);
    }

    .catalog-hero {
        min-height: 560px;
        background-position: center, 61% top;
    }

    .catalog-hero__inner {
        min-height: 560px;
    }

    .catalog-hero__copy {
        width: 100%;
        padding-top: 30px;
        margin-left: 0;
    }

    .catalog-hero__copy > p {
        width: 58%;
        font-size: 12px;
    }

    .catalog-hero__stats {
        width: 55%;
        flex-direction: column;
        gap: 14px;
        margin-top: 20px;
    }

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

    .catalog-market__results-toolbar,
    .catalog-market__view-controls {
        align-items: stretch;
        flex-direction: column;
        gap: 10px;
    }

    .catalog-market__sort select {
        width: 100%;
    }

    .catalog-market__view-switch {
        display: none;
    }

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

    .catalog-market .catalog-card {
        height: auto;
        min-height: 410px;
    }

    .catalog-selection-cta {
        display: block;
        min-height: 390px;
        padding: 210px 22px 24px;
        background-image: linear-gradient(180deg, rgba(245, 240, 232, 0) 0%, rgba(245, 240, 232, 0.96) 48%, #f5f0e8 100%), url("/static/img/catalog/catalog-cta.png");
        background-position: 22% top;
        background-size: cover;
    }

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

    .catalog-footer__brand-column,
    .catalog-footer__contacts {
        grid-column: 1 / -1;
    }
}
