:root{--nppc-accent:#2563eb;--nppc-border:#dce3ec;--nppc-text:#182230;--nppc-muted:#667085;--nppc-green:#079447}.nppc-app{max-width:1540px;margin:0 auto;padding:28px 20px 70px;color:var(--nppc-text);font-family:inherit}.nppc-hero{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px;padding:24px 28px;border:1px solid var(--nppc-border);border-radius:14px;background:#f8fbff}.nppc-hero h2{font-size:34px!important;margin:3px 0 6px!important}.nppc-hero p{margin:0;color:var(--nppc-muted)}.nppc-kicker,.nppc-category{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;color:var(--nppc-accent);font-weight:800}.nppc-stat{display:flex;flex-direction:column;padding:12px 16px;background:#fff;border:1px solid var(--nppc-border);border-radius:10px}.nppc-stat span{font-size:11px;color:var(--nppc-muted)}.nppc-toolbar{display:grid;grid-template-columns:minmax(320px,1fr) 220px 220px 180px;gap:12px;margin-bottom:12px}.nppc-toolbar input,.nppc-toolbar select,.nppc-wishlist-filter{height:50px;border:1px solid var(--nppc-border);border-radius:9px;background:#fff;padding:0 14px;font-size:14px}.nppc-search{position:relative}.nppc-search span{position:absolute;left:14px;top:13px}.nppc-search input{width:100%;padding-left:38px}.nppc-wishlist-filter{cursor:pointer}.nppc-wishlist-filter.active{background:#eef5ff;color:#155eef}.nppc-subtoolbar{display:flex;justify-content:space-between;align-items:center;margin:0 0 22px}.nppc-filter-pills,.nppc-view-controls{display:flex;gap:8px}.nppc-filter-pills button,.nppc-layout{height:42px;border:1px solid var(--nppc-border);background:#fff;border-radius:8px;padding:0 15px;font-weight:700;color:#475467}.nppc-filter-pills button.active,.nppc-layout.active{background:var(--nppc-accent);border-color:var(--nppc-accent);color:#fff}.nppc-filter-pills button:disabled{opacity:.45}.nppc-reference-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.nppc-compare-card{position:relative;background:#fff;border:1px solid #d4dce7;border-radius:11px;overflow:hidden;min-height:560px;box-shadow:0 1px 2px rgba(16,24,40,.03)}.nppc-card-head{display:flex;justify-content:space-between;gap:15px;padding:22px 20px 15px}.nppc-card-head h3{font-size:29px!important;line-height:1.05!important;letter-spacing:-.7px;margin:5px 0 8px!important;font-weight:800!important;color:#1d2939}.nppc-card-head p{margin:0;color:var(--nppc-muted);font-size:13px}.nppc-heart{flex:0 0 44px;width:44px;height:44px;border-radius:50%;border:0;background:#f5f7fa;color:#98a2b3;font-size:25px;cursor:pointer}.nppc-heart.active{color:#e11d48}.nppc-mini-strengths,.nppc-strength-tabs{display:flex;gap:8px;overflow-x:auto;padding:0 20px 16px;scrollbar-width:thin}.nppc-card-strength,.nppc-strength{white-space:nowrap;border:1px solid #d7dfe9;background:#fff;border-radius:7px;padding:10px 13px;font-weight:700;font-size:13px;color:#344054;cursor:pointer}.nppc-card-strength.active,.nppc-strength.active{background:var(--nppc-accent);border-color:var(--nppc-accent);color:#fff}.nppc-retailer-head{display:grid;grid-template-columns:minmax(150px,1.55fr) .7fr .85fr 78px;gap:10px;padding:11px 20px;border-top:1px solid var(--nppc-border);border-bottom:1px solid var(--nppc-border);background:#fbfcfd;color:#8491a5;font-size:10px;font-weight:800;text-transform:uppercase}.nppc-retailer-row{position:relative;display:grid;grid-template-columns:minmax(150px,1.55fr) .7fr .85fr 78px;align-items:center;gap:10px;min-height:98px;padding:16px 20px;border-bottom:1px solid #e7ebf0}.nppc-retailer{display:flex;align-items:center;gap:12px;min-width:0}.nppc-retailer img,.nppc-vendor-dot{width:50px;height:50px;border-radius:9px;border:1px solid #e3e8ef;background:#fff;object-fit:contain;display:grid;place-items:center;font-weight:800;flex:0 0 50px}.nppc-retailer strong{display:block;font-size:15px;line-height:1.2}.nppc-retailer small{display:block;color:var(--nppc-green);font-size:10px;margin-top:5px}.nppc-retailer small.out{color:#d92d20}.nppc-row-price{text-align:right}.nppc-row-price del{display:block;font-size:11px;color:#98a2b3}.nppc-row-price strong{display:block;font-size:19px;color:#079447}.nppc-row-price small{display:block;font-size:11px;color:#667085;margin-top:2px}.nppc-row-coupon{text-align:center}.nppc-coupon-chip{max-width:100%;border:1px solid #cfd8e5;background:#f8fafc;border-radius:6px;padding:7px 8px;font-size:10px;cursor:pointer}.nppc-no-code{font-size:10px;color:#98a2b3}.nppc-shop{display:inline-flex;align-items:center;justify-content:center;min-height:40px;border-radius:6px;background:var(--nppc-accent);color:#fff!important;text-decoration:none!important;font-size:13px;font-weight:800;padding:0 10px}.nppc-shop-disabled{background:#e5e7eb;color:#667085!important;font-size:10px;text-align:center}.nppc-best-badge,.nppc-rank-badge{position:absolute;right:18px;top:4px;font-size:8px;font-weight:900}.nppc-best-badge{color:#047857;background:#dcfce7;padding:4px 6px;border-radius:3px}.nppc-rank-badge{color:#667085}.nppc-show-all{width:calc(100% - 40px);margin:15px 20px;border:0;border-radius:7px;background:#eef5ff;color:#155eef;height:44px;font-weight:800;cursor:pointer}.nppc-best-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 20px}.nppc-best-summary>div{border:1px solid #dbe5f1;border-radius:9px;padding:12px 14px;background:#fbfdff}.nppc-best-summary span,.nppc-best-summary small{display:block;font-size:11px;color:#667085}.nppc-best-summary strong{display:block;font-size:18px;margin:4px 0}.nppc-inline-detail{border-top:1px solid var(--nppc-border);padding-top:15px}.nppc-detail-title{display:flex;justify-content:space-between;padding:0 20px 12px}.nppc-detail-title span{font-size:11px;color:#667085}.nppc-empty{padding:40px;text-align:center;border:1px solid var(--nppc-border);border-radius:12px}.nppc-modal[hidden]{display:none!important}.nppc-modal{position:fixed;inset:0;z-index:999999;background:rgba(15,23,42,.55);display:grid;place-items:center;padding:20px}.nppc-modal-card{max-width:520px;background:#fff;border-radius:16px;padding:28px;position:relative}.nppc-modal-close{position:absolute;right:12px;top:10px;border:0;background:transparent;font-size:25px}.nppc-modal-card a{display:inline-block;background:var(--nppc-accent);color:#fff!important;padding:11px 18px;border-radius:8px;text-decoration:none}.wishlist-only .nppc-compare-card[hidden]{display:none!important}.nppc-grid-mode .nppc-reference-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.nppc-grid-mode .nppc-card-head h3{font-size:22px!important}.nppc-grid-mode .nppc-retailer-row{grid-template-columns:1fr auto;padding:12px}.nppc-grid-mode .nppc-retailer-head,.nppc-grid-mode .nppc-row-coupon{display:none}.nppc-grid-mode .nppc-shop{grid-column:2}.nppc-grid-mode .nppc-best-summary{grid-template-columns:1fr}.nppc-grid-mode .nppc-retailer img,.nppc-grid-mode .nppc-vendor-dot{width:40px;height:40px;flex-basis:40px}
@media(max-width:1200px){.nppc-reference-grid,.nppc-grid-mode .nppc-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nppc-toolbar{grid-template-columns:1fr 1fr}.nppc-retailer-head,.nppc-retailer-row{grid-template-columns:minmax(140px,1.4fr) .7fr .8fr 72px}}
@media(max-width:720px){.nppc-app{padding:15px 10px 40px}.nppc-hero{display:block;padding:18px}.nppc-stat{margin-top:12px}.nppc-reference-grid,.nppc-grid-mode .nppc-reference-grid{grid-template-columns:1fr;gap:18px}.nppc-toolbar{grid-template-columns:1fr}.nppc-subtoolbar{align-items:flex-start;gap:10px;flex-direction:column}.nppc-card-head h3{font-size:25px!important}.nppc-retailer-head{display:none}.nppc-retailer-row{grid-template-columns:1fr auto;gap:8px;padding:14px}.nppc-row-coupon{grid-column:1}.nppc-shop{grid-column:2;grid-row:1/3}.nppc-row-price{grid-column:1;text-align:left}.nppc-best-summary{grid-template-columns:1fr}.nppc-best-badge,.nppc-rank-badge{right:12px}}


/* v1.2.2 responsive card/grid polish */
.nppc-reference-grid{align-items:start}
.nppc-compare-card{min-width:0;width:100%;min-height:0}
.nppc-card-head{min-width:0}
.nppc-card-head>div{min-width:0}
.nppc-card-head h3{overflow-wrap:anywhere}
.nppc-mini-strengths,.nppc-strength-tabs{-ms-overflow-style:none;scrollbar-width:none;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
.nppc-mini-strengths::-webkit-scrollbar,.nppc-strength-tabs::-webkit-scrollbar{display:none}
.nppc-card-strength,.nppc-strength{scroll-snap-align:start}
.nppc-retailer-head{grid-template-columns:minmax(0,1fr) 92px 74px 72px;gap:8px;padding-left:16px;padding-right:16px}
.nppc-retailer-row{grid-template-columns:minmax(0,1fr) 92px 74px 72px;gap:8px;padding:15px 16px;overflow:hidden}
.nppc-retailer{min-width:0;gap:9px}
.nppc-retailer>div:last-child{min-width:0}
.nppc-retailer strong{font-size:13px;overflow-wrap:anywhere}
.nppc-retailer img,.nppc-vendor-dot{width:44px;height:44px;flex-basis:44px}
.nppc-row-price{min-width:0}
.nppc-row-price strong{font-size:17px;white-space:nowrap}
.nppc-row-price small{white-space:nowrap}
.nppc-row-coupon{min-width:0;overflow:hidden}
.nppc-coupon-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:100%}
.nppc-shop{width:72px;min-width:0;padding:0 6px;box-sizing:border-box;white-space:nowrap}
.nppc-best-badge,.nppc-rank-badge{right:94px;top:5px;z-index:2}
.nppc-show-all{box-sizing:border-box}

/* At normal 3-card desktop widths use a clean two-line retailer row instead of clipping. */
@media (min-width:721px) and (max-width:1450px){
 .nppc-retailer-head{grid-template-columns:minmax(0,1fr) 96px 76px;}
 .nppc-retailer-head span:last-child{display:none}
 .nppc-retailer-row{grid-template-columns:minmax(0,1fr) 96px 76px;grid-template-areas:"vendor price shop" "vendor coupon shop";row-gap:3px;min-height:92px}
 .nppc-retailer{grid-area:vendor}.nppc-row-price{grid-area:price}.nppc-row-coupon{grid-area:coupon;text-align:right}.nppc-shop{grid-area:shop;align-self:center}
 .nppc-best-badge,.nppc-rank-badge{right:92px}
}

/* Grid is intentionally a compact summary view, not a squeezed full comparison table. */
.nppc-grid-mode .nppc-reference-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.nppc-grid-mode .nppc-compare-card{border-radius:12px;min-height:0}
.nppc-grid-mode .nppc-card-head{padding:18px 16px 12px}
.nppc-grid-mode .nppc-card-head h3{font-size:21px!important;margin-bottom:6px!important}
.nppc-grid-mode .nppc-card-head p{font-size:12px}
.nppc-grid-mode .nppc-heart{width:38px;height:38px;flex-basis:38px;font-size:21px}
.nppc-grid-mode .nppc-mini-strengths{padding:0 16px 12px}
.nppc-grid-mode .nppc-card-strength:not(.active){display:none}
.nppc-grid-mode .nppc-card-strength.active{padding:8px 11px}
.nppc-grid-mode .nppc-retailer-head{display:none}
.nppc-grid-mode .nppc-card-offers .nppc-retailer-row:not(:first-child){display:none}
.nppc-grid-mode .nppc-retailer-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"vendor price" "vendor shop";gap:6px 10px;min-height:108px;padding:14px 16px;overflow:visible}
.nppc-grid-mode .nppc-retailer{grid-area:vendor;align-self:center}
.nppc-grid-mode .nppc-row-price{grid-area:price;text-align:right;align-self:end}
.nppc-grid-mode .nppc-row-coupon{display:none}
.nppc-grid-mode .nppc-shop{grid-area:shop;width:auto;min-width:74px;justify-self:end;align-self:start;height:36px;min-height:36px}
.nppc-grid-mode .nppc-best-badge{right:16px;top:7px}
.nppc-grid-mode .nppc-rank-badge{display:none}
.nppc-grid-mode .nppc-show-all{display:none}
.nppc-grid-mode .nppc-best-summary{grid-template-columns:1fr 1fr;padding:12px 16px 16px;gap:8px}
.nppc-grid-mode .nppc-best-summary>div{padding:9px 10px}
.nppc-grid-mode .nppc-best-summary strong{font-size:15px}
.nppc-grid-mode .nppc-best-summary small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.nppc-grid-mode .nppc-inline-detail{display:none!important}

