.products-page {
  --catalog-navy:#172e5c;
  --catalog-blue:#325d9c;
  background:#f7f9fc;
  color:#526077;
  font-family:IRanSansX,Tahoma,sans-serif;
  padding-bottom:72px
}
.products-page h1,.products-page h2,.products-page h3 {
  font-family:inherit;
  color:var(--catalog-navy)
}
.catalog-hero {
  padding:36px 0 42px;
  background:linear-gradient(115deg,#eaf0f9,#fff 75%);
  border-bottom:1px solid #e1e8f1
}
.catalog-crumb {
  display:flex;
  gap:10px;
  font-size:13px;
  margin-bottom:24px
}
.catalog-crumb a {
  color:#64718a
}
.catalog-eyebrow {
  font-size:13px;
  color:var(--catalog-blue);
  margin-bottom:12px
}
.catalog-hero h1 {
  font-size:clamp(30px,4vw,44px);
  font-weight:800;
  margin-bottom:14px
}
.catalog-hero p {
  font-size:15px;
  line-height:2;
  margin-bottom:0
}
.catalog-content {
  padding-top:32px
}
.catalog-tools {
  background:#fff;
  border:1px solid #e1e7f0;
  border-radius:20px;
  padding:24px;
  margin-bottom:26px;
  box-shadow:0 8px 25px #172e5c05
}
.catalog-tools-top {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  gap:18px;
  margin-bottom:22px
}
.catalog-field label {
  display:block;
  font-size:13px;
  font-weight:bold;
  color:var(--catalog-navy);
  margin-bottom:9px
}
.catalog-search {
  position:relative
}
.catalog-search i {
  position:absolute;
  right:16px;
  top:17px;
  color:#8493aa;
  pointer-events:none
}
.catalog-field input,.catalog-field select {
  width:100%;
  min-height:48px;
  border:1px solid #dbe3ef;
  border-radius:12px;
  background:#fafbfd;
  color:#354760;
  padding:10px 14px;
  font-family:inherit;
  font-size:14px
}
.catalog-field input {
  padding-right:43px
}
.catalog-field input:focus,.catalog-field select:focus {
  outline:2px solid #325d9c;
  outline-offset:2px
}
.catalog-categories {
  border:0;
  padding:0;
  margin:0;
  min-width:0
}
.catalog-categories legend {
  font-size:13px;
  font-weight:bold;
  color:var(--catalog-navy);
  margin-bottom:12px
}
.catalog-chips {
  display:flex;
  flex-wrap:wrap;
  gap:8px
}
.catalog-chip {
  border:1px solid #dfe6f0;
  border-radius:100px;
  padding:9px 15px;
  color:#526077;
  background:#fff;
  font-family:inherit;
  font-size:13px;
  cursor:pointer;
  transition:background .2s,color .2s
}
.catalog-chip:hover {
  background:#edf2fa
}
.catalog-chip[aria-pressed="true"] {
  color:#fff;
  background:var(--catalog-navy);
  border-color:var(--catalog-navy)
}
.catalog-chip:focus-visible,.catalog-reset:focus-visible {
  outline:2px solid #325d9c;
  outline-offset:3px
}
.catalog-summary {
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:20px;
  font-size:14px
}
.catalog-reset {
  border:0;
  background:transparent;
  color:var(--catalog-blue);
  font-family:inherit;
  font-size:13px;
  cursor:pointer;
  padding:8px
}
.catalog-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:22px
}
.catalog-card {
  background:#fff;
  border:1px solid #e1e7f0;
  border-radius:18px;
  overflow:hidden;
  transition:transform .2s,box-shadow .2s
}
.catalog-card:hover {
  transform:translateY(-4px);
  box-shadow:0 12px 30px #172e5c10
}
.catalog-picture {
  aspect-ratio:1;
  position:relative;
  display:grid;
  place-items:center;
  background:linear-gradient(145deg,#f0f4fa,#fcfdff);
  border-bottom:1px solid #edf1f6;
  padding:22px
}
.catalog-picture img {
  width:100%;
  height:100%;
  object-fit:contain;
  position:absolute;
  inset:0;
  padding:22px;
  background:#fff
}
.catalog-placeholder {
  text-align:center;
  color:#9aa9bf
}
.catalog-placeholder i {
  font-size:42px;
  display:block;
  margin-bottom:14px
}
.catalog-placeholder span {
  font-size:12px
}
.catalog-copy {
  padding:20px
}
.catalog-meta {
  display:flex;
  justify-content:space-between;
  gap:8px;
  align-items:flex-start;
  font-size:11px;
  margin-bottom:12px
}
.catalog-category {
  background:#edf2fa;
  color:#325d9c;
  padding:5px 8px;
  border-radius:7px
}
.catalog-brand {
  color:#7b8aa0;
  padding-top:5px
}
.catalog-name {
  font-size:17px;
  font-weight:bold;
  line-height:1.8;
  margin-bottom:10px;
  overflow-wrap:anywhere
}
.catalog-description {
  font-size:13px;
  line-height:2;
  color:#758298;
  margin:0;
  overflow-wrap:anywhere
}
.catalog-empty {
  text-align:center;
  padding:60px 20px;
  background:#fff;
  border:1px dashed #cdd8e8;
  border-radius:18px
}
.catalog-empty i {
  font-size:34px;
  color:#9aa9bf;
  margin-bottom:18px
}
.catalog-empty h2 {
  font-size:21px;
  margin-bottom:12px
}
.catalog-empty p {
  font-size:14px;
  margin:0
}
.catalog-empty[hidden] {
  display:none
}
@media(max-width:1199px) {
  .catalog-grid {
    gap:16px
  }
  .catalog-copy {
    padding:16px
  }
}
@media(max-width:991px) {
  .catalog-grid {
    grid-template-columns:repeat(3,minmax(0,1fr))
  }
}
@media(max-width:767px) {
  .catalog-grid {
    grid-template-columns:repeat(2,minmax(0,1fr))
  }
  .catalog-tools-top {
    grid-template-columns:1fr
  }
  .catalog-tools {
    padding:18px
  }
  .catalog-chip {
    font-size:12px;
    padding:8px 12px
  }
  .catalog-summary {
    align-items:flex-start
  }
  .catalog-hero {
    padding:28px 0 32px
  }
}
@media(max-width:399px) {
  .catalog-grid {
    grid-template-columns:1fr
  }
}
@media(prefers-reduced-motion:reduce) {
  .catalog-card,.catalog-chip {
    transition:none
  }
  .catalog-card:hover {
    transform:none
  }
}
/* کارت برندها */
#brand-grid .catalog-picture {
  aspect-ratio: 3 / 2;
  background:#fff;
}
#brand-grid .catalog-picture img {
  padding:32px;
}
#brand-grid .catalog-copy {
  text-align:center;
}
.brand-tags {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin-bottom:14px;
}
.brand-product-link {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  margin-top:18px;
  padding:9px 14px;
  border:1px solid #dce5f1;
  border-radius:10px;
  color:#172e5c;
  font-size:13px;
}
.brand-product-link:hover {
  background:#172e5c;
  color:#fff;
}
.brand-product-link:focus-visible {
  outline:2px solid #325d9c;
  outline-offset:3px;
}
/* طراحی اختصاصی صفحه برندها */
.brands-page .catalog-hero {
  position:relative;
  overflow:hidden;
  background:#edf2fa;
  padding:40px 0 46px;
}
.brands-page .catalog-hero::before {
  content:"";
  position:absolute;
  left:7%;
  top:-100px;
  width:360px;
  height:360px;
  border:55px solid #172e5c06;
  border-radius:50%;
  pointer-events:none;
}
.brands-page .catalog-hero .container {
  position:relative;
}
.brands-page .catalog-content>.container {
  display:grid;
  grid-template-columns:270px minmax(0,1fr);
  column-gap:30px;
  align-items:start;
}
.brands-page .catalog-tools {
  grid-column:1;
  grid-row:1 / span 3;
  margin:0;
  padding:22px;
  border-radius:18px;
}
.brands-page .catalog-tools-top {
  margin-bottom:25px;
}
.brands-page .catalog-summary {
  grid-column:2;
  grid-row:1;
}
.brands-page .catalog-chips {
  display:flex;
  flex-direction:column;
  gap:8px;
}
.brands-page .catalog-chip {
  text-align:right;
  width:100%;
  border-radius:10px;
  padding:12px 14px;
}
.brands-page #brand-grid {
  grid-column:2;
  grid-row:2;
  grid-template-columns:1fr;
  gap:18px;
}
.brands-page #brand-grid .catalog-card {
  display:grid;
  grid-template-columns:170px minmax(0,1fr);
  border-radius:18px;
  transition:box-shadow .2s,border-color .2s;
}
.brands-page #brand-grid .catalog-card:hover {
  transform:none;
  border-color:#b8c9e1;
  box-shadow:0 10px 28px #172e5c0b;
}
.brands-page #brand-grid .catalog-picture {
  aspect-ratio:auto;
  min-height:180px;
  align-self:stretch;
  background:#fcfdff;
  border-bottom:0;
  border-left:1px solid #edf1f6;
  padding:24px;
}
.brands-page #brand-grid .catalog-picture img {
  padding:24px;
  background:#fcfdff;
}
.brands-page #brand-grid .catalog-copy {
  text-align:right;
  padding:24px 28px;
}
.brands-page #brand-grid .catalog-name {
  font-size:21px;
  margin-bottom:10px;
}
.brands-page .brand-tags {
  justify-content:flex-start;
  margin-bottom:12px;
}
.brands-page .catalog-description {
  font-size:14px;
  line-height:1.95;
}
.brands-page .brand-product-link {
  margin-top:14px;
}
.brands-page #no-brands {
  grid-column:2;
  grid-row:2;
}
.brands-page noscript {
  grid-column:2;
}
@media(max-width:991px) {
  .brands-page .catalog-content>.container {
    grid-template-columns:230px minmax(0,1fr);
    column-gap:20px;
  }
  .brands-page #brand-grid .catalog-card {
    grid-template-columns:130px minmax(0,1fr);
  }
  .brands-page #brand-grid .catalog-copy {
    padding:20px;
  }
}
@media(max-width:767px) {
  .brands-page .catalog-content>.container {
    display:block;
  }
  .brands-page .catalog-tools {
    margin-bottom:24px;
  }
  .brands-page .catalog-chips {
    flex-direction:row;
  }
  .brands-page .catalog-chip {
    width:auto;
    border-radius:100px;
    padding:8px 12px;
  }
  .brands-page #brand-grid .catalog-card {
    grid-template-columns:110px minmax(0,1fr);
  }
  .brands-page #brand-grid .catalog-picture {
    min-height:160px;
  }
  .brands-page #brand-grid .catalog-picture img {
    padding:14px;
  }
  .brands-page #brand-grid .catalog-copy {
    padding:18px;
  }
  .brands-page #brand-grid .catalog-name {
    font-size:18px;
  }
  .brands-page .catalog-description {
    font-size:13px;
  }
  .brands-page .catalog-hero {
    padding:28px 0 34px;
  }
}
@media(max-width:399px) {
  .brands-page #brand-grid .catalog-card {
    grid-template-columns:90px minmax(0,1fr);
  }
  .brands-page #brand-grid .catalog-copy {
    padding:14px;
  }
}
@media(prefers-reduced-motion:reduce) {
  .brands-page #brand-grid .catalog-card {
    transition:none;
  }
}
/* نمایش چهار برند در هر ردیف، با حفظ ستون فیلتر */
.brands-page #brand-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.brands-page #brand-grid .catalog-card {
  display:flex;
  flex-direction:column;
}
.brands-page #brand-grid .catalog-picture {
  aspect-ratio:1;
  min-height:0;
  width:100%;
  border-left:0;
  border-bottom:1px solid #edf1f6;
}
.brands-page #brand-grid .catalog-picture img {
  padding:20px;
}
.brands-page #brand-grid .catalog-copy {
  text-align:center;
  padding:16px;
  flex:1;
}
.brands-page #brand-grid .catalog-name {
  font-size:17px;
}
.brands-page #brand-grid .brand-tags {
  justify-content:center;
}
.brands-page #brand-grid .catalog-description {
  font-size:12px;
}
@media(max-width:991px) {
  .brands-page #brand-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:767px) {
  .brands-page #brand-grid .catalog-card {
    display:flex;
  }
  .brands-page #brand-grid .catalog-picture {
    min-height:0;
  }
  .brands-page #brand-grid .catalog-copy {
    padding:16px;
  }
}
@media(max-width:399px) {
  .brands-page #brand-grid {
    grid-template-columns:1fr;
  }
}
.brands-page .catalog-hero {
  background:#f4f7fc url("../../img/brands-hero.png?v=22") left center / auto 100% no-repeat;
  min-height:300px;
  display:flex;
  align-items:center
}
.brands-page .catalog-hero::before {
  display:none
}
.brands-page .catalog-hero .container {
  width:100%
}
.brands-page .catalog-hero p {
  max-width:42%;
}
.brands-page #brand-grid a.catalog-card {
  display:block;
  text-decoration:none;
  color:inherit
}
.brands-page #brand-grid a.catalog-card:focus-visible {
  outline:3px solid #325d9c;
  outline-offset:4px
}
@media(max-width:991px) {
  .brands-page .catalog-hero {
    background-image:linear-gradient(to left,#f4f7fc 38%,#f4f7fcaa 65%,#f4f7fc55),url("../../img/brands-hero.png?v=22");
    background-size:100% 100%,auto 100%
  }
  .brands-page .catalog-hero p {
    max-width:65%
  }
}
@media(max-width:767px) {
  .brands-page .catalog-hero {
    min-height:240px;
    background-image:linear-gradient(#f4f7fcd9,#f4f7fcd9),url("../../img/brands-hero.png?v=22")
  }
  .brands-page .catalog-hero p {
    max-width:100%
  }
}
/* Soft full-width image blend without a hard image edge. */
.brands-page .catalog-hero {
  position:relative;
  isolation:isolate;
  overflow:hidden;
  background:#f1f6fc !important;
}
.brands-page .catalog-hero::before {
  content:"";
  position:absolute;
  display:block;
  inset:0;
  top:0;
  left:0;
  width:100%;
  height:100%;
  border:0 !important;
  border-radius:0 !important;
  background:url("../../img/brands-hero.png?v=22") left center / auto 100% no-repeat !important;
  -webkit-mask-image:linear-gradient(to right,#000 0%,#000 22%,rgba(0,0,0,.8) 35%,rgba(0,0,0,.3) 49%,transparent 65%) !important;
  mask-image:linear-gradient(to right,#000 0%,#000 22%,rgba(0,0,0,.8) 35%,rgba(0,0,0,.3) 49%,transparent 65%) !important;
  opacity:1 !important;
  z-index:-1;
  pointer-events:none;
}
.brands-page .catalog-hero .container {
  position:relative;
  z-index:1;
}
@media(max-width:991px) {
  .brands-page .catalog-hero::before {
    opacity:.7 !important;
  }
}
@media(max-width:767px) {
  .brands-page .catalog-hero::before {
    background-size:auto 100% !important;
    opacity:.18 !important;
    -webkit-mask-image:linear-gradient(to right,#000,transparent 95%) !important;
    mask-image:linear-gradient(to right,#000,transparent 95%) !important;
  }
}
