/* Product assets already include a white canvas; blend it into the card without bands. */
.product-section .product-card img,
.product-section .product-placeholder{
  background:#fff!important;
  border-bottom:0!important;
  padding:0!important;
  object-fit:contain!important;
  object-position:center center!important;
}

/* Keep the complete product visible; do not crop the supplied product canvas. */
.product-section .product-card img{transform:none;transform-origin:center center}

/* Reference slider: no blue seam below the image and no uncovered fallback band. */
.hero-slider{
  display:block!important;
  height:655px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  background:#fff!important;
  line-height:0!important;
}
.hero-slides{
  display:block!important;
  height:100%!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
}
.hero-slide{
  height:100%!important;
  margin:0!important;
  background-color:transparent!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
}
/* Keep the reference headline inside the upper-middle of the hero; it must not
   be clipped beneath the header or fall toward the bottom edge. */
.hero-slide .hero-content{
  height:100%!important;
  justify-content:flex-start!important;
  padding:220px 0 0!important;
}
.hero-dots{
  top:78px!important;
  right:47px!important;
  bottom:auto!important;
  width:14px;
  align-items:center;
  gap:12px!important;
}
.hero-dot{
  flex:0 0 14px;
  width:14px!important;
  height:14px!important;
  margin:0!important;
  border:1px solid #fff!important;
  background:#fff!important;
  box-shadow:0 1px 2px rgba(0,0,0,.2);
}
.hero-dot.is-active{
  background:#0787a6!important;
  box-shadow:0 0 0 2px #fff,0 1px 3px rgba(0,0,0,.25)!important;
}
.hero-slider + .intro-section{
  margin-top:0!important;
  border-top:0!important;
}

/* Product catalogue cards: give the portrait assets more vertical room. */
section.section > .wrap > h2 + .cards .card img{
  height:270px!important;
  object-fit:contain!important;
  object-position:center center!important;
  background:#fff!important;
  padding:0!important;
}
section.section > .wrap > h2 + .cards .card-body p{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
  min-height:0!important;
  max-height:4.8em;
}
@media(max-width:700px){
  .hero-slider{height:520px!important}
  .hero-dots{top:88px!important;right:21px!important}
  .hero-slide .hero-content{padding:155px 0 0!important}
  section.section > .wrap > h2 + .cards .card img{height:220px!important}
}

/* Search results use compact thumbnails so the result list stays scannable. */
.search-results .search-result img,
.search-results .search-result-thumb{
  display:block;
  width:100%;
  height:132px!important;
  object-fit:contain!important;
  object-position:center center!important;
  padding:8px!important;
  background:#f7f8fa!important;
}
.search-results .search-result-thumb-empty{display:grid;place-items:center;color:#0787a6;font-size:30px}
.search-results .search-result .card-body{min-height:150px}
.search-results .search-result .card-body p{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
@media(max-width:700px){.search-results{grid-template-columns:1fr}.search-results .search-result img,.search-results .search-result-thumb{height:116px!important}}
