body::before { display: none; }
header { background: var(--surface); }
.header-inner, main { max-width: 1240px; }
.logo, h1, h2, p, nav, button, select { letter-spacing: 0; }
main { padding-top: 24px; }
main > nav:first-child { font-size: 13px; margin-bottom: 20px; }
main > nav:first-child span { color: var(--muted); }
h1 { font-family: var(--body); font-size: 30px; line-height: 1.25; max-width: 900px; }
.lead { margin-bottom: 8px; }
section { border: 0; border-radius: 0; background: none; padding: 0; margin: 0; }
.catalog-filters { display: flex; align-items: end; flex-wrap: wrap; gap: 14px; border-block: 1px solid var(--border); padding: 18px 0; margin: 10px 0 20px; }
.catalog-filters label { display: grid; gap: 6px; font-size: 13px; }
.catalog-filters select, .catalog-filters button { min-height: 42px; border-radius: 6px; font: inherit; padding: 8px 12px; }
.catalog-filters select { background: var(--surface); color: var(--text); border: 1px solid #64748b; min-width: 170px; }
.catalog-filters button { background: var(--gold); color: #080c14; border: 1px solid var(--gold); font-weight: 700; cursor: pointer; }
.catalog-filters > a { padding: 8px 0; font-size: 14px; }
.catalog-count { margin-bottom: 16px; }
.catalog-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.catalog-product { min-width: 0; border: 1px solid var(--border); border-radius: 8px; overflow: hidden; display: flex; flex-direction: column; background: var(--surface); }
.catalog-image { background: #fff; aspect-ratio: 1.3; width: 100%; flex: none; display: flex; align-items: center; justify-content: center; padding: 14px; color: #475569; overflow: hidden; }
.catalog-image img { width: 100%; height: 100%; object-fit: contain; }
.catalog-details { display: flex; flex-direction: column; padding: 16px; flex: 1; }
.catalog-language { font-size: 12px; margin-bottom: 8px; }
.catalog-product h2 { font-size: 16px; line-height: 1.5; margin-bottom: 14px; }
.catalog-product h2 a { color: var(--text); text-decoration: none; }
.catalog-product h2 a:hover { text-decoration: underline; }
.catalog-status { margin-top: auto; font-size: 13px; }
.catalog-status.available { color: #86efac; }
.catalog-price { color: var(--gold); font-size: 18px; font-weight: 700; margin-top: 6px; }
.catalog-observed { font-size: 12px; margin-top: 8px; }
.catalog-facts-wrap { max-width: 100%; overflow-x: auto; }
.catalog-facts { width: 100%; min-width: 560px; border-collapse: collapse; text-align: left; }
.catalog-facts caption { text-align: left; padding: 10px 0; }
.catalog-facts th, .catalog-facts td { padding: 12px; border-bottom: 1px solid #344454; vertical-align: top; }
.catalog-facts thead { background: #15202c; }
.catalog-observed time { overflow-wrap: anywhere; }
.catalog-empty { grid-column: 1 / -1; padding: 32px 0; }
.catalog-pagination { justify-content: center; align-items: center; gap: 24px; padding: 28px 0; }
.catalog-pagination a { padding: 10px; font-size: 15px; color: var(--gold); }
.catalog-note { padding: 20px 0; font-size: 12px; }
.catalog-info { padding: 24px 0; border-top: 1px solid var(--border); }
.catalog-info p { max-width: 850px; }
footer span { color: var(--muted); font-size: 12px; }
.skip-link { position: absolute; top: -100px; left: 10px; padding: 10px; background: var(--surface); z-index: 10; }
.skip-link:focus { top: 10px; }
@media (max-width: 980px) { .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 720px) {
    .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
    main, header { padding-left: 16px; padding-right: 16px; }
    header { padding-top: 14px; padding-bottom: 14px; }
    main > nav:first-child { margin-bottom: 14px; }
    h1 { font-size: 26px; }
    .catalog-details { padding: 12px; }
    .catalog-filters label { flex: 1; min-width: 130px; }
    .catalog-filters select { min-width: 0; width: 100%; }
}
@media (max-width: 360px) { .catalog-grid { grid-template-columns: minmax(0, 1fr); } }
