/*
 * UNISHOP2_HOMEPAGE_MOBILE_HERO_EMPTY_SPACE_FIX_R68
 * R68 mobile Hero height refinement of the accepted R67 cascade layer.
 * No content, source-image or behavior changes.
 */
.home-page {
  --eo-r62-font: "Montserrat", -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  --eo-r62-ink: #202126;
  --eo-r62-muted: #6f747d;
  --eo-home-primary-heading-size: 34px;
  --eo-home-primary-heading-weight: 700;
  --eo-home-primary-heading-line-height: 1.2;
  --eo-home-primary-heading-letter-spacing: -0.7px;
  --eo-home-primary-heading-color: #202126;
  --eo-home-section-content-gap: 36px;
  --eo-home-equipment-media-height: 216px;
  --eo-home-equipment-image-size: 184px;
  --eo-home-equipment-media-padding: 16px;
  --eo-home-category-media-height: 216px;
  --eo-home-category-media-padding: 8px;
  --eo-home-category-image-max-width: 248px;
  --eo-home-category-image-height: 200px;
  --eo-home-blog-media-height: 210px;
  --eo-r62-title-size: 16px;
  font-family: var(--eo-r62-font);
  color: var(--eo-r62-ink);
}

/* Older native blocks explicitly selected Manrope; the homepage contract is Montserrat. */
.home-page .eo-r36-hero,
.home-page .eo-r38-services,
.home-page .eo-r29-business,
.home-page .eo-r41-categories,
.home-page .eo-r43-promotions,
.home-page .eo-r51-seo,
.home-page .eo-r55-blog-heading,
.home-page .eo-r55-blog {
  font-family: var(--eo-r62-font) !important;
}

/* Six primary sections consume one exact contract. */
.home-page > .content-bottom > .heading,
.home-page .eo-r43-promotions__heading h2,
.home-page .eo-r41-categories__heading-copy h2,
.home-page .eo-r29-business__title,
.home-page .eo-r38-services__heading h2,
.home-page .eo-r55-blog-heading__title {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--eo-home-primary-heading-color) !important;
  font-family: var(--eo-r62-font) !important;
  font-size: var(--eo-home-primary-heading-size) !important;
  font-weight: var(--eo-home-primary-heading-weight) !important;
  line-height: var(--eo-home-primary-heading-line-height) !important;
  letter-spacing: var(--eo-home-primary-heading-letter-spacing) !important;
  text-transform: none !important;
}

.home-page > .content-bottom > .heading {
  padding-top: 64px !important;
}

.home-page > .content-bottom > .heading + .tab-content {
  margin-top: var(--eo-home-section-content-gap);
}

.home-page .eo-r43-promotions__header,
.home-page .eo-r41-categories__header,
.home-page .eo-r29-business__header,
.home-page .eo-r38-services__header,
.home-page .eo-r55-blog-heading {
  margin-bottom: var(--eo-home-section-content-gap);
}

/* The two editorial SEO headings intentionally use one secondary hierarchy. */
.home-page .eo-r51-seo > .heading {
  margin: 0 !important;
  padding: 0 !important;
  color: var(--eo-home-primary-heading-color) !important;
  font-family: var(--eo-r62-font) !important;
  font-size: 30px !important;
  font-weight: 700 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.5px !important;
  text-transform: none !important;
}

/* Shared subtitle/helper contract. */
.home-page .eo-r43-promotions__heading p,
.home-page .eo-r41-categories__heading-copy p,
.home-page .eo-r29-business__subtitle,
.home-page .eo-r38-services__heading p,
.home-page .eo-r55-blog-heading__subtitle {
  margin-top: 10px;
  color: var(--eo-r62-muted) !important;
  font-family: var(--eo-r62-font) !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  letter-spacing: 0 !important;
}

/* Product modules 107 and 110: one square, centered, non-distorting media contract. */
.home-page .five-in-one_v2-0-0 .product-thumb__image,
.home-page .eo-r43-promo-card .product-thumb__image > a {
  box-sizing: border-box;
  width: 100%;
  aspect-ratio: 1 / 1;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  background: #fff;
}

.home-page .five-in-one_v2-0-0 .product-thumb__image {
  min-height: 0;
  padding: 20px;
  flex: 0 0 auto;
}

.home-page .five-in-one_v2-0-0 .product-thumb__image > a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
}

.home-page .eo-r43-promo-card .product-thumb__image > a {
  height: auto;
  padding: 16px;
}

.home-page .five-in-one_v2-0-0 .product-thumb__image img,
.home-page .five-in-one_v2-0-0 .product-thumb__image .img-responsive,
.home-page .eo-r43-promo-card .product-thumb__image img,
.home-page .eo-r43-promo-card .product-thumb__image .img-responsive {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  object-fit: contain;
  object-position: center;
  transform: none;
}