@media(max-width:1200px){
 .nppc-grid-mode .nppc-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
 .nppc-reference-grid,.nppc-grid-mode .nppc-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:720px){
 .nppc-reference-grid,.nppc-grid-mode .nppc-reference-grid{grid-template-columns:1fr}
 .nppc-retailer-row{overflow:visible}
 .nppc-grid-mode .nppc-card-strength:not(.active){display:inline-flex}
 .nppc-grid-mode .nppc-mini-strengths{overflow-x:auto}
}


/* v1.2.3 professional retailer-row layout */
@media (min-width:721px){
  .nppc-retailer-head{
    grid-template-columns:minmax(0,1fr) 94px 76px!important;
    gap:10px!important;
    padding:12px 18px!important;
  }
  .nppc-retailer-head span:nth-child(3){display:none!important}
  .nppc-retailer-head span:nth-child(4){display:block!important;text-align:center}
  .nppc-retailer-row{
    grid-template-columns:minmax(0,1fr) 94px 76px!important;
    grid-template-areas:"vendor price shop" "vendor coupon shop"!important;
    gap:3px 10px!important;
    min-height:112px!important;
    padding:18px!important;
    overflow:visible!important;
  }
  .nppc-retailer{grid-area:vendor!important;gap:10px!important;align-self:center!important}
  .nppc-retailer img,.nppc-vendor-dot{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:10px!important}
  .nppc-retailer strong{font-size:14px!important;line-height:1.28!important;overflow-wrap:normal!important;word-break:normal!important;hyphens:none!important}
  .nppc-retailer small{font-size:10px!important;margin-top:6px!important}
  .nppc-row-price{grid-area:price!important;text-align:right!important;align-self:end!important;padding-top:22px!important;position:relative!important;z-index:1!important}
  .nppc-row-price strong{font-size:18px!important;line-height:1.15!important;white-space:nowrap!important}
  .nppc-row-price small{font-size:10px!important;white-space:nowrap!important}
  .nppc-row-coupon{grid-area:coupon!important;text-align:right!important;align-self:start!important;overflow:visible!important}
  .nppc-no-code{display:inline-block!important;font-size:9px!important;white-space:nowrap!important}
  .nppc-coupon-chip{display:inline-block!important;width:auto!important;max-width:92px!important;padding:5px 7px!important}
  .nppc-shop{grid-area:shop!important;width:76px!important;min-width:76px!important;height:46px!important;min-height:46px!important;align-self:center!important;border-radius:8px!important;font-size:13px!important;box-shadow:0 1px 2px rgba(16,24,40,.08)!important}
  .nppc-best-badge,.nppc-rank-badge{right:104px!important;top:12px!important;z-index:3!important}
  .nppc-best-badge{padding:5px 7px!important;border-radius:5px!important;font-size:7px!important;letter-spacing:.15px!important;white-space:nowrap!important}
  .nppc-rank-badge{font-size:9px!important}
  .nppc-mini-strengths,.nppc-strength-tabs{padding-right:28px!important;scroll-padding-left:20px!important;scroll-padding-right:28px!important}
  .nppc-card-strength,.nppc-strength{flex:0 0 auto!important}
}

