/* Newstar — shop & category pages. Scoped to body.ns-shop. Colours come from the plugin settings. */
body.ns-shop{--ns-line:#e3e8ee;--ns-soft:#f4f7fa;--ns-muted:#6b7c8d;--ns-wa:#25d366}

/* Grid spacing */
body.ns-shop ul.products{display:grid !important;grid-template-columns:repeat(var(--ns-cols,4),minmax(0,1fr));gap:24px !important;margin:28px 0 0 !important;padding:0 !important}
body.ns-shop ul.products.columns-3{--ns-cols:3}
body.ns-shop ul.products.columns-2{--ns-cols:2}
body.ns-shop ul.products::before,body.ns-shop ul.products::after{display:none !important}

/* Product card */
body.ns-shop ul.products li.product{
  width:auto !important;float:none !important;margin:0 !important;
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--ns-line);border-radius:14px;
  padding:14px 14px 18px !important;position:relative;overflow:hidden;
  transition:border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
body.ns-shop ul.products li.product:hover{
  border-color:var(--ns-accent,#000099);
  box-shadow:0 14px 34px rgba(11,27,43,.10);
  transform:translateY(-3px);
}
/* Image area: soft panel, product centred, same height on every card */
body.ns-shop ul.products li.product img{
  width:100% !important;height:auto !important;aspect-ratio:1/1;object-fit:contain;
  background:var(--ns-soft);border-radius:10px;padding:10%;box-sizing:border-box;margin:0 0 14px !important;
  transition:transform .3s ease;
}
body.ns-shop ul.products li.product:hover img{transform:scale(1.03)}

/* Title */
body.ns-shop ul.products li.product .woocommerce-loop-product__title,
body.ns-shop ul.products li.product h2,
body.ns-shop ul.products li.product h3{
  font-size:16px !important;line-height:1.35 !important;margin:0 0 10px !important;padding:0 !important;
  color:var(--ns-ink,#212929);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

/* Key spec chips */
body.ns-shop .ns-card-specs{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-wrap:wrap;gap:6px}
body.ns-shop .ns-card-specs li{margin:0;padding:4px 9px;font-size:12px;font-weight:600;line-height:1.3;border-radius:6px;background:var(--ns-soft);color:var(--ns-ink,#212929)}
body.ns-shop .ns-card-eyebrow{margin:0 0 14px;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ns-muted)}

/* Hide stray prices / ratings in catalogue mode */
body.ns-shop ul.products li.product .price:empty,
body.ns-shop ul.products li.product .star-rating{display:none !important}

/* Button pinned to the bottom of the card */
body.ns-shop ul.products li.product .button,
body.ns-shop ul.products li.product a.button{
  margin-top:auto !important;display:flex !important;align-items:center;justify-content:center;width:100%;
  padding:12px 16px !important;border-radius:var(--ns-btn-radius,10px) !important;
  background:transparent !important;color:var(--ns-accent,#000099) !important;
  border:1.5px solid var(--ns-accent,#000099) !important;font-size:14px !important;line-height:1.2 !important;
  transition:background .2s ease,color .2s ease;position:static !important;opacity:1 !important;visibility:visible !important;transform:none !important;
}
body.ns-shop ul.products li.product:hover .button{background:var(--ns-accent,#000099) !important;color:var(--ns-accent-ink,#fff) !important}

/* Category description + trust strip */
body.ns-shop .term-description,body.ns-shop .page-description{max-width:760px;font-size:16px;line-height:1.6;color:#4a5560;margin:6px 0 0}
body.ns-shop .ns-archive-trust{list-style:none;display:flex;flex-wrap:wrap;gap:8px 22px;margin:18px 0 6px;padding:0}
body.ns-shop .ns-archive-trust li{display:flex;align-items:center;gap:8px;margin:0;font-size:14px;font-weight:600;color:var(--ns-ink,#212929)}
body.ns-shop .ns-archive-trust svg{width:18px;height:18px;color:#1f9d55;flex:none}

/* Quote banner after the grid */
body.ns-shop .ns-archive-banner{
  margin:48px 0 8px;padding:32px 36px;border-radius:16px;
  background:var(--ns-ink,#212929);color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;clear:both;
}
body.ns-shop .ns-archive-banner h2{color:#fff !important;font-size:24px !important;line-height:1.2 !important;margin:0 0 8px !important}
body.ns-shop .ns-archive-banner p{color:rgba(255,255,255,.75);margin:0;max-width:56ch}
body.ns-shop .ns-archive-banner__ctas{display:flex;gap:10px;flex-wrap:wrap}
body.ns-shop .ns-ab-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 22px;border-radius:var(--ns-btn-radius,10px);font-weight:600;font-size:15px;text-decoration:none !important;white-space:nowrap}
body.ns-shop .ns-ab-btn--wa,body.ns-shop .ns-ab-btn--wa:hover,body.ns-shop .ns-ab-btn--wa:visited{background:var(--ns-wa) !important;color:#fff !important}
body.ns-shop .ns-ab-btn--primary,body.ns-shop .ns-ab-btn--primary:hover,body.ns-shop .ns-ab-btn--primary:visited{background:#fff !important;color:var(--ns-ink,#212929) !important}

/* Tablet / phone */
@media (max-width:1100px){ body.ns-shop ul.products{--ns-cols:3 !important} }
@media (max-width:820px){ body.ns-shop ul.products{--ns-cols:2 !important;gap:14px !important} }
@media (max-width:480px){
  body.ns-shop ul.products li.product{padding:10px 10px 14px !important}
  body.ns-shop ul.products li.product .woocommerce-loop-product__title,body.ns-shop ul.products li.product h2{font-size:14px !important}
  body.ns-shop .ns-card-specs li{font-size:11px;padding:3px 7px}
  body.ns-shop ul.products li.product .button{font-size:13px !important;padding:10px 8px !important}
  body.ns-shop .ns-archive-banner{padding:24px 20px}
  body.ns-shop .ns-ab-btn{flex:1 1 100%}
}

/* fixes */
body.ns-shop ul.products li.product,body.ns-shop ul.products li.product *{box-sizing:border-box}
body.ns-shop ul.products li.product a{text-decoration:none !important}
body.ns-shop ul.products li.product a.woocommerce-LoopProduct-link{display:block;color:inherit}
