.plantlove-products-page { background: #fbfcf8; }

.products-hero { padding: 48px 0 58px; color: #fff; background: linear-gradient(125deg, #24482f, #42633d 58%, #6c8b54); }
.products-hero__inner { max-width: 850px; }
.products-breadcrumb { display:flex; align-items:center; gap:9px; margin-bottom:28px; color:#d6e2d1; font-size:.85rem; }
.products-breadcrumb a { color:#fff; text-decoration:none; }
.products-breadcrumb i { font-size:.65rem; }
.products-hero .section-eyebrow { color:#dceabf; }
.products-hero h1 { max-width:620px; margin:9px 0 12px; font-family:"Playfair Display", serif; font-size:clamp(2.2rem,5vw,4.2rem); line-height:1.05; }
.products-hero p { max-width:600px; margin:0; color:#e4ecdf; font-size:1.08rem; line-height:1.6; }

.products-catalogue { padding:42px 0 72px; }
.products-search-row { display:flex; gap:14px; margin-bottom:32px; }
.products-search { display:flex; align-items:center; flex:1; min-height:57px; padding:6px 7px 6px 18px; border:1px solid #dce5db; border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(35,63,40,.05); }
.products-search > i { flex:0 0 auto; color:#637a68; font-size:1.2rem; }
.products-search input { width:100%; min-width:0; padding:0 14px; border:0; outline:0; color:#26382a; background:transparent; font:inherit; }
.products-search input::placeholder { color:#879589; }
.products-search button, .products-filter-toggle { border:0; border-radius:10px; font:inherit; font-weight:700; cursor:pointer; }
.products-search button { padding:12px 20px; color:#fff; background:#42633d; }
.products-filter-toggle { display:none; align-items:center; justify-content:center; gap:8px; padding:0 18px; color:#294831; background:#edf3e9; }
.products-layout { display:grid; grid-template-columns:245px minmax(0,1fr); gap:36px; align-items:start; }
.products-categories { position:sticky; top:22px; padding:24px 17px 16px; border:1px solid #e2eae0; border-radius:18px; background:#fff; }
.products-categories__heading { padding:0 10px 15px; border-bottom:1px solid #e7ece5; }
.products-categories__heading span { color:#8a752a; font-size:.69rem; font-weight:800; letter-spacing:.12em; }
.products-categories__heading h2 { margin:4px 0 0; color:#233827; font-family:"Playfair Display", serif; font-size:1.65rem; }
.products-categories nav { display:grid; gap:3px; margin-top:14px; }
.products-category-link { display:flex; align-items:center; justify-content:space-between; gap:9px; padding:10px; border-radius:9px; color:#526153; font-size:.9rem; font-weight:600; text-decoration:none; transition:.18s ease; }
.products-category-link i { opacity:0; transform:translateX(-4px); transition:.18s ease; }
.products-category-link:hover, .products-category-link.is-active { color:#2e5536; background:#edf4e9; }
.products-category-link:hover i, .products-category-link.is-active i { opacity:1; transform:none; }
.products-results__topline { display:flex; align-items:end; justify-content:space-between; gap:20px; margin:0 0 23px; }
.products-results__topline h2 { margin:5px 0 0; color:#243627; font-family:"Playfair Display", serif; font-size:clamp(1.9rem,3vw,2.65rem); line-height:1.1; }
.products-results__topline p { margin:0 0 4px; color:#667669; font-size:.9rem; white-space:nowrap; }
.public-product-grid { display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:17px; }
.public-product-card { display:flex; min-width:0; flex-direction:column; overflow:hidden; border:1px solid #e0e8de; border-radius:16px; background:#fff; box-shadow:0 5px 15px rgba(35,63,40,.035); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.public-product-card:hover { transform:translateY(-4px); border-color:#bdcfba; box-shadow:0 15px 30px rgba(35,63,40,.11); }
.public-product-card__image-wrap { display:grid; min-height:190px; place-items:center; padding:16px; border-bottom:1px solid #edf1ec; background:radial-gradient(circle at 50% 35%, #fff 0, #f8faf6 67%, #eef4eb 100%); }
.public-product-card__image-wrap img { display:block; width:100%; height:175px; object-fit:contain; mix-blend-mode:multiply; }
.public-product-card__content { display:flex; min-height:132px; flex-direction:column; padding:16px; }
.public-product-card__code { margin-bottom:7px; color:#998138; font-size:.68rem; font-weight:800; letter-spacing:.07em; text-transform:uppercase; }
.public-product-card h3 { display:-webkit-box; margin:0; overflow:hidden; color:#263729; font-size:.93rem; line-height:1.35; -webkit-box-orient:vertical; -webkit-line-clamp:2; }
.public-product-card p { margin:10px 0 0; color:#748075; font-size:.81rem; font-weight:600; }
.public-products-empty { display:grid; max-width:570px; place-items:center; margin:40px auto; padding:54px 25px; border:1px dashed #cbd9c9; border-radius:20px; text-align:center; background:#fff; }
.public-products-empty > span { display:grid; width:62px; height:62px; place-items:center; border-radius:50%; color:#42633d; background:#edf4e9; font-size:1.55rem; }
.public-products-empty h2 { margin:17px 0 7px; color:#263729; font-family:"Playfair Display", serif; }
.public-products-empty p { margin:0 0 20px; color:#708071; }
.products-trade-banner { color:#fff; background:#274a31; }
.products-trade-banner__inner { display:flex; align-items:center; justify-content:space-between; gap:30px; padding:42px 0; }
.products-trade-banner h2 { margin:6px 0 0; font-family:"Playfair Display",serif; font-size:2rem; }

@media (max-width: 1150px) { .public-product-grid { grid-template-columns:repeat(3, minmax(0,1fr)); } }
@media (max-width: 850px) {
  .products-hero { padding:38px 0 44px; }
  .products-layout { grid-template-columns:1fr; gap:25px; }
  .products-filter-toggle { display:flex; }
  .products-categories { display:none; position:static; padding:15px; }
  .products-categories.is-open { display:block; }
  .products-categories__heading { display:none; }
  .products-categories nav { max-height:290px; margin:0; overflow:auto; }
  .products-trade-banner__inner { align-items:start; flex-direction:column; }
}
@media (max-width: 600px) {
  .products-hero { padding:30px 0 37px; }
  .products-breadcrumb { margin-bottom:20px; }
  .products-hero p { font-size:.96rem; }
  .products-catalogue { padding:25px 0 48px; }
  .products-search-row { gap:8px; margin-bottom:20px; }
  .products-search { min-height:50px; padding-left:13px; }
  .products-search input { padding:0 9px; font-size:.85rem; }
  .products-search button { display:none; }
  .products-filter-toggle { flex:0 0 50px; width:50px; padding:0; font-size:0; }
  .products-filter-toggle i { font-size:1.05rem; }
  .products-results__topline { align-items:start; margin-bottom:16px; }
  .products-results__topline p { padding-top:6px; font-size:.78rem; }
  .public-product-grid { grid-template-columns:repeat(2, minmax(0,1fr)); gap:11px; }
  .public-product-card__image-wrap { min-height:144px; padding:10px; }
  .public-product-card__image-wrap img { height:130px; }
  .public-product-card__content { min-height:115px; padding:12px; }
  .public-product-card__code { margin-bottom:6px; font-size:.61rem; }
  .public-product-card h3 { font-size:.79rem; }
  .public-product-card p { margin-top:7px; font-size:.72rem; }
  .products-trade-banner__inner { padding:32px 0; }
  .products-trade-banner h2 { font-size:1.65rem; }
}
