/* Search and brands: public catalog surfaces built on the Amorosa system. */
.public-eyebrow { margin: 0 0 11px; color: #777; font-size: 10px; font-weight: 600; letter-spacing: .13em; text-transform: uppercase; }
.public-count { margin: 0 0 7px; color: #777; font-size: 12px; white-space: nowrap; }
.public-link { display: inline-flex; margin-top: 28px; padding-bottom: 5px; align-items: center; gap: 18px; border-bottom: 1px solid #777; color: #111; font-size: 10px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.public-link span { font-size: 17px; font-weight: 400; }
.catalog-layout--public { display: block; }
.catalog-toolbar--brand { justify-content: flex-end; margin-top: 50px; }

.search-heading { margin-bottom: 52px; }
.search-heading__row { display: flex; padding-bottom: 32px; align-items: flex-end; justify-content: space-between; gap: 32px; border-bottom: 1px solid #aaa; }
.search-heading h1 { max-width: 900px; margin: 0; color: #111; font-size: clamp(42px, 5.3vw, 76px); line-height: .95; font-weight: 500; letter-spacing: -.055em; text-transform: none; }
.search-heading__query { margin: 18px 0 0; color: #555; font-size: 15px; }
.search-page-form { display: grid; max-width: 850px; margin-top: 32px; grid-template-columns: minmax(0, 1fr) 150px; border-bottom: 1px solid #111; }
.search-page-form input { min-width: 0; height: 54px; padding: 0 4px; border: 0; border-radius: 0; background: transparent; color: #111; font-size: 16px; outline: none; }
.search-page-form input:focus-visible { box-shadow: inset 0 -2px #111; }
.search-page-form button { height: 54px; border: 0; border-radius: 0; background: #111; color: #fff; font-size: 10px; font-weight: 600; letter-spacing: .09em; text-transform: uppercase; }
.search-page .catalog-grid,
.brand-page .catalog-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 58px 28px; }

.public-empty { padding: clamp(64px, 8vw, 112px) 24px; background: #f4f4f2; text-align: center; }
.public-empty h2 { max-width: 720px; margin: 0 auto 14px; color: #111; font-size: clamp(30px, 3.7vw, 50px); line-height: 1.05; font-weight: 500; letter-spacing: -.04em; text-transform: none; }
.public-empty > p:not(.public-eyebrow) { max-width: 500px; margin: 0 auto; color: #666; font-size: 14px; line-height: 1.6; }

.brands-page { padding-bottom: 112px; }
.brands-heading { margin-bottom: 58px; padding-bottom: 38px; border-bottom: 1px solid #aaa; }
.brands-heading__row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.brands-heading h1 { margin: 0; color: #111; font-size: clamp(48px, 6vw, 84px); line-height: .92; font-weight: 500; letter-spacing: -.06em; text-transform: none; }
.brands-heading__row > p { margin: 0 0 7px; color: #777; font-size: 12px; white-space: nowrap; }
.brands-heading__intro { max-width: 760px; margin-top: 28px; color: #555; font-size: 14px; line-height: 1.7; }
.brands-showcase { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 42px 24px; }
.brand-tile { display: block; min-width: 0; color: #111; }
.brand-tile__visual { display: flex; height: 210px; padding: 34px; align-items: center; justify-content: center; overflow: hidden; background: #f4f4f2; }
.brand-tile:nth-child(4n+2) .brand-tile__visual,
.brand-tile:nth-child(4n+3) .brand-tile__visual { background: #efeee8; }
.brand-tile__visual img { display: block; width: 100%; height: 100%; object-fit: contain; filter: grayscale(1); transition: filter .25s ease, transform .35s ease; }
.brand-tile__visual > strong { max-width: 100%; font-size: clamp(20px, 2vw, 30px); line-height: 1; font-weight: 500; letter-spacing: -.04em; text-align: center; overflow-wrap: anywhere; }
.brand-tile:hover .brand-tile__visual img { filter: grayscale(0); transform: scale(1.025); }
.brand-tile__caption { display: flex; min-height: 54px; padding: 15px 0 0; align-items: flex-start; justify-content: space-between; gap: 12px; border-top: 1px solid #111; }
.brand-tile__caption strong { font-size: 14px; line-height: 1.3; font-weight: 500; }
.brand-tile__caption i { font-size: 18px; line-height: 1; font-style: normal; font-weight: 300; }

.brand-identity { display: grid; margin-bottom: 10px; grid-template-columns: minmax(300px, .8fr) minmax(0, 1.2fr); background: #f4f4f2; }
.brand-identity__visual { display: flex; min-height: 390px; padding: clamp(42px, 6vw, 82px); align-items: center; justify-content: center; background: #efeee8; }
.brand-identity__visual img { display: block; width: 100%; max-width: 480px; height: 230px; object-fit: contain; filter: grayscale(1); }
.brand-identity__visual--text strong { max-width: 100%; font-size: clamp(42px, 5vw, 72px); line-height: .95; font-weight: 500; letter-spacing: -.055em; text-align: center; overflow-wrap: anywhere; }
.brand-identity__copy { display: flex; min-width: 0; padding: clamp(42px, 5.5vw, 78px); flex-direction: column; justify-content: center; }
.brand-identity__title { display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.brand-identity h1 { margin: 0; color: #111; font-size: clamp(46px, 5.5vw, 80px); line-height: .92; font-weight: 500; letter-spacing: -.06em; text-transform: none; overflow-wrap: anywhere; }
.brand-identity__description { max-width: 680px; margin-top: 30px; color: #555; font-size: 14px; line-height: 1.65; }
.brand-identity__description > :last-child { margin-bottom: 0; }

@media (max-width: 1199px) {
  .search-page .catalog-grid, .brand-page .catalog-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .brands-showcase { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  .search-heading { margin-bottom: 38px; }
  .search-heading__row { padding-bottom: 24px; align-items: flex-start; flex-direction: column; gap: 14px; }
  .search-heading h1 { font-size: 43px; }
  .search-heading__query { margin-top: 13px; font-size: 14px; }
  .search-page-form { margin-top: 24px; grid-template-columns: minmax(0, 1fr) 92px; }
  .search-page-form input { font-size: 14px; }
  .search-page .catalog-grid, .brand-page .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 42px 12px; }
  .catalog-toolbar--brand { margin-top: 28px; }
  .public-empty { padding: 66px 20px; }
  .public-empty h2 { font-size: 32px; }

  .brands-page { padding-bottom: 78px; }
  .brands-heading { margin-bottom: 34px; padding-bottom: 26px; }
  .brands-heading__row { align-items: flex-start; flex-direction: column; gap: 12px; }
  .brands-heading h1 { font-size: 52px; }
  .brands-heading__intro { margin-top: 22px; }
  .brands-showcase { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 12px; }
  .brand-tile__visual { height: 132px; padding: 22px; }
  .brand-tile__caption { min-height: 49px; padding-top: 12px; }
  .brand-tile__caption strong { font-size: 12px; }

  .brand-identity { margin: 0 -16px 4px; grid-template-columns: 1fr; }
  .brand-identity__visual { min-height: 230px; padding: 40px 36px; }
  .brand-identity__visual img { height: 150px; }
  .brand-identity__copy { padding: 38px 22px 42px; }
  .brand-identity__title { align-items: flex-start; flex-direction: column; gap: 13px; }
  .brand-identity h1 { font-size: 52px; }
  .brand-identity__description { margin-top: 24px; }
}
