/* ============================================================
   Compressor Controller — Detail-page styles
   Used by single-compressor.php and single-installer.php only.
   Sits next to cc-components.css (which is owned by another stream).
   ============================================================ */

/* Body classes for detail pages — let pages bleed full-width like archives */
body.single-compressor #main,
body.single-installer  #main,
body.single-compressor #content-wrap,
body.single-installer  #content-wrap,
body.single-compressor #wrap,
body.single-installer  #wrap,
body.single-compressor .site-main,
body.single-installer  .site-main,
body.single-compressor .content-area,
body.single-installer  .content-area,
body.single-compressor .entry-content,
body.single-installer  .entry-content {
  max-width: 100% !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}
body.single-compressor #content,
body.single-installer  #content {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.single-compressor .container,
body.single-installer  .container {
  max-width: 100% !important;
  padding: 0 !important;
}
body.single-compressor .page-header,
body.single-installer  .page-header,
body.single-compressor .entry-header,
body.single-installer  .entry-header,
body.single-compressor .single-page-header,
body.single-installer  .single-page-header {
  display: none !important;
}

/* ------------------------------------------------------------
   Breadcrumb
   ------------------------------------------------------------ */
.cc-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--c-ink-3);
  margin: 8px 0 18px;
  letter-spacing: 0;
}
.cc-breadcrumb a {
  color: var(--c-ink-3);
  border-bottom: 1px solid transparent;
  transition: color var(--dur) var(--ease), border-color var(--dur) var(--ease);
}
.cc-breadcrumb a:hover {
  color: var(--c-accent-ink);
  border-bottom-color: var(--c-accent-line);
}
.cc-breadcrumb .cc-bc-sep {
  color: var(--c-line-strong);
  font-weight: 400;
}
.cc-breadcrumb .cc-bc-current {
  color: var(--c-ink-2);
  font-weight: 500;
  font-family: var(--font-mono);
  font-variant-numeric: tabular-nums;
  font-size: 11.5px;
}

/* ------------------------------------------------------------
   Single article shell
   ------------------------------------------------------------ */
.cc-single {
  padding-bottom: 80px;
}

.cc-section-title {
  font-size: 14px;
  font-weight: 600;
  letter-spacing: -.005em;
  color: var(--c-ink-2);
  margin: 32px 0 14px;
  display: flex;
  align-items: baseline;
  gap: 10px;
}
.cc-section-count {
  font-size: 11px;
  font-weight: 500;
  color: var(--c-ink-4);
}

/* ------------------------------------------------------------
   Hero region (3-col grid: image | body | at-a-glance)
   ------------------------------------------------------------ */
.cc-single-hero {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 0.9fr;
  gap: 24px;
  align-items: start;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: var(--r-3);
  padding: 24px;
  box-shadow: var(--shadow-1);
  margin-bottom: 18px;
}
@media (max-width: 960px) {
  .cc-single-hero { grid-template-columns: 1fr 1fr; }
  .cc-glance { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .cc-single-hero { grid-template-columns: 1fr; gap: 16px; padding: 18px; }
}

.cc-hero-img {
  background: var(--c-surface-2);
  border: 1px solid var(--c-line);
  border-radius: var(--r-2);
  aspect-ratio: 4 / 3;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  color: var(--c-ink-4);
}
.cc-hero-img img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  display: block;
}
.cc-hero-img .cc-glyph { color: var(--c-ink-4); }

.cc-hero-body { min-width: 0; }

.cc-hero-eyebrow {
  display: flex;
  align-items: baseline;
  gap: 10px;
  margin-bottom: 6px;
}
.cc-hero-brand {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
}
.cc-hero-series {
  font-size: 10.5px;
  color: var(--c-ink-4);
  letter-spacing: .04em;
}

.cc-hero-title {
  font-family: var(--font-sans);
  font-size: 26px;
  font-weight: 600;
  letter-spacing: -.018em;
  line-height: 1.2;
  color: var(--c-ink);
  margin: 0 0 10px;
  word-break: break-word;
}

.cc-hero-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
  margin-bottom: 14px;
  font-size: 12px;
  color: var(--c-ink-3);
}
.cc-hero-meta .cc-meta-dot { color: var(--c-line-strong); }
.cc-hero-meta .cc-hero-mfg { color: var(--c-ink-3); }
.cc-hero-meta .cc-hero-country {
  font-size: 10.5px;
  color: var(--c-ink-4);
  letter-spacing: .04em;
}

