/* V45: keep the established storefront, support a larger classified catalogue. */
.shop-category-select { display:none; }
.shop-page-gap { color:#7d8790; padding:0 2px; }
.supplier-source { margin:24px 0 8px; padding:24px; border:1px solid #e0e7ed; border-radius:12px; background:#f6f8fa; text-align:left; }
.supplier-source h3 { margin:0 0 10px; color:#172d41; font-size:17px; }
.supplier-source p { margin:0 0 14px; color:#526170; font-size:13px; line-height:1.85; overflow-wrap:anywhere; }
.supplier-source h3:not(:first-child) { margin-top:24px; }
.supplier-related { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.supplier-related a { display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:48px; padding:12px 14px; background:#fff; border:1px solid #dbe3e9; border-radius:8px; color:#173b5e; font-size:13px; line-height:1.5; text-decoration:none; }
.supplier-related a:hover { border-color:#276291; background:#edf5fb; }
.supplier-related a:focus-visible, .shop-category-select select:focus-visible { outline:3px solid #3387b5; outline-offset:3px; }
#product-official[hidden], .supplier-source[hidden] { display:none!important; }
@media(min-width:901px) {
 .shop-sidebar { align-self:start; }
 #shop-subcategories { max-height:650px; overflow-y:auto; scrollbar-width:thin; padding-right:5px; }
}
@media(max-width:900px) {
 .shop-sidebar h2, #shop-subcategories { display:none; }
 .shop-category-select { display:flex; align-items:center; gap:12px; color:#526170; font-size:13px; }
 .shop-category-select select { flex:1; min-width:0; min-height:46px; padding:10px 34px 10px 12px; border:1px solid #d5dde4; border-radius:8px; background:#fff; color:#163650; font-size:16px; }
 .shop-pagination { flex-wrap:wrap; justify-content:center; }
 .supplier-source { padding:18px; }
}
@media(max-width:600px) {
 .supplier-related { grid-template-columns:1fr; }
 .shop-card-copy h3 { overflow-wrap:anywhere; }
 .shop-card-summary { overflow-wrap:anywhere; }
 .shop-pagination { gap:4px; }
 .shop-pagination button { min-width:36px; min-height:44px; padding:8px; }
 .shop-search input { font-size:16px; }
}
