/* ==== GZS fix34 — 2026-10-20: 6-col card stack, button fit, title clamp, PDP tabs, contact ==== */

/* Force vertical product cards in category/search grids (Porto type1 was side-by-side) */
html body.catalog-category-view .products-grid .product-item .product-item-info,
html body.catalogsearch-result-index .products-grid .product-item .product-item-info,
html body .products.wrapper.products-grid .product-item .product-item-info.type1,
html body .products-grid .product-item-info.porto-tb-item {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  height: 100% !important;
}

html body.catalog-category-view .products-grid .product-item .product-item-photo,
html body .products-grid .product-item-info .product-item-photo,
html body .products-grid .product-item-info .product-image-container {
  width: 100% !important;
  max-width: 100% !important;
  float: none !important;
  margin: 0 0 8px !important;
  display: block !important;
}

html body.catalog-category-view .products-grid .product-item .product-item-details,
html body .products-grid .product-item-info .product-item-details,
html body .products-grid .product-item-details.porto-section {
  display: flex !important;
  flex-direction: column !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  padding: 0 4px 8px !important;
  box-sizing: border-box !important;
  flex: 1 1 auto !important;
}

html body .products-grid .product-item-name,
html body .products-grid .product-item-name a,
html body .products-grid .product-item-link,
html body .products-grid .product.name a {
  color: #333333 !important;
  white-space: normal !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  line-clamp: 3 !important;
  max-height: 3.9em !important;
  min-height: 3.6em !important;
  line-height: 1.3 !important;
  font-size: 13px !important;
  word-break: break-word !important;
}

html body .products-grid .product-item-actions,
html body .products-grid .product-item-actions .actions-primary,
html body .products-grid .product-item-details .product-item-actions {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin-top: auto !important;
  box-sizing: border-box !important;
  padding: 0 !important;
}

html body .products-grid .product-item-actions form,
html body .products-grid .product-item-actions .d-flex,
html body .products-grid .actions-primary form {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

html body .products-grid .action.tocart,
html body .products-grid .actions-primary .action.tocart,
html body .products-grid button.action.tocart.primary {
  box-sizing: border-box !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 8px 6px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  white-space: normal !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  background: #043E89 !important;
  border: 1px solid #043E89 !important;
  color: #fff !important;
}

html body .products-grid .action.tocart:before {
  position: static !important;
  float: none !important;
  margin: 0 4px 0 0 !important;
  flex-shrink: 0 !important;
}

@media (min-width: 1440px) {
  html body.catalog-category-view .products.wrapper.products-grid .product-item,
  html body.catalogsearch-result-index .products.wrapper.products-grid .product-item {
    width: 16.666666% !important;
    max-width: 16.666666% !important;
    flex: 0 0 16.666666% !important;
    padding-left: 6px !important;
    padding-right: 6px !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
  }
}

/* PDP tabs: clear row, no collision with review notice */
html body.catalog-product-view .product.data.items {
  display: flex !important;
  flex-wrap: wrap !important;
  clear: both !important;
}
html body.catalog-product-view .product.data.items > .item.title {
  float: none !important;
  position: relative !important;
  z-index: 2 !important;
  margin: 0 8px 0 0 !important;
}
html body.catalog-product-view .product.data.items > .item.content {
  flex: 1 0 100% !important;
  width: 100% !important;
  float: none !important;
  clear: both !important;
  position: relative !important;
  z-index: 1 !important;
  margin-top: 12px !important;
  padding-top: 8px !important;
}
html body.catalog-product-view .product.data.items > .item.content[aria-hidden="true"],
html body.catalog-product-view .product.data.items > .item.content:not(.active) {
  display: none !important;
}

/* Contact: readable spacing */
.contact-index-index .fieldset .field .control,
.contact-index-index .input-text,
.contact-index-index textarea {
  font-size: 16px !important;
  line-height: 1.45 !important;
}
.contact-index-index .box-information p,
.contact-index-index .contact-info p {
  line-height: 1.5 !important;
  margin: 0 0 8px !important;
}

/* Filtered price URLs: hide empty filter remnants if Magento still injects strip */
html body .filter-current,
html body .block.filter,
html body .porto-product-filters-toggle {
  display: none !important;
}
