/* Denser product page (28. 9. 2026): smaller title, brand and code in one line, availability next to the price,
   calmer headings in the description, one-line breadcrumbs on tablets and phones (-2). Loaded after eletur.css by product.twig,
   so these rules win. */
.et-product-summary {
  gap: 14px;
}

.et-product-summary h1 {
  font-size: 26px;
  line-height: 1.2;
}

.et-product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 18px;
  margin: -4px 0 0;
  color: var(--et-muted);
  font-family: var(--et-font-body);
  font-size: 13px;
  line-height: 1.5;
}

.et-product-meta strong,
.et-product-meta a {
  font-weight: 600;
}

.et-product-meta strong {
  color: var(--et-text);
}

.et-product-meta a {
  color: var(--et-accent);
}

.et-product-meta a:hover,
.et-product-meta a:focus {
  color: var(--et-accent-dark);
  text-decoration: underline;
}

.et-product-summary .et-tag-row--summary {
  margin-bottom: 0;
}

.et-product-summary .et-product-intro {
  margin: 0;
  line-height: 1.6;
}

/* Price on the left, stock and delivery date to its right; they wrap below on narrow screens */
.et-product-price-block {
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 22px;
}

.et-product-price {
  padding: 0;
}

.et-product-availability {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
}

.et-product-price-block .et-estimated-delivery--detail {
  margin: 0;
}

/* Quantity and the add to cart button in one row (the compare button was removed on every shop) */
.et-buy-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px 16px;
}

.et-buy-row .et-quantity-row {
  flex: 0 0 auto;
  gap: 10px;
}

.et-buy-row .et-quantity-row label {
  margin: 0;
}

.et-buy-row .et-product-actions {
  flex: 1 1 200px;
}

.et-buy-row .et-product-actions .et-btn--primary {
  width: 100%;
}

/* Description, specification and other tabs: section headings in proportion to the text */
.et-content-card h2 {
  margin: 20px 0 8px;
  font-size: 20px;
  line-height: 1.3;
}

.et-content-card h3 {
  margin: 16px 0 6px;
  font-size: 16px;
  line-height: 1.35;
}

.et-content-card h2:first-child,
.et-content-card h3:first-child {
  margin-top: 0;
}

.et-related h2 {
  font-size: 22px;
}

@media (max-width: 991px) {
  .et-product-summary h1 {
    font-size: 24px;
  }

  /* Tablets and phones: breadcrumbs in one line, long names end with an ellipsis instead of wrapping */
  .et-product-page .breadcrumb {
    flex-wrap: nowrap;
    overflow: hidden;
  }

  .et-product-page .breadcrumb > li {
    flex: 0 1 auto;
    min-width: 0;
  }

  .et-product-page .breadcrumb > li:first-child {
    flex: 0 0 auto;
  }

  /* The short product name stays whole, the long category names give way; capped for products without one */
  .et-product-page .breadcrumb > li:last-child {
    flex-shrink: 0;
    max-width: 50%;
  }

  .et-product-page .breadcrumb > li > a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .et-related h2 {
    font-size: 21px;
  }
}

@media (max-width: 767px) {
  .et-product-summary h1 {
    font-size: 21px;
  }

  /* Phones show home, the parent category and the product; the full path stays in the HTML and in the
     BreadcrumbList structured data. The arrows already separate the crumbs, so the extra slash goes. */
  .et-product-page .breadcrumb > li {
    padding: 0 14px 0 8px;
  }

  .et-product-page .breadcrumb > li + li::before {
    content: none;
  }

  .et-product-page .breadcrumb > li:not(:first-child):not(:last-child):not(:nth-last-child(2)) {
    display: none;
  }

  /* On phones the stepper and the button share the row; the label stays for screen readers */
  .et-buy-row .et-quantity-row label {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }

  .et-buy-row .et-product-actions {
    flex-basis: 150px;
  }

  .et-content-card h2 {
    font-size: 18px;
  }

  .et-content-card h3 {
    font-size: 15px;
  }

  .et-related h2 {
    font-size: 20px;
  }
}
