.compare-page{padding-bottom:20px}
.best-offer-row{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:15px 0;padding:13px 16px;background:#ecfdf5;border:1px solid #bbf7d0;border-radius:10px}
.best-offer-row strong{color:#15803d;font-size:20px}
.comparison-summary-widget{margin-top:20px;padding:22px;background:#fff;border:1px solid var(--line);border-radius:13px}
.section-heading .eyebrow{color:var(--brand);font-size:11px;font-weight:850;letter-spacing:.08em}
.section-heading h2{margin:5px 0 7px;font-size:22px}
.section-heading p{margin:5px 0;color:var(--muted)}
.summary-note{font-size:12px}
.summary-product-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:11px;margin-top:18px}
.summary-product-card{position:relative;padding:15px;background:var(--soft);border:1px solid var(--line);border-radius:10px}
.summary-product-card.is-leader{border:2px solid var(--brand)}
.summary-product-image{display:flex;width:100%;height:150px;align-items:center;justify-content:center;margin:8px 0 10px;background:#fff;border-radius:9px}
.summary-product-image img{max-width:100%;max-height:140px;object-fit:contain}
.summary-product-card h3{margin:8px 0;font-size:15px}
.summary-score{color:var(--brand);font-size:29px;font-weight:900}
.summary-score small{font-size:13px}
.summary-product-card ul{padding-left:18px}
.leader-badge{display:inline-block;padding:3px 7px;border-radius:999px;background:var(--brand);color:#fff;font-size:10px;font-weight:800}
.compare-products{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:13px;margin-top:22px}
.compare-product-card{padding:14px;text-align:center;background:#fff;border:1px solid var(--line);border-radius:11px}
.compare-product-card img{height:150px;object-fit:contain}
.compare-product-card h2{font-size:15px}
.compare-price{color:var(--brand);font-size:17px}
.score-table-card,.comparison-table-section{margin-top:28px;padding:18px;background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
.score-table,.comparison-table{width:100%;overflow-x:auto}
.score-table-card h2,.comparison-table-section h2{margin-top:0}
.score-row,.comparison-row{display:grid;grid-template-columns:minmax(180px,.8fr) repeat(var(--product-count),minmax(220px,1fr));width:100%}
.score-row>* ,.comparison-row>*{padding:9px;border-bottom:1px solid var(--line)}
.score-row--head,.comparison-row--head{background:var(--soft)}
.comparison-category{margin-top:18px}
.comparison-category h3{font-size:16px}
.comparison-table{overflow:auto}
@media(max-width:700px){
  .comparison-summary-widget{padding:15px}
  .score-row,.comparison-row{grid-template-columns:150px repeat(var(--product-count),minmax(180px,1fr));width:max-content;min-width:100%}
}


/* Compact comparison summary */
.comparison-summary-widget{
  padding:18px;
}

.summary-product-grid{
  gap:10px;
  margin-top:14px;
}

.summary-product-card{
  padding:12px;
}

.summary-product-image{
  width:96px;
  height:84px;
  margin:6px 0 8px;
  background:#fff;
  border:1px solid #eef0f3;
  border-radius:8px;
}

.summary-product-image img{
  max-width:86px;
  max-height:76px;
}

.summary-product-card h3{
  margin:5px 0 4px;
  font-size:15px;
  line-height:1.3;
}

.summary-score{
  margin:2px 0 5px;
  font-size:24px;
  line-height:1.1;
}

.summary-product-card > strong{
  display:block;
  margin-top:5px;
  font-size:13px;
}

.summary-product-card ul{
  margin:5px 0 0;
  padding-left:18px;
}

.summary-product-card li{
  margin:2px 0;
  font-size:13px;
}

.leader-badge{
  margin-bottom:4px;
}

/* Price/offer comparison */
.offer-compare-card{
  margin-top:28px;
  padding:18px;
  background:#fff;
  border:1px solid var(--line);
  border-radius:12px;
  overflow:hidden;
}

.offer-compare-card h2{
  margin:0 0 14px;
  font-size:21px;
}

.comparison-row--price{
  background:#f8fbff;
}

.table-best-price{
  display:block;
  color:var(--brand);
  font-size:16px;
}

.comparison-row small{
  display:block;
  margin-top:2px;
  color:var(--muted);
  font-size:11px;
}
.comparison-section-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:18px;
}

.comparison-section-heading h2{
  margin:4px 0 6px;
}

.comparison-section-heading p{
  margin:0;
  color:var(--muted);
  font-size:13px;
}

.comparison-eyebrow{
  display:block;
  color:var(--brand);
  font-size:11px;
  font-weight:800;
  letter-spacing:.08em;
}

.comparison-differences{
  border-color:#cfe3ff;
}

.comparison-row--different{
  background:#fff;
}

.comparison-row--different:nth-child(even){
  background:#fafcff;
}

.comparison-feature-name{
  font-weight:700;
  color:#374151;
}

.comparison-different-value{
  position:relative;
  font-weight:600;
}

.comparison-different-value::before{
  content:"";
  display:inline-block;
  width:6px;
  height:6px;
  margin-right:7px;
  border-radius:50%;
  background:var(--brand);
  vertical-align:middle;
}

/* Technical comparison difference filter */
.comparison-table-toolbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:16px;
}
.comparison-table-toolbar h2{margin:0 0 5px}
.comparison-table-toolbar p{margin:0;color:var(--muted);font-size:13px}
.difference-toggle{
  display:inline-flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  cursor:pointer;
  user-select:none;
  padding:8px 11px;
  border:1px solid var(--line);
  border-radius:999px;
  background:#fff;
  font-size:13px;
  font-weight:700;
  color:#374151;
}
.difference-toggle input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.difference-toggle__control{
  position:relative;
  width:34px;
  height:19px;
  border-radius:999px;
  background:#d7dce3;
  transition:background .18s ease;
}
.difference-toggle__control::after{
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 3px rgba(0,0,0,.18);
  transition:transform .18s ease;
}
.difference-toggle input:checked + .difference-toggle__control{background:var(--brand)}
.difference-toggle input:checked + .difference-toggle__control::after{transform:translateX(15px)}
.difference-toggle input:focus-visible + .difference-toggle__control{outline:2px solid var(--brand);outline-offset:2px}
.comparison-row.is-same-spec{display:none}
.comparison-category.is-empty-difference-category{display:none}

@media(max-width:700px){
  .comparison-table-toolbar{flex-direction:column;align-items:stretch}
  .difference-toggle{align-self:flex-start}
}
