/* Catalog-specific layout, isolated from the shared brand and tariff styles. */
.catalog-filter-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr) minmax(0,1fr);gap:20px}
.catalog-filter-grid>*{min-width:0}
.catalog-count{margin:28px 0 20px}
.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.catalog-grid .catalog-item{padding:0;overflow:hidden;display:flex;flex-direction:column;min-width:0}
.catalog-preview{display:flex;align-items:center;justify-content:center;width:100%;aspect-ratio:16/10;min-height:170px;background:#f0f2fb;border-bottom:1px solid var(--line,#d6dcec);overflow:hidden}
.catalog-preview img{display:block;width:100%;height:100%;object-fit:contain;padding:8px;background:#fff;transition:transform .2s}
.catalog-preview:hover img{transform:scale(1.025)}
.catalog-preview-text{flex-direction:column;gap:12px;padding:24px;color:var(--ink,#222c45);text-align:center;background:linear-gradient(130deg,#edf1ff,#f6f2fc)}
.catalog-preview-code{font-size:2rem;font-weight:800;line-height:1;color:var(--accent,#7366d4)}
.catalog-item-content{padding:24px;display:flex;flex:1;flex-direction:column;min-width:0}
.catalog-item-content .eyebrow{font-size:.71rem;letter-spacing:.06em;margin:0 0 10px}
.catalog-item-content h2{font-size:1.2rem;line-height:1.4;margin:0 0 16px;overflow-wrap:anywhere}
.catalog-item-content h2 a{color:inherit;text-decoration:none}
.catalog-item-content h2 a:hover{text-decoration:underline;text-underline-offset:3px}
.catalog-excerpt{font-size:.92rem;line-height:1.65;margin:0 0 20px}
.catalog-meta{font-size:.78rem;line-height:1.7;padding-top:16px;margin-top:auto;border-top:1px solid var(--line,#d6dcec);overflow-wrap:anywhere}
.catalog-item .actions{margin-top:18px;gap:12px}
.catalog-item .button{font-size:.85rem;padding:11px 15px;min-height:44px}
.catalog-pagination{margin-top:28px}
.catalog-back{display:inline-block;margin-bottom:26px;font-weight:600;color:inherit;text-decoration:none}
.catalog-detail-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:28px;align-items:start}
.catalog-description{min-width:0;overflow-wrap:anywhere}
.catalog-description h2{font-size:1.55rem}
.catalog-description h4{font-size:1.08rem;line-height:1.5;margin:24px 0 10px}
.catalog-description>p,.catalog-description li{line-height:1.75}
.catalog-description ul,.catalog-description ol{padding-left:24px}
.catalog-description li+li{margin-top:5px}
.catalog-description table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;font-size:.85rem;margin:18px 0}
.catalog-description th,.catalog-description td{border:1px solid var(--line,#d6dcec);padding:8px;min-width:90px;text-align:left}
.catalog-access{position:sticky;top:20px;min-width:0}
.catalog-access h2{font-size:1.35rem}
.catalog-package-list{padding-left:22px;line-height:1.9;font-weight:600}
.catalog-package-list a{overflow-wrap:anywhere}
.catalog-access .actions{align-items:flex-start;flex-direction:column}
.catalog-gallery{margin-top:32px;padding-top:24px;border-top:1px solid var(--line,#d6dcec)}
.catalog-gallery figure{margin:0}
.catalog-gallery img{display:block;width:100%;height:auto;max-height:760px;object-fit:contain;object-position:top;background:#f5f6fb;border:1px solid var(--line,#d6dcec);border-radius:8px}
.catalog-gallery figcaption{font-size:.8rem;line-height:1.6;color:var(--muted,#627087);margin-top:12px}
@media(max-width:1000px){.catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-filter-grid>:first-child{grid-column:1/-1}.catalog-detail-grid{grid-template-columns:minmax(0,1fr) minmax(220px,.65fr)}}
@media(max-width:700px){.catalog-grid,.catalog-detail-grid,.catalog-filter-grid{grid-template-columns:minmax(0,1fr)}.catalog-preview{min-height:150px}.catalog-access{position:static}.catalog-item-content{padding:22px}.catalog-gallery img{max-height:550px}.catalog-back{margin-bottom:20px}}
@media(prefers-reduced-motion:reduce){.catalog-preview img{transition:none}.catalog-preview:hover img{transform:none}}