.cc-hero-summary {
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-ink-2);
  margin: 0 0 18px;
}

.cc-hero-cta-row {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
}
.cc-hero-price {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.cc-hero-price-label {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
}
.cc-hero-price-value {
  font-size: 20px;
  font-weight: 600;
  color: var(--c-ink);
  letter-spacing: -.01em;
}
.cc-hero-price-value.em { color: var(--c-ink-4); font-weight: 500; font-size: 13px; }

.cc-hero-cta {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 12px;
  font-size: 12px;
  font-weight: 600;
  border-radius: var(--r-2);
  background: var(--c-accent);
  color: #fff !important;
  border: 1px solid var(--c-accent);
  transition: background var(--dur) var(--ease);
  letter-spacing: -.005em;
}
.cc-hero-cta:hover { background: var(--c-accent-ink); border-color: var(--c-accent-ink); }
.cc-hero-cta svg   { width: 13px; height: 13px; }

/* At-a-glance card */
.cc-glance {
  border: 1px solid var(--c-line);
  background: var(--c-surface);
  border-radius: var(--r-2);
  padding: 14px;
}
.cc-glance-title {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
  margin: 0 0 10px;
}
.cc-glance-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin: 0;
}
.cc-glance-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 7px 0;
  border-bottom: 1px dashed var(--c-line);
  font-size: 12px;
  margin: 0;
}
.cc-glance-row:last-child { border-bottom: 0; }
.cc-glance-row dt { color: var(--c-ink-3); font-weight: 500; margin: 0; }
.cc-glance-row dd { color: var(--c-ink); font-weight: 600; margin: 0; font-variant-numeric: tabular-nums; }

/* ------------------------------------------------------------
   Spec sheet (3-col groups)
   ------------------------------------------------------------ */
.cc-spec-sheet { margin-top: 8px; }

.cc-spec-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px;
}
@media (max-width: 960px) {
  .cc-spec-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .cc-spec-grid { grid-template-columns: 1fr; }
}

.cc-spec-group {
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: var(--r-2);
  padding: 14px;
}
.cc-spec-group-title {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
  margin: 0 0 8px;
}
.cc-spec-list {
  display: flex;
  flex-direction: column;
  margin: 0;
}
.cc-spec-list > div {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  padding: 6px 0;
  border-bottom: 1px dashed var(--c-line);
  font-size: 12px;
  gap: 12px;
}
.cc-spec-list > div:last-child { border-bottom: 0; }
.cc-spec-list dt {
  color: var(--c-ink-3);
  font-weight: 500;
  margin: 0;
  flex: 0 0 auto;
}
.cc-spec-list dd {
  color: var(--c-ink-2);
  font-weight: 500;
  margin: 0;
  text-align: right;
  word-break: break-word;
}
.cc-spec-list dd.mono { font-variant-numeric: tabular-nums; color: var(--c-ink); }
.cc-mono-mini { font-size: 11px; }

.cc-doc-link {
  font-weight: 600;
  color: var(--c-accent-ink);
  border-bottom: 1px dotted var(--c-accent-line);
  transition: border-color var(--dur) var(--ease);
}
.cc-doc-link:hover { border-bottom-color: var(--c-accent-ink); }

/* Resolved-SCFM block (M/C/E badge) */
.cc-spec-resolved {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px solid var(--c-line);
}
.cc-spec-resolved-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 6px;
  font-size: 12px;
}
.cc-spec-resolved-label {
  color: var(--c-ink-3);
  font-weight: 500;
  font-size: 11px;
}
.cc-spec-resolved-value {
  color: var(--c-ink);
  font-weight: 600;
  font-size: 13px;
  flex: 1;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.cc-spec-resolved-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px; height: 18px;
  border-radius: 999px;
  font-family: var(--font-mono);
  font-size: 10px;
  font-weight: 700;
  background: var(--c-surface-2);
  color: var(--c-ink-3);
  border: 1px solid var(--c-line);
}
.cc-spec-resolved-badge.cc-rb-manual    { background: var(--c-success-bg); color: var(--c-success); border-color: var(--c-success); }
.cc-spec-resolved-badge.cc-rb-catalog   { background: var(--c-accent-bg); color: var(--c-accent-ink); border-color: var(--c-accent-line); }
.cc-spec-resolved-badge.cc-rb-calculated{ background: var(--c-warn-bg);   color: var(--c-warn);     border-color: var(--c-warn); }
.cc-spec-resolved-compare {
  margin-top: 4px;
  font-size: 10.5px;
  color: var(--c-ink-4);
  text-align: right;
  font-variant-numeric: tabular-nums;
}

