/* DysonVergelijken.nl globale stijl */
:root {
  --bg: #0b0b0f;
  --panel: rgba(255,255,255,0.04);
  --panel-weak: rgba(255,255,255,0.02);
  --text: #e6e6ea;
  --muted: #9a9aa3;
  --line: rgba(255,255,255,0.08);
  --grad-a: #7c3aed;
  --grad-b: #22d3ee;
  --success: #10b981;
  --warning: #f59e0b;
  --info: #22d3ee;
}

* { box-sizing: border-box; }

html, body { background: var(--bg); color: var(--text); }

.aff-grid { display:grid; grid-template-columns: repeat(12, 1fr); gap: 16px; }

.glass {
  background: linear-gradient(180deg, var(--panel), var(--panel-weak));
  border: 1px solid var(--line);
  border-radius: 16px;
}

.glow {
  box-shadow: 0 0 0 0 rgba(0,0,0,0);
  transition: box-shadow .25s ease, transform .25s ease;
}
.glow:hover {
  box-shadow: 0 12px 34px rgba(60,0,160,0.25);
  transform: translateY(-2px);
}

.hidden { display:none !important; }

/* Mobile helpers */
@media (max-width: 720px) {
  .hide-sm { display: none !important; }
}

/* Topkeuzes */
.picks-grid { grid-template-columns: repeat(12, 1fr); }
.pick { position: relative; }
.pick-head { display:flex; align-items:center; gap: 10px; margin-bottom: 8px; }
.pick h3 { margin: 0; }
.pick-points { margin: 0 0 14px; padding-left: 18px; color: #cfcfd6; }
.pick-actions { display:flex; gap: 10px; flex-wrap: wrap; }

.badge { display:inline-block; padding: 4px 10px; border-radius: 999px; font-size: 12px; border: 1px solid var(--line); color: #dcdce3; }
.badge-overall { background: linear-gradient(135deg, var(--grad-a), var(--grad-b)); color: #fff; border-color: transparent; }
.badge-price { background: rgba(124, 58, 237, 0.15); border-color: rgba(124,58,237,0.35); }
.badge-light { background: rgba(34, 211, 238, 0.15); border-color: rgba(34,211,238,0.35); }
.badge-hard { background: rgba(16, 185, 129, 0.15); border-color: rgba(16,185,129,0.35); }
.badge-budget { background: rgba(245, 158, 11, 0.15); border-color: rgba(245,158,11,0.35); }

/* Filters */
.filters { display:flex; gap: 10px; flex-wrap: wrap; margin: 12px 0 14px; }
.filter { cursor: pointer; user-select: none; }
.filter.active { background: linear-gradient(135deg, var(--grad-a), var(--grad-b)); color:#fff; border-color: transparent; }

/* Leesbaarheid niet-geselecteerde filters verbeteren (hogere specificiteit dan .pill) */
.filters .pill.filter { background: rgba(255,255,255,0.08); color: #aeb3bd; border-color: rgba(255,255,255,0.18); }
.filters .pill.filter:hover { background: rgba(255,255,255,0.12); color: #c2c7cf; }

/* Tabel highlight */
tr.is-highlight { outline: 2px solid transparent; position: relative; }
tr.is-highlight::after {
  content: "Aanbevolen";
  position: absolute;
  right: 12px; top: 8px;
  font-size: 11px; letter-spacing: .2px;
  background: linear-gradient(135deg, var(--grad-a), var(--grad-b));
  color: #fff; padding: 3px 8px; border-radius: 999px;
}

/* Duidelijkere knoppen in de vergelijkingstabel (niet-geselecteerd) */
.compare-table .btn.secondary { background: rgba(255,255,255,0.14); color: #0b0b0f; border-color: transparent; }
.compare-table .btn.secondary:hover { background: rgba(255,255,255,0.18); }

/* Fullscreen overlay voor tabel */
.fs-overlay { position: fixed; inset: 0; background: rgba(6,6,10,0.85); backdrop-filter: blur(6px); z-index: 1000; display: none; }
.fs-overlay.active { display: block; }
.fs-panel { position: absolute; inset: 24px; background: linear-gradient(180deg, var(--panel), var(--panel-weak)); border: 1px solid var(--line); border-radius: 16px; display: flex; flex-direction: column; }
.fs-header { display:flex; align-items:center; justify-content: space-between; padding: 12px 16px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: rgba(6,6,10,0.8); backdrop-filter: blur(10px); border-top-left-radius: 16px; border-top-right-radius: 16px; }
.fs-body { overflow: auto; padding: 12px 16px; }
.fs-close { background: rgba(255,255,255,0.06); border: 1px solid var(--line); color: #fff; border-radius: 10px; padding: 8px 12px; cursor: pointer; }
.fs-title { font-weight: 700; }

.fs-body .compare-table thead th { top: 0; }


/* Maak de vergelijkingstabel ruimtelijker zonder overlay */
.table-large { padding: 24px; }
.table-large .compare-table { font-size: 15px; }
.table-large .compare-table th, .table-large .compare-table td { padding: 14px 14px; }

/* Vergroot de container specifiek rond de vergelijking */
section#vergelijking .container { max-width: 1400px; }

/* RESPONSIVE GRID FIXES */
@media (max-width: 960px) {
  .grid { grid-template-columns: repeat(6, 1fr); }
}
@media (max-width: 720px) {
  .grid { grid-template-columns: repeat(12, 1fr); }
  .grid > * { grid-column: 1 / -1 !important; }
}

/* RESPONSIVE TABLE COLUMN VISIBILITY */
/* Tablet: verberg minder belangrijke kolommen */
@media (max-width: 960px) {
  .compare-table th:nth-child(9),
  .compare-table td:nth-child(9) { display: none; }
}
/* Small: toon alleen kernkolommen (Model, AW, Looptijd, Gewicht, CTA) */
@media (max-width: 640px) {
  .compare-table { font-size: 13px; }
  .compare-table th:nth-child(5), .compare-table td:nth-child(5), /* Opvangvolume */
  .compare-table th:nth-child(6), .compare-table td:nth-child(6), /* Filtratie */
  .compare-table th:nth-child(7), .compare-table td:nth-child(7), /* Laser */
  .compare-table th:nth-child(8), .compare-table td:nth-child(8), /* LCD */
  .compare-table th:nth-child(9), .compare-table td:nth-child(9)  /* Label */
  { display: none; }
  .table-large .compare-table th, .table-large .compare-table td { padding: 12px 10px; }
}

/* Mobile: maak filters horizontaal scrollbaar en compact */
@media (max-width: 640px) {
  .filters { overflow-x: auto; -webkit-overflow-scrolling: touch; white-space: nowrap; padding-bottom: 4px; }
  .filters .pill { display: inline-block; margin-right: 8px; }
}

/* Mobile: maak tabel per-rij kaarten met labels links en waarde rechts */
@media (max-width: 640px) {
  .compare-table thead { display: none; }
  .compare-table, .compare-table tbody, .compare-table tr, .compare-table td { display: block; width: 100%; }
  .compare-table tr { margin: 0 0 12px; padding: 10px; border: 1px solid var(--line); border-radius: 12px; background: linear-gradient(180deg, var(--panel), var(--panel-weak)); }
  .compare-table td { display: flex; align-items: baseline; justify-content: space-between; padding: 8px 6px; border-bottom: 0; }
  .compare-table td::before { content: attr(data-label); color: var(--muted); font-size: 12px; margin-right: 12px; }
  .compare-table td:last-child { justify-content: flex-end; }
}

/* Extra: zorg dat Topkeuzes ook altijd netjes stapelt op smal */
@media (max-width: 720px) {
  .picks-grid > * { grid-column: 1 / -1 !important; }
}


