/* Figma 156:794 / 156:852: 387 × 492, image 371 × 373, inset 8. */
body .mk-catalog-card.mk-catalog-card.mk-catalog-card {
  box-sizing: border-box !important;
  display: flex !important;
  flex-direction: column !important;
  position: relative !important;
  width: 100%;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 8px !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #faf2cf !important;
  box-shadow: none !important;
  overflow: hidden !important;
  opacity: 1;
  color: #000;
  text-align: left !important;
}
body .mk-catalog-card::before, body .mk-catalog-card::after { content: none !important; }
body .mk-catalog-card .mk-card-art {
  display: block !important;
  position: relative !important;
  flex: none !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 371 / 373 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 0 !important;
  border-radius: 24px !important;
  background: #fff !important;
}
body .mk-catalog-card .mk-card-image {
  position: absolute !important;
  inset: 0 !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
  transform: none !important;
  box-shadow: none !important;
}
body .mk-catalog-card .mk-card-info {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 55px !important;
  grid-template-rows: minmax(36.72px, auto) auto !important;
  align-content: center !important;
  align-items: start !important;
  column-gap: 16px !important;
  row-gap: 10px !important;
  min-height: 93px !important;
  margin: 10px 0 0 !important;
  padding: 11px 24px !important;
  flex: 1 0 auto !important;
}
body .mk-catalog-card .mk-card-name,
body .mk-catalog-card .mk-card-name a {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  color: #000 !important;
  font-family: 'BobbyJonesSoft', 'Bobby Jones Soft', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.02 !important;
  letter-spacing: .744px !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  text-align: left !important;
  white-space: normal !important;
  overflow: visible !important;
}
body .mk-catalog-card .mk-card-name { grid-column: 1; grid-row: 1; min-height: 36.72px; }
body .mk-catalog-card .mk-card-price,
body .mk-catalog-card .mk-card-price * {
  color: #efabaf !important;
  font-family: 'BobbyJonesSoft', 'Bobby Jones Soft', sans-serif !important;
  font-size: 18px !important;
  font-weight: 400 !important;
  line-height: 1.32 !important;
  letter-spacing: .55px !important;
  background: transparent !important;
}
body .mk-catalog-card .mk-card-price { grid-column: 1; grid-row: 2; margin: 0 !important; padding: 0 !important; }
body .mk-catalog-card .mk-card-price del { opacity: .7; }
body .mk-catalog-card .mk-card-price ins { text-decoration: none; }
body .mk-catalog-card a.mk-card-cart {
  grid-column: 2 !important;
  grid-row: 1 / span 2 !important;
  position: relative !important;
  align-self: center !important;
  display: grid !important;
  place-items: center !important;
  width: 55px !important;
  height: 55px !important;
  min-width: 55px !important;
  min-height: 55px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 50% !important;
  background: #e5b734 !important;
  box-shadow: none !important;
  transform: none !important;
  font-size: 0 !important;
}
body .mk-catalog-card .mk-card-cart img {
  display: block !important;
  width: 24px !important;
  height: 24px !important;
  margin: 0 !important;
  padding: 0 !important;
  border-radius: 0 !important;
  object-fit: contain !important;
}
body .mk-catalog-card .mk-card-cart::before,
body .mk-catalog-card .mk-card-cart::after { content: none !important; }
body .mk-catalog-card .mk-card-cart.loading { opacity: .5; pointer-events: none; }
body .mk-catalog-card .mk-card-cart.added { outline: 2px solid #437935; outline-offset: -3px; }
body .mk-catalog-card a:focus-visible { outline: 3px solid #437935 !important; outline-offset: -3px; }
body .mk-catalog-card .added_to_cart { grid-column: 1 / -1; font: 14px/1.3 'BobbyJonesSoft', sans-serif; }
body .mk-catalog-card .mk-card-stock { grid-column: 1; color: #437935; font: 14px/1.2 'BobbyJonesSoft', sans-serif; }
body .mk-card-slot.mk-card-slot { background: transparent !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
body ul.products li.product.mk-card-slot { padding: 0 !important; }
/* Preserve both dynamic showcases in a single scrollable row. */
body .mk-product-showcase .mk-product-grid {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 20px !important;
  width: min(1209px, calc(100% - 48px)) !important;
  max-width: 1209px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
}
body .mk-product-showcase .mk-product-grid::-webkit-scrollbar { display: none; }
body .mk-product-showcase .mk-catalog-card.mk-product-card {
  flex: 0 0 calc((100% - 60px) / 4) !important;
  width: calc((100% - 60px) / 4) !important;
  scroll-snap-align: start;
}
@media (max-width: 980px) {
  body .mk-catalog-card .mk-card-info { padding-left: 16px !important; padding-right: 16px !important; }
  body .mk-product-showcase .mk-catalog-card.mk-product-card { flex-basis: calc((100% - 20px) / 2) !important; width: calc((100% - 20px) / 2) !important; }
}
@media (max-width: 680px) {
  body .mk-product-showcase .mk-product-grid { width: calc(100% - 32px) !important; }
  body .mk-product-showcase .mk-catalog-card.mk-product-card { flex-basis: min(320px, 88%) !important; width: min(320px, 88%) !important; }
  body .mk-catalog-card .mk-card-info { column-gap: 10px !important; }
  /* Full width on small screens keeps the 18px type and 55px touch target. */
  body .rtsb-products-container .mk-card-slot { min-width: min(280px, 100%); }
  body ul.products:has(> .mk-card-slot) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; }
  body ul.products > li.mk-card-slot { width: 100% !important; margin: 0 !important; }
}
@media (max-width: 680px) {
  body .rtsb-row:has(> .mk-card-slot) { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 20px !important; margin-left: 0 !important; margin-right: 0 !important; }
  body .rtsb-row > .mk-card-slot { width: 100% !important; max-width: 100% !important; min-width: 0 !important; padding: 0 !important; margin: 0 !important; }
}

/* Home carousel controls: brand-green hover. */
body.home .mk-carousel-controls button:hover,
body.home .mk-carousel-controls button:focus-visible {
  background: #437935 !important;
}

/* Equal text blocks keep every cart circle aligned as in the Figma card. */
body .mk-catalog-card .mk-card-info {
  position: relative;
}
body .mk-catalog-card .mk-card-name {
  text-wrap: balance;
}

/* Match the photo's 8px outer inset without moving the title or price. */
body .mk-catalog-card a.mk-card-cart { left: 24px !important; }
@media (max-width: 980px) {
  body .mk-catalog-card a.mk-card-cart { left: 16px !important; }
}

/* Reserve image height explicitly, including Safari's flex/grid sizing. */
body .mk-catalog-card .mk-card-art {
  box-sizing: content-box !important;
  height: 0 !important;
  aspect-ratio: auto !important;
  padding-top: 100.53908356% !important;
}
body .rtsb-row > .mk-card-slot {
  height: auto !important;
  min-height: 0 !important;
  align-self: start !important;
}
/* Do not rely on :has() for single-column mobile catalogs. */
@media (max-width: 680px) {
  body .rtsb-products-container .rtsb-row[class*="layout"] {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-auto-rows: auto !important;
    gap: 20px !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}

/* Let catalog content define its full height before the footer starts. */
body .elementor-widget-rtsb-products-archive-custom,
body .elementor-widget-rtsb-related-product-custom {
  height: auto !important;
  max-height: none !important;
  flex: 0 0 auto !important;
  min-width: 0 !important;
}
body .rtsb-row > .mk-card-slot > .mk-catalog-card.mk-catalog-card {
  display: block !important;
}
@media (max-width: 680px) {
  body .elementor-49 .elementor-element-f7f883f > .e-con-inner {
    display: block !important;
    height: auto !important;
    max-height: none !important;
  }
}