/* Keep 3-column cards spacious until tablet widths. */
@media (min-width:1051px){
  .nppc-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:28px!important}
}
@media (min-width:721px) and (max-width:1050px){
  .nppc-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}

/* Compact grid remains a summary view and never inherits the full-row badge geometry. */
.nppc-grid-mode .nppc-retailer-row{min-height:118px!important}
.nppc-grid-mode .nppc-row-price{padding-top:20px!important}
.nppc-grid-mode .nppc-best-badge{right:16px!important;top:9px!important}
.nppc-grid-mode .nppc-shop{width:auto!important;min-width:76px!important;height:38px!important;min-height:38px!important}

@media(max-width:720px){
  .nppc-retailer strong{word-break:normal!important;overflow-wrap:normal!important}
  .nppc-best-badge{top:10px!important;right:12px!important}
  .nppc-row-price{padding-top:16px!important}
  .nppc-shop{min-width:78px!important}
}

/* v1.2.4 — marketplace-style strength selector */
.nppc-mini-strengths,
.nppc-strength-tabs{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:6px!important;
  overflow:visible!important;
  padding:0 20px 16px!important;
  scroll-snap-type:none!important;
}
.nppc-card-strength,
.nppc-strength{
  flex:0 0 auto!important;
  min-height:31px!important;
  padding:5px 10px!important;
  border-radius:5px!important;
  font-size:12px!important;
  line-height:1.15!important;
  font-weight:600!important;
  white-space:nowrap!important;
  box-shadow:none!important;
}
.nppc-card-strength.active,
.nppc-strength.active{
  font-weight:700!important;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important;
}
/* Let cards grow naturally when a product has many variants instead of clipping/scrolling. */
.nppc-compare-card{overflow:hidden!important;height:auto!important}
.nppc-grid-mode .nppc-mini-strengths{display:flex!important;flex-wrap:wrap!important;overflow:visible!important;padding:0 16px 12px!important}
.nppc-grid-mode .nppc-card-strength:not(.active){display:inline-flex!important}
@media(max-width:767px){
  .nppc-mini-strengths,.nppc-strength-tabs{gap:5px!important;padding:0 14px 14px!important}
  .nppc-card-strength,.nppc-strength{font-size:11px!important;padding:5px 8px!important;min-height:29px!important}
}

