/* dierenartsprijzenvergelijker.nl
   Beeldtaal: de tarievenbon. Prijzen in een bonnetjesletter met stippellijnen,
   de goedkoopste prijs krijgt een geel prijsstickertje.
   Groen = zorg en vertrouwen. Geel = alleen voor "let op, dit is de laagste prijs". */
:root{
  --groen:#0B6B53; --groen-donker:#064436; --groen-zacht:#E2F3EC;
  --sticker:#F4D35E; --sticker-inkt:#4A3B00;
  --inkt:#17201C; --grijs:#56605A; --lijn:#DCE1DD; --stippel:#B9C2BC;
  --grond:#F3F6F8; --papier:#FFFFFF;
  --kop:"Figtree",system-ui,sans-serif;
  --tekst:"Figtree",system-ui,sans-serif;
  --mono:"IBM Plex Mono",ui-monospace,Menlo,monospace;
  --r:14px;
}
*{box-sizing:border-box}
[hidden]{display:none!important}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--grond);color:var(--inkt);font-family:var(--tekst);font-size:17px;line-height:1.6}
a{color:var(--groen);text-underline-offset:3px}a:hover{color:var(--groen-donker)}
:focus-visible{outline:3px solid var(--sticker);outline-offset:2px}
.wrap{max-width:1140px;margin:0 auto;padding-left:max(18px,env(safe-area-inset-left,0px));padding-right:max(18px,env(safe-area-inset-right,0px))}
h1,h2,h3{font-family:var(--kop);line-height:1.1;letter-spacing:-.02em;margin:0;text-wrap:balance}
h1{font-size:clamp(30px,6.2vw,54px);font-weight:800}
h2{font-size:clamp(22px,3.4vw,30px);font-weight:700}
h3{font-size:19px;font-weight:700;letter-spacing:-.01em}
p{max-width:68ch}
.muted{color:var(--grijs)}
.klein{font-size:13px;color:var(--grijs)}

/* ---------- kop ---------- */
.kop{background:var(--papier);border-bottom:1px solid var(--lijn)}
.kop .wrap{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:68px;flex-wrap:wrap}
.logo{display:flex;align-items:center;gap:8px;text-decoration:none;color:var(--inkt);font-family:var(--kop);font-weight:800;font-size:clamp(15px,4.2vw,21px);letter-spacing:-.025em;min-width:0}
.logo svg{flex:none;width:24px;height:auto}
.logo b{color:var(--groen);font-weight:800}
.nav{display:flex;gap:24px;font-size:15px;font-weight:600}
.nav a{color:var(--inkt);text-decoration:none;padding:6px 0;border-bottom:2px solid transparent}
.nav a:hover,.nav a[aria-current]{border-bottom-color:var(--groen);color:var(--inkt)}
@media(max-width:860px){.nav{display:none}}

