/* Lanka Brush Exports — product catalogue (plain CSS, no framework) */
.lb-catalog{max-width:1200px;margin:0 auto;padding:48px 20px 72px}
.lb-catalog__head{text-align:center;margin-bottom:32px}
.lb-catalog__head h1{font-size:2.2rem;margin:0 0 8px;color:#1f3d2b}
.lb-catalog__sub{color:#566; margin:0 auto;max-width:620px}

/* category filter bar */
.lb-filters{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin:28px 0 8px}
.lb-filters button{cursor:pointer;border:1px solid #cdd8cf;background:#fff;color:#2c5238;
  padding:8px 18px;border-radius:999px;font-size:.92rem;transition:.15s}
.lb-filters button:hover{border-color:#2c5238}
.lb-filters button.is-active{background:#2c5238;border-color:#2c5238;color:#fff}

/* product grid */
.lb-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:26px;margin-top:32px}
.lb-card{display:flex;flex-direction:column;border:1px solid #e7ece8;border-radius:12px;
  overflow:hidden;background:#fff;text-decoration:none;color:inherit;
  transition:box-shadow .18s,transform .18s}
.lb-card:hover{box-shadow:0 10px 26px rgba(31,61,43,.12);transform:translateY(-3px)}
.lb-card__media{aspect-ratio:1/1;background:#f4f7f4;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lb-card__media img{width:100%;height:100%;object-fit:cover}
.lb-card__body{padding:16px 18px 20px}
.lb-card__cat{display:inline-block;font-size:.72rem;letter-spacing:.04em;text-transform:uppercase;
  color:#7a8a7d;margin-bottom:6px}
.lb-card__name{font-size:1.04rem;font-weight:600;margin:0 0 6px;color:#1f3d2b}
.lb-card__code{display:inline-block;font-size:.78rem;color:#7a8a7d;letter-spacing:.02em;margin-bottom:4px}
.lb-card__short{font-size:.88rem;color:#5d6b60;margin:0}

.lb-empty{text-align:center;color:#7a8a7d;padding:60px 20px;font-size:1.05rem}

/* listing pagination — same pill look as the filter bar */
.lb-pager{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:36px 0 4px}
.lb-pager button{cursor:pointer;border:1px solid #cdd8cf;background:#fff;color:#2c5238;
  min-width:40px;padding:8px 14px;border-radius:999px;font-size:.92rem;transition:.15s}
.lb-pager button:hover:not(:disabled){border-color:#2c5238}
.lb-pager button.is-active{background:#2c5238;border-color:#2c5238;color:#fff}
.lb-pager button:disabled{opacity:.45;cursor:default}

/* product detail */
.lb-detail{max-width:1080px;margin:0 auto;padding:48px 20px 72px}
.lb-detail__grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.lb-detail__media{border:1px solid #e7ece8;border-radius:14px;overflow:hidden;background:#f4f7f4;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center}
.lb-detail__media img{width:100%;height:100%;object-fit:cover}

/* photo gallery */
.lb-gallery__main{border:1px solid #e7ece8;border-radius:14px;overflow:hidden;background:#f4f7f4;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center}
.lb-gallery__main img{width:100%;height:100%;object-fit:cover}
.lb-gallery__thumbs{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-top:12px}
.lb-thumb{padding:0;cursor:pointer;border:1px solid #e0e7e1;border-radius:9px;overflow:hidden;background:#f4f7f4;
  aspect-ratio:1/1;transition:border-color .15s,box-shadow .15s}
.lb-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.lb-thumb:hover{border-color:#9bb3a1}
.lb-thumb.is-active{border-color:#2c5238;box-shadow:0 0 0 2px rgba(44,82,56,.18)}
.lb-detail__cat{font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;color:#7a8a7d}
.lb-detail h1{font-size:1.9rem;margin:6px 0 10px;color:#1f3d2b}
.lb-detail__code{font-size:.95rem;color:#46554a;margin:0 0 16px}
.lb-detail__code span{font-weight:700;color:#2c5238;letter-spacing:.03em}
.lb-detail__desc{color:#46554a;line-height:1.7}
.lb-specs__title{font-size:1.05rem;color:#1f3d2b;margin:26px 0 0}
.lb-specs{width:100%;border-collapse:collapse;margin:12px 0 24px}
.lb-specs th,.lb-specs td{text-align:left;padding:10px 12px;border-bottom:1px solid #eef2ee;font-size:.92rem}
.lb-specs th{color:#1f3d2b;width:40%;font-weight:600}
.lb-quote-btn{display:inline-block;margin-top:14px;background:#2c5238;color:#fff;text-decoration:none;
  padding:13px 30px;border-radius:999px;font-size:.95rem;transition:.15s}
.lb-quote-btn:hover{background:#1f3d2b}
.lb-back{display:inline-block;margin-bottom:24px;color:#2c5238;text-decoration:none;font-size:.9rem}
.lb-back:hover{text-decoration:underline}

@media(max-width:760px){.lb-detail__grid{grid-template-columns:1fr;gap:28px}}

/* home-page category grid ("Explore Our Cleaning Brushes") */
.lb-cat-grid{max-width:1200px;margin:0 auto;padding:8px 20px 16px;display:grid;
  grid-template-columns:repeat(4,1fr);gap:24px}
.lb-cat-grid[aria-busy="true"]{min-height:200px}
.lb-cat{display:block;text-decoration:none;color:#1f3d2b;text-align:center;transition:.18s}
.lb-cat:hover{transform:translateY(-4px)}
.lb-cat__media{display:block;border-radius:12px;overflow:hidden;background:#f3f6f3;
  border:1px solid #e6ece7;aspect-ratio:1/1}
.lb-cat__media img{width:100%;height:100%;object-fit:cover;display:block}
.lb-cat__name{display:block;margin-top:14px;font-weight:600;font-size:1.02rem}
@media(max-width:980px){.lb-cat-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.lb-cat-grid{grid-template-columns:1fr}}

/* category SLIDER (Swiper) — fixed, shorter thumbnail height so cards stay
   compact and always have height even before/without a real photo */
#lb-cat-slides .sp-wcsp-cat-thumbnail{height:240px;background:#f3f6f3;border-radius:8px}
#lb-cat-slides .sp-wcsp-cat-thumb{width:100%!important;height:100%!important;
  object-fit:cover;display:block}
#lb-cat-slides .sp-wcsp-cat-name{padding:10px 6px;text-align:center}
#lb-cat-slides .sp-wcsp-cat-name a{font-size:1rem}

/* main product image: signal it's zoomable */
#lb-main-img.lb-zoomable{cursor:zoom-in}

/* zoom lightbox overlay */
.lb-lightbox{position:fixed;inset:0;z-index:99999;background:rgba(15,20,16,.92);
  display:flex;align-items:center;justify-content:center;padding:24px;
  animation:lb-fade .15s ease}
@keyframes lb-fade{from{opacity:0}to{opacity:1}}
.lb-lb__stage{max-width:92vw;max-height:90vh;display:flex;align-items:center;justify-content:center;overflow:hidden}
.lb-lb__img{max-width:92vw;max-height:90vh;object-fit:contain;cursor:zoom-in;
  transition:transform .12s ease;will-change:transform;user-select:none;-webkit-user-drag:none}
.lb-lb__img.is-zoomed{transform:scale(2.4);cursor:zoom-out}
.lb-lb__close{position:absolute;top:18px;right:22px;width:44px;height:44px;border:0;border-radius:50%;
  background:rgba(255,255,255,.12);color:#fff;font-size:30px;line-height:1;cursor:pointer}
.lb-lb__close:hover{background:rgba(255,255,255,.25)}
.lb-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:52px;height:52px;border:0;
  border-radius:50%;background:rgba(255,255,255,.12);color:#fff;font-size:34px;line-height:1;cursor:pointer}
.lb-lb__nav:hover{background:rgba(255,255,255,.25)}
.lb-lb__prev{left:18px}
.lb-lb__next{right:18px}
.lb-lb__count{position:absolute;bottom:20px;left:0;right:0;text-align:center;color:#fff;
  font-size:.9rem;letter-spacing:.05em;opacity:.85}
@media(max-width:600px){.lb-lb__nav{width:42px;height:42px;font-size:26px}.lb-lb__close{top:10px;right:12px}}

/* search results banner on the product listing (?q=…) — see assets/catalog.js */
.lb-search-banner{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 18px;
  padding:12px 16px;border-radius:8px;background:#f2f7f6;color:#1f3d2b;font-size:.95rem}
.lb-search-banner__clear{margin-left:auto;color:#007f5f;font-weight:600;text-decoration:none}
.lb-search-banner__clear:hover{text-decoration:underline}

/* content-page results below the product grid on /product/?q=… (catalog.js) */
.lb-page-results{margin:34px 0 8px}
.lb-page-results__title{font-size:1.15rem;margin:0 0 14px;color:#1f3d2b}
.lb-page-results__list{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.lb-page-result{padding:14px 16px;border:1px solid #e0e7e1;border-radius:8px;background:#fff}
.lb-page-result__link{font-weight:600;color:#007f5f;text-decoration:none}
.lb-page-result__link:hover{text-decoration:underline}
.lb-page-result__snip{margin:6px 0 0;font-size:.9rem;line-height:1.5;color:#5d6b60}
