/*
  catalog.css
  Стили страницы каталога.
  STEP1 CLEAN: EN duplicate style blocks removed.
  Вынесено из resources/views/catalog/index*.blade.php
  Generated: 2026-06-12T00:14:55
*/

/* ===== source RU style block 1 ===== */
* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: #f7f4ef;
    color: #111;
    font-family: Inter, Arial, sans-serif;
}

a {
    color: inherit;
}

.page {
    min-height: 100vh;
    padding-left: 84px;
    background:
        linear-gradient(rgba(0,0,0,.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(0,0,0,.035) 1px, transparent 1px),
        #f7f4ef;
    background-size: 72px 72px;
}

.sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 50;
    width: 84px;
    background: #030702;
    color: #f7f4ef;
    display: flex;
    flex-direction: column;
    align-items: center;
    border-right: 1px solid rgba(255,255,255,.08);
}

.side-mark {
    margin-top: 28px;
    width: 42px;
    height: 42px;
    border-radius: 50%;
    border: 1px solid rgba(247,244,239,.38);
    display: flex;
    align-items: center;
    justify-content: center;
    color: #f7f4ef;
    text-decoration: none;
    font-family: Georgia, serif;
    font-size: 15px;
}

.side-name {
    margin-top: 74px;
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .22em;
    text-transform: uppercase;
    white-space: nowrap;
}

.side-nav {
    margin-top: auto;
    margin-bottom: 132px;
    display: grid;
    gap: 34px;
}

.side-nav a {
    writing-mode: vertical-rl;
    transform: rotate(180deg);
    color: rgba(247,244,239,.84);
    text-decoration: none;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.side-nav a:hover,
.side-nav a.active {
    color: #fff;
}

.side-write {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%) rotate(180deg);
    writing-mode: vertical-rl;
    min-height: 86px;
    padding: 14px 9px;
    border-radius: 999px;
    border: 1px solid rgba(247,244,239,.35);
    color: #f7f4ef;
    text-decoration: none;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
}

.side-write:hover {
    background: #f7f4ef;
    color: #030702;
}

.catalog-hero {
    min-height: 520px;
    padding: 64px 64px 56px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.kicker {
    margin-bottom: 22px;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: .24em;
    text-transform: uppercase;
    color: #7c7469;
}

.catalog-title {
    margin: 0;
    max-width: 760px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(76px, 10vw, 142px);
    line-height: .84;
    letter-spacing: -.055em;
    font-weight: 500;
}

.lead {
    margin: 34px 0 0;
    max-width: 640px;
    font-size: 18px;
    line-height: 1.72;
    color: #514c46;
}

.category-row {
    padding: 26px 64px;
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
    border-bottom: 1px solid rgba(0,0,0,.08);
}

.category-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 0 16px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.14);
    background: rgba(255,255,255,.45);
    font-size: 12px;
    font-weight: 800;
    color: #29251f;
    text-decoration: none;
}

.works-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    border-top: 1px solid rgba(0,0,0,.08);
    border-left: 1px solid rgba(0,0,0,.08);
}

.work-card {
    display: flex;
    flex-direction: column;
    min-height: 560px;
    color: #111;
    text-decoration: none;
    border-right: 1px solid rgba(0,0,0,.08);
    border-bottom: 1px solid rgba(0,0,0,.08);
    background: rgba(247,244,239,.78);
}

.work-image {
    height: 360px;
    overflow: hidden;
    background: #d8d4cc;
}

.work-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.work-info {
    min-height: 200px;
    padding: 28px 28px 24px;
    display: flex;
    flex-direction: column;
}

.work-title {
    margin: 0 0 12px;
    font-family: Georgia, "Times New Roman", serif;
    font-size: clamp(28px, 2.4vw, 42px);
    line-height: .98;
    letter-spacing: -.045em;
    font-weight: 500;
}

.work-desc {
    margin: 0;
    font-size: 14px;
    line-height: 1.55;
    color: #8a8378;
}