/* ------------------------------------------------------------
   Vector pages tile grid
   ------------------------------------------------------------ */
.cc-vec-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 8px;
}
.cc-vec-tile {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 10px 12px;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: var(--r-2);
  font-size: 12px;
  color: var(--c-ink-2);
  transition: border-color var(--dur) var(--ease), background var(--dur) var(--ease), transform var(--dur) var(--ease);
}
.cc-vec-tile:hover {
  border-color: var(--c-accent-line);
  background: var(--c-accent-bg);
  color: var(--c-accent-ink);
}
@media (prefers-reduced-motion: no-preference) {
  .cc-vec-tile:hover { transform: translateY(-1px); }
}
.cc-vec-page  { font-size: 10.5px; color: var(--c-ink-4); letter-spacing: .04em; }
.cc-vec-label { font-size: 12px; line-height: 1.35; }

/* ------------------------------------------------------------
   Related models
   ------------------------------------------------------------ */
.cc-related .cc-grid {
  /* re-use archive grid spacing but slightly tighter on detail pages */
  gap: 14px;
}

/* ============================================================
   Single installer
   ============================================================ */

.cc-single-installer-hero {
  display: grid;
  grid-template-columns: 1.1fr 1fr 1fr;
  gap: 18px;
  align-items: stretch;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: var(--r-3);
  padding: 24px;
  box-shadow: var(--shadow-1);
  margin-bottom: 18px;
}
@media (max-width: 960px) {
  .cc-single-installer-hero { grid-template-columns: 1fr 1fr; }
  .cc-installer-emergency { grid-column: 1 / -1; }
}
@media (max-width: 720px) {
  .cc-single-installer-hero { grid-template-columns: 1fr; padding: 18px; }
}

.cc-installer-name-row {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-bottom: 4px;
}
.cc-installer-name-row h1 {
  font-family: var(--font-sans);
  font-size: 24px;
  font-weight: 600;
  letter-spacing: -.018em;
  margin: 0;
  color: var(--c-ink);
  line-height: 1.2;
}
.cc-installer-name-row .cc-tier-badge { transform: translateY(1px); }

.cc-installer-region {
  grid-column: 1 / -1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
  color: var(--c-ink-3);
  margin-top: 0;
}
.cc-installer-region .pin {
  color: var(--c-ink-4);
  font-family: var(--font-mono);
  font-size: 11px;
}

.cc-contact-card {
  border: 1px solid var(--c-line);
  background: var(--c-surface-2);
  border-radius: var(--r-2);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cc-contact-card-title {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
  margin: 0 0 4px;
}
.cc-contact-row {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--c-ink-2);
  word-break: break-word;
}
.cc-contact-row svg { width: 14px; height: 14px; color: var(--c-ink-4); flex: 0 0 auto; }
.cc-contact-row a { color: var(--c-accent-ink); border-bottom: 1px dotted var(--c-accent-line); }
.cc-contact-row a:hover { border-bottom-style: solid; }
.cc-contact-empty { color: var(--c-ink-4); font-style: italic; }

.cc-installer-prose {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.cc-installer-prose-title {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
  margin: 0;
}
.cc-installer-prose p {
  font-size: 13px;
  line-height: 1.55;
  color: var(--c-ink-2);
  margin: 0;
}

/* Authorized brands strip */
.cc-installer-brands {
  margin-top: 8px;
}
.cc-installer-brands h3 {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
  margin: 24px 0 10px;
}
.cc-brand-strip {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.cc-brand-pill {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .04em;
  text-transform: uppercase;
  padding: 5px 10px;
  border-radius: var(--r-2);
  background: var(--c-surface);
  color: var(--c-ink-2);
  border: 1px solid var(--c-line);
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease), background var(--dur) var(--ease);
}
.cc-brand-pill:hover {
  border-color: var(--c-accent-line);
  background: var(--c-accent-bg);
  color: var(--c-accent-ink);
}

/* Capability badges */
.cc-installer-caps-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 18px;
}
.cc-cap-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border-radius: var(--r-2);
  font-size: 11.5px;
  font-weight: 600;
  letter-spacing: 0;
  background: var(--c-accent-bg);
  color: var(--c-accent-ink);
  border: 1px solid var(--c-accent-line);
}
.cc-cap-badge svg { width: 13px; height: 13px; }

/* Verticals row */
.cc-installer-verticals {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  align-items: center;
}

