/* Shared, theme-neutral catalog controls, responsive to narrow screens. */
.catalog-page *, .catalog-page *::before, .catalog-page *::after { box-sizing: border-box; }
.catalog-page main { min-width: 0; overflow-wrap: anywhere; }
.catalog-page :is(h1,h2,h3,p,code,dt,dd,li) { overflow-wrap: anywhere; }
.catalog-page :is(img,video,iframe) { max-width: 100%; }
.catalog-page :is(input,select,button) { max-width: 100%; min-width: 0; font: inherit; }
.catalog-page :is(button,select,input:not([type=hidden])) { min-height: 44px; }
.catalog-page :is(button,a,select,input):focus-visible { outline: 3px solid #2563eb; outline-offset: 2px; }
.catalog-page .catalog-quick-search, .catalog-page .catalog-filter-form {
    display: grid; gap: .75rem; align-items: end; padding: 1rem;
    background: #fff; border: 1px solid #dbe2ea; border-radius: .875rem; margin-block: 1rem;
}
.catalog-page .catalog-quick-search { grid-template-columns: minmax(0,1fr) auto; }
.catalog-page .catalog-filter-form { grid-template-columns: repeat(auto-fit,minmax(min(100%,12rem),1fr)); }
.catalog-page :is(.catalog-quick-search,.catalog-filter-form) label { display: grid; gap: .375rem; min-width: 0; font-size: .875rem; font-weight: 600; }
.catalog-page :is(.catalog-quick-search,.catalog-filter-form) :is(input,select) { width: 100%; border: 1px solid #94a3b8; border-radius: .5rem; background: #fff; color: #0f172a; padding: .625rem .75rem; }
.catalog-page :is(.catalog-quick-search,.catalog-filter-form) button { border: 0; border-radius: .5rem; background: #1d4ed8; color: #fff; padding: .625rem 1rem; font-weight: 700; cursor: pointer; }
.catalog-page .catalog-sort-form :is(button,select) { min-height: 44px; }
.catalog-page :is(.pagination,.zg-pagination,.catalog-result-pagination) { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin-block: 1.5rem; }
.catalog-page :is(.pagination,.zg-pagination,.catalog-result-pagination) a { display: inline-flex; justify-content: center; align-items: center; min-width: 44px; min-height: 44px; padding-inline: .75rem; }
.catalog-page .catalog-details-languages { display: flex; gap: .5rem; flex-wrap: wrap; margin-block: 1.5rem; }
.catalog-page .catalog-details-languages a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; border: 1px solid #cbd5e1; border-radius: .5rem; padding: .5rem; }
.catalog-page .catalog-specs dl { display: grid; gap: .5rem; }
.catalog-page .catalog-specs dl > div { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,2fr); gap: .75rem; border-bottom: 1px solid #e2e8f0; padding-block: .5rem; }
.catalog-page .catalog-specs dd { margin: 0; }
.catalog-page .catalog-variants li { padding-block: .5rem; }
@media (max-width: 767px) {
    .catalog-page :is(input,select,textarea) { font-size: 16px; }
    .catalog-page .catalog-quick-search { grid-template-columns: minmax(0,1fr); }
    .catalog-page .catalog-filter-form { grid-template-columns: minmax(0,1fr); }
    .catalog-page :is(.catalog-quick-search,.catalog-filter-form) button { width: 100%; }
    .catalog-page .category-header { padding: 1.25rem; }
    .catalog-page .catalog-specs dl > div { grid-template-columns: minmax(0,1fr); gap: .25rem; }
}
