/*
===============================================================================
 FILE: /css/solutions.css
 VERSION: 2.1
 PROJECT: ОКНА ORIGINAL — SOLUTIONS ENGINE
 DATE: 2026-09-06
 CHANGES v2.1:
 - каталог перестроен как набор независимых секций;
 - .catalog-page-shell задаёт общие внешние границы;
 - .catalog-products-section содержит ТОЛЬКО фильтры и товары;
 - .catalog-solutions-section — следующий sibling-блок, не часть product grid;
 - sticky filters ограничены нижней границей product section.

 CHANGES v2.0:
 - очищены накопившиеся правила компоновки каталога v1.3–v1.8;
 - удалены устаревшие fullwidth/catalog-page-frame правила и лишние скобки;
 - каталог и подборки используют одну CSS Grid: 280px фильтр + товары;
 - блок подборок занимает обе колонки этой же сетки;
 - две карточки на desktop, одна колонка ниже 900px.
===============================================================================
*/

.solutions-page{padding:0 0 2rem}
.solutions-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1.5rem;padding:1.15rem 0 .95rem}
.solutions-intro__copy{max-width:850px}.solutions-intro__copy h1{margin:.15rem 0 .6rem}.solutions-intro__copy p{max-width:820px;color:var(--text-light);line-height:1.6}
.solutions-hero__eyebrow{display:inline-flex;align-items:center;gap:.45rem;color:var(--text-light);font-size:.75rem;letter-spacing:.12em;text-transform:uppercase}.solutions-hero__eyebrow::before{content:"";width:24px;height:1px;background:currentColor}
.solutions-intro__actions{display:flex;flex-wrap:wrap;gap:.65rem;flex:0 0 auto}