/* Locations table */
.cc-locations {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  color: var(--c-ink-2);
  margin-top: 8px;
}
.cc-locations th,
.cc-locations td {
  text-align: left;
  padding: 8px 10px;
  border-bottom: 1px solid var(--c-line);
}
.cc-locations th {
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .08em;
  color: var(--c-ink-3);
}
.cc-locations td.mono { font-variant-numeric: tabular-nums; font-family: var(--font-mono); font-size: 11.5px; }

/* Cross-link block on installer page */
.cc-cross-models {
  margin-top: 28px;
}
.cc-cross-models .cc-grid { gap: 14px; }


/* === Verified manual specifications panel === */
.cc-verified-panel {
  margin: 24px 0 32px;
  padding: 22px 24px 26px;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: var(--r-3);
}
.cc-vp-head {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
  margin-bottom: 18px;
}
.cc-vp-title {
  margin: 0;
  font-size: 16px; font-weight: 600;
  letter-spacing: -0.01em;
}
.cc-vp-badge {
  display: inline-flex; align-items: center;
  padding: 3px 10px;
  border-radius: 999px;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.02em;
  border: 1px solid var(--c-line);
}
.cc-vp-badge.is-verified {
  background: #e6f4ea; color: #1f5d2f; border-color: #c9e2d2;
}
.cc-vp-badge.is-partial {
  background: var(--c-surface-2); color: var(--c-ink-3); border-color: var(--c-line);
}
.cc-vp-meta { color: var(--c-ink-3); font-size: 12px; }

.cc-vp-grid {
  display: grid; grid-template-columns: repeat( auto-fit, minmax(220px, 1fr) );
  gap: 18px 28px;
  margin-bottom: 18px;
}
.cc-vp-group h3 {
  margin: 0 0 8px 0;
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--c-ink-3);
}
.cc-vp-row {
  display: grid; grid-template-columns: 1fr auto auto;
  align-items: baseline; gap: 6px;
  padding: 5px 0;
  border-top: 1px dashed var(--c-line);
  font-size: 13px;
}
.cc-vp-row:first-of-type { border-top: 0; padding-top: 0; }
.cc-vp-row .lbl { color: var(--c-ink-3); }
.cc-vp-row .val { color: var(--c-ink); font-weight: 500; }
.cc-vp-row .src {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px;
  padding: 0 4px;
  border-radius: 3px;
  font-family: var(--font-mono);
  font-size: 9px; font-weight: 600;
  letter-spacing: 0.04em;
}
.cc-vp-row .src-manual   { background: var(--c-accent-bg); color: var(--c-accent-ink); }
.cc-vp-row .src-catalog  { background: var(--c-surface-2); color: var(--c-ink-3); border: 1px solid var(--c-line); }
.cc-vp-row .src-est      { background: #fbe9d8; color: #8a3d12; }

.cc-vp-features {
  border-top: 1px solid var(--c-line); padding-top: 16px; margin-top: 8px;
}
.cc-vp-features h3 {
  margin: 0 0 10px 0;
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--c-ink-3);
}
.cc-feature-pills {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
}
.cc-feature-pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px;
  font-size: 12px; font-weight: 500;
  border-radius: 999px;
  background: var(--c-accent-bg); color: var(--c-accent-ink);
  border: 1px solid var(--c-accent-bg);
}

