/* Readable storefront typography, 14.10.2026.
   Manrope is self-hosted and includes Cyrillic and weights 400-800.
   Keep the original FLYVECTOR artwork as the wordmark. */

:root {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 500;
}

button, input, select, textarea, .badge, .search kbd {
  font-family: inherit;
}

#home .home-dock .category-card > span:nth-child(2),
.filter-tab,
.catalog-filter-title,
.scene-eyebrow,
#product-dialog .detail-copy > .eyebrow {
  text-transform: uppercase;
  font-weight: 700;
  letter-spacing: .025em;
}

#home .home-dock .category-card > span:nth-child(2) {
  text-shadow: 0 1px 0 rgba(255, 255, 255, .9), 0 2px 8px rgba(30, 93, 147, .13);
}

#home .home-dock .category-card small {
  text-transform: none;
  font-weight: 500;
  letter-spacing: 0;
  text-shadow: none;
}

#home .home-copy h1 {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  font-style: normal;
  text-transform: none;
  letter-spacing: -.035em;
  line-height: 1.08;
  font-size: clamp(40px, 4.35vw, 66px);
  max-width: 100%;
  text-wrap: balance;
}

#home .home-copy h1 em {
  font-style: normal;
}

#catalog #catalog-title,
#catalog[data-world]:not([data-world=""]) #catalog-title {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  font-style: normal;
  text-transform: none;
  letter-spacing: -.025em;
  line-height: 1.08;
  width: 100%;
  max-width: 100%;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

/* A typed search may contain a long code without spaces. */
#catalog[data-world=""] #catalog-title {
  overflow-wrap: anywhere;
}

#protection .protection-heading h1,
body[data-catalog-world="protection"] #protection .protection-heading h1 {
  font-family: Manrope, Arial, sans-serif;
  font-weight: 800;
  font-style: normal;
  text-transform: none;
  letter-spacing: -.025em;
  line-height: 1.1;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
  text-wrap: balance;
}

#protection .protection-heading h1 em {
  font-style: normal;
}

@media (max-width: 650px) {
  #home .home-dock .category-card {
    grid-template-columns: 36px minmax(0, 1fr);
    column-gap: 7px;
  }

  #home .home-copy h1 {
    font-size: clamp(31px, 9.1vw, 39px);
    letter-spacing: -.025em;
    line-height: 1.12;
    margin-bottom: 15px;
    text-wrap: pretty;
  }

  #catalog #catalog-title,
  #catalog[data-world]:not([data-world=""]) #catalog-title {
    font-size: clamp(24px, 7.5vw, 38px);
    letter-spacing: -.02em;
    line-height: 1.12;
    text-wrap: pretty;
  }

  #protection .protection-heading h1,
  body[data-catalog-world="protection"] #protection .protection-heading h1 {
    font-size: clamp(24px, 7.5vw, 38px);
    letter-spacing: -.02em;
    line-height: 1.12;
    text-wrap: pretty;
  }
}

@media (max-height: 740px) and (min-width: 651px) {
  #home .home-copy h1 {
    font-size: clamp(39px, 4.05vw, 55px);
    line-height: 1.08;
    margin-bottom: 17px;
  }
}

@media (max-width: 380px) {
  /* Give long Cyrillic category names the full card width on narrow phones. */
  #home .home-dock .category-card {
    grid-template-columns: minmax(0, 1fr);
    grid-template-rows: 32px auto;
    row-gap: 3px;
    height: 90px;
    padding: 8px;
    justify-items: center;
    text-align: center;
  }

  #home .home-dock .category-product {
    width: 58px;
    height: 32px;
  }

  #home .home-dock .category-product--shield {
    width: 56px;
    transform: scale(.55);
  }

  #home .home-dock .category-card > span:nth-child(2) {
    grid-column: 1;
    grid-row: 2;
    font-size: 10px;
    letter-spacing: .01em;
    width: 100%;
  }

  #home .home-dock .category-card small {
    font-size: 7px;
    line-height: 1.4;
    margin-top: 3px;
  }
}

@media (max-width: 360px) {
  #home .home-copy h1 {
    font-size: 30px;
    letter-spacing: -.02em;
    line-height: 1.12;
    margin-bottom: 13px;
  }
}

@media (min-width: 1000px) {
  /* Keep the long category label intact in the four-column desktop dock. */
  #home .home-dock .category-card[data-category="power"] > span:nth-child(2) {
    font-size: clamp(15px, 1.2vw, 17px);
    letter-spacing: 0;
    overflow-wrap: normal;
  }
}
