.route-page { min-width: 0; }
.route-page [hidden] { display: none !important; }
.route-page .route-prose { max-width: 960px; overflow-wrap: anywhere; }
.route-page .route-prose p { margin-block: 0 1em; }
.route-page .route-prose h2,.route-page .route-prose h3 { margin-block: 1.5em .6em; }
.route-page .route-editorial-photo { display: block; width: 100%; height: auto; max-height: 520px; object-fit: contain; margin-block: 24px; }
.route-page .route-related,.route-page .route-subcategories { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 24px; }
.route-page .route-related a { padding-block: 8px; }
.route-page .route-catalog-layout { display: grid; grid-template-columns: minmax(200px,260px) minmax(0,1fr); gap: 28px; }
.route-page .route-filters { display: grid; gap: 16px; align-content: start; }
.route-page .route-filters label,.route-page .route-search label { display: grid; gap: 8px; min-width: 0; }
.route-page .route-filters input,.route-page .route-filters select,.route-page .route-search input { width: 100%; min-width: 0; height: 46px; padding: 10px 12px; border: 1px solid #d4d8e2; border-radius: 4px; background: #fff; color: #17191d; font: inherit; }
.route-page .catalog-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
.route-page .model { min-width: 0; display: flex; flex-direction: column; }
.route-page .model-image { display: flex; width: 100%; aspect-ratio: 4 / 3; align-items: center; justify-content: center; }
.route-page .model-image img { width: 100%; height: 100%; object-fit: contain; }
.route-page .model-content { display: flex; flex-direction: column; flex: 1; padding: 16px; }
.route-page .model h3 { min-height: 3.6em; margin-block: 0 12px; }
.route-page .model h3 a { color: inherit; text-decoration: none; }
.route-page .model .price { margin-top: auto; padding-top: 16px; }
.route-page .model .actions { display: flex; flex-wrap: wrap; gap: 8px; }
.route-page .model .button { min-width: 0; white-space: normal; }
.route-page .availability { color: #555c68; }
.route-page .availability::before { background: currentColor; color: inherit; }
.route-page .availability[data-stock-status="in_stock"] { color: #166534; }
.route-page .availability[data-stock-status="expected"] { color: #765719; }
.route-page .route-photo-missing { display: grid; width: 100%; min-height: 120px; place-items: center; color: #555c68; }
.route-page .route-thumbnails { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 16px; }
.route-page .route-thumb { width: 76px; height: 76px; padding: 2px; background: #fff; border: 1px solid #d4d8e2; border-radius: 4px; cursor: pointer; }
.route-page .route-thumb img { width: 100%; height: 100%; object-fit: contain; }
.route-page .route-search { display: flex; align-items: end; gap: 12px; margin-block: 24px; }
.route-page .route-search label { flex: 1; }
.route-page .data-table { table-layout: fixed; width: 100%; }
.route-page .data-table th,.route-page .data-table td { overflow-wrap: anywhere; }
.route-page .active-filters { display: flex; flex-wrap: wrap; gap: 12px; margin-block: 0 20px; }
.route-page .product-intro h1 { overflow-wrap: anywhere; }
.route-page .breadcrumbs { flex-wrap: wrap; }
.route-page .breadcrumbs > * { min-width: 0; max-width: 100%; overflow-wrap: anywhere; }
.route-page .product-layout { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
.route-page .product-layout > *,.route-page .product-details > * { min-width: 0; }
.route-page .product-picture { width: 100%; min-width: 0; margin: 0; }
.route-page .product-picture > img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: contain; }
@media (max-width:1100px) { .route-page .catalog-grid { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width:700px) {
  .route-page .route-catalog-layout { grid-template-columns: minmax(0,1fr); gap: 24px; }
  .route-page .route-filters { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 12px; }
  .route-page .route-filters .button { align-self: end; }
  .route-page .product-layout,.route-page .product-details { grid-template-columns: minmax(0,1fr); }
  .route-page .route-search { align-items: stretch; flex-direction: column; }
  .route-page .model-content { padding: 12px; }
  .route-page .catalog-pagination { flex-wrap: wrap; }
}
@media (max-width:420px) {
  .route-page .catalog-grid { grid-template-columns: minmax(0,1fr); }
  .route-page .model h3 { min-height: 0; }
  .route-page .route-filters { grid-template-columns: minmax(0,1fr); }
}
