/* Структура архива Tessellatum поверх WP/WC. Все цвета — роли OPUS. */
.opus-catalog-area { width:100%; min-width:0; }
.opus-catalog-page { margin:0; }
.catalog-title { overflow-wrap:anywhere; }
.catalog-title sup { display:inline-block; }
.catalog-intro__grid { grid-template-columns:minmax(0,1.4fr) minmax(0,.6fr); }
.catalog-intro__aside .tessera-stack { flex:0 0 104px; }
.catalog-intro__aside .catalog-lead { min-width:0; }
.catalog-intro .breadcrumbs nav p { margin:0; }
.opus-catalog-form { margin:0; }
.opus-catalog-form .catalog-tools { top:0; }
.opus-catalog-form .stock-toggle { position:relative; cursor:pointer; color:var(--opus-ink); }
.stock-toggle > input { position:absolute; width:36px; height:24px; opacity:0; }
.stock-toggle > input:checked + .switch::after { transform:translateX(16px); }
.stock-toggle > input:focus-visible + .switch { outline:2px solid var(--opus-ink); outline-offset:4px; }
.opus-catalog-form button:not(.btn) { min-height:44px; padding:0 5px; border:0; background:transparent; color:var(--opus-ink); font:inherit; }
.opus-catalog-form .filter-toggle { font-size:11px; }
.opus-catalog-form .view-switch button { font-size:11px; min-width:32px; }
.opus-catalog-form .view-switch button.is-active { border-bottom:1px solid var(--opus-ink); }
.catalog-layout { grid-template-columns:190px minmax(0,1fr); }
.catalog-results { min-width:0; }
.opus-catalog-form .filters { grid-template-columns:minmax(0,1fr) auto; align-items:end; }
.filter-group { padding:0; margin:0; border:0; }
.filter-group legend { font-size:10px; text-transform:uppercase; letter-spacing:.14em; margin-bottom:8px; }
.filter-group input { height:16px; width:16px; }
.filter-submit { display:flex; align-items:center; gap:24px; }
.filter-reset-link { font-size:11px; text-decoration:underline; }
.catalog-products { grid-template-columns:repeat(12,minmax(0,1fr)); }
.catalog-products .card-meta { grid-template-columns:minmax(0,1fr) auto; }
.catalog-products .card-price { white-space:normal; text-align:right; }
.catalog-products .card-price .opus-price { color:inherit; font-size:inherit; }
.catalog-products .object-frame--cover > img { position:absolute; inset:0; margin:0; }
.catalog-promo__tesserae { display:grid; place-items:center; background:var(--opus-pine); }
.catalog-promo__tesserae .tessera-stack { width:80%; max-width:240px; gap:8px; }
.catalog-promo__tesserae i { background:var(--opus-deep); }
.catalog-sidebar .side-group a { display:inline-block; padding-block:4px; }
.catalog-sidebar .link-line { gap:12px; font-size:9px; }
.catalog-more p { display:block; }
@media (max-width:1180px) { .catalog-layout { grid-template-columns:155px minmax(0,1fr); } }
@media (max-width:900px) {
 .catalog-intro__grid { grid-template-columns:1fr; }
 .catalog-layout { grid-template-columns:1fr; }
 .catalog-sidebar { display:block; position:static; }
 .catalog-sidebar nav { display:flex; flex-wrap:wrap; gap:12px; }
 .catalog-sidebar .side-group { display:flex; flex-wrap:wrap; gap:8px 18px; margin:14px 0; }
 .catalog-sidebar .side-group__title,.catalog-sidebar>.link-line { display:none; }
 .catalog-products.view-s>.product-card { grid-column:span 4; }
 .catalog-products.view-l>.product-card { grid-column:span 12; }
}
@media (max-width:600px) {
 .catalog-title { font-size:clamp(38px,10vw,60px); line-height:1; }
 .catalog-title sup { font-size:18px; }
 .catalog-products .card-title { overflow-wrap:anywhere; }
 .opus-catalog-form .filters { grid-template-columns:1fr; }
 .filter-submit { justify-content:space-between; }
 .catalog-tools__in { gap:8px; }
 .opus-catalog-form .stock-toggle { font-size:9px; gap:8px; }
 .catalog-products.view-s>.product-card { grid-column:span 6; }
 .catalog-products.view-l>.product-card { grid-column:span 12; }
 .catalog-products>.catalog-promo { grid-column:span 12; }
 .catalog-promo__tesserae { display:none; }
 .catalog-intro__aside p { max-width:none; }
}
@media (prefers-reduced-motion:reduce) { .switch::after { transition:none; } }
