/* Nieuwe thuisbatterijpagina's (gegenereerd door tools/thuis-bouw): paginaniveau.
   Laden samen met productinfo.css (de gedeelde onderdelen). De bestaande merkpagina's hebben
   deze regels in hun eigen <style> en laden alleen productinfo.css. */
html, body { overflow-x: clip; }

/* Cijferbalk */
.stat-strip { display: grid; grid-template-columns: repeat(4, 1fr); border: 1px solid var(--line-strong); border-radius: var(--r-lg); overflow: hidden; margin-top: 3rem; background: #fff; }
.stat-cell { padding: 1.4rem 1.2rem; border-right: 1px solid var(--line); text-align: center; min-width: 0; }
.stat-cell:last-child { border-right: none; }
.stat-cell .num { font: 500 1.55rem/1 'Space Grotesk', sans-serif; letter-spacing: -.03em; color: var(--ink); margin-bottom: .4rem; }
.stat-cell .num.acc { color: var(--accent); }
.stat-cell .lbl { font: 10px 'JetBrains Mono', monospace; color: var(--ink-faint); letter-spacing: .06em; text-transform: uppercase; }
@media (max-width: 880px) {
  .stat-strip { grid-template-columns: repeat(2, 1fr); }
  .stat-cell:nth-child(2) { border-right: none; }
  .stat-cell:nth-child(n+3) { border-top: 1px solid var(--line); }
}

.section-sub a { color: var(--accent); }

/* Merklinks 'Liever een ander systeem?' (zelfde als op de thuisbatterijpagina's) */
.brand-links { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2rem; }
.brand-link { display: block; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1.3rem 1.4rem; background: rgba(245,243,238,.4); text-decoration: none; transition: border-color .2s, transform .2s; }
.brand-link:hover { border-color: rgba(15,107,107,.45); transform: translateY(-2px); }
.brand-link strong { display: block; font-family: 'Space Grotesk', sans-serif; font-size: 1.02rem; color: var(--ink); margin-bottom: .3rem; }
.brand-link span { color: var(--ink-soft); font-size: .85rem; line-height: 1.5; }
@media (max-width: 760px) { .brand-links { grid-template-columns: 1fr; } }

/* Keuzechips in het formulier (Heeft u zonnepanelen?) */
.zk-chips { border: 0; padding: 0; margin: 0; display: flex; flex-wrap: wrap; gap: .45rem; align-items: center; }
.zk-chips legend { width: 100%; padding: 0; margin-bottom: .45rem; font: 11px 'JetBrains Mono', monospace; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-faint); }
.zk-chips label { cursor: pointer; position: relative; }
.zk-chips input { position: absolute; opacity: 0; pointer-events: none; }
.zk-chips span { display: inline-block; padding: .55rem .95rem; border: 1px solid var(--line-strong); border-radius: 999px; font-size: .88rem; color: var(--ink); background: #fff; }
.zk-chips input:checked + span { background: var(--accent); border-color: var(--accent); color: #fff; }
.zk-chips input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 2px; }

/* Productkaarten naar de webshop (merken die we los verkopen, zoals Marstek) */
.zk-ws-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; margin-top: 2rem; }
.zk-ws-kaart { display: flex; flex-direction: column; gap: .35rem; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 1rem 1rem 1.1rem; background: #fff; text-decoration: none; color: var(--ink); transition: border-color .2s, transform .2s; min-width: 0; }
.zk-ws-kaart:hover { border-color: rgba(15,107,107,.45); transform: translateY(-2px); }
.zk-ws-foto { position: relative; display: block; aspect-ratio: 4 / 3; background: #fff; border-radius: calc(var(--r-lg) - 6px); overflow: hidden; margin-bottom: .4rem; }
.zk-ws-foto img { width: 100%; height: 100%; object-fit: contain; display: block; }
.zk-ws-badge { position: absolute; left: .5rem; top: .5rem; background: var(--accent); color: #fff; font: 10px 'JetBrains Mono', monospace; letter-spacing: .05em; text-transform: uppercase; padding: .3rem .5rem; border-radius: 999px; }
.zk-ws-kaart strong { font: 600 1rem/1.25 'Space Grotesk', sans-serif; }
.zk-ws-kort { color: var(--ink-soft); font-size: .86rem; line-height: 1.45; flex: 1; }
.zk-ws-prijs { font: 600 1.15rem 'Space Grotesk', sans-serif; color: var(--ink); margin-top: .3rem; }
.zk-ws-prijs small { font: 11px 'JetBrains Mono', monospace; color: var(--ink-faint); letter-spacing: .04em; }
.zk-ws-knop { color: var(--accent); font-size: .88rem; font-weight: 600; }

/* ---------------------------------------------------------------- telefoon (nieuwe pagina's) */
@media (max-width: 640px) {
  .section .section-title { font-size: 1.6rem; line-height: 1.15; }
  .section .section-sub { font-size: .95rem; }
  /* hero: één grote knop, de rest klein naast elkaar; bellen zit al in de balk onderin */
  .page-hero .hero-actions { display: flex; flex-direction: row; flex-wrap: wrap; align-items: stretch; gap: .5rem; }
  .page-hero .hero-actions .btn { width: auto; flex: 1 1 auto; padding: .65rem .9rem; font-size: .85rem; justify-content: center; }
  .page-hero .hero-actions .btn-primary { flex-basis: 100%; padding: .9rem 1rem; font-size: .95rem; }
  .page-hero .hero-actions a[href^="tel:"] { display: none; }
  .stat-strip { margin-top: 1.8rem; }
  .stat-cell { padding: 1rem .6rem; }
  .stat-cell .num { font-size: 1.25rem; }
  /* het systeem: foto staat al in de galerij */
  #over .zk-figure { display: none; }
  #over .zk-split { margin-top: 1.4rem; }
  .zk-prose.zk-dicht-tekst > p:nth-of-type(n+3), .zk-prose.zk-dicht-tekst > h3, .zk-prose.zk-dicht-tekst > ul { display: none; }
  /* andere merken: veegrij */
  .brand-links { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 1.3rem calc(50% - 50vw) 0; padding: 0 calc(50vw - 50%) 8px; scrollbar-width: none; }
  .brand-links::-webkit-scrollbar { display: none; }
  .brand-link { flex: 0 0 72%; scroll-snap-align: center; padding: 1rem 1.1rem; }
  .brand-link strong { font-size: .95rem; }
  .brand-link span { font-size: .82rem; }
  .cta-card { padding-left: 1.1rem; padding-right: 1.1rem; }
  .cta-card h2 { font-size: 1.55rem; }
  /* webshopkaarten: veegrij */
  .zk-ws-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 10px; margin: 1.3rem calc(50% - 50vw) 0; padding: 0 calc(50vw - 50%) 8px; scrollbar-width: none; }
  .zk-ws-grid::-webkit-scrollbar { display: none; }
  .zk-ws-kaart { flex: 0 0 64%; scroll-snap-align: center; padding: .8rem .85rem .9rem; }
  .zk-ws-kort { font-size: .82rem; }
}