.cc-vp-retailers {
  border-top: 1px solid var(--c-line); padding-top: 16px; margin-top: 16px;
}
.cc-vp-retailers h3 {
  margin: 0 0 10px 0;
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--c-ink-3);
}
.cc-retailer-list { list-style: none; padding: 0; margin: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.cc-retailer-link {
  display: inline-flex; align-items: baseline; gap: 4px;
  font-size: 13px; color: var(--c-ink); text-decoration: none;
  border-bottom: 1px solid transparent;
  padding-bottom: 1px;
}
.cc-retailer-link:hover { border-bottom-color: var(--c-line-strong); color: var(--c-accent-ink); }

@media (max-width: 720px) {
  .cc-verified-panel { padding: 16px 14px 20px; }
  .cc-vp-grid { grid-template-columns: 1fr; gap: 14px; }
}


/* === Unified specifications + savings panel === */
.cc-unified-panel {
  margin: 24px 0 32px;
  padding: 26px 28px 30px;
  background: var(--c-surface);
  border: 1px solid var(--c-line);
  border-radius: var(--r-3);
}

/* Headline grid */
.cc-headline-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  border: 1px solid var(--c-line);
  border-radius: var(--r-2);
  overflow: hidden;
  background: var(--c-surface-2);
  margin-bottom: 22px;
}
.cc-headline-cell {
  display: flex; flex-direction: column; align-items: flex-start; gap: 4px;
  padding: 14px 18px;
  background: var(--c-surface);
  border-right: 1px solid var(--c-line);
  position: relative;
}
.cc-headline-cell:last-child { border-right: 0; }
.cc-h-label {
  font-size: 9px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--c-ink-3);
}
.cc-h-value {
  font-size: 26px; font-weight: 600;
  color: var(--c-ink);
  line-height: 1;
  letter-spacing: -0.01em;
}
.cc-h-unit {
  font-size: 11px; font-weight: 500;
  color: var(--c-ink-3); margin-left: 2px;
}
.cc-h-meta {
  font-size: 10px; color: var(--c-ink-4); font-family: var(--font-mono);
}
.cc-h-prov {
  position: absolute; top: 12px; right: 12px;
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 3px; font-family: var(--font-mono);
  font-size: 9px; font-weight: 600; letter-spacing: 0.04em;
}
.cc-h-prov.src-manual   { background: var(--c-accent-bg); color: var(--c-accent-ink); }
.cc-h-prov.src-catalog  { background: var(--c-surface-2); color: var(--c-ink-3); border: 1px solid var(--c-line); }
.cc-h-prov.src-est      { background: #fbe9d8; color: #8a3d12; }
.cc-headline-price .cc-h-value { color: var(--c-accent-ink); }

/* Savings block */
.cc-savings-block {
  background: var(--c-accent-bg);
  border: 1px solid var(--c-accent-line, #c8d4ff);
  border-radius: var(--r-2);
  padding: 18px 22px 20px;
  margin-bottom: 22px;
}
.cc-savings-block-na {
  background: var(--c-surface-2);
  border-color: var(--c-line);
}
.cc-savings-head {
  display: flex; align-items: center; gap: 8px;
  margin-bottom: 14px;
  color: var(--c-accent-ink);
}
.cc-savings-block-na .cc-savings-head { color: var(--c-ink-2); }
.cc-savings-icon { display: inline-flex; }
.cc-savings-title {
  margin: 0; font-size: 13px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
}
.cc-savings-grid {
  display: grid; grid-template-columns: repeat( auto-fit, minmax(180px, 1fr) );
  gap: 14px 22px;
}
.cc-savings-cell { display: flex; flex-direction: column; gap: 4px; }
.cc-s-label {
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--c-accent-ink); opacity: 0.75;
}
.cc-savings-block-na .cc-s-label { color: var(--c-ink-3); opacity: 1; }
.cc-s-value {
  font-size: 20px; font-weight: 600; color: var(--c-accent-ink);
  letter-spacing: -0.01em; line-height: 1.1;
}
.cc-savings-highlight .cc-s-value { font-size: 24px; }
.cc-s-unit { font-size: 11px; font-weight: 500; opacity: 0.7; margin-left: 2px; }
.cc-s-fine { font-size: 10px; color: var(--c-ink-3); font-family: var(--font-mono); }
.cc-savings-cta-row {
  display: flex; align-items: center; justify-content: space-between; gap: 16px;
  margin-top: 14px; padding-top: 12px;
  border-top: 1px solid var(--c-accent-line, #c8d4ff);
  flex-wrap: wrap;
}
.cc-savings-cta {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 14px;
  background: var(--c-accent); color: #fff;
  border-radius: var(--r-2); font-size: 13px; font-weight: 500;
  text-decoration: none;
  transition: background var(--dur) var(--ease);
}
.cc-savings-cta:hover { background: var(--c-accent-ink); color: #fff; }
.cc-savings-fine { font-size: 11px; color: var(--c-accent-ink); opacity: 0.7; flex: 1; min-width: 240px; }
.cc-savings-na { margin: 0; font-size: 13px; color: var(--c-ink-2); line-height: 1.5; }
.cc-savings-na a { color: var(--c-accent-ink); border-bottom: 1px solid var(--c-line-strong); }

/* Verified head + manual link (within unified panel) */
.cc-vp-head {
  display: flex; align-items: center; flex-wrap: wrap; gap: 12px;
  margin-bottom: 16px;
  padding-top: 8px;
  border-top: 1px solid var(--c-line);
  padding-top: 18px;
}
.cc-vp-title {
  margin: 0; font-size: 13px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.06em;
  color: var(--c-ink-2);
}
.cc-vp-badge {
  display: inline-flex; align-items: center;
  padding: 3px 10px; border-radius: 999px;
  font-size: 11px; font-weight: 600; letter-spacing: 0.02em;
  border: 1px solid var(--c-line);
}
.cc-vp-badge.is-verified { background: #e6f4ea; color: #1f5d2f; border-color: #c9e2d2; }
.cc-vp-badge.is-partial  { background: var(--c-surface-2); color: var(--c-ink-3); border-color: var(--c-line); }
.cc-vp-manual-link {
  display: inline-flex; align-items: center; gap: 5px;
  margin-left: auto; padding: 4px 10px;
  border: 1px solid var(--c-line); border-radius: var(--r-2);
  font-size: 12px; color: var(--c-ink-2); text-decoration: none;
  transition: border-color var(--dur) var(--ease), color var(--dur) var(--ease);
}
.cc-vp-manual-link:hover { border-color: var(--c-accent); color: var(--c-accent-ink); }

.cc-vp-grid {
  display: grid; grid-template-columns: repeat( auto-fit, minmax(220px, 1fr) );
  gap: 18px 28px;
  margin-bottom: 16px;
}
.cc-vp-group h3 {
  margin: 0 0 8px 0;
  font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em;
  color: var(--c-ink-3);
}
.cc-vp-row {
  display: grid; grid-template-columns: 1fr auto auto;
  align-items: baseline; gap: 6px;
  padding: 5px 0;
  border-top: 1px dashed var(--c-line);
  font-size: 13px;
}
.cc-vp-row:first-of-type { border-top: 0; padding-top: 0; }
.cc-vp-row .lbl { color: var(--c-ink-3); }
.cc-vp-row .val { color: var(--c-ink); font-weight: 500; }
.cc-vp-row .src {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 16px; height: 16px; padding: 0 4px;
  border-radius: 3px; font-family: var(--font-mono);
  font-size: 9px; font-weight: 600; letter-spacing: 0.04em;
}
.cc-vp-row .src-manual   { background: var(--c-accent-bg); color: var(--c-accent-ink); }
.cc-vp-row .src-catalog  { background: var(--c-surface-2); color: var(--c-ink-3); border: 1px solid var(--c-line); }
.cc-vp-row .src-est      { background: #fbe9d8; color: #8a3d12; }

.cc-vp-group-features { grid-column: 1 / -1; }
.cc-feature-pills {
  list-style: none; padding: 0; margin: 0;
  display: flex; flex-wrap: wrap; gap: 6px;
}
.cc-feature-pill {
  display: inline-flex; align-items: center; gap: 4px;
  padding: 4px 10px; font-size: 12px; font-weight: 500;
  border-radius: 999px;
  background: var(--c-accent-bg); color: var(--c-accent-ink);
}

.cc-vp-retailers {
  border-top: 1px solid var(--c-line); padding-top: 14px; margin-top: 4px;
}
.cc-vp-retailers h3 {
  margin: 0 0 10px 0; font-size: 10px; font-weight: 600;
  text-transform: uppercase; letter-spacing: 0.08em; color: var(--c-ink-3);
}
.cc-retailer-list { list-style: none; padding: 0; margin: 0; display: flex; gap: 18px; flex-wrap: wrap; }
.cc-retailer-link {
  display: inline-flex; align-items: baseline; gap: 4px;
  font-size: 13px; color: var(--c-ink); text-decoration: none;
  border-bottom: 1px solid transparent; padding-bottom: 1px;
}
.cc-retailer-link:hover { border-bottom-color: var(--c-line-strong); color: var(--c-accent-ink); }

@media (max-width: 980px) {
  .cc-headline-grid { grid-template-columns: repeat(3, 1fr); }
  .cc-headline-cell:nth-child(3n) { border-right: 0; }
  .cc-headline-cell:nth-child(n+4) { border-top: 1px solid var(--c-line); }
}
@media (max-width: 600px) {
  .cc-headline-grid { grid-template-columns: repeat(2, 1fr); }
  .cc-headline-cell:nth-child(3n) { border-right: 1px solid var(--c-line); }
  .cc-headline-cell:nth-child(2n) { border-right: 0; }
  .cc-headline-cell:nth-child(n+3) { border-top: 1px solid var(--c-line); }
  .cc-headline-cell:last-child { grid-column: 1 / -1; }
  .cc-savings-grid { grid-template-columns: 1fr 1fr; }
  .cc-unified-panel { padding: 18px 16px 22px; }
}
