/* scope to category page only */
.category-page .product-card { border: 0 !important; box-shadow: none !important; }

/* make every product image the same visual size */
.category-page .product-card .card-img-top{
  height: 160px;              /* tweak 160–220 if you like */
  width: 100%;
  /*object-fit: contain;         letterbox, don’t crop */
  background: #fff;
  padding: 1px;               /* breathing room around PNGs */
}

/* keep rows aligned without changing your layout */
.category-page .card-body { display: flex; flex-direction: column; }
.category-page .product-title { min-height: 48px; }  /* ~2 lines */
.category-page .product-brand { min-height: 18px; }
.category-page .product-meta { margin-top: auto; }

/* optional: remove borders from the subcategory tiles only */
.category-page .subcat-tile { border: 0 !important; box-shadow: none !important; }

/* Force a responsive multi-column grid only on category page */
.category-page .products-grid{
  display: grid;
  gap: 1rem;                 /* spacing between cards */
  grid-template-columns: repeat(2, minmax(0, 1fr));   /* default 2 */
}
@media (min-width: 576px){  /* ~sm */
  .category-page .products-grid{ grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (min-width: 768px){  /* ~md */
  .category-page .products-grid{ grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media (min-width: 1200px){ /* ~xl */
  .category-page .products-grid{ grid-template-columns: repeat(5, minmax(0,1fr)); }
}

/* make each cell stretch so card heights match nicely */
.category-page .product-cell{ display: flex; }
.category-page .product-card{ width: 100%; }

.card-img-top {
    height: 200px;  /* Fixed height for consistent images */
    object-fit: contain;  /* Prevent distortion */
    background-color: #f8f9fa;  /* Light background for placeholders */
}

.row-cols-md-4 > * {
    margin-bottom: 1px;
    flex-basis: 25%;  /* More spacing between cards */
}

.card {
    border: none;  /* Removes the solid box */
    box-shadow: none;  /* Removes any shadow */
    background-color: transparent;
   /* border: 1px solid #e0e0e0;*/
    /*border-radius: 0.25rem;*/
   /* box-shadow: 0 2px 5px rgba(0,0,0,0.05);*/
   /* transition: box-shadow 0.2s;*/
}
.card:hover {
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}
.card-img-top {
    height: 160px;
    object-fit: contain;
    background-color: #ffffff;
}
.card-body {
    padding: 1rem;
}
.btn-primary {
    background-color: #101f50;  /* Captured Neto primary colour; see fidelity register. */
    border-color: #101f50;
   
}

/* Keep the contact address inside narrow tablet footer columns. */
.wrapper-footer a[href^="mailto:"] { overflow-wrap: anywhere; }
.featured-brand-strip { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 10rem) / 6); gap: 2rem; overflow-x: auto; align-items: center; padding: 0 2rem; scroll-padding-inline: 2rem; scroll-snap-type: x mandatory; }
.featured-brand-strip a { display: flex; align-items: center; justify-content: center; min-width: 0; scroll-snap-align: start; }
.featured-brand-strip img { display: block; width: 100%; max-width: 200px; height: auto; object-fit: contain; }
@media (max-width: 991.98px) {
  .featured-brand-strip { grid-auto-columns: calc((100% - 3rem) / 4); gap: 1rem; padding: 0 1rem; scroll-padding-inline: 1rem; }
}
@media (max-width: 575.98px) {
  .featured-brand-strip { grid-auto-columns: calc((100% - 2rem) / 3); }
}
/* Cart table tweaks */
.store-panel.card {
  background-color: var(--bs-card-bg);
  border: var(--bs-card-border-width) solid var(--bs-card-border-color);
  box-shadow: var(--bs-box-shadow-sm);
}

.cart-item-thumbnail {
  width: 60px;
  height: 60px;
  object-fit: contain;
  flex: 0 0 60px;
}

.financial-totals dt,
.financial-totals dd {
  margin-bottom: .5rem;
}

.financial-total-value {
  font-variant-numeric: tabular-nums;
}

.financial-grand-total-label,
.financial-grand-total-value {
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.3;
}

.financial-grand-total-value {
  font-variant-numeric: tabular-nums;
  overflow-wrap: anywhere;
}

.qty-group .form-control {
  max-width: 72px;
}
.qty-group .btn {
  white-space: nowrap;
}
.table td, .table th {
  vertical-align: middle;
}

/* Copied Neto CSS makes mobile toggles full-width; Bootstrap needs a compact button. */
.wrapper-desktop-nav .navbar-toggler { width: auto; }
.article-content, .tab-content { overflow-wrap: anywhere; min-width: 0; }
.article-content img, .tab-content img { max-width: 100%; height: auto; }
.article-content table, .specifications-content { max-width: 100%; overflow-x: auto; }
.catalogue-grid { display: grid; gap: 1rem; }
.catalogue-grid-brands, .catalogue-grid-subcategories { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.catalogue-grid-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 576px) {
  .catalogue-grid-brands, .catalogue-grid-subcategories { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .catalogue-grid-products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 992px) {
  .catalogue-grid-brands, .catalogue-grid-subcategories, .catalogue-grid-products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.catalogue-grid > * { min-width: 0; }
.catalogue-grid-products .card-img-top[src*="/placeholder.png"] { height: 80px; }
.products-home-brand-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 576px) { .products-home-brand-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
@media (min-width: 992px) { .products-home-brand-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); } }
.brand-directory-card { display: block; height: 100%; text-align: center; }
.brand-directory-card:focus-visible, .featured-brand-strip a:focus-visible { outline: 2px solid #101f50; outline-offset: 3px; }
.brand-directory-card:hover .brand-directory-caption { text-decoration: underline; }
.brand-directory-image { display: grid; place-items: center; width: min(100%, 200px); aspect-ratio: 1; margin-inline: auto; }
.brand-directory-logo { display: block; width: 100%; height: 100%; min-height: 0; object-fit: contain; }
.brand-directory-caption { padding: 0 0 .75rem; }
.brand-detail-logo { max-height: 8rem; object-fit: contain; }
.brand-logo-elec { background: #343a40; padding: 14px; border-radius: 4px; box-sizing: border-box; }
.brand-logo-bussmann { max-width: 160px; }
.category-hero-art { display: block; max-height: 12rem; max-width: 100%; object-fit: contain; }

/* Keep category names visible for keyboard, touch and desktop shoppers. */
#main-content section[aria-label="Categories"] .hover-overlay {
  position: static;
  opacity: 1;
  min-height: 3rem;
  background: transparent;
}
#main-content section[aria-label="Categories"] .hover-overlay h2 {
  color: #102050;
  font-size: 1rem;
  margin-bottom: 0;
}

/* Product cards shared by catalogue, search, recommendations and homepage.
   Neto reference: category/product/home captures, 1365px and 390px. */
.store-product-card { border: 0; border-radius: 0; box-shadow: none; min-width: 0; }
.store-product-card:hover { box-shadow: none; }
.store-product-card .product-card-image { height: clamp(150px, 18vw, 260px); width: 100%; object-fit: contain; background: #fff; }
.store-product-card .card-body { padding: .75rem .5rem; }
.store-product-card .product-card-brand { text-transform: uppercase; font-size: 14px; color: #666; }
.store-product-card .card-title { font-size: 16px; font-weight: 400; line-height: 1.3; margin: 1.5rem 0 1rem; }
.store-product-card .card-title a { color: #101f50; text-decoration: none; }
.store-product-card .card-title a:hover { text-decoration: underline; }
.store-product-card .product-card-price { color: #666; font-size: 14px; margin-bottom: .25rem; }
.store-product-card .product-card-code { color: #53628c; font-size: 11px; overflow-wrap: anywhere; min-height: 2rem; }
.store-product-card .btn { border-radius: 0; font-size: 14px; padding: .5rem; white-space: normal; }
@media (max-width: 767.98px) {
  .store-product-card .product-card-brand { display: none; }
  .store-product-card .card-title { font-size: 14px; margin-top: .75rem; }
}
