/* Insights module: home product sections (mobile one-card swipe carousel, desktop row with arrows) and shop section headings. */
.product-carousel-wrap{position:relative}
.section-subtitle{margin-top:6px;color:var(--muted);font-size:13px}
.carousel-dots{display:none}
.carousel-arrow{position:absolute;top:36%;z-index:2;width:40px;height:40px;border-radius:50%;background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);font-size:18px;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.carousel-arrow:hover{background:var(--green-light);color:var(--green)}
.carousel-arrow:disabled{opacity:.35;cursor:default}
.carousel-arrow[hidden]{display:none}
.carousel-prev{left:-20px}
.carousel-next{right:-20px}
@media(min-width:701px){
  .insights-track{display:grid;grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc(25% - 20px);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior-x:contain}
  .insights-track::-webkit-scrollbar{display:none}
  .insights-track>.product-card{scroll-snap-align:start}
}
@media(min-width:701px) and (max-width:1000px){.insights-track{grid-auto-columns:calc(33.333% - 14px)}}
@media(max-width:700px){
  .insights-track>.product-card{flex:0 0 86%;scroll-snap-align:center;scroll-snap-stop:always}
  .carousel-dots{display:flex;justify-content:center;gap:6px;margin-top:14px}
  .carousel-dots span{width:6px;height:6px;border-radius:50%;background:var(--line);transition:width .2s ease}
  .carousel-dots span.active{width:17px;border-radius:10px;background:var(--green)}
  .carousel-arrow{display:none!important}
}
@media(prefers-reduced-motion:reduce){.insights-track{scroll-behavior:auto}.carousel-dots span{transition:none}}
.shop-grid .catalogue-heading{grid-column:1/-1;font-size:19px;margin:22px 0 0;padding-top:20px;border-top:1px solid var(--line)}
.shop-grid .catalogue-heading:first-child{border-top:0;margin-top:0;padding-top:0}
