/* Catalog-specific layout: broad desktop cards, stacked mobile cards. */
.catalog-layout{grid-template-columns:minmax(0,1fr);gap:28px}
.catalog-layout>section{min-width:0}
.catalog-layout .filters{border-bottom:1px solid var(--line);padding-bottom:24px}
.catalog-layout .filters h2{margin-bottom:14px}
.catalog-layout .filter-list{display:flex;flex-wrap:wrap;gap:10px}
.catalog-layout .filter-button{display:inline-flex;align-items:center;min-height:44px;padding:9px 16px;border:1px solid var(--line);background:var(--soft);border-radius:3px;white-space:normal}
.catalog-layout .filter-button:hover,.catalog-layout .filter-button[aria-current=page],.catalog-layout .filter-button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);color:#fff}
.catalog-layout .filter-help{margin-top:16px;font-size:12px;max-width:none}
.catalog-layout .catalog-toolbar{flex-wrap:wrap;gap:16px}
.catalog-layout .catalog-toolbar>p{margin-right:auto}
.catalog-layout .catalog-toolbar .search{width:min(360px,100%);min-width:0}
.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch}
.catalog-grid .card-content{padding:23px;min-width:0}
.catalog-grid .card-content h3{font-size:21px;line-height:1.5;overflow-wrap:anywhere}
.catalog-grid .card-en{min-height:0;line-height:1.65;overflow-wrap:anywhere}
.catalog-grid .card-en:empty{display:none}
.catalog-grid .card-content p{min-height:0;margin:16px 0;overflow-wrap:anywhere}
.catalog-grid .card-actions{gap:12px;flex-wrap:wrap}
@media(min-width:1100px){
 .catalog-grid .product-card{display:grid;grid-template-columns:40% minmax(0,1fr);min-height:288px}
 .catalog-grid .card-visual{aspect-ratio:auto;height:100%;min-height:288px}
 .catalog-grid .card-visual>img,.catalog-grid .ring-art{width:100%;height:100%;object-fit:contain}
 .catalog-grid .card-visual .visual-label{left:12px;right:10px;font-size:10px}
 .catalog-grid .card-content{display:flex;flex-direction:column}
 .catalog-grid .card-actions{margin-top:auto}
}
@media(max-width:600px){
 .catalog-layout{gap:22px}
 .catalog-layout .filters{padding-bottom:20px}
 .catalog-layout .filter-list{gap:8px}
 .catalog-layout .filter-button{padding:8px 12px;font-size:12px}
 .catalog-grid{grid-template-columns:minmax(0,1fr)}
 .catalog-layout .catalog-toolbar{flex-direction:column;align-items:stretch}
 .catalog-layout .catalog-toolbar .search{width:100%}
 .catalog-grid .card-content{padding:20px}
}