.solutions-chips{position:relative;display:flex;gap:.5rem;overflow-x:auto;padding:.35rem 0 1rem;margin-bottom:.3rem;scrollbar-width:thin;scroll-padding-inline:10px}
.solutions-chips a{flex:0 0 auto;display:inline-flex;align-items:center;min-height:38px;padding:.55rem .85rem;border:1px solid #d6e1e5;border-radius:999px;background:#fff;color:#45616e;text-decoration:none;font-size:.82rem;white-space:nowrap;transition:background .16s,border-color .16s,color .16s,transform .16s}
.solutions-chips a:hover{background:#f2f7f8;border-color:#9bb7c1;color:#2f5966;transform:translateY(-1px)}

.solutions-grid{display:grid;grid-template-columns:1fr;gap:1.25rem}
.solutions-card{scroll-margin-top:94px;background:#fff;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow);overflow:hidden}
.solutions-card__top{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.75fr);align-items:stretch;border-bottom:1px solid var(--border)}
.solutions-card__image{min-width:0;background:#f5f8fa;border-right:1px solid var(--border);display:flex;align-items:center;justify-content:center}
.solutions-card__image img{display:block;width:100%;height:100%;min-height:360px;max-height:510px;object-fit:cover;object-position:center;background:#f5f8fa}
.solutions-card--approved-graphic .solutions-card__image img{object-fit:cover;object-position:center}

.solutions-card__intro{position:relative;padding:1.35rem 1.35rem 1.2rem;display:flex;flex-direction:column;justify-content:center;min-width:0}
.solutions-card__number{position:absolute;top:1rem;right:1rem;width:38px;height:38px;display:grid;place-items:center;border-radius:50%;background:#eef3ef;color:#48604f;font-size:1rem;font-weight:500}
.solutions-card__badges{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 3rem .7rem 0}
.solutions-card__badges span{display:inline-flex;padding:.27rem .62rem;border:1px solid #dce6e2;border-radius:999px;background:#f3f7f4;color:#4e6656;font-size:.73rem}
.solutions-card__intro h2{margin:0 0 .35rem;font-size:clamp(1.4rem,2.3vw,2rem);line-height:1.15}
.solutions-card__subtitle{font-size:.95rem;color:#4f6473;margin-bottom:.65rem}
.solutions-card__summary{margin:0;color:var(--text-light);line-height:1.6}
.solutions-card__hint{margin:.9rem 0 0;padding:.8rem .9rem;border-left:3px solid #9ab7a3;border-radius:0 10px 10px 0;background:#f7faf8;color:#66786d;font-size:.85rem;line-height:1.5}

.solutions-card__body{padding:1rem 1.25rem 1.2rem}
.solutions-card__meta{display:grid;grid-template-columns:160px 160px minmax(220px,1fr);gap:.7rem;margin-bottom:.85rem}
.solutions-card__meta-item{padding:.7rem .85rem;border:1px solid var(--border-light);border-radius:14px;background:#fbfdff}
.solutions-card__meta-item small{display:block;margin-bottom:.15rem;color:var(--text-light);font-size:.72rem}
.solutions-card__meta-item strong{font-weight:500;color:var(--heading-color)}
.solutions-card__meta-item--price{background:#f7faf8;border-color:#dce8df}.solutions-card__meta-item--price strong{font-size:1.05rem}
.solutions-card__actions{display:flex;flex-wrap:wrap;gap:.65rem;margin-bottom:.9rem}

.solutions-card__details{border-top:1px solid var(--border);padding-top:.85rem}
.solutions-card__details summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:.6rem;font-weight:500;color:#3d5562}
.solutions-card__details summary::-webkit-details-marker{display:none}.solutions-card__details summary::after{content:"+";font-size:1.15rem;color:#69808b}.solutions-card__details[open] summary::after{content:"−"}
.solution-items-note,.solution-disclaimer{margin:.85rem 0 0;color:var(--text-light);line-height:1.55}
.solution-items{display:grid;gap:.65rem;margin-top:.8rem}
.solution-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.8rem;align-items:start;padding:.8rem .9rem;border:1px solid var(--border-light);border-radius:14px;background:#f9fbfd}
.solution-item__title{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem;margin-bottom:.25rem}.solution-item__title strong{font-weight:500}.solution-item__role{display:inline-flex;padding:.18rem .48rem;border:1px solid var(--border-light);border-radius:999px;background:#eef5fb;color:#4c6178;font-size:.72rem}
.solution-item__props{display:flex;flex-wrap:wrap;gap:.3rem .65rem;color:var(--text-light);font-size:.84rem}.solution-item__aside{min-width:138px;text-align:right}.solution-item__aside strong{display:block;font-weight:500;color:var(--heading-color)}.solution-item__aside a{font-size:.82rem;color:var(--primary);text-decoration:none}.solution-item__aside a:hover{text-decoration:underline}

.solutions-cta{margin-top:1.35rem;padding:1.25rem 1.4rem;border-radius:22px;background:linear-gradient(135deg,#12304a 0%,#1c4b71 100%);color:#fff;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;box-shadow:0 18px 44px rgba(16,42,67,.18)}
.solutions-cta h2{margin:0 0 .35rem;color:#fff}.solutions-cta p{margin:0;color:rgba(255,255,255,.82)}.solutions-cta__actions{display:flex;flex-wrap:wrap;gap:.7rem}.solutions-cta .btn-secondary{background:rgba(255,255,255,.08);color:#fff;border-color:rgba(255,255,255,.3)}

/* ==========================================================================
   CATALOG + SOLUTIONS — ОДНА СЕТКА, ОДНИ ГРАНИЦЫ
   ========================================================================== */

.catalog-page-shell{
    box-sizing:border-box;
    width:100%;
    padding-inline:clamp(18px,1.8vw,34px);
}

/* СЕКЦИЯ 1: фильтры + товары. Это единый самостоятельный блок. */
.catalog-products-section{
    position:relative;
    width:100%;
    min-width:0;
}

.catalog-products-grid{
    display:grid;
    grid-template-columns:280px minmax(0,1fr);
    column-gap:2rem;
    align-items:start;
    width:100%;
    min-width:0;
}

/* Toggle относится только к товарной секции. */
.catalog-filters-toggle-wrap{
    display:none;
}

.catalog-products-grid > .filters-sidebar{
    grid-column:1;
    min-width:0;
}

/* Sticky-фильтр не должен визуально жить за пределами своей секции. */
.catalog-products-section .filters-sidebar{
    align-self:start;
}

.catalog-products-grid > .catalog-content{
    grid-column:2;
    min-width:0;
}

/* СЕКЦИЯ 2: готовые решения — независимый sibling секции товаров. */
.catalog-solutions-section{
    width:100%;
    min-width:0;
    margin:2rem 0 0;
    padding:0;
}

.catalog-solutions-section__head{
    display:flex;
    align-items:flex-end;
    justify-content:space-between;
    gap:1.25rem;
    margin:0 0 1rem;
    padding:0;
}

.catalog-solutions-section__head > div{max-width:900px}
.catalog-solutions-section__head h2{margin:.15rem 0 .4rem}
.catalog-solutions-section__head p{margin:0;color:var(--text-light);line-height:1.55}

.catalog-solutions-section__eyebrow{
    display:inline-flex;
    align-items:center;
    gap:.4rem;
    margin-bottom:.4rem;
    color:var(--text-light);
    font-size:.75rem;
    letter-spacing:.12em;
    text-transform:uppercase;
}
.catalog-solutions-section__eyebrow::before{
    content:"";
    width:24px;
    height:1px;
    background:currentColor;
}

.catalog-solutions-section__grid{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:1.15rem;
}

.catalog-solutions-card{
    min-width:0;
    display:flex;
    flex-direction:column;
    gap:.65rem;
    margin:0;
    padding:.9rem;
    overflow:hidden;
    background:#fff;
    border:1px solid var(--border);
    border-radius:22px;
    box-shadow:var(--shadow);
}

.catalog-solutions-card__image{
    width:100%;
    aspect-ratio:16 / 9;
    min-height:0;
    overflow:hidden;
    background:#f5f8fa;
    border:1px solid var(--border-light);
    border-radius:15px;
}
.catalog-solutions-card__image img{
    display:block;
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center;
}

.catalog-solutions-card__badges{display:flex;flex-wrap:wrap;gap:.35rem}
.catalog-solutions-card__badges span{
    display:inline-flex;
    padding:.22rem .5rem;
    background:#f3f7f4;
    border:1px solid #dce6e2;
    border-radius:999px;
    color:#4e6656;
    font-size:.69rem;
}
.catalog-solutions-card__subtitle{color:#4f6473;font-size:.87rem}
.catalog-solutions-card__summary{color:var(--text-light);font-size:.85rem;line-height:1.5}

.catalog-solutions-card__meta{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:.45rem;
}
.catalog-solutions-card__meta-item{
    padding:.55rem;
    background:#fbfdff;
    border:1px solid var(--border-light);
    border-radius:12px;
}
.catalog-solutions-card__meta-item small{display:block;color:var(--text-light);font-size:.68rem}
.catalog-solutions-card__meta-item strong{font-size:.82rem;font-weight:500}
.catalog-solutions-card__actions{display:grid;gap:.45rem;margin-top:auto}

/* Dedicated /catalog/solutions/ responsive */
@media(max-width:1180px){
    .solutions-card__top{grid-template-columns:1fr}
    .solutions-card__image{border-right:0;border-bottom:1px solid var(--border)}
    .solutions-card__image img{
        min-height:0;
        max-height:none;
        aspect-ratio:16/9;
        object-fit:cover;
    }
}

@media(max-width:900px){
    .catalog-solutions-section__head{
        align-items:flex-start;
        flex-direction:column;
        gap:.75rem;
    }
    .catalog-solutions-section__grid{grid-template-columns:1fr}
}

@media(max-width:768px){
    .catalog-page-shell{
        padding-inline:12px;
    }

    .catalog-products-grid{
        display:block;
    }

    .catalog-filters-toggle-wrap{
        display:block;
        text-align:center;
    }
    .solutions-intro{
        align-items:flex-start;
        flex-direction:column;
    }
    .solutions-card__meta{grid-template-columns:repeat(3,minmax(0,1fr))}
    .solutions-cta{grid-template-columns:1fr}
}

@media(max-width:620px){
    .solutions-card{border-radius:18px}
    .solutions-card__intro,.solutions-card__body{padding:1rem}
    .solutions-card__meta,.catalog-solutions-card__meta{grid-template-columns:1fr}
    .solutions-card__actions{display:grid}
    .solutions-card__actions .btn{width:100%}
    .solution-item{grid-template-columns:1fr}
    .solution-item__aside{min-width:0;text-align:left}
    .solutions-cta{padding:1rem;border-radius:18px}
    .catalog-solutions-section{margin-top:1.4rem}
    .catalog-solutions-card{border-radius:18px}
}
