/* ===================================================================
   StorageIQ — Detail-/productpagina componenten
   Bouwt voort op cooliq-site.css (context-variabelen --bg/--fg/--accent).
   Werkt automatisch in licht én in .ctx-dark secties.
   =================================================================== */

/* ---------- breadcrumbs ---------- */
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; align-items: center;
  font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--fg-dim); }
.breadcrumbs a { color: var(--fg-muted); text-decoration: none; transition: color var(--dur-fast); }
.breadcrumbs a:hover { color: var(--accent); }
.breadcrumbs .sep { opacity: 0.5; }

/* ---------- in-page anker-subnav ---------- */
.subnav { position: sticky; top: var(--nav-h); z-index: 60; background: #E9E6F2;
  border-bottom: 1px solid var(--line); }
.subnav .wrap { display: flex; gap: 6px; height: 56px; align-items: center; overflow-x: auto; scrollbar-width: none; }
.subnav .wrap::-webkit-scrollbar { display: none; }
.subnav a { font-family: var(--font-display); font-weight: 600; font-size: 12px; text-transform: uppercase; letter-spacing: 0.1em;
  color: var(--fg-muted); text-decoration: none; padding: 8px 13px; border-radius: var(--r-sm); white-space: nowrap; transition: color var(--dur-fast), background var(--dur-fast); }
.subnav a:hover { color: var(--accent); background: var(--accent-tint); }

/* ---------- product-hero (donker) ---------- */
.phero { padding-top: clamp(34px, 4vw, 52px); padding-bottom: clamp(52px, 7vw, 92px); }
.phero-grid { display: grid; grid-template-columns: 1.05fr 0.95fr; gap: clamp(34px, 5vw, 64px); align-items: center; }
.phero .eyebrow { margin-top: 26px; }
.phero h1 { margin-top: 18px; font-size: clamp(40px, 5.2vw, 74px); line-height: 0.98; letter-spacing: -0.038em; }
.phero .lead { margin-top: 22px; max-width: 520px; }
.phero .cta-row { margin-top: 32px; display: flex; gap: 13px; flex-wrap: wrap; }
@media (max-width: 860px) { .phero-grid { grid-template-columns: 1fr; } }

/* ---------- stat-rij ---------- */
.stat-row { display: flex; gap: 18px 44px; flex-wrap: wrap; padding-top: 26px; margin-top: 36px; border-top: 1px solid var(--line-strong); }
.stat { display: flex; flex-direction: column; gap: 5px; }
.stat .sv { font-family: var(--font-display); font-weight: 800; font-size: clamp(26px, 2.6vw, 32px); letter-spacing: -0.03em; color: var(--fg); line-height: 1; }
.stat .sv .u { font-size: 0.55em; color: var(--accent); }
.stat .sk { font-family: var(--font-mono); font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; color: var(--fg-dim); }

/* ---------- split twee-koloms ---------- */
.split { display: grid; grid-template-columns: 1fr 1fr; gap: clamp(34px, 5vw, 64px); align-items: center; }
.split.rev .split-media { order: -1; }
.split-body .lead { margin-top: 18px; }
.split-list { margin-top: 26px; display: flex; flex-direction: column; gap: 18px; }
.split-list li { list-style: none; display: flex; gap: 15px; align-items: flex-start; }
.split-list li .ico-tile { width: 42px; height: 42px; border-radius: 7px; }
.split-list li .ico-tile .ico { width: 20px; height: 20px; }
.split-list li .lt { font-family: var(--font-display); font-weight: 700; font-size: 16px; letter-spacing: -0.01em; color: var(--fg); }
.split-list li .ld { font-size: 14px; color: var(--fg-muted); margin-top: 4px; line-height: 1.55; }
@media (max-width: 820px) { .split { grid-template-columns: 1fr; } .split.rev .split-media { order: 0; } }

/* ---------- vergelijk-/modeltabel ---------- */
.ptable-wrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--bg-surface); }
.ptable { width: 100%; border-collapse: collapse; min-width: 620px; }
.ptable th, .ptable td { text-align: left; padding: 17px 22px; border-bottom: 1px solid var(--line); font-size: 14.5px; }
.ptable thead th { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--fg); border-bottom: 2px solid var(--line-strong); vertical-align: bottom; }
.ptable thead th .sub { display: block; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.08em; text-transform: uppercase; color: var(--accent); font-weight: 400; margin-top: 5px; }
.ptable tbody th { font-family: var(--font-body); font-weight: 600; color: var(--fg); }
.ptable tbody td { color: var(--fg-muted); font-family: var(--font-mono); letter-spacing: 0.02em; }
.ptable col.featured, .ptable th.featured, .ptable td.featured { background: var(--accent-tint); }
.ptable tbody tr:last-child th, .ptable tbody tr:last-child td { border-bottom: none; }
.ptable .tick { color: var(--success); font-family: var(--font-body); font-weight: 700; }
.ptable .cross { color: var(--fg-dim); font-family: var(--font-body); }

