.catalog-hero { padding: 78px 0 110px; background: radial-gradient(circle at 85% 25%,rgba(255,121,0,.18),transparent 34%),linear-gradient(120deg,#151515,#24211e); color: #fff; }
.catalog-hero__eyebrow { margin: 0 0 14px; color: var(--color-orange); font-size: .68rem; font-weight: 900; letter-spacing: .35em; }
.catalog-hero h1 { max-width: 800px; margin: 0 0 18px; font-size: clamp(2.7rem,6vw,5.5rem); line-height: .95; letter-spacing: -.06em; }
.catalog-hero p:last-child { max-width: 650px; margin: 0; color: rgba(255,255,255,.75); line-height: 1.7; }
.catalog-page { position: relative; padding: 0 0 80px; margin-top: -42px; }
.catalog-filters { display: grid; grid-template-columns: minmax(260px,1.4fr) minmax(220px,.8fr) auto; align-items: end; gap: 14px; padding: 22px; background: #fff; box-shadow: var(--shadow-soft); }
.catalog-filters label { display: grid; gap: 7px; }
.catalog-filters label span { color: var(--color-muted); font-size: .65rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.catalog-filters input, .catalog-filters select { width: 100%; height: 48px; border: 1px solid #ddd4c9; padding: 0 14px; background: #fff; color: var(--color-text); outline: none; }
.catalog-filters input:focus, .catalog-filters select:focus { border-color: var(--color-orange); box-shadow: 0 0 0 3px rgba(255,121,0,.12); }
.catalog-summary { display: flex; justify-content: space-between; padding: 32px 0 18px; color: var(--color-muted); }
.catalog-summary p { margin: 0; }
.catalog-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); border-top: 1px solid var(--color-border); border-left: 1px solid var(--color-border); }
.catalog-card { min-width: 0; border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border); background: #fff; }
.catalog-card a { display: flex; height: 100%; flex-direction: column; padding: 18px; text-decoration: none; }
.catalog-card__image { display: grid; height: 230px; place-items: center; margin: -18px -18px 18px; padding: 18px; background: radial-gradient(circle,rgba(255,196,0,.08),transparent 60%); }
.catalog-card__image img { width: 82%; height: 190px; object-fit: contain; transition: transform .24s ease; }
.catalog-card:hover .catalog-card__image img { transform: scale(1.06); }
.catalog-card__brand { color: var(--color-orange-strong); font-size: .72rem; font-weight: 900; letter-spacing: .08em; }
.catalog-card h2 { margin: 8px 0; font-size: 1rem; line-height: 1.35; }
.catalog-card p { display: -webkit-box; margin: 0; overflow: hidden; color: var(--color-muted); font-size: .78rem; line-height: 1.55; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.catalog-card__action { margin-top: auto; padding-top: 18px; color: var(--color-orange-strong); font-size: .75rem; font-weight: 900; }
.catalog-empty { padding: 70px 20px; border: 1px solid var(--color-border); text-align: center; }
.pagination { display: flex; flex-wrap: wrap; justify-content: center; gap: 7px; padding-top: 28px; }
.pagination a { display: grid; width: 40px; height: 40px; place-items: center; border: 1px solid var(--color-border); text-decoration: none; }
.pagination a[aria-current="page"] { border-color: #15110d; background: #15110d; color: #fff; }
.product-detail { padding-block: 70px 90px; }
.back-link { display: inline-block; margin-bottom: 30px; color: var(--color-muted); text-decoration: none; }
.product-detail__grid { display: grid; grid-template-columns: minmax(0,1fr) minmax(360px,.9fr); gap: 64px; align-items: center; }
.product-detail__image { min-height: 520px; margin: 0; display: grid; place-items: center; padding: 42px; background: radial-gradient(circle,rgba(255,196,0,.1),transparent 60%),#faf9f7; }
.product-detail__image img { width: 90%; height: 460px; object-fit: contain; }
.product-detail__brand { color: var(--color-orange-strong); font-size: .72rem; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.product-detail h1 { margin: 12px 0; font-size: clamp(2.2rem,5vw,4.5rem); line-height: .98; letter-spacing: -.055em; }
.product-detail__code { color: var(--color-muted); font-size: .8rem; }
.product-detail__lead { font-size: 1.15rem; font-weight: 700; line-height: 1.6; }
.product-detail__content > p:not(.product-detail__brand,.product-detail__code,.product-detail__lead) { color: var(--color-muted); line-height: 1.75; }
.product-detail .button { margin-top: 20px; }

@media (max-width: 1050px) { .catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 768px) {
    .catalog-hero { padding: 58px 0 88px; }
    .catalog-page { margin-top: -35px; }
    .catalog-filters { grid-template-columns: 1fr; }
    .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .catalog-card__image { height: 190px; }
    .catalog-card__image img { height: 160px; }
    .product-detail { padding-block: 40px 70px; }
    .product-detail__grid { grid-template-columns: 1fr; gap: 34px; }
    .product-detail__image { min-height: 360px; }
    .product-detail__image img { height: 320px; }
}
@media (max-width: 480px) { .catalog-grid { grid-template-columns: 1fr; } }
