:root {
  --laro-ink: #182026;
  --laro-muted: #5f6b73;
  --laro-accent: #078aa3;
  --laro-accent-dark: #056b7e;
  --laro-soft: #eef7f8;
  --laro-border: #dce6e8;
  --laro-success: #237a3b;
}

.laro-home {
  margin: 0 auto 3rem;
  max-width: 1200px;
  padding: 2.25rem 1.25rem 0;
}
.laro-home__intro {
  background: linear-gradient(135deg, #17333a 0%, #0b6f82 100%);
  border-radius: 12px;
  color: #fff;
  padding: 2.4rem clamp(1.35rem, 4vw, 3.5rem);
}
.laro-home__intro h1 {
  color: #fff;
  font-size: clamp(1.8rem, 4vw, 3rem);
  letter-spacing: -.02em;
  margin: .25rem 0 .65rem;
  text-transform: none;
}
.laro-home__intro p { margin: 0; max-width: 720px; }
.laro-home__eyebrow { font-size: .8rem; font-weight: 700; letter-spacing: .09em; opacity: .85; text-transform: uppercase; }
.laro-section-heading { align-items: end; display: flex; justify-content: space-between; margin: 2.25rem 0 1rem; }
.laro-section-heading h2 { color: var(--laro-ink); font-size: 1.55rem; margin: 0; text-transform: none; }
.laro-section-heading a { color: var(--laro-accent-dark); font-weight: 700; }
.laro-category-grid { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.laro-category-card {
  align-items: center;
  background: #fff;
  border: 1px solid var(--laro-border);
  border-radius: 9px;
  box-shadow: 0 5px 18px rgba(17, 43, 49, .06);
  color: var(--laro-ink);
  display: grid;
  gap: .2rem .7rem;
  grid-template-columns: 1fr auto;
  padding: 1.15rem 1.2rem;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.laro-category-card:hover { border-color: var(--laro-accent); box-shadow: 0 9px 22px rgba(17, 43, 49, .12); color: var(--laro-accent-dark); transform: translateY(-2px); }
.laro-category-card__name { font-size: 1.05rem; font-weight: 700; }
.laro-category-card__count { color: var(--laro-muted); font-size: .78rem; }
.laro-category-card .material-icons { grid-column: 2; grid-row: 1 / span 2; }
.laro-product-grid { display: grid; gap: 1rem; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.laro-product-grid > .product { max-width: none; padding: 0; width: auto; }

.product-miniature .thumbnail-container {
  border: 1px solid var(--laro-border);
  border-radius: 9px;
  box-shadow: 0 4px 14px rgba(17, 43, 49, .06);
  height: 100%;
  overflow: hidden;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}
.product-miniature .thumbnail-container:hover { border-color: #b8cdd1; box-shadow: 0 9px 24px rgba(17, 43, 49, .12); transform: translateY(-2px); }
.product-miniature .thumbnail-top { background: #fff; }
.product-miniature .product-thumbnail img { object-fit: contain; }
.product-miniature .product-description { min-height: 170px; padding: .9rem .9rem 1rem; }
.product-miniature .product-title { font-size: .92rem; line-height: 1.35; margin: 0 0 .35rem; text-transform: none; }
.product-miniature .product-title a { color: var(--laro-ink); }
.product-miniature .laro-product-reference { color: var(--laro-muted); font-size: .73rem; letter-spacing: .025em; margin-bottom: .5rem; }
.product-miniature .product-price-and-shipping { margin: .35rem 0 .55rem; }
.product-miniature .price { color: var(--laro-ink); font-size: 1rem; font-weight: 800; }
.laro-card-footer { align-items: center; display: flex; gap: .55rem; justify-content: space-between; margin-top: .7rem; }
.laro-stock { align-items: center; color: var(--laro-muted); display: inline-flex; font-size: .75rem; font-weight: 700; gap: .25rem; }
.laro-stock--in { color: var(--laro-success); }
.laro-stock .material-icons { font-size: 1rem; }
.laro-view-product { border: 1px solid var(--laro-accent); border-radius: 5px; color: var(--laro-accent-dark); font-size: .75rem; font-weight: 700; padding: .42rem .55rem; }
.laro-view-product:hover { background: var(--laro-accent); color: #fff; }
.laro-no-image { align-items: center; aspect-ratio: 1 / 1; background: linear-gradient(145deg, #f4f7f7, #e7eeee); color: #718086; display: flex; flex-direction: column; gap: .45rem; justify-content: center; min-height: 220px; }
.laro-no-image .material-icons { font-size: 2.1rem; opacity: .75; }
.laro-no-image span:last-child { font-size: .78rem; font-weight: 700; }
.laro-product-context { background: var(--laro-soft); border-left: 4px solid var(--laro-accent); border-radius: 4px; margin: 1rem 0; padding: .85rem 1rem; }
.laro-product-context__row { align-items: baseline; display: flex; flex-wrap: wrap; gap: .4rem .75rem; }
.laro-product-context__row + .laro-product-context__row { margin-top: .7rem; }
.laro-product-context__row > span:first-child { color: var(--laro-muted); font-size: .78rem; font-weight: 700; min-width: 86px; text-transform: uppercase; }
.laro-fitment-chip { background: #fff; border: 1px solid #cfe0e3; border-radius: 999px; display: inline-block; font-size: .78rem; font-weight: 700; margin: .15rem .25rem .15rem 0; padding: .25rem .55rem; }

@media (max-width: 991px) {
  .laro-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .laro-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 575px) {
  .laro-home { padding: 1.2rem .75rem 0; }
  .laro-home__intro { border-radius: 8px; padding: 1.5rem 1.15rem; }
  .laro-category-grid { grid-template-columns: 1fr; }
  .laro-product-grid { gap: .7rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-miniature .product-description { min-height: 190px; padding: .75rem .65rem; }
  .laro-card-footer { align-items: stretch; flex-direction: column; }
  .laro-view-product { text-align: center; }
  .laro-no-image { min-height: 150px; }
}