/* ---------- modelkaart ---------- */
.models { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.models.two { grid-template-columns: repeat(2, 1fr); max-width: 820px; }
.model { position: relative; }
.model.featured { border-color: var(--accent-line); }
.model .tag-pop { position: absolute; top: -12px; left: 24px; background: var(--accent); color: var(--on-accent);
  font-family: var(--font-display); font-weight: 700; font-size: 10.5px; letter-spacing: 0.1em; text-transform: uppercase; padding: 5px 12px; border-radius: 100px; }
.model .mname { font-family: var(--font-display); font-weight: 800; font-size: 22px; letter-spacing: -0.02em; }
.model .mtag { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--accent); margin-top: 4px; }
.model .mdesc { font-size: 14px; color: var(--fg-muted); margin-top: 14px; line-height: 1.55; }
.model .mspecs { margin-top: 20px; padding-top: 18px; border-top: 1px solid var(--line); display: flex; flex-direction: column; gap: 10px; }
.model .mspecs .r { display: flex; justify-content: space-between; gap: 16px; font-size: 13px; }
.model .mspecs .r .k { color: var(--fg-muted); }
.model .mspecs .r .v { font-family: var(--font-mono); color: var(--fg); }
@media (max-width: 860px) { .models, .models.two { grid-template-columns: 1fr; } }

/* ---------- technische specs ---------- */
.specs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 56px; }
.spec-row2 { display: flex; justify-content: space-between; gap: 20px; padding: 15px 0; border-bottom: 1px solid var(--line); font-size: 14px; }
.spec-row2 .k { color: var(--fg-muted); }
.spec-row2 .v { font-family: var(--font-mono); color: var(--fg); text-align: right; }
@media (max-width: 680px) { .specs-grid { grid-template-columns: 1fr; } }

/* ---------- voor- & nadelen ---------- */
.proscons { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.pc { border: 1px solid var(--line); border-radius: var(--r-lg); padding: 30px; background: var(--bg-surface); }
.pc h4 { display: flex; align-items: center; gap: 11px; font-size: 18px; }
.pc h4 .ico { width: 22px; height: 22px; }
.pc ul { margin-top: 18px; display: flex; flex-direction: column; gap: 13px; }
.pc li { list-style: none; display: flex; gap: 12px; align-items: flex-start; font-size: 14.5px; color: var(--fg-muted); line-height: 1.55; }
.pc li .ico { width: 19px; height: 19px; flex: 0 0 auto; margin-top: 2px; }
.pc.good h4, .pc.good li .ico { color: var(--success); }
.pc.bad h4, .pc.bad li .ico { color: var(--warning); }
@media (max-width: 680px) { .proscons { grid-template-columns: 1fr; } }

/* ---------- geschiktheids-checklist ---------- */
.check-list { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 28px; margin-top: 26px; }
.check-list li { list-style: none; display: flex; gap: 12px; align-items: flex-start; font-size: 15px; color: var(--fg); }
.check-list li .ico { width: 22px; height: 22px; color: var(--accent); flex: 0 0 auto; margin-top: 1px; }
@media (max-width: 640px) { .check-list { grid-template-columns: 1fr; } }

/* ---------- subsidie / highlight-bedrag ---------- */
.amount-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.amount { background: var(--bg-surface); border: 1px solid var(--line); border-radius: var(--r-lg); padding: 28px; }
.amount .av { font-family: var(--font-display); font-weight: 800; font-size: clamp(34px, 4vw, 46px); letter-spacing: -0.03em; color: var(--accent); line-height: 1; }
.amount .at { font-family: var(--font-display); font-weight: 700; font-size: 16px; margin-top: 14px; }
.amount .ad { font-size: 13.5px; color: var(--fg-muted); margin-top: 8px; line-height: 1.55; }
@media (max-width: 760px) { .amount-grid { grid-template-columns: 1fr; } }

/* ---------- inline CTA-paneel ---------- */
.cta-panel { background: var(--bg-surface); border: 1px solid var(--line); border-radius: var(--r-xl);
  padding: clamp(30px, 4vw, 52px); display: flex; gap: 32px; align-items: center; justify-content: space-between; flex-wrap: wrap; }
.cta-panel .cp-l { max-width: 60ch; }
.cta-panel .cp-l h2 { font-size: clamp(26px, 3vw, 38px); }
.cta-panel .cp-l p { margin-top: 12px; color: var(--fg-muted); font-size: 15px; line-height: 1.6; }
.cta-panel .cp-r { display: flex; flex-direction: column; gap: 12px; }
.ctx-dark .cta-panel { background: linear-gradient(180deg, var(--bg-raised), var(--bg-surface)); border-color: var(--accent-line); }
