/* Loqal — generated from docs/design/tokens.json */
/* Self-hosted fonts (latin subset, variable weight; SIL Open Font License) */
@font-face { font-family: "Funnel Display"; font-style: normal; font-weight: 300 800; font-display: swap; src: url("/assets/fonts/funnel-display-latin.woff2?v=1") format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible Next"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-next-latin.woff2?v=1") format("woff2"); }
@font-face { font-family: "Atkinson Hyperlegible Mono"; font-style: normal; font-weight: 200 800; font-display: swap; src: url("/assets/fonts/atkinson-hyperlegible-mono-latin.woff2?v=1") format("woff2"); }
:root {
  --wit: #ffffff;
  --nevel: #f8f2f5;
  --lijn: #ecdce4;
  --nacht: #24121c;
  --nacht-zacht: #6f5865;
  --bes: #b0125f;
  --op-bes: #ffffff;
  --bes-zacht: #fde6f0;
  --markeer: #ffb8d6;
  --vers: #b4380e;
  --link: var(--nacht);
  --focus: var(--bes);
  --thema-energie: #8a5c00;
  --thema-energie-zacht: #faefd2;
  --thema-isolatie: #0e6a80;
  --thema-isolatie-zacht: #dcf0f4;
  --thema-ramen: #1f5bd6;
  --thema-ramen-zacht: #e3ecfc;
  --thema-bouw: #b8431a;
  --thema-bouw-zacht: #fde9df;
  --thema-interieur: #8a3a9e;
  --thema-interieur-zacht: #f4e7f8;
  --thema-tuin: #2b7a2b;
  --thema-tuin-zacht: #e3f3df;
  --thema-comfort: #4a6178;
  --thema-comfort-zacht: #e6ecf2;
  --thema-diensten: #56691a;
  --thema-diensten-zacht: #eef2d6;
  --space-1: 4px;
  --space-2: 8px;
  --space-3: 12px;
  --space-4: 16px;
  --space-5: 24px;
  --space-6: 32px;
  --space-7: 48px;
  --space-8: 72px;
  --radius-sm: 8px;
  --radius-md: 16px;
  --radius-lg: 28px;
  --radius-rond: 999px;
  --stroke-haar: 1px;
  --stroke-focus: 2px;
  --font-display: "Funnel Display", "Trebuchet MS", sans-serif;
  --font-sans: "Atkinson Hyperlegible Next", Verdana, sans-serif;
  --font-mono: "Atkinson Hyperlegible Mono", ui-monospace, Menlo, monospace;
}
@media (prefers-color-scheme: dark) {
  :root {
    --wit: #170d13;
    --nevel: #22161d;
    --lijn: #3a2832;
    --nacht: #f6eef2;
    --nacht-zacht: #b9a3ae;
    --bes: #ff6fae;
    --op-bes: #170d13;
    --bes-zacht: #3d1328;
    --markeer: #ff6fae;
    --vers: #ff8b73;
    --thema-energie: #f0c060;
    --thema-energie-zacht: #33270a;
    --thema-isolatie: #7fd0e3;
    --thema-isolatie-zacht: #0f2c34;
    --thema-ramen: #8fb2ff;
    --thema-ramen-zacht: #16264a;
    --thema-bouw: #ff9c73;
    --thema-bouw-zacht: #3d1d10;
    --thema-interieur: #dba2ec;
    --thema-interieur-zacht: #2f1838;
    --thema-tuin: #8fd88a;
    --thema-tuin-zacht: #15301a;
    --thema-comfort: #a9bfd6;
    --thema-comfort-zacht: #1b2530;
    --thema-diensten: #c3d675;
    --thema-diensten-zacht: #262e0c;
    color-scheme: dark;
  }
}
/* Sector legend: each .lq-thema--<sector> exposes its colour pair as --t and --tz */
.lq-thema--energie { --t: var(--thema-energie); --tz: var(--thema-energie-zacht); }
.lq-thema--isolatie { --t: var(--thema-isolatie); --tz: var(--thema-isolatie-zacht); }
.lq-thema--ramen { --t: var(--thema-ramen); --tz: var(--thema-ramen-zacht); }
.lq-thema--bouw { --t: var(--thema-bouw); --tz: var(--thema-bouw-zacht); }
.lq-thema--interieur { --t: var(--thema-interieur); --tz: var(--thema-interieur-zacht); }
.lq-thema--tuin { --t: var(--thema-tuin); --tz: var(--thema-tuin-zacht); }
.lq-thema--comfort { --t: var(--thema-comfort); --tz: var(--thema-comfort-zacht); }
.lq-thema--diensten { --t: var(--thema-diensten); --tz: var(--thema-diensten-zacht); }