/* Module 87: preserve category.image while removing the old non-uniform KSO stretch. */
.home-page .eo-r41-category-card__image {
  display: flex;
  height: 196px;
  padding: 14px;
  flex: 0 0 196px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.home-page .eo-r41-category-card__image img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  margin: auto;
  object-fit: contain;
  object-position: center;
  transform: none !important;
}

.home-page .eo-r41-category-card:hover .eo-r41-category-card__image img,
.home-page .eo-r41-category-card:focus-visible .eo-r41-category-card__image img {
  transform: none !important;
}

/* Module 34: equal article/placeholder media rows, without replacing either source. */
.home-page .eo-r55-blog .news-thumb__image {
  height: var(--eo-home-blog-media-height);
  min-height: var(--eo-home-blog-media-height);
  padding: 10px;
  flex: 0 0 var(--eo-home-blog-media-height);
  overflow: hidden;
}

.home-page .eo-r55-blog .news-thumb__image a {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.home-page .eo-r55-blog .news-thumb__image img {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  object-position: center;
}

/* Shared card-title contract; line counts remain suited to each card type. */
.home-page .product-thumb__name,
.home-page .eo-r41-category-card__title,
.home-page .eo-r29-business__card-title,
.home-page .eo-r38-service-card h3,
.home-page .eo-r38-service-card h3 a,
.home-page .eo-r55-blog .news-thumb__name {
  color: var(--eo-r62-ink);
  font-family: var(--eo-r62-font) !important;
  font-size: var(--eo-r62-title-size) !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  letter-spacing: -0.01em !important;
}

.home-page .product-thumb__name {
  min-height: 4.2em;
  -webkit-line-clamp: 3;
}

.home-page .eo-r43-promo-card .product-thumb__name {
  min-height: 4.2em;
  overflow: hidden !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3 !important;
}

.home-page .eo-r41-category-card__title {
  min-height: 2.8em;
}

.home-page .eo-r55-blog .news-thumb__name {
  min-height: 4.2em;
  -webkit-line-clamp: 3;
}

/* Small meta, descriptions and editorial body use two predictable text tiers. */
.home-page .product-thumb__model,
.home-page .product-thumb__rating,
.home-page .eo-r41-category-card__count,
.home-page .eo-r55-blog .news-thumb__category-date-viewed,
.home-page .eo-r43-promo-card .uni-timer,
.home-page .eo-r43-promo-card__discount {
  font-family: var(--eo-r62-font) !important;
  font-weight: 500;
  line-height: 1.4;
}

.home-page .product-thumb__description,
.home-page .eo-r29-business__description,
.home-page .eo-r38-service-card__description,
.home-page .eo-r55-blog .news-thumb__text,
.home-page .eo-r51-seo > .html-module p {
  color: var(--eo-r62-muted);
  font-family: var(--eo-r62-font) !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
}

.home-page .product-thumb__description {
  font-size: 14px;
}

.home-page .eo-r29-business__description,
.home-page .eo-r38-service-card__description,
.home-page .eo-r55-blog .news-thumb__text {
  font-size: 15px !important;
}

.home-page .eo-r51-seo > .html-module p {
  font-size: 16px !important;
}

/* Buttons and small CTAs retain their existing colors and behavior. */
.home-page .btn,
.home-page button,
.home-page .eo-r36-hero__button,
.home-page .eo-r43-promotions__all,
.home-page .eo-r41-categories__all,
.home-page .eo-r29-business__all,
.home-page .eo-r29-business__cta,
.home-page .eo-r38-button,
.home-page .eo-r55-blog-heading__link,
.home-page .eo-r55-blog__cta {
  font-family: var(--eo-r62-font) !important;
  font-weight: 700 !important;
  letter-spacing: 0;
}

@media (max-width: 1279px) {
  .home-page .eo-r41-category-card__image {
    height: 184px;
    flex-basis: 184px;
  }
}

@media (max-width: 767px) {
  .home-page {
    --eo-home-primary-heading-size: 30px;
    --eo-home-section-content-gap: 28px;
    --eo-home-blog-media-height: 200px;
    --eo-home-mobile-product-media-padding: 12px;
    --eo-home-mobile-promotion-media-padding: 16px;
    --eo-home-mobile-category-media-height: clamp(156px, 42vw, 172px);
    --eo-home-mobile-category-card-padding: 14px;
    --eo-home-mobile-category-media-padding: 4px;
  }

  .home-page > .content-bottom > .heading {
    padding-top: 42px !important;
  }

  .home-page .eo-r43-promotions__header,
  .home-page .eo-r41-categories__header,
  .home-page .eo-r29-business__header,
  .home-page .eo-r38-services__header,
  .home-page .eo-r55-blog-heading {
    margin-bottom: var(--eo-home-section-content-gap);
  }

  /* Hero: remove the mobile-only 720px/300px equipment-image reserve. */
  .home-page .eo-r36-hero__panel {
    height: auto;
    min-height: 0;
  }

  .home-page .eo-r36-hero__inner-grid {
    min-height: 0;
  }

  .home-page .eo-r36-hero__copy-shell {
    min-height: 0;
    padding-bottom: 36px;
  }

  /* Modules 107 and 110 retain separate, square, non-cropping mobile canvases. */
  .home-page .five-in-one_v2-0-0 .product-thumb__image,
  .home-page .eo-r43-promo-card .product-thumb__image > a {
    box-sizing: border-box;
    width: 100%;
    min-height: 0;
    max-height: none;
    aspect-ratio: 1 / 1;
    align-items: center;
    justify-content: center;
    overflow: hidden;
  }

  .home-page .five-in-one_v2-0-0 .product-thumb__image {
    padding: var(--eo-home-mobile-product-media-padding);
  }

  .home-page .eo-r43-promo-card .product-thumb__image > a {
    height: auto;
    padding: var(--eo-home-mobile-promotion-media-padding);
  }

  .home-page .five-in-one_v2-0-0 .product-thumb__image img,
  .home-page .five-in-one_v2-0-0 .product-thumb__image .img-responsive,
  .home-page .eo-r43-promo-card .product-thumb__image img,
  .home-page .eo-r43-promo-card .product-thumb__image .img-responsive {
    display: block;
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    margin: auto;
    object-fit: contain;
    object-position: center;
    transform: none !important;
  }

  /* Module 87 keeps two columns but grants category.image more usable area. */
  .home-page .eo-r41-category-card {
    padding: var(--eo-home-mobile-category-card-padding);
  }

  .home-page .eo-r41-category-card__image {
    height: var(--eo-home-mobile-category-media-height);
    padding: var(--eo-home-mobile-category-media-padding);
    flex-basis: var(--eo-home-mobile-category-media-height);
  }

  .home-page .eo-r55-blog .news-thumb__image {
    height: var(--eo-home-blog-media-height);
    min-height: var(--eo-home-blog-media-height);
    flex-basis: var(--eo-home-blog-media-height);
  }
}

/*
 * Exact desktop product/promotion contract for the required QA widths (1280–1920).
 * Canvas: 216px high. Inner padding: 16px. Actual img box: 184px square.
 */
@media (min-width: 1280px) {
  .home-page .five-in-one_v2-0-0 .product-thumb__image,
  .home-page .eo-r43-promo-card .product-thumb__image > a {
    box-sizing: border-box;
    width: 100%;
    height: var(--eo-home-equipment-media-height);
    min-height: var(--eo-home-equipment-media-height);
    max-height: var(--eo-home-equipment-media-height);
    padding: var(--eo-home-equipment-media-padding);
    align-items: center;
    justify-content: center;
    overflow: hidden;
    aspect-ratio: auto;
    background: #fff;
  }

  .home-page .five-in-one_v2-0-0 .product-thumb__image {
    flex: 0 0 var(--eo-home-equipment-media-height);
  }

  .home-page .eo-r43-promo-card .product-thumb__image > a {
    flex: 0 0 var(--eo-home-equipment-media-height);
  }

  .home-page .five-in-one_v2-0-0 .product-thumb__image img,
  .home-page .five-in-one_v2-0-0 .product-thumb__image .img-responsive,
  .home-page .eo-r43-promo-card .product-thumb__image img,
  .home-page .eo-r43-promo-card .product-thumb__image .img-responsive {
    display: block;
    width: var(--eo-home-equipment-image-size);
    height: var(--eo-home-equipment-image-size);
    min-width: var(--eo-home-equipment-image-size);
    min-height: var(--eo-home-equipment-image-size);
    max-width: var(--eo-home-equipment-image-size);
    max-height: var(--eo-home-equipment-image-size);
    margin: auto;
    object-fit: contain;
    object-position: center;
    transform: none !important;
  }

  /* Module 87 uses its own wider, non-square category-image contract. */
  .home-page .eo-r41-category-card__image {
    box-sizing: border-box;
    display: flex;
    width: 100%;
    height: var(--eo-home-category-media-height);
    min-height: var(--eo-home-category-media-height);
    max-height: var(--eo-home-category-media-height);
    padding: var(--eo-home-category-media-padding);
    flex: 0 0 var(--eo-home-category-media-height);
    align-items: center;
    justify-content: center;
    overflow: hidden;
    background: #fff;
  }

  .home-page .eo-r41-category-card__image img {
    display: block;
    width: min(100%, var(--eo-home-category-image-max-width));
    height: var(--eo-home-category-image-height);
    min-width: 0;
    min-height: 0;
    max-width: 100%;
    max-height: var(--eo-home-category-image-height);
    margin: auto;
    object-fit: contain;
    object-position: center;
    transform: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-page .eo-r41-category-card__image img {
    transition: none;
  }
}