.work-bottom {
    margin-top: auto;
    padding-top: 24px;
    display: flex;
    justify-content: space-between;
    gap: 18px;
    border-top: 1px solid rgba(0,0,0,.08);
}

.work-meta {
    font-size: 12px;
    font-weight: 800;
    color: #7a7368;
}

.work-price {
    white-space: nowrap;
    font-size: 14px;
    font-weight: 900;
}

@media (min-width: 901px) and (hover: hover) and (pointer: fine) {
    .work-card .work-image img {
        filter: grayscale(100%);
        -webkit-filter: grayscale(100%);
        transition: filter .45s ease, -webkit-filter .45s ease, transform .45s ease;
    }

    .work-card:hover .work-image img {
        filter: grayscale(0%);
        -webkit-filter: grayscale(0%);
        transform: scale(1.025);
    }
}

@media (max-width: 900px), (hover: none), (pointer: coarse) {
    .work-card .work-image img {
        filter: grayscale(100%);
        -webkit-filter: grayscale(100%);
        transition: filter .75s ease, -webkit-filter .75s ease, transform .75s ease;
    }

    .work-card.is-in-view .work-image img {
        filter: grayscale(0%);
        -webkit-filter: grayscale(0%);
        transform: scale(1.01);
    }
}

.catalog-pagination {
    padding: 42px 64px 70px;
    border-top: 1px solid rgba(0,0,0,.07);
}