/* Base */
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--wit); color: var(--nacht); font: 400 18px/1.65 var(--font-sans); -webkit-font-smoothing: antialiased; }
a { color: var(--link); text-decoration-color: var(--bes); text-decoration-thickness: 2px; text-underline-offset: 3px; }
a:hover { text-decoration-thickness: 3px; }
h1, h2, h3 { text-wrap: balance; }
:focus-visible { outline: var(--stroke-focus) solid var(--focus); outline-offset: 2px; }
.lq-wrap { max-width: 1180px; margin: 0 auto; padding-left: max(var(--space-4), env(safe-area-inset-left, 0px)); padding-right: max(var(--space-4), env(safe-area-inset-right, 0px)); }
.lq-skip { position: absolute; left: -9999px; top: 8px; background: var(--bes); color: var(--op-bes); padding: 8px 14px; border-radius: var(--radius-rond); z-index: 10; }
.lq-skip:focus { left: 8px; }
.lq-verstopt { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Type */
.lq-h1 { margin: 0 0 var(--space-3); font: 800 clamp(36px, 6vw, 56px)/1.02 var(--font-display); letter-spacing: -.03em; }
.lq-h2 { margin: 0 0 var(--space-3); font: 700 clamp(24px, 3.4vw, 28px)/1.15 var(--font-display); letter-spacing: -.015em; }
.lq-h3 { margin: 0 0 var(--space-3); font: 700 21px/1.25 var(--font-display); letter-spacing: -.01em; }
.lq-h3--ruim { margin-top: var(--space-6); }
.lq-oogje { display: inline-flex; align-items: center; gap: var(--space-2); margin: 0 0 var(--space-3); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.lq-meer { font-weight: 700; font-size: 16px; white-space: nowrap; }
.lq-meer::after { content: " →"; }
.lq-leeg { color: var(--nacht-zacht); max-width: 60ch; }
.lq-optioneel { color: var(--nacht-zacht); font-weight: 400; }

/* Header and footer */
.lq-kop { border-bottom: var(--stroke-haar) solid var(--lijn); background: var(--wit); }
.lq-kop__binnen { display: flex; align-items: center; justify-content: space-between; gap: var(--space-4); padding-block: var(--space-4); }
.lq-kop__logo { color: var(--nacht); display: inline-flex; }
.lq-woordmerk { width: 96px; height: auto; display: block; }
.lq-kop__nav { display: flex; gap: var(--space-5); }
.lq-kop__nav a { color: var(--nacht); font-weight: 700; font-size: 16px; text-decoration: none; }
.lq-kop__nav a:hover { text-decoration: underline; text-decoration-color: var(--bes); text-decoration-thickness: 3px; }
.lq-voet { background: var(--nevel); margin-top: var(--space-8); }
.lq-voet__binnen { display: grid; grid-template-columns: 2fr repeat(3, 1fr); gap: var(--space-6); padding-block: var(--space-7); }
.lq-voet__merk p { color: var(--nacht-zacht); font-size: 15px; max-width: 32ch; }
.lq-voet__kolom { display: grid; gap: 6px; align-content: start; }
.lq-voet__kolom h2 { margin: 0 0 var(--space-1); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-voet__kolom a { color: var(--nacht); font-size: 15px; text-decoration: none; }
.lq-voet__kolom a:hover { text-decoration: underline; text-decoration-color: var(--bes); }
.lq-voet__onder { padding-block: var(--space-4); border-top: var(--stroke-haar) solid var(--lijn); font: 500 13px/1.3 var(--font-mono); color: var(--nacht-zacht); }

/* Hero */
.lq-held { padding-block: var(--space-7) var(--space-6); }
.lq-held__binnen { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: var(--space-7); align-items: center; }
.lq-held__kop { margin: 0 0 var(--space-4); font: 800 clamp(40px, 6.4vw, 72px)/1 var(--font-display); letter-spacing: -.035em; }
.lq-held__lead { margin: 0 0 var(--space-6); font-size: 20px; line-height: 1.55; max-width: 34em; }
.lq-held__beeld svg { width: 100%; height: auto; display: block; }
.v-grond { fill: var(--nevel); }
.v-water { fill: none; stroke: var(--thema-ramen-zacht); stroke-width: 30; stroke-linecap: round; }
.v-straat { fill: none; stroke: var(--wit); stroke-width: 13; stroke-linecap: round; }
.v-straat--klein { stroke-width: 6; }
.v-p { color: var(--t); }
.v-p--energie { --t: var(--thema-energie); } .v-p--isolatie { --t: var(--thema-isolatie); } .v-p--ramen { --t: var(--thema-ramen); }
.v-p--tuin { --t: var(--thema-tuin); } .v-p--interieur { --t: var(--thema-interieur); } .v-p--hoofd { --t: var(--bes); }
.v-halo { fill: var(--markeer); opacity: .6; }
.v-label rect { fill: var(--wit); stroke: var(--lijn); stroke-width: 1.5; }
.v-label__post { font: 600 12px var(--font-mono); letter-spacing: .08em; fill: var(--nacht); }
.v-label__naam { font: 700 15px var(--font-sans); fill: var(--thema-energie); }
.v-label__stip { fill: var(--thema-energie); }
@media (prefers-reduced-motion: no-preference) {
    .v-p, .v-label { transform-box: fill-box; transform-origin: 50% 100%; animation: lq-landen .6s cubic-bezier(.2, .9, .3, 1.3) both; }
    .v-p--energie { animation-delay: .1s; } .v-p--isolatie { animation-delay: .18s; } .v-p--ramen { animation-delay: .26s; }
    .v-p--tuin { animation-delay: .34s; } .v-p--interieur { animation-delay: .42s; } .v-p--hoofd { animation-delay: .55s; }
    .v-label { animation: lq-opschuiven .5s ease-out .85s both; }
}
@keyframes lq-landen { from { transform: translateY(-14px) scale(.9); } to { transform: none; } }
@keyframes lq-opschuiven { from { transform: translateX(-8px); } to { transform: none; } }
.lq-zoek { display: grid; gap: var(--space-2); max-width: 560px; }
.lq-zoek__label { font-weight: 700; font-size: 16px; }
.lq-zoek__rij { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.lq-zoek__rij .lq-veld { flex: 1 1 240px; }

/* Marker, pin, tags */
.lq-marker { background: linear-gradient(transparent 58%, var(--markeer) 58%, var(--markeer) 94%, transparent 94%); padding: 0 .06em; }
.lq-speld { width: 11px; height: 16px; flex: none; }
.lq-speld circle { fill: none; stroke: currentColor; stroke-width: 2.6; }
.lq-speld path { fill: currentColor; }
.lq-thema { display: inline-flex; align-items: center; gap: 6px; background: var(--tz); color: var(--t); border-radius: var(--radius-rond); padding: 5px 12px 5px 10px; font: 700 13px/1.2 var(--font-sans); text-decoration: none; white-space: nowrap; }
.lq-thema::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--t); flex: none; }
a.lq-thema:hover, .lq-thema--actief { background: var(--t); color: var(--wit); }
a.lq-thema:hover::before, .lq-thema--actief::before { background: var(--wit); }
.lq-labels { display: flex; flex-wrap: wrap; gap: var(--space-2); }

/* Dateline and news card */
.lq-dateline { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); }
.lq-dateline__plaats { display: inline-flex; align-items: center; gap: var(--space-1); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.lq-dateline__vers, .lq-dateline__type { font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.lq-dateline__vers { color: var(--vers); }
.lq-dateline__type { color: var(--nacht-zacht); }
.lq-kaart { display: grid; gap: var(--space-2); padding-block: var(--space-5); border-top: var(--stroke-haar) solid var(--lijn); }
.lq-kaart__kop { margin: 0; font: 700 21px/1.25 var(--font-display); letter-spacing: -.01em; }
.lq-kaart__kop a { color: inherit; text-decoration: none; }
.lq-kaart__kop a:hover { text-decoration: underline; text-decoration-color: var(--bes); text-decoration-thickness: 3px; text-underline-offset: 4px; }
.lq-kaart__lead { margin: 0; font-size: 17px; line-height: 1.6; max-width: 62ch; }
.lq-kaart__meta { font: 500 14px/1.3 var(--font-mono); color: var(--nacht-zacht); font-variant-numeric: tabular-nums; }

/* Buttons and fields */
.lq-knop { font: 700 16px/1.1 var(--font-sans); border-radius: var(--radius-rond); padding: 14px 22px; border: 2px solid transparent; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2); text-decoration: none; }
.lq-knop--bes { background: var(--bes); color: var(--op-bes); }
.lq-knop--bes:hover { background: var(--nacht); color: var(--wit); }
.lq-knop--nacht { background: var(--nacht); color: var(--wit); }
.lq-knop--nacht:hover { background: var(--bes); color: var(--op-bes); }
.lq-knop--lijn { background: transparent; color: var(--nacht); border-color: var(--lijn); }
.lq-knop--lijn:hover { border-color: var(--nacht); }
.lq-knop--breed { width: 100%; }
.lq-veld { width: 100%; min-width: 0; font: 400 17px/1.3 var(--font-sans); color: var(--nacht); background: var(--wit); border: 1.5px solid var(--lijn); border-radius: var(--radius-rond); padding: 13px 18px; }
.lq-veld:hover { border-color: var(--nacht-zacht); }
.lq-veld::placeholder { color: var(--nacht-zacht); }
.lq-veld--tekst { border-radius: var(--radius-md); resize: vertical; min-height: 110px; }
.lq-veld[aria-invalid="true"] { border-color: var(--vers); }
@media (prefers-reduced-motion: no-preference) { .lq-knop, .lq-thema, .lq-veld { transition: background-color .15s, color .15s, border-color .15s; } }

/* Sections and layout */
.lq-sectie { padding-block: var(--space-7); }
.lq-sectie--nevel { background: var(--nevel); }
.lq-sectie__kop { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-4); margin-bottom: var(--space-4); }
.lq-sectie__kop .lq-h2 { margin: 0; }
.lq-pagina { padding-block: var(--space-5) 0; }
.lq-smal { max-width: 760px; }
.lq-paginakop { margin: var(--space-5) 0 var(--space-6); }
.lq-paginakop__lead { font-size: 20px; line-height: 1.55; max-width: 36em; margin: 0 0 var(--space-5); }
.lq-twee { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: var(--space-7); margin-top: var(--space-7); align-items: start; }
.lq-twee--formulier { grid-template-columns: minmax(0, 1fr) minmax(0, 440px); }
.lq-twee__hoofd { min-width: 0; }
.lq-twee__zij { min-width: 0; position: sticky; top: var(--space-4); }
.lq-blok { margin-bottom: var(--space-7); }
.lq-blok:last-child { margin-bottom: 0; }
.lq-paneel { background: var(--nevel); border-radius: var(--radius-lg); padding: var(--space-5); }
.lq-kruimel { display: flex; flex-wrap: wrap; gap: var(--space-2); font: 500 14px/1.3 var(--font-mono); color: var(--nacht-zacht); margin-bottom: var(--space-4); }
.lq-kruimel a { color: var(--nacht-zacht); text-decoration: none; }
.lq-kruimel a:hover { color: var(--nacht); text-decoration: underline; }

/* Sector tiles */
.lq-tegels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-4); }
.lq-tegel { background: var(--tz); border-radius: var(--radius-lg); padding: var(--space-5); display: grid; gap: var(--space-2); align-content: start; }
.lq-tegel__kop { margin: 0; font: 700 21px/1.2 var(--font-display); letter-spacing: -.01em; display: flex; align-items: center; gap: var(--space-2); }
.lq-tegel__kop::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--t); flex: none; }
.lq-tegel__kop a { color: var(--nacht); text-decoration: none; }
.lq-tegel__kop a:hover { text-decoration: underline; text-decoration-color: var(--t); }
.lq-tegel__tekst { margin: 0; font-size: 15px; line-height: 1.5; }
.lq-tegel__lijst { list-style: none; margin: var(--space-2) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px var(--space-3); }
.lq-tegel__lijst a { color: var(--t); font-weight: 700; font-size: 15px; text-decoration: none; }
.lq-tegel__lijst a:hover { text-decoration: underline; text-decoration-color: var(--t); }

