* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, Helvetica, sans-serif; color: #1f2428; background: #f5f5f2; }
a { color: inherit; text-decoration: none; }
.label { display: inline-block; font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: 0; color: #b27700; }
h1 { margin: 14px 0 18px; font-size: clamp(38px, 5vw, 76px); line-height: .96; letter-spacing: 0; }
h2 { margin: 0; font-size: 30px; line-height: 1.1; }
p { font-size: 18px; line-height: 1.55; color: #5f6864; }
img { display: block; max-width: 100%; height: auto; }
input, select, button { font: inherit; }
.light-header { display: flex; justify-content: space-between; gap: 28px; align-items: center; padding: 20px clamp(18px, 5vw, 66px); background: #fff; border-bottom: 3px solid #f0b429; position: sticky; top: 0; z-index: 20; }
.light-logo { display: inline-flex; align-items: baseline; gap: 5px; font-size: clamp(38px, 3.4vw, 54px); line-height: .9; font-weight: 900; letter-spacing: 0; white-space: nowrap; }
.light-logo strong { color: #f0a000; }
.light-phone { display: flex; align-items: center; gap: 18px; font-size: 18px; font-weight: 900; text-align: right; line-height: 1.25; }
.light-phone a, .light-footer a { color: #1f2428; }
.light-main { display: grid; grid-template-columns: 300px 1fr; gap: 28px; padding: clamp(22px, 5vw, 66px); }
.light-catalog { background: #263746; color: #fff; border-radius: 8px; padding: 22px; align-self: start; position: sticky; top: 106px; max-height: calc(100vh - 126px); overflow: auto; }
.light-catalog h2 { margin: 0 0 14px; font-size: 34px; }
.light-catalog a { display: flex; justify-content: space-between; gap: 12px; padding: 12px 0; border-top: 1px solid rgba(255,255,255,.15); }
.light-catalog span { color: #f0b429; }
.aside-title { margin-top: 18px; color: #f0b429; font-weight: 900; }
.light-content { min-width: 0; }
.light-hero { display: grid; grid-template-columns: minmax(0,1fr) 320px; gap: 28px; align-items: center; padding: 34px; background: #fff; border: 1px solid #e1e3e5; border-radius: 8px; }
.search-box { display: grid; gap: 12px; padding: 22px; border: 2px solid #f0b429; border-radius: 8px; color: #263746; font-weight: 800; }
.search-box input, .filters input, .filters select { width: 100%; min-height: 46px; border: 1px solid #d7dbde; border-radius: 6px; padding: 0 12px; background: #fff; }
.search-box button, .button { display: inline-flex; align-items: center; justify-content: center; min-height: 46px; border: 0; border-radius: 6px; padding: 0 18px; background: #263746; color: #fff; font-weight: 900; cursor: pointer; }
.button.ghost { background: #fff; color: #263746; border: 1px solid #cfd5d9; }
.hero-actions { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 22px; }
.category-strip { display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.category-strip a, .brand-tile { background: #fff; border: 1px solid #e1e3e5; border-radius: 8px; padding: 16px; font-weight: 800; }
.category-strip span, .brand-tile span { display: block; margin-top: 6px; color: #69747c; font-size: 14px; font-weight: 700; }
.brand-grid { display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 12px; margin-top: 22px; }
.section-head { display: flex; justify-content: space-between; align-items: end; gap: 16px; margin: 34px 0 16px; }
.section-head a { color: #b27700; font-weight: 900; }
.light-products { display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 16px; margin-top: 22px; }
.catalog-list { grid-template-columns: repeat(4, minmax(0,1fr)); }
.home-text-block { margin-top: 38px; padding: 30px 34px; background: #fff; border: 1px solid #e1e3e5; border-radius: 8px; }
.home-text-block p { max-width: none; margin: 0; text-align: justify; text-align-last: auto; }
.home-text-block p + p { margin-top: 18px; }
.product-card { background: #fff; border: 1px solid #e1e3e5; border-radius: 8px; padding: 16px; min-width: 0; display: flex; flex-direction: column; }
.product-card img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; background: #f4f5f3; border-radius: 5px; }
.product-meta { margin-top: 12px; color: #7a838a; font-size: 12px; font-weight: 800; }
.product-card h3 { font-size: 18px; line-height: 1.25; margin: 8px 0 6px; letter-spacing: 0; }
.product-card p { font-size: 14px; margin: 0; color: #5f6864; }
.product-bottom { display: flex; flex-direction: column; align-items: flex-start; gap: 7px; margin-top: auto; padding-top: 14px; }
.product-bottom strong { font-size: 18px; }
.product-bottom span, .price-note { color: #b27700; font-size: 14px; font-weight: 900; line-height: 1.25; }
.catalog-toolbar { display: grid; grid-template-columns: minmax(0,1fr) 420px; gap: 24px; align-items: end; padding: 30px; background: #fff; border: 1px solid #e1e3e5; border-radius: 8px; }
.filters { display: grid; gap: 12px; }
.brand-head { padding: 30px; background: #fff; border: 1px solid #e1e3e5; border-radius: 8px; }
.product-page { padding: clamp(22px, 5vw, 66px); }
.breadcrumbs { margin-bottom: 22px; color: #65717a; font-size: 14px; }
.product-detail { display: grid; grid-template-columns: 480px minmax(0,1fr); gap: 42px; background: #fff; border: 1px solid #e1e3e5; border-radius: 8px; padding: 32px; }
.product-detail figure { margin: 0; background: #f4f5f3; border-radius: 8px; display: grid; place-items: center; }
.product-detail img { width: 100%; aspect-ratio: 1 / 1; object-fit: contain; }
.product-detail h1 { font-size: clamp(32px, 3.6vw, 56px); }
.detail-price { font-size: 34px; font-weight: 900; margin: 14px 0 8px; }
.price-note { margin-bottom: 18px; }
.specs { display: grid; grid-template-columns: 220px 1fr; gap: 0; margin-top: 26px; border-top: 1px solid #e1e3e5; }
.specs dt, .specs dd { margin: 0; padding: 12px 0; border-bottom: 1px solid #e1e3e5; }
.specs dt { color: #65717a; padding-right: 18px; }
.light-footer { display: flex; justify-content: space-between; gap: 24px; padding: 24px clamp(18px, 5vw, 66px); background: #fff; border-top: 1px solid #e1e3e5; color: #5f6864; }
.plain-link { border-bottom: 1px solid transparent; }
.plain-link:hover { color: #b27700; border-bottom-color: currentColor; }
.is-hidden { display: none !important; }
@media (max-width: 1200px) {
  .light-products, .catalog-list { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .brand-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
  .category-strip { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 1180px) {
  .light-main, .light-hero, .catalog-toolbar { grid-template-columns: 1fr; }
  .light-content { order: 1; }
  .light-catalog { order: 2; position: static; max-height: none; }
}
@media (max-width: 900px) {
  .light-header { display: block; position: static; }
  .light-logo { font-size: 40px; }
  .light-phone { justify-content: flex-start; flex-wrap: wrap; text-align: left; margin-top: 14px; }
  .light-main, .light-hero, .catalog-toolbar, .product-detail { grid-template-columns: 1fr; }
  .light-content { order: 1; }
  .light-catalog { order: 2; }
  .light-catalog { position: static; max-height: none; }
  .light-products, .catalog-list, .category-strip { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .brand-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 560px) {
  h1 { font-size: 38px; }
  .light-main, .product-page { padding: 18px; }
  .light-hero, .catalog-toolbar, .brand-head, .product-detail { padding: 20px; }
  .light-products, .catalog-list, .category-strip, .brand-grid { grid-template-columns: 1fr; }
  .specs { grid-template-columns: 1fr; }
  .specs dt { padding-bottom: 2px; border-bottom: 0; font-weight: 800; }
  .specs dd { padding-top: 2px; }
  .light-footer { display: block; }
}
