/* Catalog composition */
.catalog-hero{background:linear-gradient(90deg,#173e36f5,#173e36c4 50%,#173e3626),url('/static/img/hero-catalog-v2.webp') center/cover;padding:90px 24px;text-align:left;color:#fffdf3}.catalog-hero>.container{max-width:1260px}.catalog-hero .story-label{color:#d7caa5}.catalog-hero h1{font-family:Georgia,serif;font-size:clamp(38px,5.3vw,72px);font-weight:400;line-height:1.08;letter-spacing:-.04em;margin:20px 0 26px;color:#fffdf3}.catalog-hero h1 em{color:#ddd1af;font-weight:400}.catalog-hero .catalog-lead{margin:0;max-width:560px;color:#e0e5d9;font-size:15px;line-height:1.8}.catalog-section{padding:64px 24px;background:#f7f6f0}.catalog-editorial-head{max-width:1260px;margin:0 auto 32px;text-align:left}.catalog-editorial-head h2{font-family:Georgia,serif;font-size:clamp(30px,3.3vw,44px);font-weight:400;letter-spacing:-.03em;margin:12px 0}.catalog-editorial-head p{max-width:680px;font-size:14px;line-height:1.8;color:#657369}.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;max-width:1260px}.catalog-grid .catalog-card{padding:0;overflow:hidden;border:1px solid #d9ded2;border-radius:14px;background:#fffefb;box-shadow:none;transform:none}.catalog-card>a{display:flex;flex-direction:column;height:100%;color:#233f36;text-decoration:none}.catalog-card .catalog-card-media{position:relative;height:auto;aspect-ratio:16/10;overflow:hidden}.catalog-card-media img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .7s cubic-bezier(.2,.75,.2,1)}.catalog-card:hover .catalog-card-media img{transform:scale(1.04)}.catalog-card-index{position:absolute;left:18px;top:18px;color:#fff;background:#1c352cbf;border:1px solid #ffffff55;border-radius:50%;width:40px;height:40px;display:grid;place-items:center;font-size:12px}.catalog-card .catalog-card-content{padding:26px;display:grid;grid-template-columns:1fr auto;align-items:baseline;gap:12px}.catalog-card .catalog-card-content h2{font-family:Georgia,serif;font-weight:400;font-size:32px;margin:0;letter-spacing:-.03em}.catalog-card-count{font-size:11px;color:#6f7a69}.catalog-card .catalog-card-content p{grid-column:1/-1;font-size:13px;line-height:1.7;margin:0;color:#667365}.catalog-card .catalog-cta{grid-column:1/-1;display:block;border-top:1px solid #e1e3d8;padding-top:16px;margin-top:4px;font-size:11px;letter-spacing:.07em;color:#4e6248}.catalog-card>a:focus-visible{outline:3px solid #a48443;outline-offset:-4px}.category-products-section{background:#f7f6f0}.category-products-section .container{max-width:1360px}.catalog-selection-layout{display:grid;grid-template-columns:270px minmax(0,1fr);gap:32px;align-items:start}.catalog-selection-layout>[data-catalog-grid-shell]{display:block;margin:0;min-width:0}.catalog-selection-layout .catalog-product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.catalog-product-grid__empty{grid-column:1/-1;background:#fffdf8;border:1px solid #deded2;border-radius:14px;padding:48px 24px;text-align:center}.catalog-product-grid__empty strong,.catalog-product-grid__empty span{display:block;margin:8px 0}.catalog-product-grid__empty span{font-size:14px;color:#667365}
.collection-filters{background:#fffefb;border:1px solid #dcded2;border-radius:14px;padding:22px;color:#283e35;min-width:0}.collection-filters__head{display:flex;justify-content:space-between;gap:10px;align-items:center;padding-bottom:16px}.collection-filters__head small{display:block;font-size:9px;letter-spacing:.13em;text-transform:uppercase;color:#7a816d;margin-bottom:7px}.collection-filters__head strong{font-family:Georgia,serif;font-size:27px;font-weight:400}.collection-filters__reset{border:0;background:transparent;color:#6f735f;text-decoration:underline;text-underline-offset:4px;font-size:11px;cursor:pointer;min-height:44px}.collection-filters__disclosure>summary{display:flex;justify-content:space-between;align-items:center;list-style:none;cursor:pointer;min-height:44px;border-top:1px solid #e3e4db;font-size:11px;color:#5b6a57}.collection-filters__disclosure>summary::-webkit-details-marker{display:none}.collection-filters__disclosure[open]>summary span{transform:rotate(45deg)}.collection-filter{border:0;margin:0;padding:18px 0;min-width:0;border-bottom:1px solid #e3e4db}.collection-filter__title{font-size:10px;letter-spacing:.09em;text-transform:uppercase;font-weight:650;margin-bottom:12px}.collection-filter__range{display:flex;align-items:center;gap:8px}.collection-filter__range label{display:block;min-width:0;flex:1}.collection-filter__range label>span{font-size:10px;display:block;color:#7a816d;margin-bottom:5px}.collection-filter__range input{box-sizing:border-box;width:100%;min-width:0;height:44px;border:1px solid #d6dbcd;border-radius:7px;background:#f9faf5;color:#273e34;padding:9px;font-size:13px}.collection-filter__range i{width:8px;height:1px;background:#d6dbcd;margin-top:15px}.collection-filter__options,.collection-filter__flags{display:grid;gap:4px}.collection-filter__option,.collection-filter__flag{display:flex;align-items:center;gap:10px;min-height:44px;font-size:12px;cursor:pointer;border-radius:7px;padding:5px 7px;margin:0 -7px}.collection-filter__option:hover,.collection-filter__flag:hover{background:#f0f3e9}.collection-filter input[type=checkbox]{appearance:auto;position:static;opacity:1;width:16px;height:16px;flex:0 0 16px;accent-color:#3b5a43;margin:0}.collection-filter__check{display:none}.collection-filter__label,.collection-filter__flag>span{flex:1;line-height:1.5}.collection-filter__option small,.collection-filter__flag small{margin-left:auto;color:#77816d;min-width:22px;text-align:center;font-size:10px;background:#f0f1e9;border-radius:4px;padding:3px}.collection-filter .is-disabled{opacity:.4;cursor:not-allowed}.collection-filter label:has(input:checked){background:#edf2e5;color:#2b5035}.collection-filters__apply{width:100%;min-height:44px;border:1px solid #2f4939;background:#2f4939;color:#fff;border-radius:8px;margin-top:18px;cursor:pointer;font-size:12px}.collection-filters :is(input,button,summary):focus-visible{outline:3px solid #a48443;outline-offset:3px}.collection-filters.is-loading{opacity:.65}.collection-filters__status{font-size:11px;line-height:1.6;color:#63725c;margin:12px 0 0}.catalog-selection-layout [aria-busy=true]{opacity:.6}
@media(max-width:1200px){.catalog-selection-layout{grid-template-columns:235px minmax(0,1fr);gap:24px}.catalog-selection-layout .catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.collection-filters{padding:18px}}
@media(max-width:760px){.catalog-selection-layout{grid-template-columns:1fr;gap:24px}.catalog-hero{padding:55px 20px}.catalog-section{padding:40px 20px}.catalog-grid{grid-template-columns:1fr;gap:22px}.catalog-card .catalog-card-content{padding:22px}.collection-filters{padding:14px 18px}.collection-filters__head{padding-bottom:4px}.collection-filters__body{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 22px}.catalog-selection-layout .catalog-product-grid{gap:14px}.category-products-section{padding-top:36px}}
@media(max-width:480px){.catalog-selection-layout .catalog-product-grid{grid-template-columns:1fr}.collection-filters__body{grid-template-columns:1fr}.catalog-card .catalog-card-content h2{font-size:27px}}
@media(prefers-reduced-motion:reduce){.catalog-card-media img{transition:none}.catalog-card:hover .catalog-card-media img{transform:none}}


/* ============================================================
   YETI³ CATEGORY · COLLECTION / FILTERS / PRODUCTS
   ============================================================ */

.category-products-section .catalog-selection-layout {
    display: grid !important;

    grid-template-columns:
        minmax(240px, 290px)
        minmax(0, 1fr) !important;

    gap:
        clamp(34px, 4vw, 64px) !important;

    align-items:
        start !important;
}


/* LEFT */

.category-products-filters {
    min-width: 0;
}

.category-products-filters > .story-label {
    margin:
        0 0 18px !important;
}


/*
 * Фильтры идут непосредственно
 * под "Коллекция раздела".
 */
.category-products-filters .collection-filters {
    margin:
        0 !important;
}


/* RIGHT */

.category-products-main {
    min-width: 0;
}

.category-products-main .category-products-head {
    margin:
        0 0 28px !important;

    padding:
        0 !important;
}

.category-products-main .category-products-head h2 {
    margin:
        0 0 10px !important;
}

.category-products-main .category-products-head p {
    max-width:
        760px;

    margin:
        0 !important;
}


/*
 * Product grid stays underneath its heading,
 * not underneath filters.
 */
.category-products-main > [data-catalog-grid-shell] {
    width:
        100% !important;

    min-width:
        0 !important;

    margin:
        0 !important;
}


/* MOBILE */

@media (max-width: 820px) {

    .category-products-section .catalog-selection-layout {
        grid-template-columns:
            1fr !important;

        gap:
            30px !important;
    }

    .category-products-filters {
        order:
            2;
    }

    .category-products-main {
        order:
            1;
    }

    .category-products-main .category-products-head {
        margin-bottom:
            22px !important;
    }
}


/* ============================================================
   YETI³ CATEGORY · FINAL
   Filters left / products right
   ============================================================ */

.category-products-section .catalog-selection-layout {
    display: grid;

    grid-template-columns:
        minmax(240px, 290px)
        minmax(0, 1fr);

    column-gap:
        clamp(34px, 4vw, 64px);

    align-items: start;
}


/* LEFT */

.category-products-filters {
    min-width: 0;
}

.category-products-filters > .story-label {
    margin:
        0 0 12px;
}

.category-products-filters .collection-filters {
    position: static;

    width: 100%;

    margin: 0;
}


/* RIGHT */

.category-products-main {
    min-width: 0;
}

.category-products-main .category-products-head {
    margin:
        0 0 28px;

    padding:
        0;
}

.category-products-main .category-products-head h2 {
    margin:
        0 0 10px;
}

.category-products-main .category-products-head p {
    margin:
        0;

    max-width:
        760px;
}


/*
 * ВАЖНО:
 * product grid и workshop-card здесь намеренно
 * вообще не стилизуются.
 */


/* MOBILE */

@media (max-width: 760px) {

    .category-products-section
    .catalog-selection-layout {
        grid-template-columns:
            1fr;

        gap:
            28px;
    }

    .category-products-main {
        order: 1;
    }

    .category-products-filters {
        order: 2;
    }
}


/* ============================================================
   YETI³ CATALOG · MINI CARDS
   Только карточки внутри каталога.
   ============================================================ */


/* ============================================================
   YETI³ CATEGORY · OUTER LAYOUT ONLY

   workshop-card внутри каталога намеренно НЕ стилизуется.
   Используется тот же компонент, что на главной.
   ============================================================ */

.category-products-section .catalog-selection-layout {
    display: grid;
    grid-template-columns: 270px minmax(0, 1fr);
    gap: 32px;
    align-items: start;
    width: 100%;
    min-width: 0;
}

.category-products-section .collection-filters {
    width: 100%;
    min-width: 0;
}

.category-products-section .category-products-main {
    display: block;
    width: 100%;
    min-width: 0;
    max-width: none;
}

.category-products-section .catalog-product-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 20px;

    width: 100%;
    min-width: 0;
    max-width: none;

    align-items: stretch;
}


/* ВАЖНО:
   Никаких .workshop-card__media,
   .workshop-card__content,
   .workshop-card__title и т.д. здесь нет.
*/


@media (max-width: 1200px) {

    .category-products-section .catalog-selection-layout {
        grid-template-columns: 235px minmax(0, 1fr);
        gap: 24px;
    }

    .category-products-section .catalog-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


@media (max-width: 760px) {

    .category-products-section .catalog-selection-layout {
        grid-template-columns: minmax(0, 1fr);
    }

    .category-products-section .catalog-product-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }
}


@media (max-width: 480px) {

    .category-products-section .catalog-product-grid {
        grid-template-columns: minmax(0, 1fr);
    }
}


/* ============================================================
   YETI³ CATEGORY · GRID SHELL CORRECTION
   Внутренности workshop-card НЕ трогаются.
   ============================================================ */

.category-products-section .category-products-main {
    min-width: 0;
    width: 100%;
}

.category-products-section .category-products-grid-shell {
    display: block;

    width: 100%;
    min-width: 0;
    max-width: none;

    margin: 0;
    padding: 0;
}

.category-products-section
.category-products-grid-shell
.catalog-product-grid {
    display: grid;

    width: 100%;
    min-width: 0;
    max-width: none;

    grid-template-columns:
        repeat(3, minmax(0, 1fr));

    gap: 20px;

    align-items: stretch;
}

@media (max-width: 1200px) {
    .category-products-section
    .category-products-grid-shell
    .catalog-product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 480px) {
    .category-products-section
    .category-products-grid-shell
    .catalog-product-grid {
        grid-template-columns: 1fr;
    }
}


/* ============================================================
   CATEGORY PAGE · COLUMN WIDTH HARD FIX
   Только внешняя геометрия каталога.
   workshop-card НЕ стилизуем.
   ============================================================ */

.category-products-section > .container {
    width: min(1360px, calc(100% - 48px)) !important;
    max-width: 1360px !important;
    margin-inline: auto !important;
}


/* Фильтры | товары */

.category-products-section .catalog-selection-layout {
    display: grid !important;

    grid-template-columns:
        270px minmax(0, 1fr) !important;

    column-gap: 32px !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    align-items: start !important;
}


/*
 * КРИТИЧНО.
 * Правая колонка должна занять второй grid-track,
 * а не рассчитывать ширину от содержимого.
 */

.category-products-section
.catalog-selection-layout > .category-products-main {
    grid-column: 2 / 3 !important;

    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    justify-self: stretch !important;
}


/* Оболочка непосредственно вокруг product_grid.html */

.category-products-section
[data-catalog-grid-shell] {
    display: block !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    margin: 0 !important;
}


/*
 * Единственная сетка изделий.
 * При одном товаре он занимает нормальную колонку,
 * а не схлопывается по ширине контента.
 */

.category-products-section
.catalog-product-grid {
    display: grid !important;

    grid-template-columns:
        repeat(3, minmax(240px, 1fr)) !important;

    gap: 20px !important;

    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;

    justify-content: stretch !important;
    align-items: stretch !important;
}


/* Сам grid-item получает ширину своей колонки.
   Внутренности карточки НЕ трогаем. */

.category-products-section
.catalog-product-grid > * {
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
}


@media (max-width: 1200px) {

    .category-products-section .catalog-selection-layout {
        grid-template-columns:
            235px minmax(0, 1fr) !important;

        column-gap: 24px !important;
    }

    .category-products-section .catalog-product-grid {
        grid-template-columns:
            repeat(2, minmax(230px, 1fr)) !important;
    }
}


@media (max-width: 760px) {

    .category-products-section > .container {
        width: calc(100% - 28px) !important;
    }

    .category-products-section .catalog-selection-layout {
        grid-template-columns:
            minmax(0, 1fr) !important;

        row-gap: 22px !important;
    }

    .category-products-section
    .catalog-selection-layout > .category-products-main {
        grid-column: 1 !important;
    }

    .category-products-section .catalog-product-grid {
        grid-template-columns:
            repeat(2, minmax(0, 1fr)) !important;
    }
}


@media (max-width: 480px) {

    .category-products-section .catalog-product-grid {
        grid-template-columns:
            minmax(0, 1fr) !important;
    }
}