/* Place lists */
.lq-plaatsen { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: var(--space-2); }
.lq-plaatsen a { display: flex; align-items: baseline; gap: var(--space-2); padding: 10px 16px; border-radius: var(--radius-rond); background: var(--wit); border: 1.5px solid var(--lijn); color: var(--nacht); font-weight: 700; font-size: 16px; text-decoration: none; }
.lq-plaatsen a:hover { border-color: var(--nacht); }
.lq-plaatsen__post { font: 600 12px/1 var(--font-mono); letter-spacing: .06em; color: var(--nacht-zacht); }
.lq-plaatsen--klein { grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); }
.lq-provincie { margin: var(--space-6) 0 var(--space-3); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-groep + .lq-groep { margin-top: var(--space-4); }
.lq-groep__kop { margin: 0 0 var(--space-2); }
.lq-pijlen { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.lq-pijlen a { color: var(--nacht); text-decoration: none; font-size: 16px; display: inline-block; padding-block: 3px; }
.lq-pijlen a::before { content: "→ "; color: var(--nacht-zacht); }
.lq-pijlen a:hover { text-decoration: underline; text-decoration-color: var(--bes); }
.lq-pijlen a.lq-teller { display: inline; padding: 0; font: 600 12px/1 var(--font-mono); color: var(--nacht-zacht); }
.lq-pijlen a.lq-teller::before { content: none; }
.lq-pijlen--kolommen { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-4); }
.lq-stappen { margin: 0; padding-left: 1.3em; display: grid; gap: var(--space-3); font-size: 16px; line-height: 1.5; }
.lq-stappen strong { display: block; }

/* Municipality and detail header */
.lq-gemeente { background: var(--nevel); border-radius: var(--radius-lg); padding: var(--space-6); display: grid; gap: var(--space-4); }
.lq-gemeente--thema { background: var(--tz); }
.lq-gemeente__post { display: inline-flex; align-items: center; gap: var(--space-1); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.lq-gemeente--thema .lq-gemeente__post { color: var(--t); }
.lq-gemeente__naam { margin: 0; font: 800 clamp(40px, 6.4vw, 64px)/1 var(--font-display); letter-spacing: -.03em; }
.lq-gemeente__naam--m { font-size: clamp(32px, 5vw, 52px); }
.lq-gemeente__deel { margin: 0; font-size: 15px; line-height: 1.45; color: var(--nacht-zacht); }
.lq-gemeente__lead { margin: 0; font-size: 20px; line-height: 1.55; max-width: 38em; }
.lq-gemeente__rij { display: flex; flex-wrap: wrap; gap: var(--space-2); align-items: center; }
.lq-gemeente__stand { font: 500 14px/1.3 var(--font-mono); color: var(--nacht-zacht); }
.lq-alleen-mobiel { display: none; }
.lq-checklist { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.lq-checklist li { position: relative; padding-left: 34px; max-width: 62ch; }
.lq-checklist li::before { content: ""; position: absolute; left: 0; top: .35em; width: 20px; height: 20px; border-radius: 50%; background: var(--bes-zacht); box-shadow: inset 0 0 0 2px var(--nacht); }
.lq-checklist li::after { content: ""; position: absolute; left: 7px; top: calc(.35em + 4px); width: 5px; height: 9px; border: solid var(--nacht); border-width: 0 2px 2px 0; transform: rotate(45deg); }

/* Contact form */
.lq-aanvraag { background: var(--bes-zacht); border-radius: var(--radius-lg); padding: var(--space-5); display: grid; gap: var(--space-3); scroll-margin-top: var(--space-4); }
.lq-aanvraag__kop { margin: 0; font: 700 26px/1.15 var(--font-display); letter-spacing: -.015em; }
.lq-aanvraag__tekst { margin: 0; font-size: 16px; line-height: 1.5; }
.lq-formulier { display: grid; gap: var(--space-4); }
.lq-keuze { border: 0; margin: 0; padding: 0; min-width: 0; }
.lq-keuze legend { font-weight: 700; font-size: 16px; margin-bottom: var(--space-2); padding: 0; }
.lq-keuze__opties { display: flex; flex-wrap: wrap; gap: var(--space-2); }
.lq-keuze__optie { position: relative; }
.lq-keuze__optie input { position: absolute; opacity: 0; inset: 0; margin: 0; cursor: pointer; }
.lq-keuze__optie span { display: inline-block; padding: 9px 14px; border-radius: var(--radius-rond); background: var(--wit); border: 1.5px solid var(--lijn); font-size: 15px; font-weight: 500; line-height: 1.2; }
.lq-keuze__optie input:checked + span { background: var(--nacht); color: var(--wit); border-color: var(--nacht); }
.lq-keuze__optie input:focus-visible + span { outline: var(--stroke-focus) solid var(--focus); outline-offset: 2px; }
.lq-velden { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-3); }
.lq-veldgroep { display: grid; gap: 6px; min-width: 0; }
.lq-veldgroep label { font-weight: 700; font-size: 15px; }
.lq-veldgroep--vol { grid-column: 1 / -1; }
.lq-akkoord { display: flex; gap: var(--space-2); align-items: flex-start; font-size: 14px; line-height: 1.45; }
.lq-akkoord input { width: 20px; height: 20px; margin: 2px 0 0; flex: none; accent-color: var(--nacht); }
.lq-fout { margin: 0; color: var(--vers); font-size: 14px; font-weight: 700; line-height: 1.4; }
.lq-fout--blok { background: var(--wit); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); }

/* Article */
.lq-artikel__kop { margin: var(--space-3) 0 var(--space-4); font: 700 clamp(32px, 4.6vw, 44px)/1.08 var(--font-display); letter-spacing: -.02em; }
.lq-artikel__lead { margin: 0 0 var(--space-3); font-size: 21px; line-height: 1.55; max-width: 36em; }
.lq-artikel__meta { margin: 0 0 var(--space-6); font: 500 14px/1.3 var(--font-mono); color: var(--nacht-zacht); }
.lq-artikel__tekst { max-width: 68ch; }
.lq-artikel__tekst p { margin: 0 0 var(--space-4); }
.lq-artikel__tekst h2 { margin-top: var(--space-6); }
.lq-artikel__verder { margin: var(--space-5) 0 var(--space-7); }
.lq-bedankt { padding-block: var(--space-7); }

/* Company directory */
.lq-bedrijven { list-style: none; margin: 0; padding: 0; }
.lq-bedrijf { display: grid; gap: 4px; padding-block: var(--space-4); border-top: var(--stroke-haar) solid var(--lijn); min-width: 0; }
.lq-bedrijf__naam { font: 700 19px/1.25 var(--font-display); letter-spacing: -.01em; color: var(--nacht); text-decoration: none; overflow-wrap: anywhere; }
.lq-bedrijf__naam:hover { text-decoration: underline; text-decoration-color: var(--bes); text-decoration-thickness: 3px; }
.lq-bedrijf__adres { font-size: 15px; line-height: 1.45; color: var(--nacht-zacht); overflow-wrap: anywhere; }
.lq-bedrijf__plaats { display: inline-flex; align-items: center; gap: var(--space-1); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.lq-bedrijf__labels { margin-top: var(--space-1); }
.lq-teller { font: 600 12px/1 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--nacht-zacht); }
.lq-thema .lq-teller { color: inherit; opacity: .8; }
.lq-h2--thema { display: flex; align-items: center; gap: var(--space-2); }
.lq-h2--thema::before { content: ""; width: 12px; height: 12px; border-radius: 50%; background: var(--t); flex: none; }
.lq-h3 a { color: inherit; text-decoration: none; }
.lq-h3 a:hover { text-decoration: underline; text-decoration-color: var(--bes); }
.lq-gegevens { display: grid; grid-template-columns: max-content minmax(0, 1fr); gap: var(--space-3) var(--space-5); margin: 0 0 var(--space-5); }
.lq-gegevens dt { font: 600 12px/1.9 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-gegevens dd { margin: 0; min-width: 0; overflow-wrap: anywhere; }
.lq-bron { margin: var(--space-5) 0 0; font: 500 13px/1.4 var(--font-mono); color: var(--nacht-zacht); }
.lq-bron a { color: var(--nacht-zacht); }
.lq-paneel__tekst { margin: 0 0 var(--space-4); font-size: 16px; line-height: 1.5; }
.lq-sectie__lead { margin: 0 0 var(--space-5); max-width: 60ch; }
.lq-sectie__voet { margin: var(--space-5) 0 0; }
.lq-labels--ruim { margin-bottom: var(--space-4); }
.lq-intro { margin: 0 0 var(--space-6); font-size: 20px; line-height: 1.55; max-width: 38em; }
.lq-opsom { margin: 0; padding-left: 1.2em; display: grid; gap: var(--space-2); max-width: 62ch; }
.lq-vraag { border-top: var(--stroke-haar) solid var(--lijn); padding-block: var(--space-3); }
.lq-vraag:last-child { border-bottom: var(--stroke-haar) solid var(--lijn); }
.lq-vraag summary { cursor: pointer; font-weight: 700; }
.lq-vraag p { margin: var(--space-2) 0 0; max-width: 62ch; }

/* Article lists and sources */
.lq-artikel__tekst ul { margin: 0 0 var(--space-4); padding-left: 1.2em; display: grid; gap: var(--space-1); }
.lq-bronnen { margin-top: var(--space-6); padding-top: var(--space-4); border-top: var(--stroke-haar) solid var(--lijn); max-width: 68ch; }
.lq-bronnen__kop { margin: 0 0 var(--space-2); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-bronnen ul { margin: 0; padding-left: 1.2em; font-size: 16px; line-height: 1.5; display: grid; gap: var(--space-1); }
.lq-bronnen a { overflow-wrap: anywhere; }

/* External links: new tab, a quiet arrow for sighted readers, hidden text for screen readers */
.lq-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }
a.lq-extern::after { content: "\2197"; content: "\2197" / ""; display: inline-block; margin-left: .15em; font-size: .8em; line-height: 1; color: var(--nacht-zacht); text-decoration: none; }

/* News */
.lq-sectie--krap { padding-block: var(--space-6) 0; }
.lq-nieuwsrij { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0 var(--space-5); }
.lq-nieuwsrij .lq-kaart__kop { font-size: 19px; }
.lq-nieuwsrij .lq-kaart__lead { font-size: 16px; }
.lq-filter { display: grid; gap: var(--space-2); }
.lq-filter__kop { font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-chip { display: inline-flex; align-items: center; border-radius: var(--radius-rond); padding: 5px 12px; font: 700 13px/1.2 var(--font-sans); text-decoration: none; color: var(--nacht); background: var(--wit); border: 1.5px solid var(--lijn); }
.lq-chip:hover { border-color: var(--nacht); }
.lq-chip--actief { background: var(--nacht); color: var(--wit); border-color: var(--nacht); }
.lq-paginering { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); padding-top: var(--space-5); border-top: var(--stroke-haar) solid var(--lijn); }
.lq-paginering__stand { font: 500 14px/1.3 var(--font-mono); color: var(--nacht-zacht); }
.lq-bronnen--nieuws { background: var(--nevel); border: 0; border-radius: var(--radius-lg); padding: var(--space-5); }
.lq-bronnen--nieuws .lq-bronnen__kop { font: 700 21px/1.25 var(--font-display); letter-spacing: -.01em; text-transform: none; color: var(--nacht); }
.lq-bronnen__uitleg { margin: 0 0 var(--space-3); font-size: 15px; line-height: 1.5; color: var(--nacht-zacht); }
.lq-bronnen__wie { font: 500 13px/1.4 var(--font-mono); color: var(--nacht-zacht); }

/* Premiums */
.lq-premie { display: grid; gap: var(--space-2); padding-block: var(--space-5); border-top: var(--stroke-haar) solid var(--lijn); }
.lq-premie__bron { margin: 0; font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-premie__kop { margin: 0; font: 700 21px/1.25 var(--font-display); letter-spacing: -.01em; }
.lq-premie__tekst { margin: 0; max-width: 62ch; }
.lq-premie__bedrag { margin: 0; justify-self: start; background: var(--bes-zacht); border-radius: var(--radius-md); padding: var(--space-2) var(--space-4); font-weight: 700; max-width: 100%; }
.lq-premie__bedrag span { display: block; font: 600 11px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-premie__voorwaarden { margin: 0; padding-left: 1.2em; display: grid; gap: var(--space-1); font-size: 16px; max-width: 62ch; }
.lq-premie__voet { margin: var(--space-1) 0 0; font-size: 16px; display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); align-items: baseline; }
.lq-premie__voet a { font-weight: 700; }
.lq-premie__datum { font: 500 13px/1.4 var(--font-mono); color: var(--nacht-zacht); }
.lq-blok--ruim { margin-top: var(--space-7); }
.lq-premielijst { list-style: none; margin: 0; padding: 0; }
.lq-premielijst li { padding-block: var(--space-3); border-top: var(--stroke-haar) solid var(--lijn); display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-3); align-items: baseline; }
.lq-premielijst a { font-weight: 700; }
.lq-premielijst__bron { font: 500 13px/1.4 var(--font-mono); color: var(--nacht-zacht); }

/* Figures */
.lq-cijfers { margin-top: var(--space-7); }
.lq-cijfers__lijst { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: var(--space-3); }
.lq-cijfer { background: var(--nevel); border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); display: grid; gap: var(--space-1); align-content: start; min-width: 0; }
.lq-cijfer__label { font-weight: 700; font-size: 16px; line-height: 1.35; }
.lq-cijfer__waarde { font: 600 30px/1.1 var(--font-mono); font-variant-numeric: tabular-nums; letter-spacing: -.02em; overflow-wrap: anywhere; }
.lq-cijfer__eenheid { font: 500 14px/1.3 var(--font-sans); letter-spacing: 0; color: var(--nacht-zacht); }
.lq-cijfer__bron { font: 500 13px/1.45 var(--font-mono); color: var(--nacht-zacht); overflow-wrap: anywhere; }
.lq-cijfer__bron a { color: var(--nacht-zacht); }

/* Company sources */
.lq-bronlijst { margin: 0; padding-left: 1.2em; display: grid; gap: var(--space-1); font-size: 16px; }
.lq-bronlijst a { overflow-wrap: anywhere; }
.lq-bronlijst__naam { color: var(--nacht-zacht); font-size: 14px; }

/* Deelgemeenten */
.lq-gemeente__ouder { font-size: .55em; font-weight: 700; letter-spacing: -.01em; color: var(--nacht-zacht); white-space: nowrap; }
.lq-gemeente__lead a { color: inherit; }
.lq-gemeente__deelkop { display: block; margin-bottom: var(--space-2); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.lq-deelgemeenten { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px var(--space-4); }
.lq-deelgemeenten a { color: var(--nacht); font-weight: 700; text-decoration: none; }
.lq-deelgemeenten a:hover { text-decoration: underline; text-decoration-color: var(--bes); }
.lq-uit-gemeente { border-top: var(--stroke-haar) solid var(--lijn); padding-top: var(--space-5); }
.lq-uit-gemeente__label { display: inline-flex; align-items: center; gap: var(--space-1); margin: 0 0 var(--space-2); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-plaatsen a { flex-wrap: wrap; min-width: 0; overflow-wrap: anywhere; }
.lq-plaatsen a .lq-teller { margin-left: auto; }
.lq-paneel .lq-meer { white-space: normal; }
.lq-bron-gemeente { margin: 0 0 var(--space-3); font: 500 14px/1.45 var(--font-mono); color: var(--nacht-zacht); }

/* Phone and tablet */
@media (max-width: 1024px) {
    .lq-tegels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lq-twee, .lq-twee--formulier { grid-template-columns: minmax(0, 1fr); gap: var(--space-6); }
    .lq-twee__zij { position: static; }
    .lq-voet__binnen { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .lq-voet__merk { grid-column: 1 / -1; }
    .lq-nieuwsrij { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    body { font-size: 17px; }
    .lq-held { padding-block: var(--space-5); }
    .lq-held__binnen { grid-template-columns: minmax(0, 1fr); gap: var(--space-5); }
    .lq-held__beeld { order: -1; max-width: 260px; }
    .lq-tegels { grid-template-columns: minmax(0, 1fr); }
    .lq-gemeente { padding: var(--space-5); }
    .lq-velden { grid-template-columns: minmax(0, 1fr); }
    .lq-alleen-mobiel { display: flex; }
    .lq-voet__binnen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .lq-kop__nav { gap: var(--space-4); }
    .lq-sectie { padding-block: var(--space-6); }
    .lq-gegevens { grid-template-columns: minmax(0, 1fr); gap: 0; }
    .lq-gegevens dd { margin-bottom: var(--space-3); }
    .lq-thema { white-space: normal; }
    .lq-nieuwsrij { grid-template-columns: minmax(0, 1fr); }
    .lq-bronnen--nieuws { padding: var(--space-4); }
}
@media (max-width: 420px) {
    .lq-kop__binnen { gap: var(--space-3); }
    .lq-woordmerk { width: 80px; }
    .lq-kop__nav { gap: var(--space-3); }
    .lq-kop__nav a { font-size: 15px; }
}

/* Dark: light letters on yellow read poorly, so the marker becomes an underline below the glyphs */
@media (prefers-color-scheme: dark) {
    .lq-marker { background: linear-gradient(transparent 86%, var(--bes) 86%, var(--bes) 96%, transparent 96%); }
}

/* Hub pages: counters, rankings, place cards, A–Z */
.lq-tellers { list-style: none; margin: var(--space-5) 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-5); }
.lq-tellers a { display: inline-flex; align-items: baseline; gap: 6px; color: var(--nacht-zacht); font-size: 15px; text-decoration: none; }
.lq-tellers a:hover { color: var(--nacht); text-decoration: underline; text-decoration-color: var(--bes); }
.lq-tellers__getal { font: 600 20px/1.1 var(--font-mono); font-variant-numeric: tabular-nums; color: var(--nacht); letter-spacing: -.02em; }
.lq-gidsen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--space-5); }
.lq-gidsen__groep { min-width: 0; }
.lq-gidsen__kop { margin: 0 0 var(--space-2); }
.lq-gidsen__lijst { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.lq-gidsen__lijst li { border-top: var(--stroke-haar) solid var(--lijn); padding-top: var(--space-2); }
.lq-gidsen__lijst a { color: var(--nacht); font: 700 17px/1.3 var(--font-display); text-decoration: none; }
.lq-gidsen__lijst a:hover { text-decoration: underline; text-decoration-color: var(--t); }
.lq-gidsen__meta { display: block; margin-top: 2px; font: 500 13px/1.3 var(--font-mono); color: var(--nacht-zacht); }
.lq-combis { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.lq-combis .lq-teller { margin-left: 2px; }
.lq-rang { margin: 0; padding: 0; list-style: none; counter-reset: rang; display: grid; gap: 0; }
.lq-rang li { counter-increment: rang; display: flex; align-items: baseline; gap: var(--space-2); padding-block: 6px; border-top: var(--stroke-haar) solid var(--lijn); min-width: 0; }
.lq-rang li::before { content: counter(rang); min-width: 2ch; font: 600 12px/1 var(--font-mono); color: var(--nacht-zacht); text-align: right; }
.lq-rang a { color: var(--nacht); font-weight: 700; font-size: 16px; text-decoration: none; overflow-wrap: anywhere; }
.lq-rang a:hover { text-decoration: underline; text-decoration-color: var(--bes); }
.lq-rang .lq-teller { margin-left: auto; }
.lq-rang--kolommen { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--space-5); }
.lq-samenvatting { margin-bottom: var(--space-6); }
.lq-paneel--vakmensen, .lq-paneel--onder { margin-top: var(--space-4); }
.lq-paneel--vakmensen { background: var(--bes-zacht); }
.lq-gemeente__tekst { margin: 0; font-size: 17px; line-height: 1.6; max-width: 46em; }
.lq-zoek--paneel { margin-top: var(--space-5); }
.lq-h2 .lq-teller { font-size: 13px; letter-spacing: 0; margin-left: var(--space-2); white-space: nowrap; }
.lq-sprong { display: grid; gap: var(--space-2); margin-bottom: var(--space-4); }
.lq-sprong__kop { font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-az { display: flex; flex-wrap: wrap; gap: 4px; }
.lq-az a, .lq-az span { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; height: 34px; border-radius: var(--radius-rond); font: 600 14px/1 var(--font-mono); }
.lq-az a { color: var(--nacht); background: var(--wit); border: 1.5px solid var(--lijn); text-decoration: none; }
.lq-az a:hover { border-color: var(--nacht); }
.lq-az span { color: var(--lijn); }
.lq-provinciesectie { scroll-margin-top: var(--space-4); padding-top: var(--space-5); }
.lq-gemeentekaarten { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: var(--space-3); }
.lq-gemeentekaart { background: var(--nevel); border-radius: var(--radius-md); padding: var(--space-3) var(--space-4); display: grid; gap: 4px; align-content: start; min-width: 0; }
.lq-gemeentekaart__naam { display: flex; align-items: baseline; gap: var(--space-2); color: var(--nacht); font: 700 19px/1.25 var(--font-display); text-decoration: none; overflow-wrap: anywhere; }
.lq-gemeentekaart__naam:hover { text-decoration: underline; text-decoration-color: var(--bes); }
.lq-gemeentekaart__tal { font: 500 13px/1.4 var(--font-mono); color: var(--nacht-zacht); }
.lq-gemeentekaart__deel { list-style: none; margin: 2px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 2px var(--space-3); font-size: 14px; line-height: 1.5; }
.lq-gemeentekaart__deel a { color: var(--nacht); }
.lq-az-lijst { list-style: none; margin: 0; padding: 0; columns: 4 200px; column-gap: var(--space-5); }
.lq-az-lijst li { break-inside: avoid; padding-block: 2px; font-size: 16px; }
.lq-az-lijst a { color: var(--nacht); }
[id^="letter-"] { scroll-margin-top: var(--space-4); }
.lq-tegels--breed { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.lq-tegel__tal { margin: 0; font: 600 13px/1.3 var(--font-mono); color: var(--t); }
.lq-tegel__lijst--tal .lq-teller { color: var(--nacht-zacht); }
.lq-activiteiten { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: var(--space-3); }
.lq-activiteit { background: var(--tz); border-radius: var(--radius-md); padding: var(--space-4); display: grid; gap: 4px; align-content: start; min-width: 0; }
.lq-activiteit__naam { color: var(--nacht); font: 700 19px/1.25 var(--font-display); text-decoration: none; }
.lq-activiteit__naam:hover { text-decoration: underline; text-decoration-color: var(--t); }
.lq-activiteit__tal { font: 600 13px/1.3 var(--font-mono); color: var(--t); }
.lq-activiteit__tekst { margin: 0; font-size: 15px; line-height: 1.5; }
@media (max-width: 1024px) {
    .lq-gidsen { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 760px) {
    .lq-gidsen, .lq-tegels--breed, .lq-rang--kolommen { grid-template-columns: minmax(0, 1fr); }
    .lq-tellers { gap: var(--space-2) var(--space-4); }
}

/* Voor vakmensen: landing, company data form, confirmations (lib/pro.php) */
.lq-pro-knoppen { display: flex; flex-wrap: wrap; gap: var(--space-3); }
.lq-pro-drie { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-4); }
.lq-pro-kaart { display: grid; gap: var(--space-3); align-content: start; }
.lq-pro-kaart p { margin: 0; font-size: 16px; line-height: 1.55; }
.lq-pro-kaart .lq-h3 { margin: 0; }
.lq-pro-kaart .lq-meer { white-space: normal; }
.lq-pro-over { margin: 0 0 var(--space-3); max-width: 62ch; overflow-wrap: anywhere; }
.lq-pro-claim .lq-paneel__tekst { margin-bottom: var(--space-2); }
.lq-pro-claim .lq-meer { white-space: normal; }
.lq-pro-claim__datum { margin: 0 0 var(--space-2); font: 500 13px/1.4 var(--font-mono); color: var(--nacht-zacht); }
.lq-pro-melding { margin-bottom: var(--space-5); background: var(--bes-zacht); }
.lq-pro-formulier { gap: var(--space-6); }
.lq-pro-deel { border: 0; margin: 0; padding: 0; min-width: 0; display: grid; gap: var(--space-4); }
.lq-pro-deel[hidden] { display: none; }
.lq-pro-deel > legend { padding: 0; margin-bottom: var(--space-3); }
.lq-pro-hint { margin: 0; font-size: 15px; line-height: 1.5; color: var(--nacht-zacht); max-width: 62ch; }
.lq-pro-activiteiten .lq-keuze__opties { margin-bottom: var(--space-3); }
.lq-pro-sector { display: flex; align-items: center; gap: var(--space-2); margin: var(--space-3) 0 var(--space-2); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--t); }
.lq-pro-sector::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--t); flex: none; }
.lq-pro-tekst { margin: 0 0 var(--space-4); max-width: 62ch; overflow-wrap: anywhere; }
.lq-pro-overzicht { margin: 0 0 var(--space-5); }
.lq-pro-overzicht .lq-pro-tekst:last-child { margin-bottom: 0; }
.lq-pro-wijzigingen { margin-bottom: var(--space-4); }
.lq-pro-oud { color: var(--nacht-zacht); text-decoration: line-through; text-decoration-color: var(--nacht-zacht); text-decoration-thickness: 1px; }
.lq-pro-bevestig { margin-bottom: var(--space-5); }
.lq-pro-zoek { margin-bottom: var(--space-5); }
select.lq-veld { appearance: none; background-image: linear-gradient(45deg, transparent 50%, var(--nacht) 50%), linear-gradient(135deg, var(--nacht) 50%, transparent 50%); background-position: calc(100% - 22px) 50%, calc(100% - 16px) 50%; background-size: 6px 6px; background-repeat: no-repeat; padding-right: 44px; }
@media (max-width: 1024px) {
    .lq-pro-drie { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 760px) {
    .lq-kop__nav { flex-wrap: wrap; justify-content: flex-end; row-gap: 2px; }
}
.lq-plaatsen__naam { flex: 1 1 0; min-width: auto; overflow-wrap: break-word; }
.lq-plaatsen a .lq-plaatsen__post, .lq-plaatsen a .lq-teller { flex: none; }
.lq-artikel__verder .lq-meer { white-space: normal; }

/* Badge page */
.lq-badge-code { font: 500 13px/1.5 var(--font-mono); }
.lq-pro-claim__links { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-4); margin: 0; }

/* Photos: 16:9 files with fixed width/height; the box sets the crop, so nothing shifts while loading */
.lq-foto { margin: 0; min-width: 0; }
.lq-foto picture, .lq-kaartfoto { display: block; }
.lq-foto img, .lq-kaartfoto img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; object-fit: cover; background: var(--lijn); }
.lq-foto__credit { margin-top: var(--space-2); font: 500 12px/1.4 var(--font-mono); color: var(--nacht-zacht); overflow-wrap: anywhere; }
.lq-foto__credit a { color: var(--nacht-zacht); }
/* Hero inside the place, activity and detail header: bleeds to the rounded edges of the header */
.lq-gemeente__foto { margin: calc(-1 * var(--space-6)) calc(-1 * var(--space-6)) 0; }
.lq-gemeente__foto img { border-radius: var(--radius-lg) var(--radius-lg) 0 0; aspect-ratio: 16 / 9; }
.lq-gemeente__foto .lq-foto__credit { padding-inline: var(--space-6); }
.lq-artikel__foto { margin: 0 0 var(--space-6); max-width: 68ch; }
.lq-artikel__foto img { border-radius: var(--radius-md); }
/* Cards: sector tiles and municipality cards get the 800 version, lazily */
.lq-tegel__foto { margin: calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) var(--space-2); }
.lq-tegel__foto img { border-radius: var(--radius-lg) var(--radius-lg) 0 0; }
.lq-gemeentekaart__foto { margin: calc(-1 * var(--space-3)) calc(-1 * var(--space-4)) var(--space-1); }
.lq-gemeentekaart__foto img { aspect-ratio: 2 / 1; border-radius: var(--radius-md) var(--radius-md) 0 0; }
/* Image credits page */
.lq-beeldbronnen { list-style: none; margin: 0; padding: 0; display: grid; }
.lq-beeldbronnen li { display: grid; grid-template-columns: minmax(0, 14em) minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-1) var(--space-4); padding-block: var(--space-2); border-bottom: var(--stroke-haar) solid var(--lijn); font-size: 15px; line-height: 1.45; }
.lq-beeldbronnen__naam { font-weight: 700; color: var(--nacht); }
.lq-beeldbronnen__wie { font: 500 13px/1.45 var(--font-mono); color: var(--nacht-zacht); overflow-wrap: anywhere; }
.lq-beeldbronnen__wie a { color: var(--nacht-zacht); }
@media (min-width: 761px) {
    .lq-gemeente__foto img { aspect-ratio: 2 / 1; object-position: 50% 60%; }
}
@media (min-width: 1025px) {
    .lq-gemeente__foto img { aspect-ratio: 7 / 2; }
}
@media (max-width: 760px) {
    .lq-gemeente__foto { margin: calc(-1 * var(--space-5)) calc(-1 * var(--space-5)) 0; }
    .lq-gemeente__foto .lq-foto__credit { padding-inline: var(--space-5); }
    .lq-beeldbronnen li { grid-template-columns: minmax(0, 1fr); }
}
/* Content-type icons (loqal_icon): 2px line icons in currentColor, always followed by their text label */
.lq-icoon { display: inline-block; width: 1.15em; height: 1.15em; flex: none; vertical-align: -.2em; margin-right: .4em; color: var(--nacht-zacht); }
.lq-icoon.lq-speld { width: .7em; height: 1em; vertical-align: -.12em; }
.lq-h2 > .lq-icoon, .lq-h3 > .lq-icoon { width: .9em; height: .9em; vertical-align: -.08em; margin-right: .3em; }
.lq-h2 > .lq-icoon.lq-speld, .lq-h3 > .lq-icoon.lq-speld { width: .55em; height: .8em; vertical-align: -.02em; }
.lq-dateline__type, .lq-dateline__vers { display: inline-flex; align-items: center; }
.lq-dateline .lq-icoon { width: 15px; height: 15px; margin-right: 5px; color: currentColor; }
.lq-premie__bron { display: flex; align-items: center; }
.lq-premie__bron .lq-icoon { width: 16px; height: 16px; margin-right: 6px; }
.lq-premielijst li > .lq-icoon { align-self: center; width: 18px; height: 18px; margin-right: calc(-1 * var(--space-2)); }
.lq-aanvraag__kop .lq-icoon { width: .85em; height: .85em; vertical-align: -.06em; margin-right: .3em; color: currentColor; }
.lq-bronnen__kop .lq-icoon { width: 1.2em; height: 1.2em; vertical-align: -.25em; }
.lq-bronnen--nieuws .lq-bronnen__kop .lq-icoon { width: .9em; height: .9em; vertical-align: -.08em; }
.lq-plaatsen a > .lq-icoon { align-self: center; margin-right: 0; }
.lq-premie__regio { margin: var(--space-3) 0 0; max-width: 62ch; }
/* Regional premiums under the local ones; the /premies overview and the news sources list */
.lq-regio { border-top: var(--stroke-haar) solid var(--lijn); padding-top: var(--space-5); }
.lq-regio__label { margin: 0 0 var(--space-2); font: 600 12px/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--nacht-zacht); }
.lq-nieuwsbronnen { list-style: none; margin: 0; padding: 0; }
.lq-nieuwsbronnen li { padding-block: var(--space-3); border-top: var(--stroke-haar) solid var(--lijn); display: grid; gap: 2px; min-width: 0; }
.lq-nieuwsbronnen a { font-weight: 700; overflow-wrap: anywhere; }
.lq-nieuwsbronnen__meta { font: 500 13px/1.45 var(--font-mono); color: var(--nacht-zacht); overflow-wrap: anywhere; }
.lq-nieuwsbronnen__meta a { font-weight: 500; color: var(--nacht-zacht); }
.lq-paneel .lq-nieuwsbronnen li { padding-block: var(--space-2); }
.lq-paneel .lq-nieuwsbronnen a { font-size: 16px; }
/* Company profile: signals on cards and in the header, recognitions, services, social links */
.lq-signalen { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-1) var(--space-3); margin-top: var(--space-1); }
.lq-signaal { display: inline-flex; align-items: center; font: 600 13px/1.3 var(--font-sans); color: var(--nacht-zacht); }
.lq-signaal .lq-icoon { width: 15px; height: 15px; margin-right: 5px; color: currentColor; }
.lq-signaal--erkend { color: var(--nacht); background: var(--nevel); border-radius: var(--radius-rond); padding: 3px 10px 3px 8px; }
.lq-gemeente__rij .lq-signaal { color: var(--nacht); }
.lq-gemeente__rij .lq-signaal--erkend { background: var(--wit); }
.lq-erkenningen { list-style: none; margin: 0; padding: 0; display: grid; gap: var(--space-3); }
.lq-erkenningen .lq-signaal--erkend { white-space: normal; align-items: flex-start; }
.lq-erkenningen .lq-signaal--erkend .lq-icoon { margin-top: 1px; }
.lq-erkenningen__uitleg { display: block; margin-top: var(--space-1); font-size: 15px; line-height: 1.45; color: var(--nacht-zacht); }
.lq-diensten { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: var(--space-2); }
.lq-diensten li { border: 1.5px solid var(--lijn); border-radius: var(--radius-rond); padding: 5px 12px; font: 700 13px/1.2 var(--font-sans); }
.lq-sociaal { display: flex; flex-wrap: wrap; gap: var(--space-1) var(--space-4); }
.lq-gegevens dd.lq-labels { display: flex; }
.lq-bronlijst .lq-icoon, .lq-h3 > .lq-icoon--bron { color: var(--nacht-zacht); }