/* v1.2.5 — featured best-price glow, inspired by price-comparison highlight rows */
.nppc-retailer-row.nppc-featured-offer{
  position:relative;
  z-index:1;
  background:linear-gradient(90deg,rgba(255,242,247,.96),rgba(255,248,251,.9));
  border-color:#ff4f91 !important;
  box-shadow:0 0 0 1px rgba(255,61,132,.30),0 7px 18px rgba(255,45,120,.18),0 0 24px rgba(255,45,120,.12);
}
.nppc-retailer-row.nppc-featured-offer::after{
  content:"";
  position:absolute;
  inset:-1px;
  pointer-events:none;
  border-radius:inherit;
  box-shadow:inset 0 0 14px rgba(255,67,137,.07);
}
.nppc-retailer-row.nppc-featured-offer:hover{
  box-shadow:0 0 0 1px rgba(255,61,132,.38),0 10px 24px rgba(255,45,120,.22),0 0 30px rgba(255,45,120,.15);
}
@media (prefers-reduced-motion:no-preference){
  .nppc-retailer-row.nppc-featured-offer{transition:box-shadow .18s ease,transform .18s ease,background .18s ease}
  .nppc-retailer-row.nppc-featured-offer:hover{transform:translateY(-1px)}
}

/* v1.5.1 toolbar + functional filter polish */
.nppc-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,220px) minmax(180px,220px) minmax(150px,180px)!important;align-items:stretch!important}
.nppc-toolbar>*{min-width:0!important;width:100%!important;box-sizing:border-box!important}
.nppc-search{display:block!important;min-width:0!important}
.nppc-search input{display:block!important;max-width:100%!important;box-sizing:border-box!important}
.nppc-subtoolbar{justify-content:flex-start!important}
.nppc-filter-pills{display:flex!important;flex-wrap:wrap!important;gap:8px!important}
.nppc-filter-pills button{cursor:pointer!important;opacity:1!important}
.nppc-view-controls{display:none!important}
.nppc-app .nppc-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
@media(max-width:1100px){.nppc-toolbar{grid-template-columns:minmax(0,1fr) minmax(180px,1fr)!important}.nppc-app .nppc-reference-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:720px){.nppc-toolbar{grid-template-columns:1fr!important}.nppc-app .nppc-reference-grid{grid-template-columns:1fr!important}.nppc-filter-pills{width:100%!important}}