.catalog-pagination-inner {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.catalog-page-item {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 38px;
    height: 38px;
    padding: 0 14px;
    border-radius: 999px;
    border: 1px solid rgba(0,0,0,.14);
    background: rgba(255,255,255,.72);
    color: #111;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

a.catalog-page-item:hover,
.catalog-page-item.is-active {
    background: #111;
    color: #fff;
    border-color: #111;
}

.catalog-page-item.is-disabled {
    opacity: .35;
    pointer-events: none;
}

.mobile-arrow {
    display: none;
}

@media (max-width: 1180px) {
    .works-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

@media (max-width: 760px) {
    .page {
        padding-left: 0;
        padding-top: 74px;
    }

    .sidebar {
        width: 100%;
        height: 74px;
        right: 0;
        bottom: auto;
        flex-direction: row;
        justify-content: space-between;
        padding: 0 18px;
    }

    .side-mark {
        margin: 0;
        width: 40px;
        height: 40px;
    }

    .side-name {
        margin: 0;
        writing-mode: initial;
        transform: none;
        font-size: 10px;
        letter-spacing: .16em;
    }

    .side-nav {
        display: none;
    }

    .side-write {
        position: static;
        transform: none;
        writing-mode: initial;
        min-height: 36px;
        padding: 0 14px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        font-size: 10px;
    }

    .catalog-hero {
        min-height: auto;
        padding: 42px 22px 36px;
    }

    .catalog-title {
        font-size: clamp(58px, 19vw, 92px);
        line-height: .9;
    }

    .lead {
        margin-top: 24px;
        font-size: 16px;
    }

    .category-row {
        padding: 22px;
    }

    .works-grid {
        grid-template-columns: 1fr;
    }

    .work-card {
        min-height: auto;
    }

    .work-image {
        height: 310px;
    }

    .work-info {
        min-height: 180px;
        padding: 24px 22px 22px;
    }

    .catalog-pagination {
        padding: 34px 12px 50px;
    }

    .catalog-pagination-inner {
        justify-content: center;
        flex-wrap: nowrap;
    }

    .catalog-page-item {
        min-width: 34px;
        width: 34px;
        height: 34px;
        padding: 0;
    }

    .desktop-label {
        display: none;
    }

    .mobile-arrow {
        display: block;
        position: relative;
        width: 34px;
        height: 34px;
    }

    .mobile-arrow::before {
        content: "";
        position: absolute;
        top: 50%;
        left: 50%;
        width: 8px;
        height: 8px;
        border-top: 2px solid currentColor;
        border-left: 2px solid currentColor;
    }

    .mobile-arrow-prev::before {
        transform: translate(-38%, -50%) rotate(-45deg);
    }

    .mobile-arrow-next::before {
        transform: translate(-62%, -50%) rotate(135deg);
    }
}

/* ===== source RU style block 2 ===== */
/* LAZ FIX: не резать картины в карточках */
.work-image {
    height: auto !important;
    min-height: 360px !important;
    aspect-ratio: 4 / 3 !important;
    background: #e9e5dc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

.work-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
}

@media (max-width: 760px) {
    .work-image {
        min-height: 0 !important;
        aspect-ratio: 4 / 3 !important;
    }
}

/* ===== source RU style block 3 ===== */
/* LAZ FIX: натуральные пропорции картин в каталоге */
.work-card {
    min-height: 0 !important;
}

.work-image {
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background: #e9e5dc !important;
    display: block !important;
    overflow: hidden !important;
}

.work-image img {
    width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

.work-info {
    min-height: 210px !important;
}

@media (max-width: 760px) {
    .work-image {
        height: auto !important;
        min-height: 0 !important;
        aspect-ratio: auto !important;
    }

    .work-image img {
        width: 100% !important;
        height: auto !important;
    }

    .work-info {
        min-height: 180px !important;
    }
}

/* ===== source RU style block 4 ===== */
/* LAZ FIX: controlled artwork frame, no cropping, no masonry chaos */
.works-grid {
    align-items: stretch !important;
}

.work-card {
    min-height: 0 !important;
    height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
}

.work-image {
    height: clamp(320px, 28vw, 430px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background: #e9e5dc !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
}

.work-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
}

.work-info {
    min-height: 190px !important;
    flex: 1 0 auto !important;
}

@media (max-width: 760px) {
    .work-image {
        height: clamp(260px, 72vw, 420px) !important;
    }

    .work-info {
        min-height: 170px !important;
    }
}

/* ===== source RU style block 5 ===== */
/* LAZ FIX: full artwork fill in catalog cards */
.work-image {
    height: clamp(340px, 30vw, 460px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    background: #e9e5dc !important;
    display: block !important;
    overflow: hidden !important;
}

.work-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

.work-info {
    min-height: 190px !important;
    flex: 1 0 auto !important;
}

@media (max-width: 760px) {
    .work-image {
        height: clamp(300px, 78vw, 440px) !important;
    }

    .work-info {
        min-height: 170px !important;
    }
}

/* ===== source RU style block 6 ===== */
/* LAZ FINAL COLOR RULES */
@media (min-width: 901px) and (hover: hover) and (pointer: fine) {
    .work-card .work-image img {
        filter: grayscale(100%) !important;
        -webkit-filter: grayscale(100%) !important;
    }

    .work-card:hover .work-image img {
        filter: grayscale(0%) !important;
        -webkit-filter: grayscale(0%) !important;
    }
}

@media (max-width: 900px), (hover: none), (pointer: coarse) {
    .work-card .work-image img {
        filter: grayscale(100%) !important;
        -webkit-filter: grayscale(100%) !important;
        transition: filter .7s ease, -webkit-filter .7s ease, transform .7s ease;
    }

    .work-card.is-in-view .work-image img {
        filter: grayscale(0%) !important;
        -webkit-filter: grayscale(0%) !important;
        transform: scale(1.01);
    }
}

/* ===== source RU style block 7 ===== */
/* LAZ FORCE MOBILE COLOR START */

/* Desktop: только hover */
@media (min-width: 901px) and (hover: hover) and (pointer: fine) {
    .work-card .work-image img {
        filter: grayscale(100%) !important;
        -webkit-filter: grayscale(100%) !important;
    }

    .work-card:hover .work-image img {
        filter: grayscale(0%) !important;
        -webkit-filter: grayscale(0%) !important;
    }
}

/* Mobile: по умолчанию серое */
@media (max-width: 900px), (hover: none), (pointer: coarse) {
    .work-card .work-image img {
        filter: grayscale(100%) !important;
        -webkit-filter: grayscale(100%) !important;
        transition: filter .65s ease, -webkit-filter .65s ease, transform .65s ease;
    }

    .work-card.mobile-colored .work-image img {
        filter: grayscale(0%) !important;
        -webkit-filter: grayscale(0%) !important;
        transform: scale(1.01);
    }
}

/* LAZ FORCE MOBILE COLOR END */

/* ===== source RU style block 8 ===== */
/* LAZ DESKTOP SIDEBAR WRITE BUTTON FIX */
@media (min-width: 901px) {
    .sidebar {
        overflow: hidden !important;
    }

    .side-write {
        position: absolute !important;
        left: 50% !important;
        bottom: 28px !important;

        width: 34px !important;
        max-width: 34px !important;
        min-width: 34px !important;

        height: auto !important;
        padding: 12px 6px !important;

        transform: translateX(-50%) rotate(180deg) !important;
        writing-mode: vertical-rl !important;

        box-sizing: border-box !important;
        border-radius: 999px !important;

        text-align: center !important;
        white-space: nowrap !important;

        font-size: 10px !important;
        letter-spacing: .12em !important;
        line-height: 1 !important;
    }
}

/* ===== source RU style block 9 ===== */
/* LAZ REAL CATEGORY FILTER LINKS */
.laz-category-filters {
    position: relative !important;
    z-index: 30 !important;
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 22px 0 34px !important;
    pointer-events: auto !important;
}

.laz-category-filter {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 38px !important;
    padding: 0 16px !important;
    border: 1px solid rgba(7,14,7,.22) !important;
    border-radius: 999px !important;
    color: #071007 !important;
    background: rgba(255,255,255,.32) !important;
    font-size: 11px !important;
    letter-spacing: .09em !important;
    text-transform: uppercase !important;
    font-weight: 800 !important;
    text-decoration: none !important;
    cursor: pointer !important;
    pointer-events: auto !important;
}

.laz-category-filter.is-active {
    background: #3f7772 !important;
    color: #f8fffd !important;
    border-color: #346b66 !important;
}

@media (max-width: 900px) {
    .laz-category-filters {
        margin: 18px 0 26px !important;
        gap: 8px !important;
        flex-wrap: nowrap !important;
        overflow-x: auto !important;
        scrollbar-width: none !important;
    }

    .laz-category-filters::-webkit-scrollbar {
        display: none !important;
    }

    .laz-category-filter {
        flex: 0 0 auto !important;
        min-height: 34px !important;
        padding: 0 13px !important;
        font-size: 9px !important;
    }
}

/* LAZ FINAL HIDE OLD STATIC CATEGORY CHIPS */
.catalog-hero .category-pills,
.catalog-hero .catalog-tags,
.catalog-hero .filter-tags,
.catalog-hero .work-tags,
.catalog-hero .category-tags,
.catalog-hero .tags,
.catalog-hero .pills,
.catalog-hero .filters:not(.laz-category-filters),
.catalog-intro .category-pills,
.catalog-intro .catalog-tags,
.catalog-intro .filter-tags,
.catalog-intro .work-tags,
.catalog-intro .category-tags,
.catalog-intro .tags,
.catalog-intro .pills,
.catalog-intro .filters:not(.laz-category-filters),
.catalog-hero > div:not(.laz-category-filters):has(a[href="#"]),
.catalog-hero > div:not(.laz-category-filters):has(button),
.catalog-intro > div:not(.laz-category-filters):has(a[href="#"]),
.catalog-intro > div:not(.laz-category-filters):has(button) {
    display: none !important;
}

/* =========================================================
   LAZ FINAL CATALOG STABLE LAYER
   This block is the final source of truth for catalog layout.
   ========================================================= */

/* Filters */
.laz-category-filters {
    box-sizing: border-box !important;
}

.laz-category-filter {
    background: rgba(246, 250, 248, .94) !important;
    color: rgba(25, 36, 34, .86) !important;
    border: 1px solid rgba(63, 119, 114, .28) !important;
    box-shadow: none !important;
    text-decoration: none !important;
}

.laz-category-filter:hover {
    background: #dcecea !important;
    color: #10201e !important;
    border-color: rgba(63, 119, 114, .52) !important;
}

.laz-category-filter.is-active,
.laz-category-filter.is-active:hover {
    background: #3f7772 !important;
    color: #f8fffd !important;
    border-color: #346b66 !important;
}

/* Desktop filters position */
@media (min-width: 901px) {
    .laz-category-filters {
        margin: 32px clamp(56px, 4.5vw, 86px) 44px !important;
        width: auto !important;
        max-width: 760px !important;
        padding: 18px 0 24px !important;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 12px !important;

        border-top: 1px solid rgba(7,14,7,.06) !important;
        border-bottom: 1px solid rgba(7,14,7,.08) !important;
    }

    .laz-category-filter {
        flex: 0 0 auto !important;
    }
}

/* Mobile filters */
@media (max-width: 900px) {
    .laz-category-filters {
        margin: 18px 16px 24px !important;
        width: auto !important;
        max-width: none !important;
        padding: 14px 0 16px !important;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 8px !important;

        overflow-x: auto !important;
        overflow-y: hidden !important;
        scrollbar-width: none !important;
    }

    .laz-category-filters::-webkit-scrollbar {
        display: none !important;
    }

    .laz-category-filter {
        flex: 0 0 auto !important;
        white-space: nowrap !important;
    }
}

/* Product grid */
.works-grid {
    display: grid !important;
    gap: clamp(24px, 3vw, 44px) !important;
}

@media (min-width: 1181px) {
    .works-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 1180px) and (min-width: 761px) {
    .works-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }
}

@media (max-width: 760px) {
    .works-grid {
        grid-template-columns: 1fr !important;
    }
}

/* Product cards */
.works-grid .work-card {
    min-height: 0 !important;
    text-decoration: none !important;
}

/* Product thumbnails */
.works-grid .work-card .work-image {
    height: clamp(520px, 36vw, 620px) !important;
    min-height: 0 !important;
    aspect-ratio: auto !important;
    overflow: hidden !important;
    background: #e9e5dc !important;
}

.works-grid .work-card .work-image img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
    display: block !important;
}

@media (max-width: 1180px) {
    .works-grid .work-card .work-image {
        height: clamp(440px, 48vw, 560px) !important;
    }
}

@media (max-width: 760px) {
    .works-grid .work-card .work-image {
        height: clamp(360px, 92vw, 520px) !important;
    }
}

/* LAZ FINAL RESULTS COUNT POSITION */
@media (min-width: 901px) {
    .laz-results-count {
        max-width: 760px !important;
        margin: -28px clamp(56px, 4.5vw, 86px) 30px !important;
        width: auto !important;

        font-size: 11px !important;
        letter-spacing: .12em !important;
        color: rgba(7,14,7,.48) !important;
    }
}

@media (max-width: 900px) {
    .laz-results-count {
        width: calc(100% - 32px) !important;
        margin: -12px auto 20px !important;

        font-size: 10px !important;
        letter-spacing: .10em !important;
        color: rgba(7,14,7,.48) !important;
    }
}


/* LAZ CATALOG USE EXISTING LANGUAGE SWITCH STYLE */
.lang-switch {
    position: fixed !important;
    right: 22px !important;
    top: 22px !important;
    z-index: 120 !important;

    display: flex !important;
    gap: 6px !important;
    padding: 6px !important;

    background: rgba(255,255,255,.72) !important;
    border: 1px solid rgba(17,17,17,.12) !important;
    backdrop-filter: blur(14px) !important;
    box-shadow: 0 12px 34px rgba(0,0,0,.10) !important;
}

.lang-switch a {
    min-width: 42px !important;
    height: 34px !important;

    display: grid !important;
    place-items: center !important;

    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;

    color: #315b57 !important;
    border: 1px solid transparent !important;
    text-decoration: none !important;
}

.lang-switch a.is-active {
    background: #3f7772 !important;
    color: #f8fffd !important;
    border-color: #346b66 !important;
}

@media (max-width: 760px) {
    .lang-switch {
        right: 12px !important;
        top: 78px !important;
    }
}

/* LAZ FINAL CATALOG HERO TITLE SIZE RU/EN */
.catalog-hero h1,
.catalog-title,
.page-title {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    line-height: .82 !important;
    letter-spacing: -0.055em !important;
    font-weight: 700 !important;
}

/* English catalog title */
html[lang="en"] .catalog-hero h1,
html[lang="en"] .catalog-title,
html[lang="en"] .page-title {
    font-size: clamp(92px, 8vw, 158px) !important;
    max-width: 720px !important;
}

/* Russian catalog title — smaller because Cyrillic is visually heavier */
html[lang="ru"] .catalog-hero h1,
html[lang="ru"] .catalog-title,
html[lang="ru"] .page-title {
    font-size: clamp(78px, 6.6vw, 132px) !important;
    line-height: .86 !important;
    max-width: 660px !important;
}

/* fallback if html lang is not detected */
body:not(.en) .catalog-hero h1 {
    font-size: clamp(78px, 6.6vw, 132px) !important;
    line-height: .86 !important;
}

@media (max-width: 900px) {
    html[lang="en"] .catalog-hero h1,
    html[lang="en"] .catalog-title,
    html[lang="en"] .page-title {
        font-size: clamp(58px, 15vw, 92px) !important;
        line-height: .86 !important;
    }

    html[lang="ru"] .catalog-hero h1,
    html[lang="ru"] .catalog-title,
    html[lang="ru"] .page-title,
    body:not(.en) .catalog-hero h1 {
        font-size: clamp(50px, 13vw, 76px) !important;
        line-height: .9 !important;
    }
}

/* LAZ FINAL CATALOG TITLE THINNER FIX */
.catalog-hero h1,
.catalog-title,
.page-title {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.045em !important;
    line-height: .88 !important;
}

/* RU title — thinner and a little smaller */
html[lang="ru"] .catalog-hero h1,
html[lang="ru"] .catalog-title,
html[lang="ru"] .page-title,
body:not(.en) .catalog-hero h1 {
    font-size: clamp(70px, 5.8vw, 116px) !important;
    font-weight: 400 !important;
    line-height: .9 !important;
}

/* EN title */
html[lang="en"] .catalog-hero h1,
html[lang="en"] .catalog-title,
html[lang="en"] .page-title {
    font-size: clamp(76px, 6.4vw, 126px) !important;
    font-weight: 400 !important;
    line-height: .88 !important;
}

@media (max-width: 900px) {
    html[lang="ru"] .catalog-hero h1,
    html[lang="ru"] .catalog-title,
    html[lang="ru"] .page-title,
    body:not(.en) .catalog-hero h1 {
        font-size: clamp(46px, 12vw, 68px) !important;
        font-weight: 400 !important;
        line-height: .94 !important;
    }

    html[lang="en"] .catalog-hero h1,
    html[lang="en"] .catalog-title,
    html[lang="en"] .page-title {
        font-size: clamp(52px, 13vw, 76px) !important;
        font-weight: 400 !important;
        line-height: .92 !important;
    }
}

/* LAZ FINAL CATALOG TITLE SMALL SIZE FIX */
.catalog-hero h1,
.catalog-title,
.page-title,
html[lang="ru"] .catalog-hero h1,
html[lang="ru"] .catalog-title,
html[lang="ru"] .page-title,
html[lang="en"] .catalog-hero h1,
html[lang="en"] .catalog-title,
html[lang="en"] .page-title,
body:not(.en) .catalog-hero h1 {
    font-family: "Cormorant Garamond", Georgia, serif !important;
    font-weight: 400 !important;
    letter-spacing: -0.035em !important;
    line-height: .94 !important;
}

/* RU: smaller */
html[lang="ru"] .catalog-hero h1,
html[lang="ru"] .catalog-title,
html[lang="ru"] .page-title,
body:not(.en) .catalog-hero h1 {
    font-size: clamp(52px, 4.4vw, 86px) !important;
    max-width: 560px !important;
}

/* EN: slightly larger than RU, but not huge */
html[lang="en"] .catalog-hero h1,
html[lang="en"] .catalog-title,
html[lang="en"] .page-title {
    font-size: clamp(58px, 4.9vw, 96px) !important;
    max-width: 580px !important;
}

@media (max-width: 900px) {
    html[lang="ru"] .catalog-hero h1,
    html[lang="ru"] .catalog-title,
    html[lang="ru"] .page-title,
    body:not(.en) .catalog-hero h1 {
        font-size: clamp(40px, 10vw, 56px) !important;
        line-height: .98 !important;
    }

    html[lang="en"] .catalog-hero h1,
    html[lang="en"] .catalog-title,
    html[lang="en"] .page-title {
        font-size: clamp(44px, 11vw, 62px) !important;
        line-height: .96 !important;
    }
}

/* LAZ FINAL CATALOG TITLE SIZE BY BODY LANG */
body.catalog-ru .catalog-hero h1,
body.catalog-ru .catalog-title,
body.catalog-ru .page-title {
    font-size: clamp(46px, 3.8vw, 74px) !important;
    font-weight: 400 !important;
    line-height: .98 !important;
    letter-spacing: -0.03em !important;
    max-width: 540px !important;
}

body.catalog-en .catalog-hero h1,
body.catalog-en .catalog-title,
body.catalog-en .page-title {
    font-size: clamp(50px, 4.2vw, 82px) !important;
    font-weight: 400 !important;
    line-height: .96 !important;
    letter-spacing: -0.032em !important;
    max-width: 560px !important;
}

@media (max-width: 900px) {
    body.catalog-ru .catalog-hero h1,
    body.catalog-ru .catalog-title,
    body.catalog-ru .page-title {
        font-size: clamp(38px, 9vw, 52px) !important;
    }

    body.catalog-en .catalog-hero h1,
    body.catalog-en .catalog-title,
    body.catalog-en .page-title {
        font-size: clamp(40px, 10vw, 56px) !important;
    }
}

/* LAZ FINAL MOBILE FILTERS NO OVERFLOW */
@media (max-width: 900px) {
    .laz-category-filters {
        width: calc(100vw - 32px) !important;
        max-width: calc(100vw - 32px) !important;
        margin-left: 16px !important;
        margin-right: 16px !important;
        box-sizing: border-box !important;

        display: flex !important;
        flex-direction: row !important;
        flex-wrap: wrap !important;
        align-items: center !important;
        justify-content: flex-start !important;

        gap: 8px !important;

        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    .laz-category-filter {
        flex: 0 1 auto !important;
        max-width: 100% !important;

        min-height: 32px !important;
        padding: 0 12px !important;

        font-size: 8px !important;
        letter-spacing: .055em !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }
}



/* LAZ FINAL CATALOG PREVIEW ZOOM FROM ADMIN */
.works-grid .work-card .work-image {
    overflow: hidden !important;
    background: #f7f4ef !important;
}

.works-grid .work-card .work-image img {
    width: 100% !important;
    height: 100% !important;

    object-fit: cover !important;
    object-position: var(--preview-position, center center) !important;

    transform: scale(var(--preview-zoom, 1)) !important;
    transform-origin: center center !important;

    display: block !important;

    filter: grayscale(100%) saturate(0.1) contrast(0.96) brightness(0.98) !important;
    transition:
        filter .45s ease,
        transform .45s ease !important;
}

.works-grid .work-card:hover .work-image img {
    filter: grayscale(0%) saturate(1.08) contrast(1) brightness(1) !important;
}

/* На телефонах цвет появляется при касании */
@media (hover: none) {
    .works-grid .work-card:active .work-image img {
        filter: grayscale(0%) saturate(1.08) contrast(1) brightness(1) !important;
    }
}