/* ---------- knoppen ---------- */
.knop{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 20px;border-radius:999px;font:inherit;font-size:16px;font-weight:700;text-decoration:none;border:0;cursor:pointer;white-space:nowrap}
.knop-actie{background:var(--groen);color:#fff}.knop-actie:hover{background:var(--groen-donker);color:#fff}
.knop-rand{background:transparent;color:var(--groen);box-shadow:inset 0 0 0 1.5px var(--groen)}
.knop-rand:hover{background:var(--groen-zacht)}

/* ---------- hero met tarievenbon ---------- */
.hero{background:var(--groen);color:#fff;padding-block:56px 64px;overflow:hidden}
.hero-raster{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:48px;align-items:center}
@media(max-width:900px){.hero-raster{grid-template-columns:minmax(0,1fr)}}
.hero p{color:#CFE3DA;font-size:18px}
.hero h1{color:#fff}
.zoek{position:relative;max-width:580px;margin-top:28px}
.zoek-label{display:block;font-size:14px;font-weight:700;color:#E4EFE9;margin-bottom:8px}
.zoek-veld{display:flex;align-items:center;gap:10px;background:var(--papier);border-radius:16px;padding:6px 6px 6px 16px;box-shadow:0 10px 30px rgba(0,0,0,.18);color:var(--grijs)}
.zoek-veld:focus-within{box-shadow:0 0 0 3px var(--sticker),0 10px 30px rgba(0,0,0,.18)}
.zoek-veld svg{flex:none}
.zoek-veld input{flex:1;min-width:0;border:0;outline:none;background:transparent;font:inherit;font-size:17px;font-weight:600;color:var(--inkt);padding:12px 0}
.zoek-veld input::placeholder{color:#8A938D;font-weight:500}
.zoek-veld .knop{border-radius:12px;padding:0 22px}
.zoek-lijst{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:20;list-style:none;margin:0;padding:6px;background:var(--papier);border-radius:14px;box-shadow:0 16px 40px rgba(0,0,0,.22);color:var(--inkt)}
.zoek-lijst a{display:flex;align-items:center;gap:12px;padding:11px 12px;border-radius:10px;text-decoration:none;color:var(--inkt)}
.zoek-lijst li[aria-selected] a,.zoek-lijst a:hover{background:var(--groen-zacht)}
.zoek-lijst b{font-weight:600;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.zoek-lijst mark{background:none;color:var(--groen);font-weight:800}
.zoek-lijst small{color:var(--grijs);font-size:13px;white-space:nowrap}
.zi{flex:none;width:28px;height:28px;border-radius:8px;background:var(--groen-zacht) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a7 7 0 00-7 7c0 5 7 13 7 13s7-8 7-13a7 7 0 00-7-7zm0 9.5A2.5 2.5 0 1112 6.5a2.5 2.5 0 010 5z' fill='%231E5A47'/%3E%3C/svg%3E") center/16px no-repeat}
.zi-k{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 3h4v7h7v4h-7v7h-4v-7H3v-4h7z' fill='%231E5A47'/%3E%3C/svg%3E")}
.zoek-melding{margin:12px 0 0;background:#FFF8DD;color:#4A3B00;border-radius:12px;padding:12px 14px;font-size:15px}
.zoek-melding a{color:#4A3B00;font-weight:700}
.snel{margin:14px 0 0;font-size:14px;color:#B7D3C6}
.snel a{color:#fff;font-weight:600;margin-right:10px}
@media(max-width:480px){.zoek-veld .knop{padding:0 16px}}
.bronnen-strip{margin:18px 0 0;font-size:14px;color:#B7D3C6}

.bon{background:#FFFEFA;color:var(--inkt);font-family:var(--mono);font-size:14px;padding:26px 24px 30px;position:relative;transform:rotate(1.2deg);box-shadow:0 18px 40px rgba(0,0,0,.25);max-width:400px;justify-self:center;width:100%;
  -webkit-mask:radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) 50% 100%/16px 100% repeat-x;
          mask:radial-gradient(circle 6px at 50% 100%,#0000 98%,#000) 50% 100%/16px 100% repeat-x}
.bon p{margin:0;max-width:none}
.bon-kop{text-align:center;font-weight:600;letter-spacing:.14em;text-transform:uppercase;padding-bottom:14px;margin-bottom:12px !important;border-bottom:1.5px dashed var(--stippel)}
.bon-kop span{display:block;font-weight:500;letter-spacing:.02em;text-transform:none;color:var(--grijs);margin-top:4px;font-size:12px}
.bon-regel{display:flex;align-items:baseline;gap:8px;padding:6px 0}
.bon-regel span{flex:none;max-width:60%}
.bon-regel i{flex:1;border-bottom:1.5px dotted var(--stippel);transform:translateY(-4px)}
.bon-regel b{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}
.bon-voet{margin-top:12px !important;padding-top:12px;border-top:1.5px dashed var(--stippel);font-size:12px;color:var(--grijs);text-align:center}
@media(prefers-reduced-motion:no-preference){.bon{animation:bon-in .7s cubic-bezier(.2,.8,.2,1) both}
@keyframes bon-in{from{transform:translateY(14px) rotate(1.2deg);opacity:.0}to{transform:rotate(1.2deg);opacity:1}}}
@media(max-width:900px){.bon{transform:none;animation:none}}

/* ---------- algemene blokken ---------- */
.blok{background:var(--papier);border:1px solid var(--lijn);border-radius:var(--r);padding:24px}
.raster{display:grid;gap:0;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));background:var(--papier);border:1px solid var(--lijn);border-radius:var(--r);overflow:hidden}
.raster .prijskaart{border:0;border-radius:0;border-right:1px solid var(--lijn);border-bottom:1px solid var(--lijn);margin:-1px -1px 0 0}
.prijskaart{display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--inkt);transition:background .15s}
.prijskaart:hover{background:var(--groen-zacht)}
.prijskaart strong{font-family:var(--kop);font-size:18px}
.prijskaart .bedrag{font-family:var(--mono);font-size:22px;font-weight:600;color:var(--groen);font-variant-numeric:tabular-nums;margin-top:6px}

.label{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;white-space:nowrap}
.l-praktijk{background:var(--groen-zacht);color:var(--groen-donker)}
.l-indicatie{background:#EEF0EC;color:#3E4943}
.l-onbekend{background:transparent;color:var(--grijs);padding-left:0;font-weight:600}
/* het prijsstickertje */
.l-laagste{background:var(--sticker);color:var(--sticker-inkt);border-radius:4px 999px 999px 4px;padding:4px 12px 4px 16px;position:relative}
.l-laagste::before{content:"";position:absolute;left:6px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:var(--grond)}

.chip{display:inline-block;border:1px solid var(--lijn);background:var(--papier);border-radius:999px;padding:8px 15px;font-size:15px;font-weight:500;color:var(--inkt);text-decoration:none;margin:0 6px 8px 0}
.chip:hover{border-color:var(--groen);color:var(--groen)}

/* ---------- plaats en praktijk ---------- */
.kruimel{font-size:14px;color:var(--grijs);margin:24px 0 12px}.kruimel a{color:var(--grijs)}
.bewijs{margin:14px 0 0;font-weight:600;color:var(--groen);display:flex;align-items:center;gap:8px;font-size:16px}
.bewijs::before{content:"★";color:#C08A12}
.kolommen{display:flex;flex-wrap:wrap;gap:32px;align-items:flex-start;margin:28px 0 72px}
.hoofd{flex:999 1 600px;min-width:0;display:flex;flex-direction:column;gap:18px}
.zij{flex:1 1 300px;min-width:0;display:flex;flex-direction:column;gap:16px}

.samenvatting{display:flex;flex-wrap:wrap;gap:12px 36px}
.samenvatting div span{display:block;font-size:13px;font-weight:600;color:var(--grijs)}
.samenvatting div strong{font-family:var(--mono);font-size:24px;font-weight:600;font-variant-numeric:tabular-nums}
.samenvatting .volgt{font-family:var(--tekst);font-size:18px;color:var(--grijs)}

/* praktijken als rustige lijst i.p.v. losse kaarten */
.hoofd > .praktijk{background:transparent;border:0;border-radius:0;border-bottom:1.5px dashed var(--stippel);padding:20px 0;margin:0}
.hoofd > .praktijk + .praktijk{margin-top:-18px}
.praktijk{display:flex;flex-wrap:wrap;gap:12px 20px;justify-content:space-between;align-items:center}
.praktijk h3 a:hover{color:var(--groen)}
.praktijk .rechts{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.praktijk .bedrag{font-family:var(--mono);font-size:21px;font-weight:600;font-variant-numeric:tabular-nums}
@media(max-width:560px){.praktijk .rechts{align-items:flex-start;width:100%}}
.sterren{color:#B37A12;letter-spacing:1px}
.st{position:relative;display:inline-block;width:calc(var(--m) * 5.3);height:var(--m);vertical-align:-2px;flex:none}
.st svg{position:absolute;inset:0;width:100%;height:100%}
.st-leeg{fill:#DCD6C8}.st-vol{fill:#E2A31B;clip-path:inset(0 calc(100% - var(--w)) 0 0)}

.kaart{height:340px;border-radius:var(--r);border:1px solid var(--lijn);overflow:hidden;z-index:0;background:var(--groen-zacht)}

table{width:100%;border-collapse:collapse;font-size:15px}
th,td{text-align:left;padding:12px 16px;border-top:1px dashed var(--stippel)}
th{font-size:13px;color:var(--grijs);font-weight:600;border-top:0}
td:not(:first-child){font-family:var(--mono);font-variant-numeric:tabular-nums}
.tabelbox{overflow-x:auto}

/* reviews als citaten */
.review{border-top:1px dashed var(--stippel);padding:16px 0}
.review:first-of-type{border-top:0}
.review p{margin:6px 0}
.google{font-size:13px;color:var(--grijs)}

/* ---------- overtuiging (eerlijk) ---------- */
.twee{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.cadeau{display:flex;flex-wrap:wrap;gap:20px;align-items:center;justify-content:space-between;background:var(--groen-zacht);border:0}
.cadeau-klein{background:var(--groen-zacht);border:0}

.calc{display:flex;flex-wrap:wrap;gap:28px;padding:28px}
.calc-links{flex:1 1 380px;min-width:0}
.calc-rechts{flex:1 1 300px;min-width:0;background:var(--grond);border:1.5px dashed var(--stippel);border-radius:var(--r);padding:22px;display:flex;flex-direction:column;align-items:flex-start}
.calc fieldset{border:0;padding:0;margin:0 0 16px}
.calc legend{font-weight:700;margin-bottom:8px}
.keuze{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--lijn);background:var(--papier);border-radius:999px;padding:9px 16px;margin:0 8px 8px 0;cursor:pointer;min-height:44px;font-weight:500}
.keuze:has(input:checked){border-color:var(--groen);background:var(--groen-zacht);font-weight:700}
.keuze input{accent-color:var(--groen)}
.calc-bedrag{font-family:var(--mono);font-size:clamp(28px,5vw,36px);font-weight:600;color:var(--groen-donker);margin:4px 0 10px;font-variant-numeric:tabular-nums}
.calc-regels{list-style:none;padding:0;margin:0;width:100%;font-size:15px}
.calc-regels li{display:flex;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px dotted var(--stippel)}
.calc-regels li span:last-child{font-family:var(--mono);font-variant-numeric:tabular-nums}

.vragen{padding-left:0;list-style:none;display:flex;flex-direction:column;gap:12px;counter-reset:v}
.vraag{counter-increment:v;position:relative;padding-left:66px}
.vraag::before{content:counter(v);position:absolute;left:22px;top:22px;font-family:var(--mono);font-weight:600;color:var(--groen);font-size:20px}

/* ---------- voet ---------- */
.voet{background:var(--groen-donker);color:#C5D8CF;padding-block:44px;font-size:14px}
.voet a{color:#E2EEE8}
@media print{.kop,.voet,.knop{display:none}}

/* ---------- plaatspagina ---------- */
.kruimel span{margin:0 4px;color:var(--stippel)}
.plaats-h1{font-size:clamp(30px,5.4vw,46px)}
.plaats-sub{margin:8px 0 0;color:var(--grijs);font-size:15px}
.plaats-raster{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:32px;align-items:start;margin:24px 0 48px}
.plaats-zij{position:sticky;top:16px;display:flex;flex-direction:column;gap:12px}
.kaart-plaats{height:420px}
@media(max-width:920px){.plaats-raster{grid-template-columns:minmax(0,1fr)}.plaats-zij{position:static;order:-1}.kaart-plaats{height:230px}.plaats-zij .tip{display:none}}
.balk{position:sticky;top:0;z-index:5;background:var(--grond);padding:10px 0;margin:0 -2px}
.tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:2px}
.tabs::-webkit-scrollbar{display:none}
.tabs button{flex:none;font:inherit;font-size:15px;font-weight:600;border:1px solid var(--lijn);background:var(--papier);color:var(--inkt);border-radius:999px;padding:9px 16px;cursor:pointer;min-height:42px}
.tabs button[aria-selected=true]{background:var(--inkt);border-color:var(--inkt);color:#fff}
.sv-blok{background:var(--papier);border:1px solid var(--lijn);border-radius:var(--r);padding:16px 18px;margin-top:6px}
.sv-cijfers{display:flex;flex-wrap:wrap;gap:8px 32px}
.sv-cijfers span{display:block;font-size:12px;font-weight:700;color:var(--grijs);text-transform:uppercase;letter-spacing:.04em}
.sv-cijfers b{font-family:var(--mono);font-size:22px;font-weight:600;font-variant-numeric:tabular-nums}
.sv p{margin:8px 0 0}
.lijst-kop{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:22px 0 10px;font-size:14px;font-weight:600;color:var(--grijs)}
.sorteer select{font:inherit;font-weight:600;color:var(--inkt);border:1px solid var(--lijn);background:var(--papier);border-radius:10px;padding:7px 10px;margin-left:6px}
.pk-lijst{display:flex;flex-direction:column;gap:8px}
.pk{display:flex;align-items:center;gap:14px;background:var(--papier);border:1px solid var(--lijn);border-radius:var(--r);padding:14px 14px 14px 16px;text-decoration:none;color:var(--inkt);transition:border-color .15s,box-shadow .15s}
.pk:hover{border-color:var(--groen);box-shadow:0 4px 14px rgba(23,32,28,.07);color:var(--inkt)}
.pk-nr{flex:none;width:28px;height:28px;border-radius:50%;background:var(--groen);color:#fff;font-size:13px;font-weight:700;display:grid;place-items:center}
.pk-midden{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.pk-naam{font-family:var(--kop);font-weight:700;font-size:17px;line-height:1.25}
.pk-rating{display:flex;align-items:center;gap:6px;font-size:14px}
.pk-rating b{font-weight:700}.pk-rating span:last-child{color:var(--grijs)}
.pk-adres{font-size:14px;color:var(--grijs);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-tag{align-self:flex-start;margin-top:4px;font-size:12px;font-weight:700;color:var(--groen-donker);background:var(--groen-zacht);border-radius:6px;padding:2px 8px}
.pk-prijs{flex:none;text-align:right}
.pp{display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.pp b{font-family:var(--mono);font-size:20px;font-weight:600;font-variant-numeric:tabular-nums}
.pp small{font-size:12px;color:var(--grijs);line-height:1.2}
.pp-leeg small{color:#8A938D}
.pk-pijl{flex:none;color:var(--stippel)}
.pk:hover .pk-pijl{color:var(--groen)}
.alles{margin-top:20px;padding:0}
.alles summary{cursor:pointer;padding:16px 20px;font-weight:700}
.tip{background:var(--papier);border:1px solid var(--lijn);border-radius:var(--r);padding:16px 18px;text-decoration:none;color:var(--inkt)}
.tip h3{font-size:16px}.tip p{margin:4px 0 0;font-size:14px;color:var(--grijs)}
.tip-link:hover{border-color:var(--groen);color:var(--inkt)}
.andere{padding:0 0 64px}.andere h2{font-size:20px;margin-bottom:14px}
.pin{background:none;border:0}
.pin span{display:grid;place-items:center;width:30px;height:30px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);background:var(--groen);border:2px solid #fff;box-shadow:0 2px 6px rgba(0,0,0,.35);color:#fff;font:700 12px var(--tekst)}
.pin i{transform:rotate(45deg);font-style:normal}

/* ---------- reviews ---------- */
.kop-score{display:inline-flex;align-items:center;gap:6px;color:inherit;text-decoration:none}
.rv-samen{display:flex;align-items:center;flex-wrap:wrap;gap:12px 18px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--lijn)}
.rv-cijfer{font-family:var(--kop);font-size:46px;font-weight:800;line-height:1;letter-spacing:-.03em}
.rv-samen p{margin:4px 0 0;font-size:14px;color:var(--grijs)}
.rv-samen .knop{margin-left:auto}
.knop-klein{min-height:40px;padding:0 14px;font-size:14px}
.rv-raster{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.rv{border:1px solid var(--lijn);border-radius:12px;padding:14px 16px;background:#FCFCFA}
.rv header{display:flex;align-items:center;gap:10px}
.rv header div{flex:1;min-width:0;display:flex;flex-direction:column}
.rv header b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rv header b a{color:inherit;text-decoration:none}
.rv header div span{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--grijs)}
.rv-av{flex:none;width:36px;height:36px;border-radius:50%;color:#fff;font-weight:700;display:grid;place-items:center}
.rv-g{flex:none;align-self:flex-start;opacity:.9}
.rv-tekst{margin:10px 0 0;font-size:15px;line-height:1.55}
.rv-tekst.ingeklapt{display:-webkit-box;-webkit-line-clamp:5;-webkit-box-orient:vertical;overflow:hidden}
.rv-meer{font:inherit;font-size:14px;font-weight:700;color:var(--groen);background:none;border:0;padding:6px 0 0;cursor:pointer}

/* ================= v3: rustig vergelijkersontwerp ================= */
:root{--geel:#FFCB3D;--geel-donker:#F2B90F;--oranje-w:#B54708;--oranje-bg:#FFF4E5;--schaduw:0 1px 2px rgba(16,40,32,.06),0 6px 20px rgba(16,40,32,.06)}
body{font-size:16px}
h1,h2,h3{letter-spacing:-.015em}
.kop{position:sticky;top:0;z-index:30}
.kop .wrap{min-height:60px}
.smal{max-width:760px}
.knop-geel{background:var(--geel);color:#2B2100}.knop-geel:hover{background:var(--geel-donker);color:#2B2100}
.knop-breed{width:100%;min-height:54px;border-radius:12px;font-size:17px;margin-top:12px}
.h2-hero{background:linear-gradient(180deg,var(--groen) 0,var(--groen) 72%,var(--grond) 72%);padding:36px 0 8px;color:#fff}
.h2-oog{margin:0 0 6px;font-weight:700;font-size:15px;color:#BFE6D7}
.h2-hero h1{color:#fff;font-size:clamp(32px,7vw,48px);font-weight:800;line-height:1.08}
.h2-intro{color:#D4EEE4;font-size:17px;margin:12px 0 22px}
.zoekkaart{background:#fff;color:var(--inkt);border-radius:18px;padding:20px;box-shadow:0 12px 36px rgba(6,68,54,.22)}
.zoekkaart .zoek{margin:0;max-width:none}
.zoekkaart .zoek-label{color:var(--inkt);font-size:16px;margin-bottom:8px}
.zoekkaart .zoek-veld{box-shadow:none;border:1.5px solid #C9D3CE;border-radius:12px;padding:4px 14px;color:var(--groen)}
.zoekkaart .zoek-veld:focus-within{border-color:var(--groen);box-shadow:0 0 0 3px var(--groen-zacht)}
.zoekkaart .snel{color:var(--grijs);margin:12px 0 0}
.zoekkaart .snel a{color:var(--groen);margin-right:12px}
.zoekkaart .zoek-lijst{top:96px}
.usp{list-style:none;padding:0;margin:18px 0 0;display:flex;flex-direction:column;gap:6px;color:var(--inkt);font-size:15px;font-weight:600}
.usp li{display:flex;align-items:center;gap:8px}.usp svg{color:var(--groen);flex:none}
.sectie{padding-top:36px}
.sectie h2{font-size:22px;margin-bottom:14px}
.rijen{background:#fff;border-radius:16px;box-shadow:var(--schaduw);overflow:hidden}
.rij{display:flex;align-items:center;gap:14px;padding:16px 18px;text-decoration:none;color:var(--inkt);border-top:1px solid #EDF1EF}
.rijen .rij:first-child{border-top:0}
.rij:hover{background:#F7FBF9;color:var(--inkt)}
.rij-ic{flex:none;width:44px;height:44px;border-radius:12px;background:var(--groen-zacht);color:var(--groen);display:grid;place-items:center}
.rij-t{flex:1;min-width:0;display:flex;flex-direction:column}
.rij-t b{font-size:17px;color:var(--groen-donker)}
.rij-t small{color:var(--grijs);font-size:14px}
.rij .pijl{color:var(--groen);flex:none}
.rij-groot{background:#fff;border-radius:16px;box-shadow:var(--schaduw);border:0}
.verschil{background:var(--geel);border-radius:16px;padding:20px 22px;display:flex;gap:16px;align-items:center;color:#2B2100}
.verschil b{font-size:30px;font-weight:800;white-space:nowrap;line-height:1}
.verschil p{margin:0;font-size:15px}
.stappen{list-style:none;padding:0;margin:0;counter-reset:s;display:grid;gap:10px}
.stappen li{counter-increment:s;background:#fff;border-radius:14px;box-shadow:var(--schaduw);padding:16px 18px 16px 64px;position:relative;display:flex;flex-direction:column}
.stappen li::before{content:counter(s);position:absolute;left:18px;top:16px;width:32px;height:32px;border-radius:50%;background:var(--groen);color:#fff;font-weight:800;display:grid;place-items:center}
.stappen span{color:var(--grijs);font-size:15px}
.calc{border:0;box-shadow:var(--schaduw);border-radius:16px;padding:22px}
.calc h2{font-size:22px}
.calc-rechts{border:0;background:var(--groen-zacht)}
.chips{display:flex;flex-wrap:wrap;gap:8px}
.chip{margin:0;border-color:#DDE5E1}.chip span{color:var(--grijs);font-size:13px;margin-left:2px}
/* waarschuwing geen transparante prijs */
.waarsch{background:var(--oranje-bg);border-left:4px solid #F79009;border-radius:10px;padding:12px 14px;margin-top:12px;display:flex;flex-direction:column;gap:2px}
.waarsch b{color:var(--oranje-w);font-size:15px}
.waarsch span{color:#5C3A10;font-size:14px}
.waarsch-tag{display:inline-block;background:var(--oranje-bg);color:var(--oranje-w);font-size:12px;font-weight:700;border-radius:6px;padding:3px 8px;white-space:nowrap;font-family:var(--tekst)}
.pp-leeg{gap:4px}
/* praktijkkaarten zachter */
.pk{border:0;box-shadow:var(--schaduw);border-radius:16px}
.pk:hover{box-shadow:0 0 0 2px var(--groen),var(--schaduw)}
.sv-blok{border:0;box-shadow:var(--schaduw);border-radius:16px}
.tabs button[aria-selected=true]{background:var(--groen);border-color:var(--groen)}
.blok{border:0;box-shadow:var(--schaduw);border-radius:16px}
.voet{background:#0B2A22}
@media(max-width:560px){.pk{flex-wrap:wrap}.pk-prijs{width:100%;padding-left:42px;text-align:left}.pp{align-items:flex-start;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.pk-pijl{display:none}}

/* hero-beeld met vrolijke vormen */
.h2-hero{background:linear-gradient(180deg,var(--groen) 0,var(--groen) 80%,var(--grond) 80%)}
.beeld{position:relative;height:270px;margin:22px 0 8px}
.vorm{position:absolute;display:block}
.vorm-roze{width:150px;height:150px;left:-6px;top:20px;background:#FF7AA2;border-radius:42% 58% 52% 48%/48% 42% 58% 52%}
.vorm-geel{width:120px;height:120px;right:4px;bottom:-6px;background:var(--geel);border-radius:50%}
.vorm-ring{width:70px;height:70px;right:120px;top:-4px;border:3px solid #9FE3C8;border-radius:50%}
.foto{position:absolute;object-fit:cover;box-shadow:0 14px 30px rgba(0,0,0,.25);background:#0a5a46;height:auto;aspect-ratio:1}
.foto-hond{width:62%;max-width:300px;left:9%;top:6px;border-radius:44% 56% 40% 60%/52% 40% 60% 48%;border:5px solid #fff}
.foto-kat{width:38%;max-width:190px;right:7%;top:80px;border-radius:28px;border:5px solid #fff;transform:rotate(5deg)}
.sticker-badge{position:absolute;left:2%;bottom:4px;background:#fff;color:var(--inkt);font-size:14px;font-weight:600;padding:8px 14px;border-radius:999px;box-shadow:0 6px 16px rgba(0,0,0,.18);transform:rotate(-4deg)}
.sticker-badge b{color:#D6336C;font-weight:800}
@media(min-width:700px){.beeld{height:320px}}
/* foto zonder rand: strak, vormen erachter */
.beeld{height:auto;aspect-ratio:4/3;max-width:460px;margin:26px auto 14px}
.foto{box-shadow:none;border:0!important;transform:none!important}
.foto-hond{inset:0;width:100%;max-width:none;height:100%;aspect-ratio:auto;border-radius:28px 28px 28px 120px}
.foto-kat,.vorm-ring{display:none}
.vorm-roze{width:42%;height:auto;aspect-ratio:1;left:-14px;top:-14px;border-radius:50%}
.vorm-geel{width:34%;height:auto;aspect-ratio:1;right:-14px;bottom:-14px;border-radius:24px}
.sticker-badge{left:auto;right:16px;bottom:auto;top:16px;transform:none;box-shadow:0 4px 12px rgba(0,0,0,.15)}
/* zeshoek zoals vergelijkers */
.foto-hond{border-radius:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%)}
.beeld{aspect-ratio:1/1.05;max-width:400px}
.vorm-roze{border-radius:0;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);left:-6%;top:-2%;width:38%}
.vorm-geel{clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);border-radius:0;right:-6%;bottom:2%;width:30%}
.sticker-badge{top:auto;bottom:18%;right:auto;left:-2%}

/* keten, open, procent, alternatieven, specialisaties */
.open{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;margin:2px 0}
.open::before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor}
.open-ja{color:#127A4A}.open-nee{color:#9A3B2A}
.pk-keten{background:#E8EEF9;color:#24427A}
.tags{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:4px}
.specs{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.spec{font-size:13px;font-weight:600;background:#fff;border:1px solid #DDE5E1;border-radius:999px;padding:4px 10px}
.spec-spoed{background:#FDECEC;border-color:#F5C2C2;color:#8A1F1F}
.pct{display:inline-block;font-size:12px;font-weight:700;color:var(--grijs);margin-top:2px}
.pct-hoog{color:#B42318;background:#FEF3F2;border-radius:6px;padding:2px 7px}
.pct-laag{color:#127A4A;background:#E7F6EE;border-radius:6px;padding:2px 7px}
.alt h2{font-size:20px;margin-bottom:6px}
.alt p{margin:0 0 12px;color:var(--grijs);font-size:15px}
.alt-meer{display:inline-block;margin-top:10px;font-weight:700}
.waarsch-blauw{background:#EEF3FB;border-left-color:#3B6BC2}.waarsch-blauw b{color:#24427A}.waarsch-blauw span{color:#2B3A55}

.antwoord{background:#fff;border-radius:16px;box-shadow:var(--schaduw);padding:16px 18px;margin-top:16px}
.antwoord p{margin:0;font-size:15px}
.feiten{list-style:none;padding:0;margin:12px 0 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;font-size:13px;color:var(--grijs)}
.feiten li{background:var(--grond);border-radius:10px;padding:8px;text-align:center}
.feiten b{display:block;font-size:20px;color:var(--inkt)}
@media(max-width:420px){.feiten{grid-template-columns:repeat(2,1fr)}}

/* AI-samenvatting reviews */
.ai-blok{background:linear-gradient(135deg,#F3F0FF 0%,#EEF7F3 100%);border-radius:14px;padding:16px 18px;margin-bottom:18px}
.ai-kop{display:flex;align-items:center;gap:10px;margin-bottom:8px}
.ai-ic{width:32px;height:32px;border-radius:10px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#7C5CFF,#0B6B53)}
.ai-tekst{margin:0 0 4px;font-size:15px}
.ai-bron{margin:6px 0 0;font-size:12px;color:var(--grijs)}
.ai-themas{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin-top:8px}
.thema{background:#fff;border-radius:12px;padding:10px 12px;display:flex;flex-direction:column;gap:2px;border-left:4px solid #9AA5A0}
.thema-pos{border-left-color:#12A15A}.thema-neg{border-left-color:#D92D20}.thema-mix{border-left-color:#F79009}
.thema-n{font-weight:700;font-size:15px}
.thema-t{font-size:12px;font-weight:700;color:var(--grijs)}
.thema q{font-size:14px;color:#3A4641;margin-top:4px;font-style:italic}
