/* Homepage only. Existing theme, content and category order are preserved. */
body#index #wrapper { padding-top: 12px; }
body#index #header .header-top { padding-top: 10px; padding-bottom: 10px; }
body#index #header .header-nav { margin-bottom: 10px; }
body#index #carousel { margin-bottom: 12px; }
body#index #carousel .carousel-item img {
  height: clamp(170px, 27vh, 250px) !important;
  width: 100% !important; object-fit: contain !important;
}
body#index #custom-text {
  padding: 10px 18px !important; margin-bottom: 16px !important;
}
body#index #custom-text p:first-child {
  font-size: clamp(18px, 2vw, 22px) !important;
  line-height: 1.25 !important; margin-bottom: 6px !important;
}
body#index #custom-text p { font-size: 13px; line-height: 1.4 !important; margin-bottom: 5px; }
body#index #custom-text p:last-child { margin-bottom: 0; }
body#index .s4l-product-carousel > h2 { font-size: 20px; margin-bottom: 8px; }
body#index .s4l-product-carousel .s4l-track {
  display: flex !important; flex-wrap: nowrap !important; justify-content: flex-start !important;
  overflow-x: auto; overflow-y: hidden; gap: 14px; margin: 0 !important;
  padding: 6px 3px 12px; scroll-snap-type: x mandatory;
  scrollbar-width: thin; scrollbar-color: #df1761 #f9ede7;
}
body#index .s4l-product-carousel .s4l-track > * {
  flex: 0 0 185px !important; width: 185px !important;
  max-width: 185px !important; padding: 0 !important; margin: 0 !important;
  scroll-snap-align: start;
}
body#index .s4l-product-carousel .product-miniature { margin: 0 !important; }
body#index .s4l-product-carousel .thumbnail-container {
  width: 185px !important; height: auto !important; margin-bottom: 0 !important;
  border-radius: 8px; overflow: hidden;
}
body#index .s4l-product-carousel .product-thumbnail {
  display: block; width: 185px !important; height: 170px !important;
}
body#index .s4l-product-carousel .product-thumbnail img {
  width: 100% !important; height: 170px !important; object-fit: contain !important;
  margin: 0 !important; background: #fff;
}
body#index .s4l-product-carousel .product-description {
  width: 185px !important; height: auto !important; min-height: 68px;
  padding: 5px 7px 8px; position: relative !important;
}
body#index .s4l-product-carousel .product-title { font-size: 13px; margin: 5px 0; }
body#index .s4l-product-carousel .product-price-and-shipping { font-size: 14px; }
body#index .s4l-product-carousel .product-flags li { font-size: 10px; padding: 3px 5px; min-height: 0; }
body#index .s4l-product-carousel .highlighted-informations { display: none; }
body#index .s4l-carousel-controls { display: flex; justify-content: center; gap: 8px; margin: 6px 0 10px; }
body#index .s4l-carousel-controls button {
  background: #fff9f7; color: #51132b; border: 1px solid #df1761;
  border-radius: 6px; padding: 6px 12px; font-size: 13px; cursor: pointer;
}
body#index .s4l-carousel-controls button:hover { background: #f9ede7; }
body#index .s4l-carousel-controls button:focus-visible,
body#index .s4l-track:focus-visible { outline: 3px solid #df1761; outline-offset: 3px; }
body#index .s4l-product-carousel .all-product-link { margin-top: 6px; margin-bottom: 12px; }
@media (max-width: 767px) {
  body#index #header .header-nav { margin-bottom: 0; }
  body#index #carousel .carousel-item img { height: clamp(160px, 24vh, 210px) !important; }
  body#index #custom-text { padding: 10px 12px !important; }
  body#index .s4l-product-carousel .s4l-track > * { flex-basis: 165px !important; width: 165px !important; max-width: 165px !important; }
  body#index .s4l-product-carousel .thumbnail-container,
  body#index .s4l-product-carousel .product-thumbnail,
  body#index .s4l-product-carousel .product-description { width: 165px !important; }
}

/* Combined image/text hero; the original raster image is not modified. */
body#index #s4l-hero {
  display: grid; grid-template-columns: 43% minmax(0, 57%);
  align-items: center; background: #f9ede7;
  border-radius: 12px; overflow: hidden; margin-bottom: 18px;
  box-shadow: 0 4px 14px rgba(81,19,43,.05);
}
body#index #s4l-hero #carousel {
  width: 100%; min-width: 0; margin: 0 !important;
  border-radius: 0; box-shadow: none; background: transparent;
}
body#index #s4l-hero #carousel .carousel-inner { margin: 0; }
body#index #s4l-hero #carousel .carousel-item img {
  height: clamp(220px, 30vh, 280px) !important;
  background: #f9ede7 !important; object-fit: contain !important;
}
body#index #s4l-hero #custom-text {
  min-width: 0; background: transparent !important; border: 0 !important;
  box-shadow: none !important; border-radius: 0 !important;
  margin: 0 !important; padding: 20px 28px !important; text-align: left;
}
body#index #s4l-hero #custom-text p:first-child {
  font-size: clamp(20px, 2.2vw, 28px) !important;
  margin-bottom: 10px !important;
}
body#index #s4l-hero #custom-text p { font-size: 14px; line-height: 1.45 !important; margin-bottom: 8px; }
body#index #s4l-hero .s4l-discover {
  display: inline-block; margin-top: 8px; background: #df1761;
  color: #fff; border-radius: 6px; padding: 10px 16px;
  font-size: 14px; text-decoration: none;
}
body#index #s4l-hero .s4l-discover:hover { background: #b7104d; }
body#index #s4l-hero .s4l-discover:focus-visible { outline: 3px solid #51132b; outline-offset: 3px; }
body#index #carousel.s4l-single-slide .direction,
body#index #carousel.s4l-single-slide .carousel-control-prev,
body#index #carousel.s4l-single-slide .carousel-control-next,
body#index #carousel.s4l-single-slide .carousel-indicators { display: none !important; }
body#index .s4l-product-carousel .product-flags .online-only {
  top: 139px !important; bottom: auto !important;
  font-size: 9px !important; margin: 0 !important;
  max-width: 100%; padding: 3px !important;
}
@media (max-width: 767px) {
  body#index #s4l-hero { grid-template-columns: minmax(0, 1fr); }
  body#index #s4l-hero #carousel .carousel-item img { height: 185px !important; }
  body#index #s4l-hero #custom-text { padding: 12px 18px 18px !important; }
  body#index #s4l-hero #custom-text p:first-child { font-size: 21px !important; }
}