/* v1.5.7: quantity headings with wrapped strength options. */
.nppc-grouped-strengths{display:flex!important;flex-direction:column!important;align-items:stretch!important;gap:0!important}
.nppc-strength-group{width:100%;min-width:0;padding:12px 0;border-top:1px solid #e8edf4}
.nppc-strength-group:first-child{border-top:0;padding-top:0}
.nppc-strength-group-label{font-size:10px;font-weight:800;letter-spacing:1px;color:#667085;margin-bottom:8px;line-height:1.4}
.nppc-strength-group-options{display:flex;flex-wrap:wrap;gap:7px;min-width:0}
.nppc-grouped-strengths button{min-height:36px!important;padding:8px 12px!important;white-space:normal!important;overflow-wrap:anywhere;max-width:100%;text-align:center;transition:background .15s,border-color .15s}
.nppc-grouped-strengths button:hover{border-color:var(--nppc-accent);background:#eff6ff}
.nppc-grouped-strengths button.active{background:var(--nppc-accent)!important;color:#fff!important}
.nppc-grouped-strengths button:focus-visible{outline:2px solid var(--nppc-accent);outline-offset:3px}
@media(max-width:767px){.nppc-grouped-strengths button{min-height:44px!important;padding:10px 12px!important;font-size:12px!important}.nppc-strength-group-options{gap:8px}.nppc-strength-group{padding:12px 0}}
