/* ==========================================================================
   Geus 2026 — vormgeving
   Kleuren, letters en onderdelen uit de productontwerpen (zalmolie, paardenlong,
   Kivo rund compleet, kant-en-klaar vers vlees). Alle eigen klassen beginnen met g26-.
   ========================================================================== */

/* ---------- lettertypes (variabel, van de eigen server; alle diktes in één bestand) ---------- */
@font-face {
	font-family: "Quicksand";
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url(/wp-content/fonts/quicksand/6xK-dSZaM9iE8KbpRA_LJ3z8mH9BOJvgkP8o58a-wg.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Baloo 2";
	font-style: normal;
	font-weight: 400 800;
	font-display: swap;
	src: url(/wp-content/fonts/baloo-2/wXK0E3kTposypRydzVT08TS3JnAmtdj9yppo_lc.woff2) format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* ---------- kleuren en maten ---------- */
:root {
	--grond: #f7f3ef;
	--vlak: #ffffff;
	--vlak-2: #fbf8f2;
	--inkt: #1f2a2e;
	--inkt-zacht: #5c6a70;
	--lijn: #e5dfd3;
	--kopbalk: #ede6d9;
	--merk: #12789f;
	--merk-diep: #0e5f7e;
	--merk-licht: #e3f0f5;
	--accent: #b94a22;
	--accent-licht: #f6e2d6;
	--accent-vlak: #f3d9c9;
	--goed: #2f7a4b;
	--goed-licht: #e4f2e8;
	--ster: #e8a23a;
	--voet: #00719e;
	--voet-diep: #005f86;
	--schaduw: 0 10px 30px rgba(31, 42, 46, .08);
	--schaduw-klein: 0 4px 14px rgba(31, 42, 46, .07);
	--radius: 18px;
	--foto-licht: #fff8f3;
	--knop-tekst: #ffffff;
	--usp-grond: #12789f;
	--usp-tekst: #ffffff;
	--breedte: 1440px;
	--kop-letter: "Baloo 2", "Segoe UI", system-ui, sans-serif;
	--tekst-letter: "Quicksand", "Segoe UI", system-ui, sans-serif;
}

/* ---------- basis ---------- */
html { -webkit-text-size-adjust: 100%; }
/* Het Geus-patroon (pootjes, botjes, visjes, hondjes) 1,6 keer zo sterk als eerst: op 3,5% dekking
 * leek de achtergrond op een gewoon scherm wit (Mike, 2 nov 2026: "ik mis mn geus achtergrond"),
 * drie keer was hem te donker en bij twee keer was de tekst "net niet lekker leesbaar". Elke sterkte
 * een eigen bestandsnaam, want afbeeldingen blijven 30 dagen in de browser staan. */
body.g26 {
	background: var(--grond) url(../img/patroon-16.png) repeat;
	color: var(--inkt);
	font-family: var(--tekst-letter);
	font-size: 16px;
	line-height: 1.55;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.g26 #wrapper, .g26 #main { background: transparent; }
.g26 h1, .g26 h2, .g26 h3, .g26 h4, .g26 .g26-display {
	font-family: var(--kop-letter);
	color: var(--inkt);
	letter-spacing: -.005em;
	text-wrap: balance;
}
/* :where() houdt dit op één klasse zwaar, zodat knoppen van de modules (.geus-vk-bewaarknop
 * e.d., wit op een kleur) hun eigen tekstkleur houden zoals onder Flatsome.
 * Knoppen (a.button) vallen erbuiten (0.5.1): hun tekstkleur hoort bij hun achtergrond, en die
 * staan samen in de knopregel van g26-los.css. Die regel weegt nul (:where), dus deze won het
 * van de tekstkleur en niet van de achtergrond: merkkleur op merkkleur, o.a. "Bekijk winkelwagen"
 * in de melding na "in winkelwagen", "Terug naar de winkel" en [button] in pagina's. */
.g26 :where(a:not(.button)) { color: var(--merk); }
.g26 :where(a:not(.button):hover) { color: var(--merk-diep); }
/* Creditnota-knoppen van de module documenten (Mijn account → bestelling): de module geeft ze een
 * vaste witte achtergrond (inline) zonder tekstkleur, dus de knopregel maakte ze wit op wit (0.5.1).
 * Vaste kleuren, want de achtergrond blijft ook in donker wit. */
.g26 .geus-customer-creditnotes a.button { color: #12789f; }
.g26 .geus-customer-creditnotes a.button:is(:hover, :focus-visible) { color: #0d5f80; }
.g26 :focus-visible { outline: 3px solid var(--merk); outline-offset: 2px; }
.g26 .g26-i { width: 20px; height: 20px; flex: none; }
.g26-wrap { width: 100%; max-width: var(--breedte); margin-inline: auto; padding-inline: 16px; }
.g26 .prijs, .g26 .g26-num, .g26 .amount { font-variant-numeric: tabular-nums; }
[hidden] { display: none !important; }

/* ---------- kop ---------- */
.g26-kop { background: var(--vlak); border-bottom: 1px solid var(--lijn); position: relative; z-index: 40; }
.g26-kop-rij { display: flex; align-items: center; gap: 22px; padding-block: 12px; }
.g26-logo-link { flex: none; display: block; line-height: 0; }
.g26-logo { height: 46px; width: auto; display: block; }
.g26-zoek { flex: 1; min-width: 0; max-width: 680px; }
.g26-iconen { display: flex; gap: 6px; align-items: center; margin-left: auto; }
.g26 .g26-icoonknop {
	position: relative; width: 44px; height: 44px; display: grid; place-items: center;
	border-radius: 12px; color: var(--inkt-zacht); text-decoration: none; transition: background .15s, color .15s;
}
.g26 .g26-icoonknop:hover { background: var(--merk-licht); color: var(--merk); }
.g26 .g26-icoonknop .g26-i { width: 24px; height: 24px; }
.g26-mand-teller {
	position: absolute; top: 3px; right: 1px; min-width: 20px; height: 20px; padding: 0 6px;
	border-radius: 999px; background: var(--accent); color: #fff; font: 700 11.5px/20px var(--tekst-letter);
	text-align: center; box-shadow: 0 0 0 2px var(--vlak);
}
.g26-hamburger {
	display: none; width: 44px; height: 44px; margin: 0; padding: 0; border: 1px solid var(--lijn); border-radius: 12px;
	background: var(--vlak-2); color: var(--inkt); place-items: center; cursor: pointer;
}
.g26-hamburger .g26-i { width: 22px; height: 22px; }

/* zoeken: FiboSearch in de vorm van het ontwerp (een pil) */
.g26-zoek .dgwt-wcas-search-wrapp { width: 100% !important; max-width: none !important; margin: 0; } /* FiboSearch zet zelf width: 90% */
.g26-zoek .dgwt-wcas-sf-wrapp { background: transparent !important; padding: 0 !important; }
.g26-zoek input[type="search"].dgwt-wcas-search-input {
	height: 46px !important; margin: 0 !important; border-radius: 999px !important;
	background: var(--vlak-2) !important; border: 1px solid var(--lijn) !important; box-shadow: none !important;
	padding: 0 48px 0 46px !important; font: 500 15px var(--tekst-letter) !important; color: var(--inkt) !important;
}
.g26-zoek input[type="search"].dgwt-wcas-search-input:focus { border-color: var(--merk) !important; background: var(--vlak) !important; box-shadow: 0 0 0 3px var(--merk-licht) !important; }
.g26-zoek .dgwt-wcas-ico-magnifier { left: 16px !important; right: auto !important; width: 18px !important; height: 18px !important; opacity: .6; }
.g26-zoek .dgwt-wcas-search-submit {
	right: 4px !important; left: auto !important; top: 4px !important; width: 38px !important; height: 38px !important; min-height: 0 !important;
	padding: 0 !important; border-radius: 999px !important; background: var(--merk) !important;
}
.g26-zoek .dgwt-wcas-search-submit:before { display: none !important; }
.g26-zoek .dgwt-wcas-search-submit .dgwt-wcas-ico-magnifier { left: 50% !important; top: 50% !important; transform: translate(-50%, -50%); opacity: 1; fill: #fff; }

/* hoofdmenu */
.g26-menu { border-top: 1px solid var(--lijn); }
.g26-menu-rij { display: flex; align-items: center; gap: 4px; }
.g26 .g26-menu-lijst { list-style: none; margin: 0; padding: 0; display: flex; gap: 2px; }
.g26 .g26-menu-lijst > li { position: relative; margin: 0; list-style: none; }
.g26 .g26-menu-item {
	display: flex; align-items: center; gap: 6px; padding: 12px 14px;
	font: 700 16px/1.25 var(--kop-letter); color: var(--inkt); text-decoration: none; border-radius: 10px;
}
.g26 .g26-menu-item .g26-i { width: 14px; height: 14px; opacity: .6; stroke-width: 2.5; }
.g26 .g26-menu-item:hover, .g26 .g26-menu-lijst > li:focus-within > .g26-menu-item { background: var(--merk-licht); color: var(--merk); }
.g26 .g26-menu-item.is-actief { color: var(--merk); box-shadow: inset 0 -3px 0 var(--merk); border-radius: 10px 10px 0 0; }
.g26 .g26-menu-item.is-los { color: var(--accent); }
.g26-uitklap {
	position: absolute; left: 0; top: 100%; min-width: 250px; z-index: 50; padding: 8px;
	background: var(--vlak); border: 1px solid var(--lijn); border-radius: 14px; box-shadow: var(--schaduw);
	display: flex; flex-direction: column; visibility: hidden; opacity: 0; transform: translateY(6px);
	transition: opacity .15s, transform .15s, visibility 0s .15s;
}
.g26 .g26-menu-lijst > li:hover > .g26-uitklap, .g26 .g26-menu-lijst > li:focus-within > .g26-uitklap {
	visibility: visible; opacity: 1; transform: none; transition: opacity .15s, transform .15s;
}
.g26 .g26-uitklap a { padding: 9px 12px; border-radius: 8px; color: var(--inkt); text-decoration: none; font-size: 15px; font-weight: 500; }
.g26 .g26-uitklap a:hover { background: var(--vlak-2); color: var(--merk); }
.g26 .g26-uitklap a.g26-sub-alles { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--lijn); border-radius: 0; color: var(--merk); font-weight: 700; }
/* Uitklap met de merken erin (A/B-test, 11 okt 2026: "lastiger te vinden wat ik zoek").
   Een kolom per categorie, de merken eronder -- zoals het oude menu ze ook liet zien. */
/* De regel naar de merkenpagina onderin de uitklap. */
.g26 .g26-uitklap a.g26-sub-merken { margin-top: 4px; padding-top: 12px; border-top: 1px solid var(--lijn); border-radius: 0; color: var(--merk); font-weight: 700; }
.g26 .g26-uitklap a.g26-sub-merken + a.g26-sub-alles { margin-top: 0; padding-top: 2px; border-top: 0; }
/* En in de lade op de telefoon: de merken in een klapje onder hun categorie. */
.g26-lade-merken > summary { list-style: none; cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.g26-lade-merken > summary::-webkit-details-marker { display: none; }
.g26-lade-merken > summary::after { content: "+"; font-size: 17px; line-height: 1; color: var(--inkt-zacht); }
.g26-lade-merken[open] > summary::after { content: "\2013"; }
.g26-lade-merken > div { display: flex; flex-direction: column; padding-left: 14px; border-left: 2px solid var(--lijn); margin: 2px 0 6px; }
/* Het menu-item staat links in de balk; een brede uitklap mag niet buiten beeld vallen. */
.g26-klein { margin-left: auto; display: flex; gap: 4px; }
.g26 .g26-klein a { padding: 10px 12px; font-size: 14px; font-weight: 600; color: var(--inkt-zacht); text-decoration: none; border-radius: 8px; }
.g26 .g26-klein a:hover { color: var(--merk); background: var(--merk-licht); }

/* beloftebalk: één regel; past er een niet meer bij, dan valt hij weg */
.g26-usp { background: var(--usp-grond); color: var(--usp-tekst); font-size: 13.5px; font-weight: 600; }
.g26-usp-rij { display: flex; gap: 28px; justify-content: center; padding-block: 7px; flex-wrap: nowrap; }
.g26-usp span { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.g26-usp .g26-i { width: 16px; height: 16px; }

/* uitschuiflade (telefoon) */
.g26-lade-achter { position: fixed; inset: 0; z-index: 60; background: rgba(31, 42, 46, .45); opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s .25s; }
.g26-lade {
	position: fixed; top: 0; bottom: 0; left: 0; z-index: 61; width: min(88vw, 370px); overflow-y: auto; overscroll-behavior: contain;
	background: var(--vlak); box-shadow: var(--schaduw); transform: translateX(-104%); visibility: hidden;
	transition: transform .28s ease, visibility 0s .28s;
	padding: calc(14px + env(safe-area-inset-top, 0px)) 16px calc(24px + env(safe-area-inset-bottom, 0px));
}
body.g26-lade-open { overflow: hidden; }
body.g26-lade-open .g26-lade { transform: none; visibility: visible; transition: transform .28s ease; }
body.g26-lade-open .g26-lade-achter { opacity: 1; visibility: visible; transition: opacity .25s; }
/* Open menulade boven de cookiemelding van Complianz (z-index 99999; op de telefoon onderaan over de volle
 * breedte), anders liggen de kleine links en het contactblok onderaan de lade eronder (0.5.1). Zelfde
 * aanpak als de zijwagen (zie "zijwagen" verderop); de melding #g26-toast blijft erboven, zoals eerst. */
body.g26-lade-open .g26-lade-achter { z-index: 100000; }
body.g26-lade-open .g26-lade { z-index: 100001; }
body.g26-lade-open .g26-toast { z-index: 100002; }
.g26-lade-kop { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.g26-lade-logo { height: 38px; width: auto; }
.g26-lade-sluit { width: 40px; height: 40px; border: 0; border-radius: 10px; background: var(--vlak-2); color: var(--inkt); display: grid; place-items: center; padding: 0; margin: 0; }
.g26-lade details { border-bottom: 1px solid var(--lijn); }
.g26-lade summary {
	list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center;
	padding: 14px 4px; font: 700 18px/1.3 var(--kop-letter); color: var(--inkt);
}
.g26-lade summary::-webkit-details-marker { display: none; }
.g26-lade summary::after { content: "+"; color: var(--merk); font-size: 22px; }
.g26-lade details[open] summary::after { content: "–"; }
.g26 .g26-lade-groep a { display: block; padding: 10px 4px 10px 16px; color: var(--inkt); text-decoration: none; font-size: 15.5px; }
.g26 .g26-lade-groep a.g26-lade-alles { color: var(--merk); font-weight: 700; padding-bottom: 14px; }
.g26 .g26-lade-enkel { display: block; padding: 14px 4px; font: 700 18px/1.3 var(--kop-letter); color: var(--inkt); text-decoration: none; border-bottom: 1px solid var(--lijn); }
.g26 .g26-lade-enkel.is-los { color: var(--accent); }
.g26-lade-klein { margin-top: 16px; display: grid; gap: 2px; }
.g26 .g26-lade-klein a { color: var(--inkt-zacht); text-decoration: none; padding: 8px 4px; font-size: 14.5px; font-weight: 600; }
.g26-lade-contact { margin-top: 18px; padding: 14px; border-radius: 12px; background: var(--merk-licht); font-size: 14px; line-height: 1.6; }
.g26-lade-contact b { display: block; font-family: var(--kop-letter); font-size: 16px; }
@media (prefers-reduced-motion: reduce) { .g26-lade, .g26-lade-achter, .g26-uitklap { transition: none !important; } }

/* ---------- voettekst ---------- */
.g26-voet { margin-top: 48px; background: var(--voet); color: #fff; }
.g26-voet-kolommen { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding-block: 38px 32px; font-size: 14.5px; }
.g26 .g26-voet-kop { font: 700 15px/1.3 var(--kop-letter); letter-spacing: .06em; text-transform: uppercase; color: #fff; margin: 0 0 12px; }
.g26 .g26-voet-lijst { list-style: none; margin: 0; padding: 0; }
.g26 .g26-voet-lijst li { margin: 0; padding: 7px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); list-style: none; }
.g26 .g26-voet-lijst li:last-child { border-bottom: 0; }
.g26 .g26-voet a { color: #fff; text-decoration: none; }
.g26 .g26-voet a:hover { text-decoration: underline; }
.g26-voet-uren p { margin: 0 0 10px; line-height: 1.75; }
.g26-voet-adres { opacity: .9; }
.g26 .g26-voet-adres a { display: inline-flex; gap: 8px; align-items: flex-start; line-height: 1.6; }
.g26-voet-adres .g26-i { flex: none; width: 18px; height: 18px; margin-top: 3px; }
.g26 .g26-keur { display: block; background: rgba(255, 255, 255, .12); border-radius: 14px; padding: 16px; }
.g26 .g26-keur:hover { background: rgba(255, 255, 255, .18); text-decoration: none; }
.g26-keur b { font: 800 40px/1 var(--kop-letter); display: block; }
.g26-keur-sterren { display: flex; gap: 2px; margin: 8px 0 6px; color: var(--ster); }
.g26-keur-sterren .g26-i { width: 16px; height: 16px; }
.g26-keur span:last-child { display: block; font-size: 13px; opacity: .92; }
.g26-copy { background: var(--voet-diep); text-align: center; font-size: 13px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); }
/* Info en Service zijn <details>: op de computer open (scriptje in voet.php) en niet dicht te klappen. */
.g26-voet-blok > summary { list-style: none; pointer-events: none; }
.g26-voet-blok > summary::-webkit-details-marker { display: none; }
.g26-voet-contact, .g26-voet-adres-kort { display: none; }
/* Telefoon: contactkaart met knoppen, Info en Service uitklapbaar, tijden en recensies niet dubbel. */
@media (max-width: 560px) {
	.g26-voet { margin-top: 28px; }
	.g26-voet-contact { display: block; padding-block: 22px 8px; }
	.g26-voet-contact-tekst b { display: block; font: 700 18px/1.3 var(--kop-letter); }
	.g26-voet-contact-tekst span { display: block; margin-top: 2px; font-size: 14px; }
	.g26-voet-knoppen { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 14px; }
	.g26 .g26-voet-knoppen a { display: block; padding: 11px 6px; border-radius: 999px; background: var(--voet-diep); text-align: center; font-weight: 700; font-size: 14.5px; }
	.g26 .g26-voet-knoppen a:hover { background: var(--voet-diep); box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .45); text-decoration: none; }
	.g26-voet-kolommen { gap: 0; padding-block: 8px 14px; }
	.g26-voet-blok { border-bottom: 1px solid rgba(255, 255, 255, .18); }
	.g26 .g26-voet-blok > summary { pointer-events: auto; cursor: pointer; display: flex; justify-content: space-between; align-items: center; margin: 0; padding: 15px 0; }
	.g26-voet-blok > summary::after { content: "+"; font-size: 22px; line-height: 1; font-weight: 400; }
	.g26-voet-blok[open] > summary::after { content: "−"; }
	.g26 .g26-voet-blok .g26-voet-lijst { padding-bottom: 10px; }
	.g26 .g26-voet-blok .g26-voet-lijst li { padding: 6px 0; border: 0; }
	.g26-voet-uren, .g26-voet-recensies { display: none; }
	.g26-voet-adres-kort { display: inline; }
	.g26-copy { font-size: 12.5px; opacity: .95; }
}

/* melding na "in winkelwagen" */
.g26-toast {
	position: fixed; left: 50%; bottom: 28px; z-index: 70; display: flex; align-items: center; gap: 12px;
	transform: translateX(-50%) translateY(20px); opacity: 0; pointer-events: none;
	background: var(--inkt); color: #fff; padding: 12px 16px 12px 20px; border-radius: 999px; font-weight: 600; font-size: 15px;
	box-shadow: 0 12px 30px rgba(0, 0, 0, .25); transition: opacity .25s, transform .25s; max-width: calc(100vw - 32px);
}
.g26-toast.is-zichtbaar { opacity: 1; transform: translateX(-50%) translateY(0); pointer-events: auto; }
.g26 .g26-toast a { color: #fff; background: rgba(255, 255, 255, .14); padding: 6px 12px; border-radius: 999px; text-decoration: none; white-space: nowrap; }
.g26 .g26-toast a:hover { background: rgba(255, 255, 255, .24); }

/* ---------- algemene onderdelen van WooCommerce en Flatsome in de nieuwe stijl ---------- */
.g26 .button, .g26 button.button, .g26 input[type="submit"].button, .g26 .woocommerce-button {
	font-family: var(--kop-letter); font-weight: 700; text-transform: none; letter-spacing: 0;
	border-radius: 12px; min-height: 44px; line-height: 1.2; padding: 11px 20px;
}
.g26 .button.primary:not(.is-outline), .g26 .button.alt, .g26 button.alt, .g26 .single_add_to_cart_button, .g26 .checkout-button, .g26 #place_order {
	background-color: var(--merk); color: var(--knop-tekst); border-color: var(--merk); box-shadow: 0 8px 20px rgba(18, 120, 159, .22);
}
.g26 .button.primary:not(.is-outline):hover, .g26 .button.alt:hover, .g26 .single_add_to_cart_button:hover, .g26 .checkout-button:hover, .g26 #place_order:hover {
	background-color: var(--merk-diep); border-color: var(--merk-diep);
}
.g26 input[type="text"], .g26 input[type="email"], .g26 input[type="tel"], .g26 input[type="number"], .g26 input[type="password"],
.g26 input[type="search"]:not(.dgwt-wcas-search-input), .g26 input[type="date"], .g26 select, .g26 textarea {
	border-radius: 10px; border: 1.5px solid var(--lijn); box-shadow: none; background-color: var(--vlak); color: var(--inkt);
	font-family: var(--tekst-letter); font-size: 15px;
}
.g26 input:focus, .g26 select:focus, .g26 textarea:focus { border-color: var(--merk); box-shadow: 0 0 0 3px var(--merk-licht); }
.g26 .woocommerce-message, .g26 .woocommerce-info, .g26 .woocommerce-error, .g26 .message-container {
	border-radius: 14px; border: 1px solid var(--lijn); background: var(--vlak); box-shadow: var(--schaduw-klein);
}
.g26 .woocommerce-breadcrumb, .g26 .breadcrumbs { font-family: var(--tekst-letter); font-size: 13.5px; text-transform: none; letter-spacing: 0; color: var(--inkt-zacht); }
.g26 .woocommerce-breadcrumb a, .g26 .breadcrumbs a { color: var(--inkt-zacht); }
.g26 .woocommerce-breadcrumb a:hover, .g26 .breadcrumbs a:hover { color: var(--merk); }

/* ---------- smaller scherm ---------- */
@media (max-width: 1080px) {
	.g26-klein { display: none; }
	.g26 .g26-menu-item { padding: 12px 11px; font-size: 15.5px; }
}
@media (max-width: 980px) {
	.g26-usp span:nth-child(3) { display: none; }
}
@media (max-width: 860px) {
	.g26-menu { display: none; }
	.g26-hamburger { display: grid; }
	.g26-kop-rij { flex-wrap: wrap; gap: 10px 12px; padding-block: 10px; }
	.g26-logo { height: 40px; }
	.g26-zoek { order: 5; flex: 1 1 100%; max-width: none; }
	.g26-zoek input[type="search"].dgwt-wcas-search-input { height: 42px !important; }
	.g26-usp-rij { gap: 14px; font-size: 12.5px; }
	.g26-voet-kolommen { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
}
@media (max-width: 400px) {
	/* Vier knoppen in de kop (licht/donker, account, verlanglijst, wagen): iets kleiner. */
	.g26-iconen { gap: 2px; }
	.g26 .g26-icoonknop { width: 38px; height: 38px; }
}
@media (max-width: 560px) {
	.g26-usp span:nth-child(2) { display: none; }
	.g26-voet-kolommen { grid-template-columns: minmax(0, 1fr); }
	.g26-toast { bottom: 90px; }
}

/* ==========================================================================
   Gedeelde onderdelen: koppen, knoppen, kaarten, productkaartjes
   ========================================================================== */
.g26-eyebrow { font-size: 12.5px; letter-spacing: .09em; text-transform: uppercase; font-weight: 700; color: var(--accent); }
.g26 .g26-eyebrow a { color: inherit; text-decoration: none; }
.g26 .g26-eyebrow a:hover, .g26 .g26-eyebrow a:focus-visible { text-decoration: underline; text-underline-offset: 3px; }
.g26 .g26-kop2 { font-size: clamp(24px, 3vw, 32px); font-weight: 700; line-height: 1.15; margin: 0; }
.g26 .g26-sub { color: var(--inkt-zacht); margin: 6px 0 0; max-width: 62ch; }
.g26-blok { padding-block: 34px; }
.g26-blok + .g26-blok { border-top: 1px solid var(--lijn); }
.g26-blok-kop { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 22px; }
.g26 .g26-meer { font-weight: 700; text-decoration: none; white-space: nowrap; color: var(--merk); }
.g26 .g26-meer:hover { text-decoration: underline; }

.g26 .g26-knop {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px; min-height: 52px; padding: 12px 22px;
	border: 2px solid var(--merk); border-radius: 12px; background: var(--merk); color: var(--knop-tekst); text-decoration: none;
	font: 700 19px/1.1 var(--kop-letter); box-shadow: 0 8px 20px rgba(18, 120, 159, .26); transition: background .15s, transform .1s, box-shadow .15s;
}
.g26 .g26-knop:hover { background: var(--merk-diep); border-color: var(--merk-diep); color: var(--knop-tekst); }
.g26 .g26-knop:active { transform: translateY(1px); }
.g26 .g26-knop .g26-i { width: 22px; height: 22px; }
.g26 .g26-knop.is-licht { background: transparent; color: var(--merk); box-shadow: none; }
.g26 .g26-knop.is-licht:hover { background: var(--merk-licht); }

.g26-feiten { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-top: 24px; max-width: 520px; }
.g26-feit { background: var(--vlak); border: 1px solid var(--lijn); border-radius: 14px; padding: 12px 14px; }
.g26-feit b { display: block; font: 700 22px/1.1 var(--kop-letter); color: var(--accent); }
.g26-feit span { font-size: 12.5px; color: var(--inkt-zacht); }

.g26-sterren { display: inline-flex; gap: 2px; color: var(--ster); vertical-align: middle; }
.g26-sterren .g26-i { width: 16px; height: 16px; }

.g26-kaart {
	background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 20px;
	display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 12px; row-gap: 8px; align-content: start; align-items: center;
}
.g26-kaart .g26-ico { width: 44px; height: 44px; border-radius: 12px; background: var(--accent-licht); color: var(--accent); display: grid; place-items: center; }
.g26-kaart .g26-ico .g26-i { width: 24px; height: 24px; }
.g26 .g26-kaart h3 { font-size: 19px; font-weight: 700; line-height: 1.2; margin: 0; }
.g26 .g26-kaart > p, .g26 .g26-kaart > ul { grid-column: 1 / -1; margin: 0; color: var(--inkt-zacht); font-size: 15px; }

/* productkaartje */
.g26-rij { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; }
@media (max-width: 1280px) { .g26-rij { grid-template-columns: repeat(4, minmax(0, 1fr)); } .g26-rij > .g26-kaartje:nth-child(n+9) { display: none; } }
.g26-kaartje {
	position: relative; display: flex; flex-direction: column; background: var(--vlak); border: 1px solid var(--lijn);
	border-radius: 16px; overflow: hidden; transition: transform .15s, box-shadow .15s;
}
.g26-kaartje:hover { transform: translateY(-3px); box-shadow: var(--schaduw); }
.g26 .g26-kaartje-link { display: flex; flex-direction: column; flex: 1; color: inherit; text-decoration: none; }
/* Het label (Nieuw, −19%) valt over de foto heen in plaats van in een witte strook erboven
 * (Mike, 9 okt 2026).
 * Vierkant, met de link absoluut in het vak (25 okt 2026). Met 5:4 en een link op height:100%
 * groeide het vak in Chrome toch naar vierkant (de foto bepaalde de hoogte), maar Safari hield
 * 5:4 aan en tekende de vierkante foto eroverheen: merk en eerste regel van de productnaam
 * verdwenen onder de foto (feedback #100, iPhone). Nu rekent de foto met een vaste maat. */
.g26-kf { position: relative; display: grid; place-items: center; aspect-ratio: 1 / 1; overflow: hidden; min-width: 0; background: #fff; }
.g26 .g26-kf-link { position: absolute; inset: 0; display: grid; place-items: center; width: 100%; height: 100%; }
/* Rondom 8px wit, ook onderaan: in de nachtstand grenst het fotovak aan het donkere tekstvak
 * en ontbrak de witte rand onder de foto (Mike, 19 okt 2026). */
.g26-kf img { width: 100%; height: 100%; padding: 8px; object-fit: contain; }
.g26-badge { position: absolute; left: 10px; top: 10px; border-radius: 999px; padding: 4px 10px; font-size: 12px; font-weight: 700; color: #fff; line-height: 1.3; }
.g26-badge.is-actie { background: var(--accent); }
.g26-badge.is-nieuw { background: rgba(30, 115, 190, .85); }
.g26-badge.is-uit { background: var(--inkt-zacht); color: var(--vlak); }
/* "Nieuwe voorraad rond 5 november" als balk onder over de foto (5 nov 2026, Mike: "valt wat meer op"). */
.g26-kf-balk { position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 6px 8px; background: var(--merk); color: #fff; font-size: 12px; font-weight: 700; line-height: 1.3; text-align: center; pointer-events: none; }
.g26 .g26-kf:has(.g26-kf-balk) .g26-snelkijk { bottom: 42px; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kf-balk { padding: 3px 4px; font-size: 10.5px; }
/* Het waarschuwingsdriehoekje van "Mijn dieren" als badge op de foto, rechtsboven (de
   gewone badges staan linksboven). De module zet zijn maten in style-attributen omdat
   WP Rocket ingeschreven CSS kan opruimen, vandaar !important. */
.g26 .g26-foto-waarschuwing { position: absolute; top: 12px; right: 12px; z-index: 4; }
.g26 .g26-foto-waarschuwing .geus-allergie-tip { align-self: auto !important; }
.g26 .g26-foto-waarschuwing .geus-allergie-tip__knop {
	width: 36px !important; min-height: 36px !important; height: 36px;
	border-radius: 999px !important; background: #fff !important; color: #c0392b !important;
	border-color: rgba(0, 0, 0, .08) !important; box-shadow: 0 2px 10px rgba(0, 0, 0, .18);
}
.g26 .g26-foto-waarschuwing .geus-allergie-tip__knop:hover { background: #fff5f4 !important; }
/* Uitverkocht: foto en prijs gedempt, zodat het kaartje er niet als koopwaar uitziet. */
.g26-kaartje.is-uitverkocht .g26-kf img { opacity: .55; }
.g26-kaartje.is-uitverkocht .g26-prijs, .g26-kaartje.is-uitverkocht .g26-prijs ins { color: var(--inkt-zacht); font-weight: 600; }
.g26-kt { display: flex; flex-direction: column; gap: 2px; padding: 10px 14px 0; }
/* "100% lamshuid" en "Bestelartikel" onderaan het tekstvak, vlak boven de prijs, even hoog: in een
 * rij op één lijn, hoe lang de naam ook is (Mike, 5 nov 2026: "kunnen we daar rust in krijgen"). */
.g26 .g26-kaartje-link > .g26-kt { flex: 1; }
.g26 .g26-kt-labels { display: flex; flex-wrap: wrap; gap: 4px; margin-top: auto; padding-top: 6px; }
.g26 .g26-kt-labels > .g26-kaart-puur, .g26 .g26-kt-labels > .geus-gh-loop-badge { margin: 0; padding-top: 2px; padding-bottom: 2px; border: 1px solid transparent; }
.g26 .g26-kt-labels > .geus-gh-loop-badge { border-color: var(--merk); }
.g26-kt small { color: var(--inkt-zacht); font-size: 11.5px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; }
/* zonder merk een lege merkregel, zodat de namen in een rij op dezelfde hoogte beginnen */
.g26-kt:not(:has(> small))::before { content: "\00a0"; font-size: 11.5px; }
/* Hooguit twee regels: zo is het gat tussen naam en prijs in een rij ook hooguit één regel. */
.g26 .g26-kaartje-naam { font: 600 15.5px/1.3 var(--tekst-letter); color: var(--inkt); margin: 0; letter-spacing: 0; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden; }
/* "16,5% vet · 15,5% eiwit" onder de naam, alleen bij vers vlees (27 okt 2026). */
.g26-kaart-analyse { display: block; font-size: 12.5px; font-weight: 500; color: var(--inkt-zacht); margin-top: 1px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
/* "100% paard" onder de naam van een pure snack (1 nov 2026). Groen met een vinkje, niet in de
 * accentkleur: die is van korting en actie. */
.g26 .g26-kaart-puur {
	display: inline-flex; align-items: center; gap: 4px; align-self: flex-start; max-width: 100%;
	margin: 4px 0 0; padding: 2px 9px 2px 6px; border-radius: 999px;
	background: var(--goed-licht); color: var(--goed);
	font: 700 12px/1.3 var(--tekst-letter); white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.g26 .g26-kaart-puur::before {
	content: ""; flex: none; width: 12px; height: 12px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / contain no-repeat;
}
/* Sneeuwvlokje achter de naam bij diepvries. */
.g26-vries { display: inline-flex; align-items: center; margin-left: 5px; vertical-align: -2px; color: var(--merk); }
.g26-vries .g26-i { width: 15px; height: 15px; }
.g26 .product_title .g26-vries { margin-left: 8px; vertical-align: 1px; }
.g26 .product_title .g26-vries .g26-i { width: 24px; height: 24px; }
/* Op het kaartje (18 okt 2026) staat het vlokje als rond knopje op de foto, links van het hartje. Staat
   daar ook het driehoekje van Mijn dieren (right: 48px, uit die module), dan schuift het een plek op. */
.g26 .g26-vries-knop { position: absolute; top: 10px; right: 48px; z-index: 3; width: 34px; height: 34px; border-radius: 999px; background: var(--vlak); border: 1px solid var(--lijn); color: var(--merk); display: grid; place-items: center; box-shadow: 0 3px 10px rgba(31, 42, 46, .12); cursor: help; }
.g26 .g26-vries-knop .g26-i { width: 17px; height: 17px; }
.g26-kaartje:has(.geus-dieren-loop-allergie) .g26-vries-knop { right: 86px; }
/* Het allergiedriehoekje van Mijn dieren net zo groot en hoog als het hartje en het sneeuwvlokje:
 * 34 px op 10 px van de rand, met rand en schaduw. De module zet hem op 32 px en 8 px, waardoor
 * hij naast het hartje kleiner was en hoger stond (Mike, 1 nov 2026: "niet uitgelijnd"). */
.g26 .g26-kaartje > .geus-dieren-loop-allergie { top: 10px; right: 48px; }
.g26 .g26-kaartje .geus-dieren-allergie-icoon { width: 34px; height: 34px; background: var(--vlak); border: 1px solid var(--lijn); box-shadow: 0 3px 10px rgba(31, 42, 46, .12); }
.geus-vlag { display: inline-flex; margin-left: 6px; vertical-align: -1px; }
.geus-vlag svg { display: block; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.g26 .product_title .geus-vlag { margin-left: 10px; vertical-align: 2px; }
.g26 .product_title .geus-vlag svg { height: 20px; width: auto; }
.g26-kp { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 6px 14px 12px; margin-top: auto; }
.g26-prijs { font-weight: 700; font-size: 16px; color: var(--inkt); line-height: 1.25; }
.g26-prijs del { color: var(--inkt-zacht); font-weight: 500; font-size: 13px; opacity: 1; margin-right: 4px; }
.g26-prijs ins { text-decoration: none; color: var(--accent); }
.g26-kaart-inhoud { display: block; font-size: 12.5px; font-weight: 500; color: var(--inkt-zacht); margin-top: 1px; }
.g26-vanaf { font-weight: 500; font-size: 13px; color: var(--inkt-zacht); }
.g26 .g26-plus {
	flex: none; width: 38px; height: 38px; border-radius: 999px; background: var(--merk); color: var(--knop-tekst);
	display: grid; place-items: center; text-decoration: none; transition: background .15s, transform .1s; padding: 0; min-height: 0;
}
.g26 .g26-plus:hover { background: var(--merk-diep); color: var(--knop-tekst); }
.g26 .g26-plus .g26-i { width: 19px; height: 19px; }
.g26 .g26-plus.is-kies { background: var(--merk-licht); color: var(--merk); }
.g26 .g26-plus.loading { opacity: .6; }
.g26 .g26-plus.added { background: var(--goed); }
.g26-kaartje .added_to_cart { display: none !important; }

/* ==========================================================================
   Startpagina
   ========================================================================== */
.g26-held { padding-block: 34px 38px; }
.g26-held-rij { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 44px; align-items: center; }
.g26 .g26-held-titel { font-size: clamp(36px, 5.2vw, 58px); font-weight: 800; line-height: 1.05; margin: 8px 0 0; }
.g26 .g26-belofte { font-size: 19px; color: var(--inkt-zacht); margin: 14px 0 0; max-width: 46ch; }
.g26-held-knoppen { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 26px; }
.g26-held-foto { position: relative; }
.g26-foto {
	position: relative; border-radius: 28px; overflow: hidden; aspect-ratio: 1 / 1; box-shadow: var(--schaduw);
	background: radial-gradient(120% 90% at 30% 20%, var(--foto-licht) 0%, var(--accent-licht) 55%, var(--accent-vlak) 100%);
}
.g26-foto img { width: 100%; height: 100%; object-fit: cover; display: block; }
.g26 .g26-held-score {
	position: absolute; left: -18px; bottom: 28px; display: flex; align-items: center; gap: 12px;
	background: var(--vlak); color: var(--inkt); border-radius: 16px; padding: 12px 16px; box-shadow: var(--schaduw); text-decoration: none;
}
.g26-held-score b { font: 800 30px/1 var(--kop-letter); color: var(--inkt); }
.g26-held-score > span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: var(--inkt-zacht); font-weight: 600; }

.g26-tegels { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.g26 .g26-tegel {
	display: grid; grid-template-columns: 76px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 14px; align-items: center;
	background: var(--vlak); border: 1px solid var(--lijn); border-radius: 16px; padding: 12px; text-decoration: none; color: var(--inkt);
	transition: transform .15s, box-shadow .15s, border-color .15s;
}
.g26 .g26-tegel:hover { transform: translateY(-2px); box-shadow: var(--schaduw); border-color: var(--merk); }
.g26-tegel-foto { grid-row: 1 / 3; width: 76px; height: 76px; border-radius: 12px; overflow: hidden; background: var(--vlak-2); display: grid; place-items: center; }
.g26-tegel-foto img { width: 100%; height: 100%; object-fit: cover; }
.g26-tegel.is-product .g26-tegel-foto { background: #fff; }
.g26-tegel.is-product .g26-tegel-foto img { width: 86%; height: 86%; object-fit: contain; }
.g26-tegel-naam { font: 700 18px/1.15 var(--kop-letter); align-self: end; }
.g26-tegel small { align-self: start; color: var(--inkt-zacht); font-size: 13px; }

.g26-diensten { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.g26 .g26-routes { list-style: none; padding: 0; display: grid; gap: 6px; margin: 4px 0 2px; }
.g26 .g26-routes li { display: flex; gap: 10px; margin: 0; color: var(--inkt); font-size: 15px; }
.g26-routes b { width: 26px; flex: none; color: var(--merk); font-family: var(--kop-letter); }
.g26-routes small { color: var(--inkt-zacht); }
/* afhaaltijden en pakketten: bredere eerste kolom ("di–do", "DPD", vlaggetje) */
.g26 .g26-routes.is-breed b { width: 44px; }
.g26 .g26-routes.is-vervoerders b { width: 74px; display: flex; align-items: center; min-height: 22px; }
.g26-vervoerder { display: block; width: auto; }
.g26-vervoerder.is-dpd { height: 20px; }
.g26-vervoerder.is-dhl { height: 15px; border-radius: 2px; }
:root[data-theme="dark"] .g26-vervoerder.is-dpd { background: #fff; border-radius: 4px; padding: 2px 3px; height: 24px; }
.g26-vlag { width: 22px; height: 15px; border-radius: 2px; box-shadow: 0 0 0 1px rgba(0, 0, 0, .14); vertical-align: -2px; }
.g26 .g26-kaart > .g26-kaart-adres { display: flex; gap: 8px; align-items: flex-start; color: var(--inkt); }
.g26-kaart-adres .g26-i { flex: none; width: 18px; height: 18px; margin-top: 3px; color: var(--merk); }
.g26-contactlinks { display: flex; flex-direction: column; gap: 4px; }
.g26 .g26-contactlinks a { font-weight: 700; text-decoration: none; }

.g26-merken { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; }
.g26 .g26-merk {
	display: flex; flex-direction: column; align-items: center; gap: 8px; text-align: center; text-decoration: none; color: var(--inkt);
	background: var(--vlak); border: 1px solid var(--lijn); border-radius: 14px; padding: 12px 10px; transition: transform .15s, box-shadow .15s;
}
.g26 .g26-merk:hover { transform: translateY(-2px); box-shadow: var(--schaduw); }
.g26-merk img { width: 100%; max-width: 110px; aspect-ratio: 1 / 1; object-fit: contain; border-radius: 8px; background: #fff; }
.g26-merk span { font-weight: 700; font-size: 14px; }
/* Overzicht van alle merken (template-merken.php): zoveel kolommen als er passen, naam-tegel zonder logo. */
.g26-merken.is-alle { grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-top: 22px; }
.g26-merken.is-alle .g26-merk { padding: 16px 12px 14px; }
.g26-merken.is-alle .g26-merk small { color: var(--inkt-zacht); font-size: 13px; margin-top: -4px; }
.g26-merk-letter { width: 100%; max-width: 110px; aspect-ratio: 1 / 1; border-radius: 8px; background: var(--merk-licht); color: var(--merk); display: grid; place-items: center; font: 700 38px/1 var(--kop-letter); }

.g26-recensies { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 24px; align-items: start; }
.g26 .g26-score { display: block; background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 24px; color: var(--inkt); text-decoration: none; box-shadow: var(--schaduw-klein); }
.g26 .g26-score:hover { border-color: var(--merk); }
.g26-cijfer { font: 800 60px/1 var(--kop-letter); }
.g26-cijfer small { font-size: 22px; color: var(--inkt-zacht); font-weight: 700; }
.g26-score .g26-sterren { margin-top: 10px; }
.g26-score .g26-sterren .g26-i { width: 20px; height: 20px; }
.g26-score p { margin: 10px 0 14px; color: var(--inkt-zacht); font-size: 15px; }
.g26-quotes { display: grid; gap: 12px; }
.g26-quote { background: var(--vlak); border: 1px solid var(--lijn); border-radius: 14px; padding: 16px 18px; margin: 0; }
.g26-quote blockquote { margin: 6px 0 0; padding: 0; border: 0; font-style: normal; }
.g26-quote blockquote p { margin: 0; font-size: 15px; color: var(--inkt); }
.g26-quote figcaption { margin-top: 10px; font-size: 13px; color: var(--inkt-zacht); display: flex; align-items: center; gap: 8px; }
/* Beoordelingen van het product zelf (WooCommerce-sjabloon single-product-reviews.php), boven WebwinkelKeur. */
.g26-productrecensies { margin-top: 20px; background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 22px 24px; }
.g26-productrecensies .woocommerce-Reviews-title { font: 700 20px/1.2 var(--kop-letter); margin: 0 0 6px; }
.g26-productrecensies .commentlist { list-style: none; margin: 0; padding: 0; }
.g26-productrecensies .commentlist .comment_container { display: flex; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--lijn); }
.g26-productrecensies .commentlist img.avatar { display: none; } /* Gravatar is hier altijd een leeg vlak */
.g26-productrecensies .comment-text { flex: 1; min-width: 0; }
.g26-productrecensies .comment-text .meta { margin: 4px 0 0; font-size: 13px; color: var(--inkt-zacht); }
.g26-productrecensies .comment-text .description p { margin: 6px 0 0; font-size: 15px; }
.g26-productrecensies .woocommerce-review__verified { font-style: normal; color: var(--goed); }
.g26-productrecensies .woocommerce-noreviews, .g26-productrecensies .woocommerce-verification-required { margin: 0; color: var(--inkt-zacht); }
.g26-productrecensies .star-rating { position: relative; display: inline-block; overflow: hidden; width: 5.4em; height: 1.1em; line-height: 1; font-size: 14px; color: var(--ster); }
.g26-productrecensies .star-rating::before { content: "★★★★★"; position: absolute; top: 0; left: 0; color: var(--lijn); letter-spacing: .08em; }
.g26-productrecensies .star-rating span { position: absolute; top: 0; left: 0; overflow: hidden; padding-top: 1.5em; }
.g26-productrecensies .star-rating span::before { content: "★★★★★"; position: absolute; top: 0; left: 0; letter-spacing: .08em; color: var(--ster); }
.g26-productrecensies #review_form_wrapper { margin-top: 18px; }
.g26-productrecensies .comment-reply-title { display: block; font: 700 20px/1.2 var(--kop-letter); margin-bottom: 10px; }
.g26-productrecensies .comment-form > p { margin: 0 0 12px; }
.g26-productrecensies .comment-form textarea { width: 100%; }
.g26-productrecensies p.stars { margin: 0; line-height: 1; }
/* Breedte in px: met font-size 0 is 1em nul, en dan lagen de vijf sterren over elkaar (klik op 5 gaf soms 2). */
.g26-productrecensies p.stars a { display: inline-block; width: 34px; height: 34px; font-size: 0; color: var(--lijn); text-decoration: none; }
.g26-productrecensies p.stars a::before { content: "★"; font-size: 30px; line-height: 1; }
.g26-productrecensies p.stars:hover a, .g26-productrecensies p.stars.selected a { color: var(--ster); }
.g26-productrecensies p.stars a:hover ~ a, .g26-productrecensies p.stars.selected a.active ~ a { color: var(--lijn); }
.g26-productrecensies p.stars:hover a:hover ~ a { color: var(--lijn); }
.g26-quote figcaption i { width: 26px; height: 26px; border-radius: 999px; background: var(--accent-licht); color: var(--accent); font-style: normal; font-weight: 700; font-size: 12px; display: grid; place-items: center; }

.g26-blog { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.g26 .g26-blogkaart { display: flex; flex-direction: column; background: var(--vlak); border: 1px solid var(--lijn); border-radius: 16px; overflow: hidden; color: var(--inkt); text-decoration: none; transition: transform .15s, box-shadow .15s; }
.g26 .g26-blogkaart:hover { transform: translateY(-3px); box-shadow: var(--schaduw); }
.g26-blogfoto { aspect-ratio: 16 / 10; background: var(--vlak-2); overflow: hidden; }
.g26-blogfoto img { width: 100%; height: 100%; object-fit: cover; }
.g26-blogtekst { display: flex; flex-direction: column; gap: 4px; padding: 14px 16px 18px; }
.g26-blogtekst small { color: var(--inkt-zacht); font-size: 12.5px; }
.g26-blogtekst b { font: 700 18px/1.25 var(--kop-letter); }
.g26-blogtekst span { color: var(--inkt-zacht); font-size: 14.5px; }

@media (max-width: 1000px) {
	.g26-tegels, .g26-diensten { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.g26-merken { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.g26-rij { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 860px) {
	.g26-held { padding-block: 20px 28px; }
	.g26-held-rij { grid-template-columns: minmax(0, 1fr); gap: 26px; }
	.g26-held-foto { order: -1; }
	.g26-foto { aspect-ratio: 4 / 3; border-radius: 22px; }
	.g26 .g26-held-score { left: 12px; bottom: 12px; padding: 10px 14px; }
	.g26-recensies { grid-template-columns: minmax(0, 1fr); }
	.g26-blog { grid-template-columns: minmax(0, 1fr); }
	.g26-blok-kop { align-items: flex-start; flex-direction: column; gap: 8px; }
	/* productrijen schuiven op de telefoon horizontaal; dan blijft de pagina kort */
	.g26-rij { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px; padding-bottom: 6px; margin-inline: -16px; padding-inline: 16px; scrollbar-width: none; }
	.g26-rij::-webkit-scrollbar { display: none; }
	.g26-rij > .g26-kaartje { flex: 0 0 min(64vw, 240px); scroll-snap-align: start; }
}
@media (max-width: 560px) {
	.g26-tegels { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
	.g26 .g26-tegel { grid-template-columns: minmax(0, 1fr); padding: 10px; row-gap: 6px; }
	.g26-tegel-foto { grid-row: auto; width: 100%; height: auto; aspect-ratio: 4 / 3; }
	.g26-tegel-naam { font-size: 16.5px; }
	.g26-diensten { grid-template-columns: minmax(0, 1fr); }
	.g26-merken { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.g26-feiten { gap: 8px; }
	.g26-feit { padding: 10px; }
	.g26-feit b { font-size: 19px; }
	.g26-feit span { font-size: 11.5px; }
	.g26 .g26-knop { flex: 1 1 100%; }
}

/* ==========================================================================
   Productpagina
   ========================================================================== */
.g26-productpagina .product-container, .g26-productpagina .product-main, .g26-productpagina #main > .container { max-width: none; padding: 0; }
.g26-kruimel { font-size: 13.5px; color: var(--inkt-zacht); padding-block: 16px 6px; display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.g26 .g26-kruimel a { color: inherit; text-decoration: none; }
.g26 .g26-kruimel a:hover { color: var(--merk); }
.g26-kruimel-streep { opacity: .5; }
/* Telefoon: het kruimelpad wordt één terugkoppeling naar de stap erboven ("‹ Snacks") in plaats van
 * het hele pad over twee of drie regels, en boven de categorietitel geen losse regel met dezelfde
 * bovencategorie (Mike, 1 nov 2026: "Is dat niet wat veel?"). font-size 0 verbergt ook de
 * huidige pagina, die als losse tekst achteraan staat; de titel zegt het al. */
@media (max-width: 640px) {
	.g26-kruimel { font-size: 0; gap: 0; padding-block: 12px 2px; }
	.g26-kruimel > * { display: none; }
	.g26 .g26-kruimel > a:last-of-type { display: inline-flex; align-items: center; gap: 2px; font-size: 14px; font-weight: 600; color: var(--merk); }
	.g26 .g26-kruimel > a:last-of-type::before {
		content: ""; width: 16px; height: 16px; background: currentColor;
		-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
		mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 18l-6-6 6-6'/%3E%3C/svg%3E") center / contain no-repeat;
	}
	.g26-cat-kop .g26-eyebrow { display: none; }
}

.g26-product-rij { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: start; padding-block: 10px 36px; }
.g26-podium { position: sticky; top: 16px; max-width: 720px; }
.g26 .g26-fotos { border: 0; padding: 0; margin: 0; background: none; }
/* productfoto: vult het hele vak (geen gekleurde rand eromheen), op wit zodat losse productfoto's naadloos aansluiten */
.g26 .g26-productfoto { aspect-ratio: 1 / 1; display: grid; place-items: center; background: #fff; border: 1px solid var(--lijn); }
.g26 .g26-productfoto img {
	width: 100%; height: 100%; max-height: none; object-fit: contain; border-radius: 0; cursor: zoom-in;
	filter: none; transition: transform .5s ease;
}
.g26-productfoto:hover img { transform: scale(1.03); }
.g26-productfoto .g26-nieuw {
	position: absolute; z-index: 2; left: 16px; top: 16px; width: 54px; height: 54px; border-radius: 999px;
	background: rgba(30, 115, 190, .82); color: #fff; font: 700 14px/1 var(--kop-letter); display: grid; place-items: center; box-shadow: 0 6px 16px rgba(30, 115, 190, .3);
}
.g26-productfoto .g26-stempel { position: absolute; z-index: 2; right: 20px; top: 20px; background: var(--vlak); color: var(--accent); border-radius: 999px; padding: 6px 12px; font-weight: 700; font-size: 13.5px; box-shadow: var(--schaduw); }
/* Met het allergiedriehoekje van "Mijn dieren" rechtsboven (36 px op 12 px van de rand) schuift
   het stempel ernaast; anders viel de driehoek over "100% kip" (Mike, 26 okt 2026). */
.g26-productfoto:has(> .g26-foto-waarschuwing) .g26-stempel { top: 15px; right: 56px; }
.g26-herkomst { position: absolute; z-index: 2; right: 20px; bottom: 20px; display: flex; gap: 6px; align-items: center; background: rgba(255, 255, 255, .88); color: #5a2f1c; border-radius: 12px; padding: 8px 12px; font-size: 13px; font-weight: 600; }
.g26-herkomst .g26-i { width: 16px; height: 16px; }
/* Vergrootglas en hartje naast elkaar, linksonder op de foto. */
.g26-foto-knoppen { position: absolute; z-index: 2; left: 16px; bottom: 16px; display: flex; gap: 8px; align-items: center; }

.g26 .g26-vergroot {
	position: static; width: 40px; height: 40px; min-height: 0; padding: 0; margin: 0; border: 0;
	border-radius: 999px; background: rgba(255, 255, 255, .85); color: var(--inkt); display: grid; place-items: center; box-shadow: var(--schaduw-klein);
}

.g26-foto-wens { display: inline-flex; }
.g26 .g26-foto-wens .geus-wishlist-btn-container { position: static; margin: 0; display: inline-flex !important; }
.g26 .g26-foto-wens .geus-wishlist-btn {
	position: static; width: 40px; height: 40px; min-height: 0; padding: 0; margin: 0; border: 0;
	border-radius: 999px; background: rgba(255, 255, 255, .85); color: var(--inkt);
	display: grid; place-items: center; box-shadow: var(--schaduw-klein);
}
.g26 .g26-foto-wens .geus-wishlist-btn.geus-wishlist-active { color: var(--accent); }
/* Even groot als het vergrootglas ernaast: dezelfde tekening (24x24, lijn 2), alleen had
   het hartje geen maat meegekregen en viel het daardoor uit de toon. */
/* De module tekent het hartje als tekstteken (een Arial-hartje van 23px) en verbergt zijn
   eigen icoon. Naast het getekende vergrootglas vloekt dat. Hier omgekeerd: het teken weg,
   het icoon zichtbaar en even groot. */
.g26 .g26-foto-wens .geus-wishlist-btn { width: 40px !important; height: 40px !important; }
.g26 .g26-foto-wens .geus-wishlist-btn::before { content: none !important; }
.g26 .g26-foto-wens .geus-wishlist-icon { display: block !important; width: 18px !important; height: 18px !important; }
.g26-vergroot .g26-i { width: 18px; height: 18px; }
.g26-duimen { display: flex; gap: 8px; margin-top: 12px; overflow-x: auto; scrollbar-width: none; }
.g26 .g26-duim { flex: none; width: 66px; height: 66px; margin: 0; padding: 4px; min-height: 0; border: 2px solid var(--lijn); border-radius: 12px; background: #fff; cursor: pointer; }
.g26 .g26-duim.is-actief, .g26 .g26-duim:hover { border-color: var(--merk); }
.g26-duim img { width: 100%; height: 100%; object-fit: contain; border-radius: 8px; }
.g26-product-feiten { margin-top: 14px; max-width: none; }
/* iPhone/Safari: een enkele 1fr-kolom rekt op naar de breedte van zijn inhoud (de miniaturenstrook), waardoor de pagina te breed werd. */
.g26-podium, .g26-product-info, .g26-fotos { min-width: 0; }
.g26-duimen { max-width: 100%; }


.g26 .g26-product-info .product_title { font-size: clamp(32px, 4.6vw, 48px); font-weight: 800; line-height: 1.08; margin: 6px 0 0; letter-spacing: -.01em; }
.g26-product-info .g26-belofte { font-size: 18px; color: var(--inkt-zacht); margin-top: 10px; max-width: none; }
.g26-product-info .g26-belofte p { margin: 0 0 8px; }

.g26-koop { background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 22px; margin-top: 22px; box-shadow: var(--schaduw); }
.g26 .g26-koop > .price, .g26 .g26-koop .woocommerce-variation-price .price { font: 700 28px/1.1 var(--kop-letter); color: var(--inkt); margin: 0 0 12px; }
.g26 .g26-koop .price del { font-size: 18px; color: var(--inkt-zacht); font-weight: 500; }
.g26 .g26-koop .price ins { text-decoration: none; color: var(--accent); }
.g26 .g26-koop > .price:has(+ .g26-inhoud-regel) { margin-bottom: 4px; }
.g26-inhoud-regel { margin: 0 0 12px; font-size: 15px; color: var(--inkt-zacht); }
.g26-inhoud-regel b { color: var(--inkt); font-weight: 700; }
.g26 .g26-koop:has(.g26-maten) > .price, .g26 .g26-koop:has(.g26-maten) > .price-wrapper { display: none; }
.g26 .g26-koop > .price-wrapper .price { font: 700 28px/1.1 var(--kop-letter); color: var(--inkt); margin: 0 0 12px; }
/* Uitverkocht zonder bestelformulier, met een levering onderweg: de melding van "Binnenkort
   verwacht" rechts naast prijs en maat in plaats van eronder (Mike, 26 okt 2026). De module zet
   hem dan direct na .g26-voorraad. Op de telefoon blijft hij eronder. */
@media (min-width: 561px) {
	.g26 .g26-koop:has(> .g26-voorraad + #geus-inbound-box) { display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-rows: auto 1fr; column-gap: 24px; align-items: start; }
	.g26 .g26-koop:has(> .g26-voorraad + #geus-inbound-box) > * { grid-column: 1 / -1; }
	.g26 .g26-koop:has(> .g26-voorraad + #geus-inbound-box) > .price { grid-column: 1; grid-row: 1; }
	.g26 .g26-koop:has(> .g26-voorraad + #geus-inbound-box) > .g26-inhoud-regel { grid-column: 1; grid-row: 2; }
	.g26 .g26-koop:has(> .g26-voorraad + #geus-inbound-box) > #geus-inbound-box { grid-column: 2; grid-row: 1 / span 2; margin: 0 0 12px; }
}
.g26-koop-kop { font: 700 15px/1.3 var(--kop-letter); color: var(--inkt-zacht); margin-bottom: 10px; }

.g26-maten-blok { margin-bottom: 14px; }
.g26-maten { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; border-radius: 16px; transition: box-shadow .2s; }
.g26-maten.is-let-op { box-shadow: 0 0 0 3px var(--accent-licht); }
.g26 .g26-maat {
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 2px; text-align: left; margin: 0; min-height: 0;
	background: var(--vlak-2); border: 2px solid var(--lijn); border-radius: 14px; padding: 14px 14px 12px; color: var(--inkt);
	font-family: var(--tekst-letter); text-transform: none; letter-spacing: 0; cursor: pointer; transition: border-color .15s, background .15s;
}
.g26 .g26-maat:hover { border-color: var(--merk); }
.g26 .g26-maat[aria-pressed="true"] { border-color: var(--merk); background: var(--merk-licht); }
.g26 .g26-maat[data-niet-leverbaar] { opacity: .55; }
.g26-maat-naam { font: 700 20px/1.15 var(--kop-letter); }
.g26-maat-prijs { font-weight: 700; font-size: 17px; }
.g26-maat-prijs del { font-weight: 500; font-size: 13px; color: var(--inkt-zacht); }
.g26-maat-per { font-size: 12.5px; color: var(--inkt-zacht); font-weight: 500; }
/* Ruimte voor het label "8% voordeliger" bij álle maten zodra één maat het heeft, anders staat de
 * naam van die maat lager dan die ernaast (Mike, 1 nov 2026: "200 gr en 1 kilo niet op dezelfde hoogte"). */
.g26 .g26-maten:has(.g26-maat-tip) .g26-maat { padding-top: 22px; }
.g26-maat-tip { position: absolute; top: -10px; right: 10px; background: var(--goed); color: #fff; font-size: 11px; font-weight: 700; border-radius: 999px; padding: 2px 9px; }
/* de keuzelijst (en Flatsome's knopjes) blijven in het formulier, maar de kaarten zijn de bediening.
   Verbergen met CSS (niet met JS): WP Rocket laadt de scripts pas na de eerste interactie. */
.g26 .g26-maten-blok ~ table.variations { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.g26 .g26-maten-blok ~ table.variations .reset_variations, .g26 .g26-maten-blok ~ .single_variation_wrap .reset_variations { display: none !important; }

/* aantal + knop */
.g26 .g26-koop form.cart { margin: 0; }
.g26 .g26-koop .woocommerce-variation-add-to-cart, .g26 .g26-koop form.cart:not(.variations_form) { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
.g26 .g26-koop .quantity { margin: 0; display: inline-flex; align-items: stretch; border: 2px solid var(--lijn); border-radius: 12px; overflow: hidden; background: var(--vlak-2); height: 54px; }
.g26 .g26-koop .quantity input.qty { width: 48px; height: 100%; border: 0; background: transparent; text-align: center; font-weight: 700; font-size: 17px; box-shadow: none; padding: 0; }
.g26 .g26-koop .quantity .button, .g26 .g26-koop .quantity .ux-quantity__button { width: 40px; min-height: 0; height: 100%; margin: 0; padding: 0; border: 0; background: transparent; color: var(--inkt); font-size: 20px; box-shadow: none; }
.g26 .g26-koop .quantity .button:hover { background: var(--merk-licht); }
.g26 .g26-koop .single_add_to_cart_button {
	flex: 1; min-width: 0; height: 54px; margin: 0; display: flex; justify-content: space-between; align-items: center; gap: 14px;
	border-radius: 12px; font: 700 20px/1 var(--kop-letter); padding: 0 18px; text-transform: none;
}
.g26 .g26-koop .single_add_to_cart_button.disabled { opacity: .55; }
.g26-knop-bedrag { font: 700 17px/1 var(--tekst-letter); opacity: .95; white-space: nowrap; }
.g26-knop-bedrag:empty { display: none; }
.g26 .g26-koop .single_add_to_cart_button:has(.g26-knop-bedrag:empty) { justify-content: center; }
.g26 .g26-koop .ux-buy-now-button, .g26 .g26-koop .geus-buy-now { flex: 1 1 100%; margin: 0; }

/* voorraad en meldingen van de modules */
.g26 .g26-koop .stock { display: block; position: relative; padding-left: 18px; margin: 12px 0 0; font-size: 14px; font-weight: 600; color: var(--goed); }
.g26 .g26-koop .stock::before { content: ""; position: absolute; left: 1px; top: .5em; width: 9px; height: 9px; border-radius: 999px; background: currentColor; box-shadow: 0 0 0 4px var(--goed-licht); }
.g26 .g26-koop .stock.out-of-stock { color: #b32d2e; }
.g26 .g26-koop .stock.available-on-backorder { color: var(--accent); }
.g26 .g26-koop .stock.available-on-backorder::before { box-shadow: 0 0 0 4px var(--accent-licht); }
.g26 .g26-koop .woocommerce-variation-description p, .g26 .g26-koop .woocommerce-variation-availability p:not(.stock) { font-size: 14px; color: var(--inkt-zacht); }
.g26 .g26-koop .woocommerce-variation { margin-bottom: 12px; }

.g26 .g26-levering { margin: 18px 0 0; padding: 16px 0 0; border-top: 1px solid var(--lijn); list-style: none; display: grid; gap: 10px; font-size: 14px; }
.g26 .g26-levering li { display: flex; gap: 10px; align-items: flex-start; margin: 0; }
.g26-levering .g26-i { width: 18px; height: 18px; flex: none; color: var(--merk); margin-top: 2px; }
.g26-levering b { font-weight: 700; display: block; }
.g26-levering small { color: var(--inkt-zacht); display: block; font-size: 13px; }

/* secties onder het product */
.g26-sectie { border-top: 1px solid var(--lijn); }
.g26-tabinhoud { margin-top: 18px; font-size: 16px; }
.g26-tabinhoud > *:first-child { margin-top: 0; }
/* 18 okt 2026: één breedte voor alle pagina's (Mike): tekstvakken lopen net zo breed als de kaartenrij. */
.g26-sectie-description .g26-tabinhoud, .g26-cat-omschrijving .g26-tabinhoud { max-width: none; }
.g26 .g26-tabinhoud h2, .g26 .g26-tabinhoud h3, .g26 .g26-tabinhoud h4 { font-family: var(--kop-letter); line-height: 1.2; margin: 1.3em 0 .4em; }
.g26 .g26-tabinhoud h2 { font-size: 24px; }
.g26 .g26-tabinhoud h3 { font-size: 20px; }
.g26 .g26-tabinhoud h4, .g26 .g26-tabinhoud h5 { font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: var(--accent); }
.g26-tabinhoud p, .g26-tabinhoud li { color: var(--inkt); }
.g26-tabinhoud .geus-product-analyse, .g26-tabinhoud .geus-product-samenstelling { background: var(--vlak); border: 1px solid var(--lijn); border-radius: 14px; padding: 16px 18px; margin: 12px 0; }
.g26-tabinhoud .geus-product-analyse ul { columns: 2; column-gap: 28px; margin: 0; padding-left: 18px; }
.g26-tabinhoud table.woocommerce-product-attributes { background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); border-collapse: separate; border-spacing: 0; overflow: hidden; }
.g26-tabinhoud table.woocommerce-product-attributes th, .g26-tabinhoud table.woocommerce-product-attributes td { padding: 12px 16px; border-bottom: 1px solid var(--lijn); font-size: 15px; }
.g26-tabinhoud table.woocommerce-product-attributes tr:last-child th, .g26-tabinhoud table.woocommerce-product-attributes tr:last-child td { border-bottom: 0; }
.g26-tabinhoud table.woocommerce-product-attributes th { color: var(--inkt-zacht); font-weight: 600; width: 40%; }

.g26-spec { width: 100%; border-collapse: separate; border-spacing: 0; background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); overflow: hidden; }
.g26-spec th, .g26-spec td { text-align: left; padding: 12px 16px; border-bottom: 1px solid var(--lijn); font-size: 15px; vertical-align: middle; }
.g26-spec tr:last-child th, .g26-spec tr:last-child td { border-bottom: 0; }
.g26 .g26-spec th { width: 42%; color: var(--inkt-zacht); font-weight: 600; text-transform: none; letter-spacing: 0; }
.g26-spec td { font-weight: 600; }
.g26-spec .g26-spec-groep td { background: var(--vlak-2); color: var(--accent); font: 700 16px/1.2 var(--kop-letter); }
.g26-staaf { display: flex; align-items: center; gap: 10px; }
.g26-staaf i { flex: 1; height: 8px; background: var(--lijn); border-radius: 999px; overflow: hidden; display: block; max-width: 260px; }
.g26-staaf i::after { content: ""; display: block; height: 100%; width: var(--w, 0%); background: var(--accent); border-radius: 999px; }
.g26-spec-noot { margin-top: 10px; font-size: 13.5px; color: var(--inkt-zacht); }

/* koopbalk (telefoon) */
.g26-balk {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 45; display: none; gap: 12px; align-items: center;
	background: var(--vlak); border-top: 1px solid var(--lijn); box-shadow: 0 -8px 24px rgba(0, 0, 0, .08);
	padding: 10px 16px calc(10px + env(safe-area-inset-bottom, 0px)); transform: translateY(110%); transition: transform .25s;
}
.g26-balk.is-zichtbaar { transform: none; }
.g26-balk-prijs { display: flex; flex-direction: column; min-width: 0; }
.g26-balk-bedrag { font-weight: 700; font-size: 17px; }
.g26-balk-tekst { color: var(--inkt-zacht); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.g26 .g26-balk .g26-knop { margin-left: auto; min-height: 46px; padding: 10px 16px; font-size: 17px; }

/* fotovenster */
.g26-fotovenster { border: 0; border-radius: 20px; padding: 0; max-width: min(92vw, 900px); max-height: 92vh; background: #fff; box-shadow: 0 30px 80px rgba(0, 0, 0, .35); }
.g26-fotovenster::backdrop { background: rgba(31, 42, 46, .6); }
.g26-fotovenster img { display: block; max-width: 100%; max-height: 92vh; object-fit: contain; }
.g26 .g26-fotovenster-sluit { position: absolute; right: 12px; top: 12px; width: 40px; height: 40px; min-height: 0; margin: 0; padding: 0; border: 0; border-radius: 999px; background: var(--vlak-2); font-size: 24px; line-height: 1; color: var(--inkt); }

@media (max-width: 1000px) {
	.g26-knop-bedrag { display: none; }
	.g26 .g26-koop .single_add_to_cart_button { justify-content: center; }
}
@media (max-width: 860px) {
	.g26-product-rij { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.g26-podium { position: static; }
}
@media (max-width: 560px) {
	.g26-balk { display: flex; }
	.g26-productpagina .g26-voet { padding-bottom: 76px; }
	.g26-koop { padding: 16px; }
	.g26 .g26-product-info .product_title { font-size: 34px; }
	.g26 .g26-maat { padding: 12px 12px 10px; }
	.g26-maat-naam { font-size: 18px; }
	.g26-productfoto .g26-nieuw { left: 12px; top: 12px; width: 46px; height: 46px; font-size: 12.5px; }
	.g26-spec th, .g26-spec td { padding: 10px 12px; font-size: 14px; }
	.g26-tabinhoud .geus-product-analyse ul { columns: 1; }
}
@media (max-width: 460px) {
	.g26 .g26-koop .woocommerce-variation-add-to-cart, .g26 .g26-koop form.cart:not(.variations_form) { flex-wrap: wrap; }
	.g26 .g26-koop .quantity { flex: 1; justify-content: center; }
	.g26 .g26-koop .single_add_to_cart_button { flex: 1 1 100%; }
}

/* ==========================================================================
   Categorie- en winkelpagina
   ========================================================================== */
.g26-categoriepagina #main > .container, .g26-categoriepagina .shop-container { max-width: none; padding: 0; }
.g26-kop3 { font: 700 19px/1.2 var(--kop-letter); margin: 0; }

.g26-cat-kop { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .9fr); gap: 32px; align-items: start; padding-block: 10px 6px; }
.g26 .g26-cat-kop .geus-cat-title { font-size: clamp(32px, 4.4vw, 48px); font-weight: 800; line-height: 1.08; margin: 6px 0 0; }
.g26-cat-kop .g26-belofte { margin-top: 10px; font-size: 17.5px; max-width: 56ch; }
.g26-cat-feiten { display: flex; gap: 26px; margin-top: 20px; flex-wrap: wrap; }
.g26-cat-feiten div { border-left: 3px solid var(--accent); padding-left: 12px; }
.g26-cat-feiten b { display: block; font: 700 28px/1 var(--kop-letter); color: var(--inkt); }
.g26-cat-feiten span { font-size: 13px; color: var(--inkt-zacht); }
.g26-cat-lever { background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 18px 20px; box-shadow: var(--schaduw); }
.g26 .g26-cat-lever-kop { font: 700 16px/1.2 var(--kop-letter); margin: 0; }
.g26 .g26-cat-lever .g26-levering { margin-top: 12px; padding-top: 0; border-top: 0; }

.g26-subcats { padding-block: 26px 4px; }
.g26-subcats-rij { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 10px; margin-top: 12px; }
.g26 .g26-subcat {
	display: flex; flex-direction: column; align-items: center; text-align: center; gap: 2px; padding: 10px 8px;
	background: var(--vlak); border: 1px solid var(--lijn); border-radius: 14px; color: var(--inkt); text-decoration: none;
	transition: transform .15s, box-shadow .15s, border-color .15s;
}
.g26 .g26-subcat:hover { transform: translateY(-2px); box-shadow: var(--schaduw); border-color: var(--merk); }
.g26-subcat-beeld { width: 100%; aspect-ratio: 1 / 1; border-radius: 10px; background: #fff; display: grid; place-items: center; overflow: hidden; margin-bottom: 6px; }
.g26-subcat-beeld img { width: 88%; height: 88%; object-fit: contain; }
.g26-subcat.is-categorie .g26-subcat-beeld img { width: 100%; height: 100%; object-fit: cover; }
.g26-subcat.is-logo .g26-subcat-beeld { aspect-ratio: 16 / 9; } /* logo's zijn breed: lagere merktegels (Mike, 30 okt 2026) */
/* Diericonen bij snacks (inc/diericonen.php), in de merkkleur. */
.g26-subcat.is-icoon .g26-subcat-beeld { aspect-ratio: 16 / 9; background: var(--merk-licht); color: var(--merk); }
.g26-subcat.is-icoon .g26-subcat-beeld svg { width: 52%; height: 72%; }
.g26 .g26-subcat.is-icoon:hover .g26-subcat-beeld { color: var(--merk-diep); }
.g26 .g26-subcat.is-krap .g26-subcat-beeld img { width: 70%; height: 70%; object-fit: contain; } /* logo zonder witruimte in het plaatje (Tammenga), zie g26_krappe_logos() */
.g26-subcat-naam { font-weight: 700; font-size: 14px; line-height: 1.25; }
.g26-subcat small { color: var(--inkt-zacht); font-size: 12px; }
/* Bubbel "Nieuw" op een tegel (g26_nieuwe_tegels() in inc/categorie.php), kleiner dan op de productkaartjes. */
.g26 .g26-subcat { position: relative; }
.g26-subcat .g26-badge { left: 6px; top: 6px; padding: 2px 8px; font-size: 11px; }

/* Twee rijen: de lijstkop (telling + sortering) bovenaan rechts, daaronder de filterkolom naast de
   kaartjes. Zo beginnen de kolom en de eerste rij kaartjes op dezelfde hoogte (Mike, 18 okt 2026);
   eerder stond de kop in de lijst en begon de kolom een kopregel (58 px) te hoog. */
.g26-catalogus { display: grid; grid-template-columns: 236px minmax(0, 1fr); grid-template-rows: auto auto; column-gap: 24px; row-gap: 0; align-items: start; padding-block: 24px 10px; }
/* De telling begint links, boven de filters; sorteren en raster/lijst blijven rechts (Mike, 2 nov 2026). */
.g26-catalogus > .g26-lijst-kop { grid-column: 1 / -1; grid-row: 1; }
.g26-catalogus > .g26-filters { grid-column: 1; grid-row: 2; }
.g26-catalogus > .g26-lijst { grid-column: 2; grid-row: 2; }
.g26-filters { position: sticky; top: 16px; }
.g26-catalogus.is-zonder-filters { grid-template-columns: minmax(0, 1fr); }
.g26-catalogus.is-zonder-filters > .g26-lijst-kop, .g26-catalogus.is-zonder-filters > .g26-lijst { grid-column: 1; }
.g26-lijst-kop { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 14px; }
.g26 .g26-lijst-kop .woocommerce-result-count { margin: 0; font-size: 14px; color: var(--inkt-zacht); }
.g26 .g26-lijst-kop .woocommerce-ordering { margin: 0; min-width: 0; }
.g26 .g26-lijst-kop .woocommerce-ordering select { max-width: 100%; min-height: 42px; padding: 8px 36px 8px 12px; border-radius: 10px; font-size: 14px; }
.g26 .g26-lijst-kop .woocommerce-notices-wrapper { flex: 1 1 100%; }

/* ---------- raster of lijst (Mike, 2 nov 2026) ----------
   Twee knopjes naast "Sorteer op", samen met de sortering in .g26-lijst-acties rechts in de
   lijstkop. De keuze zit als data-weergave="lijst" op <html> (g26_weergave_keuze() in
   inc/categorie.php, het kopscriptje in inc/vormgeving.php en g26.js), dus de AJAX-filter, de
   paginering en de paginacache hoeven er niets van te weten. Alleen de lijst naast de knopjes
   (.g26-lijst-kop ~ .g26-lijst) wisselt: de rijen op de startpagina, "Past hierbij" en de
   merkenpagina blijven altijd een raster. */
.g26-lijst-acties { display: flex; align-items: center; gap: 10px; min-width: 0; margin-left: auto; }
.g26-weergave { display: inline-flex; flex: none; gap: 2px; padding: 3px; border: 1px solid var(--lijn); border-radius: 10px; background: var(--vlak); }
.g26 .g26-weergave-knop {
	display: grid; place-items: center; width: 36px; height: 34px; min-height: 0; margin: 0; padding: 0;
	border: 0; border-radius: 8px; background: none; color: var(--inkt-zacht); box-shadow: none; cursor: pointer;
	transition: background-color .15s, color .15s;
}
.g26 .g26-weergave-knop .g26-i { width: 19px; height: 19px; }
.g26 .g26-weergave-knop:hover { background: var(--vlak-2); color: var(--merk); }
.g26 .g26-weergave-knop:focus-visible { outline: 2px solid var(--merk); outline-offset: 1px; }
/* De gekozen knop volgt <html> en niet aria-pressed: g26.js draait pas na de eerste aanraking (WP Rocket). */
:root:not([data-weergave="lijst"]) .g26 .g26-weergave-knop[data-g26-weergave="raster"],
:root[data-weergave="lijst"] .g26 .g26-weergave-knop[data-g26-weergave="lijst"] { background: var(--merk-licht); color: var(--merk); }

/* De lijst: per product een rij met de foto links, daarnaast merk, naam en gegevens, rechts prijs,
   hartje en knop. Het kaartje wordt zelf een raster; .g26-kp valt weg (display: contents), zodat
   prijs en knop een eigen kolom krijgen. Het fotovak loopt over de hele hoogte van de rij. */
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-grid { grid-template-columns: minmax(0, 1fr); gap: 10px; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje {
	display: grid; grid-template-columns: 132px minmax(0, 1fr) auto auto auto; grid-template-rows: auto;
	align-items: center; column-gap: 14px; padding: 0 14px 0 0;
}
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kf { grid-column: 1; grid-row: 1; align-self: stretch; min-height: 132px; aspect-ratio: auto; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kf img { padding: 6px; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-badge { left: 6px; top: 6px; padding: 3px 8px; font-size: 11px; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-vries-knop { top: auto; right: 6px; bottom: 6px; width: 28px; height: 28px; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-vries-knop .g26-i { width: 14px; height: 14px; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-snelkijk { display: none; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje-link { grid-column: 2; grid-row: 1; padding: 12px 0; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kt { padding: 0; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kt::before { content: none; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje-naam { min-height: 0; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kp { display: contents; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-prijs { grid-column: 3; grid-row: 1; margin-right: 4px; text-align: right; font-size: 17px; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje > .geus-wishlist-btn-container { position: static; grid-column: 4; grid-row: 1; }
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-plus { grid-column: 5; grid-row: 1; }
/* Het allergiedriehoekje van Mijn dieren linksonder op de foto (rechtsonder staat het sneeuwvlokje). */
:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje > .geus-dieren-loop-allergie { top: auto; right: auto; bottom: 6px; left: 6px; }
@media (max-width: 560px) {
	/* Telefoon: foto 96 px breed; naam en gegevens bovenaan, prijs, hartje en knop eronder. */
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje { grid-template-columns: 96px minmax(0, 1fr) auto auto; grid-template-rows: 1fr auto; column-gap: 10px; row-gap: 6px; padding: 0 10px 10px 0; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kf { grid-row: 1 / -1; min-height: 106px; margin-bottom: -10px; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje-link { grid-column: 2 / -1; grid-row: 1; align-self: start; padding: 10px 0 0; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-prijs { grid-column: 2; grid-row: 2; margin: 0; text-align: left; font-size: 15px; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje > .geus-wishlist-btn-container { grid-column: 3; grid-row: 2; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-plus { grid-column: 4; grid-row: 2; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-badge { left: 4px; top: 4px; padding: 2px 7px; font-size: 10.5px; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-vries-knop { right: 4px; bottom: 4px; width: 26px; height: 26px; }
	:root[data-weergave="lijst"] .g26-lijst-kop ~ .g26-lijst .g26-kaartje > .geus-dieren-loop-allergie { bottom: 4px; left: 4px; }
}

.g26-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 14px; }
.g26 .g26-grid > .g26-kaartje { width: auto; max-width: none; padding: 0; margin: 0; }

/* ---------- paginering: producten, blog en de AJAX-filter (16 okt 2026) ----------
   De <ul> van WooCommerce heet zelf óók page-numbers. Een regel op ".page-numbers"
   alleen maakte daardoor van de hele rij één witte pil met de cijfers erin. De
   knopregel staat daarom op li > .page-numbers (producten) en .nav-links >
   .page-numbers (blog). Vorige/volgende krijgen een chevron + woord uit
   inc/paginas.php; op een smal scherm blijft alleen de chevron over. */
.g26 .woocommerce-pagination, .g26 .g26-paginering { margin: 30px 0 0; text-align: center; }
.g26 .woocommerce-pagination ul.page-numbers, .g26 .g26-paginering .nav-links {
	display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; align-items: center;
	margin: 0; padding: 0; border: 0; list-style: none; background: none;
}
.g26 ul.page-numbers > li { margin: 0; padding: 0; border: 0; }
.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > .page-numbers {
	display: inline-flex; align-items: center; justify-content: center; gap: 6px;
	min-width: 44px; height: 44px; padding: 0 14px; border-radius: 12px;
	border: 1.5px solid var(--lijn); background: var(--vlak); color: var(--inkt);
	font-family: var(--kop-letter); font-size: 16px; font-weight: 700; line-height: 1; text-decoration: none;
	box-shadow: var(--schaduw-klein);
	transition: background-color .15s, border-color .15s, color .15s, box-shadow .15s, transform .15s;
}
.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > a.page-numbers:hover,
.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > a.page-numbers:focus-visible {
	border-color: var(--merk); background: var(--merk-licht); color: var(--merk); transform: translateY(-1px); box-shadow: var(--schaduw);
}
.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > .page-numbers.current {
	background: var(--merk); border-color: var(--merk); color: var(--knop-tekst); box-shadow: 0 8px 20px rgba(18, 120, 159, .22);
}
.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > .page-numbers.dots {
	min-width: 24px; padding: 0; border: 0; background: none; box-shadow: none; color: var(--inkt-zacht); letter-spacing: .1em;
}
.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > .page-numbers:is(.prev, .next) { padding: 0 16px; font-size: 15px; }
.g26 .page-numbers .g26-i { width: 18px; height: 18px; stroke-width: 2.5; }
.g26 .page-numbers.prev .g26-i { margin-left: -4px; }
.g26 .page-numbers.next .g26-i { margin-right: -4px; }
@media (max-width: 640px) {
	.g26 .woocommerce-pagination ul.page-numbers, .g26 .g26-paginering .nav-links { gap: 6px; }
	.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > .page-numbers { min-width: 40px; height: 40px; padding: 0 10px; font-size: 15px; }
	.g26 :is(.woocommerce-pagination li, .g26-paginering .nav-links) > .page-numbers:is(.prev, .next) { padding: 0 10px; }
	/* het woord blijft voor de voorlezer, alleen de chevron is te zien */
	.g26 .page-numbers .g26-pag-woord { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
	.g26 .page-numbers.prev .g26-i, .g26 .page-numbers.next .g26-i { margin: 0; }
}

@media (max-width: 1000px) {
	.g26-cat-kop { grid-template-columns: minmax(0, 1fr); gap: 18px; }
}
@media (max-width: 1000px) {
	.g26-catalogus { grid-template-columns: 220px minmax(0, 1fr); column-gap: 20px; }
}
/* gelijk met de filtermodule: onder 768 px gaan de filters naar het onderpaneel */
@media (max-width: 767px) {
	.g26-catalogus { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; gap: 12px; padding-top: 16px; }
	/* Eén kolom, in de volgorde van de HTML: filters (hier onzichtbaar), kop, lijst. De rij-afstand van 12 px
	   komt bij de marge onder de kop, vandaar die kleiner. */
	.g26-catalogus > .g26-lijst-kop, .g26-catalogus > .g26-filters, .g26-catalogus > .g26-lijst { grid-column: 1; grid-row: auto; }
	.g26-catalogus > .g26-lijst-kop { margin-bottom: 2px; }
	.g26-filters { position: static; }
}
@media (max-width: 860px) {
	.g26-subcats-rij { display: flex; overflow-x: auto; scrollbar-width: none; margin-inline: -16px; padding-inline: 16px; }
	.g26-subcats-rij::-webkit-scrollbar { display: none; }
	.g26-subcats-rij > .g26-subcat { flex: 0 0 112px; }
}
@media (max-width: 560px) {
	.g26-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 10px; }
	.g26-cat-feiten { gap: 18px; }
	.g26-cat-feiten b { font-size: 24px; }
	.g26-kt { padding: 8px 10px 0; }
	.g26-kp { padding: 4px 10px 10px; }
	.g26 .g26-kaartje-naam { font-size: 14.5px; }
	.g26-prijs { font-size: 15px; }
	.g26 .g26-plus { width: 34px; height: 34px; }
}

/* ---------- filters (module geus-filters) in de stijl van het ontwerp: lijst met vinkjes ---------- */
@media (min-width: 768px) {
	/* De module geeft het vak een vaste breedte (--gf-sidebar-width, 260 px); de kolom is 236 px, dus het vak
	   stak 24 px uit en raakte de kaartjes. Nu zo breed als de kolom, zodat de rasterafstand van 24 px overblijft. */
	.g26 .g26-filters .geus-filters-sidebar { width: 100%; background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 6px 16px 10px; box-shadow: none; }
	.g26 .g26-filters .geus-filters-sidebar__header { padding: 12px 0 6px; border: 0; background: none; }
	.g26 .g26-filters .geus-filters-sidebar__title { font: 700 18px/1.2 var(--kop-letter); color: var(--inkt); text-transform: none; letter-spacing: 0; }
	/* Elk kopje (Categorie, Merk, Diersoort ...) is een balkje in een iets donkerder
	 * tint dan het vlak, zodat je in één oogopslag ziet waar een nieuw blok begint;
	 * tot 17 okt 2026 was het alleen een grijs woordje boven een lijntje. Het
	 * allergie-filter van Mijn dieren krijgt hieronder hetzelfde balkje. */
	.g26 .g26-filters .geus-filter-section { border: 0; margin: 0; padding: 0 0 8px; background: none; }
	.g26 .g26-filters .geus-filter-section__toggle { margin: 6px 0 4px; padding: 8px 10px; border: 0; border-radius: 9px; background: var(--kopbalk); color: var(--inkt); transition: background .15s; }
	.g26 .g26-filters .geus-filter-section__toggle:hover { background: var(--merk-licht); }
	.g26 .g26-filters .geus-filter-section__label { font: 700 12px/1.3 var(--tekst-letter); letter-spacing: .08em; text-transform: uppercase; color: var(--inkt); }
	.g26 .g26-filters .geus-filter-section__chevron { color: var(--inkt-zacht); }
	.g26 .g26-filters .geus-dieren-filter { padding: 6px 0 4px; }
	.g26 .g26-filters .geus-dieren-filter-kop { margin: 0 0 4px; padding: 8px 10px; border-radius: 9px; background: var(--kopbalk); color: var(--inkt); letter-spacing: .08em; }
	.g26 .g26-filters .geus-dieren-filter-optie { padding: 5px 8px; }
	.g26 .g26-filters .geus-filter-section__body { padding: 2px 2px 4px; max-height: 260px; }
	/* Opties als rustige lijst: vinkje, naam, aantal rechts. Tot 6 okt 2026 waren het
	 * knopjes naast elkaar; Mike vond die "bullets" niet mooi, en in een vak met een vaste
	 * hoogte werd de onderste rij half afgesneden. */
	.g26 .g26-filters .geus-checkbox-list { display: block; padding: 2px 0 4px; }
	.g26 .g26-filters .geus-filter-option {
		position: relative; display: flex; align-items: center; gap: 10px; margin: 0; padding: 6px 8px; width: 100%;
		border: 0; border-radius: 8px; background: none; color: var(--inkt);
		font-size: 14.5px; font-weight: 500; line-height: 1.3; cursor: pointer; transition: background .15s;
	}
	.g26 .g26-filters .geus-filter-option:hover { background: var(--merk-licht); }
	.g26 .g26-filters .geus-filter-option input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
	.g26 .g26-filters .geus-filter-option__checkbox {
		display: flex; align-items: center; justify-content: center; flex: none; width: 18px; height: 18px; margin: 0;
		border: 1.5px solid #c9c0b2; border-radius: 5px; background: var(--vlak); transition: background .15s, border-color .15s;
	}
	.g26 .g26-filters .geus-filter-option:hover .geus-filter-option__checkbox { border-color: var(--merk); }
	.g26 .g26-filters .geus-filter-option.is-checked .geus-filter-option__checkbox,
	.g26 .g26-filters .geus-filter-option input:checked ~ .geus-filter-option__checkbox { background: var(--merk); border-color: var(--merk); }
	.g26 .g26-filters .geus-filter-section--radio .geus-filter-option__checkbox { border-radius: 50%; }
	.g26 .g26-filters .geus-filter-option__label { flex: 1 1 auto; min-width: 0; font-weight: inherit; color: inherit; margin: 0; padding: 0; }
	.g26 .g26-filters .geus-filter-option__count { flex: none; margin: 0 0 0 auto; color: var(--inkt-zacht); font-weight: 500; font-size: 12.5px; font-variant-numeric: tabular-nums; }
	.g26 .g26-filters .geus-filter-option__count:empty { display: none; }
	.g26 .g26-filters .geus-filter-option.is-checked,
	.g26 .g26-filters .geus-filter-option:has(input:checked) { background: none; }
	.g26 .g26-filters .geus-filter-option.is-checked .geus-filter-option__label,
	.g26 .g26-filters .geus-filter-option:has(input:checked) .geus-filter-option__label { color: var(--inkt); font-weight: 700; }
	.g26 .g26-filters .geus-filter-option:has(input:focus-visible) { outline: 3px solid var(--merk); outline-offset: 1px; }
	.g26 .g26-filters .geus-filter-section__body { scrollbar-width: thin; scrollbar-color: var(--lijn) transparent; }
	/* uitklapbare groepjes (diersoorten: Gevogelte, Vis, Wild, Exotisch) */
	.g26 .g26-filters .geus-filter-groep { margin: 1px 0; }
	.g26 .g26-filters .geus-filter-groep__kop { padding: 7px 8px; border-radius: 8px; font-size: 14.5px; font-weight: 700; color: var(--inkt); }
	.g26 .g26-filters .geus-filter-groep__kop:hover { background: var(--merk-licht); }
	.g26 .g26-filters .geus-filter-groep__kop::before { color: var(--merk); margin: 0 9px 0 5px; }
	.g26 .g26-filters .geus-filter-groep__aantal { color: var(--inkt-zacht); font-size: 12.5px; }
	.g26 .g26-filters .geus-filter-groep__lijst { padding-left: 20px; }
	/* Met groepjes is de lijst kort genoeg: geen schuifvak, anders zakken de groepjes onder de rand weg. */
	.g26 .g26-filters .geus-filter-section__body.is-open:has(.geus-filter-groep) { max-height: none; overflow: visible; }
	.g26 .g26-filters .geus-filters-reset-btn-bottom { color: var(--merk); font-weight: 700; background: none; border: 0; }

	/* merken: eerst één rij, de rest achter "Alle merken" */
	.g26-subcats:not(.is-open) .g26-subcat.is-extra { display: none; }
}
.g26-subcats-kop { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.g26 .g26-alle-merken { border: 0; background: none; padding: 4px 0; margin: 0; min-height: 0; color: var(--merk); font: 700 15px/1.2 var(--tekst-letter); cursor: pointer; text-transform: none; letter-spacing: 0; }
.g26 .g26-alle-merken:hover { text-decoration: underline; }
.g26-subcats:not(.is-open) .g26-alle-merken .g26-dicht, .g26-subcats.is-open .g26-alle-merken .g26-open { display: none; }
@media (max-width: 767px) { .g26 .g26-alle-merken { display: none; } }

/* ==========================================================================
   Gewone pagina's, account, winkelwagen en afrekenen: alleen vormgeving, geen
   andere sjablonen (de modules van het afrekenen blijven precies zo werken).
   ========================================================================== */

/* paginatitel van Flatsome in de nieuwe stijl: links, groot, geen grijze band */
.g26 .page-title, .g26 .page-title.normal-title, .g26 .page-title.dark-page-title, .g26 .page-title.light-page-title { background: transparent; border: 0; box-shadow: none; }
.g26 .page-title-inner { padding-top: 22px; padding-bottom: 4px; min-height: 0; }
.g26 .page-title h1, .g26 .page-title .entry-title, .g26 h1.entry-title {
	font: 800 clamp(30px, 4vw, 46px)/1.1 var(--kop-letter); text-transform: none; letter-spacing: -.01em; color: var(--inkt);
}
.g26 .page-title .page-title-inner { justify-content: flex-start; text-align: left; }
.g26 .page-title .flex-col.flex-center { text-align: left; align-items: flex-start; }
.g26 .is-divider { background-color: var(--lijn); height: 2px; max-width: 48px; }

/* stappenpad winkelwagen > gegevens > geplaatst */
.g26 .checkout-breadcrumbs, .g26 .checkout-page-title .breadcrumbs { font: 700 15px/1.3 var(--kop-letter); text-transform: none; letter-spacing: 0; }
.g26 .checkout-breadcrumbs a, .g26 .checkout-breadcrumbs .current { color: var(--inkt-zacht); }
.g26 .checkout-breadcrumbs .current, .g26 .checkout-breadcrumbs a.current { color: var(--merk); }

/* kaarten */
.g26 .woocommerce-cart-form, .g26 .cart_totals, .g26 .checkout .col-inner.has-border, .g26 #order_review,
.g26 .woocommerce-form-login, .g26 .woocommerce-form-register, .g26 .woocommerce-ResetPassword,
.g26 .woocommerce-MyAccount-content, .g26 .woocommerce-order-details, .g26 .woocommerce-customer-details {
	background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 22px; box-shadow: var(--schaduw-klein);
}
.g26 .cart_totals, .g26 #order_review { box-shadow: var(--schaduw); }
.g26 .checkout .col-inner.has-border { border-width: 1px; }
.g26 .woocommerce-form-login, .g26 .woocommerce-form-register { margin-bottom: 20px; }
.g26 .account-container h2, .g26 .cart_totals h2, .g26 .woocommerce-billing-fields h3, .g26 #order_review_heading, .g26 .checkout h3 {
	font: 700 20px/1.2 var(--kop-letter); text-transform: none; letter-spacing: 0; color: var(--inkt);
}
.g26 table.shop_table th, .g26 .cart_totals th { font-family: var(--tekst-letter); font-size: 12px; letter-spacing: .08em; text-transform: uppercase; color: var(--inkt-zacht); font-weight: 700; }
.g26 table.shop_table td, .g26 table.shop_table th { border-color: var(--lijn); }
.g26 .shop_table .product-name a { font-weight: 700; color: var(--inkt); text-decoration: none; }
.g26 .shop_table .product-name a:hover { color: var(--merk); }
.g26 .shop_table .order-total .amount, .g26 .cart_totals .order-total .amount { font: 800 22px/1.2 var(--kop-letter); color: var(--inkt); }
.g26 .button.is-outline, .g26 .continue-shopping .button { border-radius: 12px; border-width: 2px; text-transform: none; }

/* mijn account */
.g26 .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.g26 .woocommerce-MyAccount-navigation li { margin: 0; border: 0; }
.g26 .woocommerce-MyAccount-navigation a { display: block; padding: 10px 14px; border-radius: 10px; color: var(--inkt); font-weight: 600; text-decoration: none; }
.g26 .woocommerce-MyAccount-navigation li.is-active a, .g26 .woocommerce-MyAccount-navigation a:hover { background: var(--merk-licht); color: var(--merk); }

/* tekstpagina's die met de Flatsome-bouwer gemaakt zijn: koppen en links in de nieuwe stijl.
 * Links met een geus-klasse komen uit de modules van Geus Extra's en houden hun eigen kleur
 * (anders werd de knop "Inloggen en … bewaren" in de voerkiezer blauw op blauw). */
.g26 .entry-content h2:not(.g26-kaartje-naam), .g26 .entry-content h3:not(.g26-kaartje-naam) { font-family: var(--kop-letter); color: var(--inkt); }
/* kleine kopjes in tekstpagina's ("Je bestelling volgen" op Bezorgservice): leken gewone tekst */
.g26 .g26-pagina .entry-content :is(h4, h5, h6) { margin: 1.3em 0 .35em; font-family: var(--kop-letter); font-weight: 700; line-height: 1.3; letter-spacing: 0; color: var(--inkt); }
.g26 .g26-pagina .entry-content h4 { font-size: 18px; }
.g26 .g26-pagina .entry-content h5 { font-size: 16.5px; }
.g26 .g26-pagina .entry-content h6 { font-size: 15.5px; }
/* Niet in het accountmenu: deze regel weegt zwaar (0,7,1) en won van "actief" (wit op blauw),
 * waardoor het actieve menu-item blauw op blauw stond (9 okt 2026). */
.g26 .entry-content a:not(.button):not([class*="g26-"]):not([class*="geus-"]):not(.quick-view):not(.add_to_cart_button):not(.woocommerce-MyAccount-navigation a) { color: var(--merk); }
.g26 .featured-box .icon-box-text h3, .g26 .featured-box h3 { font-family: var(--kop-letter); }
.g26 .shop_table .order-total small .amount, .g26 .cart_totals .order-total small .amount, .g26 .order-total .includes_tax .amount { font: 600 13px/1.3 var(--tekst-letter); color: var(--inkt-zacht); }
/* brede pc: negen merktegels vullen precies één rij */
@media (min-width: 1100px) { .g26-subcats-rij { grid-template-columns: repeat(9, minmax(0, 1fr)); } }
.g26 .g26-alle-merken { white-space: nowrap; }

/* lijsten en kleine kopjes in omschrijvingen ("Verkrijgbaar in", "Bewaaradvies", "Bezorging") */
.g26 .g26-tabinhoud ul, .g26 .g26-tabinhoud ol { margin: .3em 0 1.1em; padding-left: 1.4em; }
.g26 .g26-tabinhoud li { margin: .2em 0; padding-left: .2em; }
.g26 .g26-tabinhoud ul > li::marker { color: var(--accent); }
.g26 .g26-tabinhoud h5, .g26 .g26-tabinhoud h6 {
	margin: 1.6em 0 .35em; font: 700 13px/1.3 var(--kop-letter); letter-spacing: .08em; text-transform: uppercase; color: var(--accent);
}
.g26 .g26-tabinhoud h5 span, .g26 .g26-tabinhoud h6 span { font-size: inherit !important; }
.g26 .g26-tabinhoud .geus-product-analyse, .g26 .g26-tabinhoud .geus-product-samenstelling { max-width: none; }

/* Past hierbij: een carrousel van minstens tien producten. Vijf in beeld, op smallere schermen
   vier of drie; de rest schuift (pijlen in de kop, of vegen). Op de telefoon geldt de gewone
   schuifrij van .g26-rij, zonder pijlen. */
#past-hierbij .g26-rij { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 14px; padding-bottom: 6px; scrollbar-width: none; }
#past-hierbij .g26-rij::-webkit-scrollbar { display: none; }
#past-hierbij .g26-rij > .g26-kaartje { flex: 0 0 calc((100% - 4 * 14px) / 5); scroll-snap-align: start; display: flex; }
@media (max-width: 1280px) { #past-hierbij .g26-rij > .g26-kaartje { flex-basis: calc((100% - 3 * 14px) / 4); } }
@media (max-width: 1000px) { #past-hierbij .g26-rij > .g26-kaartje { flex-basis: calc((100% - 2 * 14px) / 3); } }
.g26-carrousel-pijlen { display: flex; gap: 8px; flex: none; }
.g26-carrousel:not(.is-schuifbaar) .g26-carrousel-pijlen { display: none; }
.g26 .g26-carrousel-pijl { width: 42px; height: 42px; border-radius: 50%; border: 1px solid var(--lijn); background: var(--vlak); color: var(--inkt); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; padding: 0; margin: 0; transition: background .15s, color .15s, border-color .15s; }
.g26 .g26-carrousel-pijl svg { width: 20px; height: 20px; }
.g26 .g26-carrousel-pijl[data-richting="-1"] svg { transform: rotate(90deg); }
.g26 .g26-carrousel-pijl[data-richting="1"] svg { transform: rotate(-90deg); }
.g26 .g26-carrousel-pijl:hover:not(:disabled), .g26 .g26-carrousel-pijl:focus-visible { background: var(--accent); color: #fff; border-color: var(--accent); }
.g26 .g26-carrousel-pijl:disabled { opacity: .35; cursor: default; }
@media (max-width: 860px) {
	.g26-carrousel-pijlen { display: none; }
	#past-hierbij .g26-rij > .g26-kaartje { flex-basis: min(64vw, 240px); }
}

/* ---------- Snel bekijken (Flatsome-venster) op de kaartjes ---------- */
.g26 .g26-snelkijk {
	position: absolute; left: 50%; bottom: 12px; z-index: 3; display: inline-flex; align-items: center; gap: 6px;
	transform: translate(-50%, 6px); opacity: 0; padding: 7px 14px; border-radius: 999px;
	background: var(--inkt); color: var(--grond); font: 700 13px/1.2 var(--tekst-letter); text-decoration: none; white-space: nowrap;
	box-shadow: var(--schaduw-klein); transition: opacity .15s, transform .15s;
}
.g26 .g26-snelkijk .g26-i { width: 16px; height: 16px; }
.g26-kaartje:hover .g26-snelkijk, .g26 .g26-snelkijk:focus-visible { opacity: 1; transform: translate(-50%, 0); }
.g26 .g26-snelkijk:hover { color: var(--grond); background: var(--merk-diep); }
@media (hover: none) { .g26 .g26-snelkijk { display: none; } }

/* ---------- dag/nacht-schakelaar ---------- */
.g26 .g26-thema { border: 0; background: transparent; padding: 0; margin: 0; cursor: pointer; }
.g26-thema .g26-zon, :root[data-theme="dark"] .g26-thema .g26-maan { display: none; }
:root[data-theme="dark"] .g26-thema .g26-zon { display: block; }

/* ==========================================================================
   Donker thema (kleuren uit het ontwerp). Alles wat met de kleurvariabelen werkt,
   gaat vanzelf mee; hieronder alleen wat vaste kleuren van Flatsome/WooCommerce/modules heeft.
   ========================================================================== */
:root[data-theme="dark"] {
	color-scheme: dark;
	--grond: #171a1c; --vlak: #202527; --vlak-2: #262c2f; --inkt: #eef1f0; --inkt-zacht: #a6b0b4;
	--lijn: #343c40; --merk: #4fb2d6; --merk-diep: #7cc9e6; --merk-licht: #1e3540;
	--kopbalk: #2b3236;
	--accent: #f08a5c; --accent-licht: #3a2a24; --accent-vlak: #46302a; --goed: #6fcf8e; --goed-licht: #1f3328;
	--schaduw: 0 10px 30px rgba(0, 0, 0, .35); --schaduw-klein: 0 4px 14px rgba(0, 0, 0, .3); --foto-licht: #4a352c;
	--knop-tekst: #0f1c22; --usp-grond: #10303c; --usp-tekst: #cfe6ef; --voet: #0f2f3b; --voet-diep: #0b2530;
}
:root[data-theme="dark"] body.g26 { background-image: none; }
/* Tijdens het wisselen van dag/nacht geen overgangen (g26.js en de contrastbewaker zetten dit). */
html.g26-wissel *, html.g26-wissel *::before, html.g26-wissel *::after { transition: none !important; }
:root[data-theme="dark"], :root[data-theme="dark"] body.g26 { background-color: var(--grond); }
/* het logo heeft donkere letters: op een licht kussentje blijft het leesbaar */
:root[data-theme="dark"] .g26-logo-link, :root[data-theme="dark"] .g26-lade-logo { background: #f7f3ef; border-radius: 12px; padding: 4px 10px; }
:root[data-theme="dark"] .g26-lade-logo { padding: 3px 8px; }
/* Op de telefoon maakte dat kussentje het logo 20px breder, waardoor de knoppen naar een tweede regel schoven. */
@media (max-width: 860px) {
	:root[data-theme="dark"] .g26-logo-link { padding: 3px 6px; border-radius: 10px; }
	:root[data-theme="dark"] .g26-logo { height: 34px; }
}
/* Smalle telefoons (360px): ook licht net te krap voor menu, logo en vier knoppen op één regel. */
@media (max-width: 370px) {
	.g26-kop-rij { column-gap: 8px; }
	.g26-logo { height: 34px; }
	:root[data-theme="dark"] .g26-logo { height: 30px; }
}
/* De zwevende filterknop is donker en viel weg tegen de donkere achtergrond: omgekeerd, licht met donkere letters. */
:root[data-theme="dark"] .geus-filter-trigger-sticky { background: #f7f3ef !important; color: #1d2327 !important; box-shadow: 0 4px 24px rgba(0, 0, 0, .5) !important; }
/* productfoto's staan op wit; die witte vlakken houden we wit, maar iets zachter */
:root[data-theme="dark"] .g26-kf, :root[data-theme="dark"] .g26-subcat-beeld, :root[data-theme="dark"] .g26-merk img,
:root[data-theme="dark"] .g26 .g26-duim, :root[data-theme="dark"] .g26-tegel.is-product .g26-tegel-foto { background: #f3f1ee; }
:root[data-theme="dark"] .g26 .g26-productfoto { background: #fff; border-color: var(--lijn); }
:root[data-theme="dark"] .g26-herkomst { background: rgba(32, 37, 39, .88); color: var(--inkt); }

/* NOG NIET OPGELOST (8 oktober). De maatkaarten houden in de nachtstand hun lichte vlak
   terwijl de letters wit worden: wit op bijna-wit. Deze regels kloppen -- de selector matcht
   aantoonbaar en ze staan met !important in het stylesheet dat de browser laadt -- en tóch
   wint er iets anders. In geen van de leesbare stylesheets staat een tegenregel; alleen
   components.css van WooCommerce is van buitenaf niet uit te lezen. Volgende stap: met de
   element-inspector op de pagina kijken welke regel het wint. Tot die tijd blijven ze staan.
   wit op bijna-wit, dus onleesbaar (Mike, 8 oktober). Hier met vaste donkere kleuren in
   plaats van via de variabelen, zodat het niet uitmaakt waar die lichte waarde vandaan kwam. */
html[data-theme="dark"] body.g26 button.g26-maat { background: #262c2f !important; border-color: #343c40 !important; color: #eef1f0 !important; }
html[data-theme="dark"] body.g26 button.g26-maat[aria-pressed="true"] { background: #1e3540 !important; border-color: #4fb2d6 !important; }
:root[data-theme="dark"] .g26 .g26-maat:hover { border-color: #4fb2d6; }
:root[data-theme="dark"] .g26 .g26-maat[aria-pressed="true"] { background: #1e3540 !important; border-color: #4fb2d6; }
:root[data-theme="dark"] .g26 .g26-maat-per, :root[data-theme="dark"] .g26 .g26-maat-prijs del { color: #a6b0b4; }

/* De koopbalk: witte letters op de knop (het lichtblauw met donkere letters las slecht),
   en links ruimte voor het bedrag met de maat eronder -- "17 Kilo (krat)" werd afgekapt. */
:root[data-theme="dark"] .g26 .g26-balk .g26-knop,
:root[data-theme="dark"] .g26 .g26-balk .g26-balk-knop,
:root[data-theme="dark"] .g26 .g26-koop .single_add_to_cart_button {
	background: #12789f; border-color: #12789f; color: #fff;
}
:root[data-theme="dark"] .g26 .g26-balk .g26-knop:hover,
:root[data-theme="dark"] .g26 .g26-koop .single_add_to_cart_button:hover { background: #0e5f7e; border-color: #0e5f7e; color: #fff; }

.g26-balk-prijs { flex: 1 1 auto; }
.g26-balk-tekst {
	white-space: normal; overflow: hidden; line-height: 1.25;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical;
}
.g26 .g26-balk .g26-knop { flex: 0 1 auto; }
:root[data-theme="dark"] .g26 .g26-vergroot { background: rgba(32, 37, 39, .85); color: var(--inkt); }
/* tekst en tabellen van WooCommerce/Flatsome */
:root[data-theme="dark"] .g26 :is(label, legend, th, td, dt, dd, .woocommerce-checkout p, .entry-content p, .entry-content li, .g26-tabinhoud p, .g26-tabinhoud li, .page-title, .product-name, .woocommerce-loop-product__title) { color: var(--inkt); }
:root[data-theme="dark"] .g26 .amount, :root[data-theme="dark"] .g26 .price { color: inherit; }
:root[data-theme="dark"] .g26 .woocommerce-message, :root[data-theme="dark"] .g26 .woocommerce-info, :root[data-theme="dark"] .g26 .woocommerce-error { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-product-analyse, :root[data-theme="dark"] .g26 .geus-product-samenstelling { background: var(--vlak); color: var(--inkt); }
/* filters op de telefoon (onderpaneel van de module) */
:root[data-theme="dark"] .geus-filter-sheet, :root[data-theme="dark"] .geus-filter-sheet__header, :root[data-theme="dark"] .geus-filter-sheet__footer { background: var(--vlak); color: var(--inkt); }
:root[data-theme="dark"] .geus-filter-option, :root[data-theme="dark"] .geus-filter-section__label { color: var(--inkt); }
/* zoekveld en Flatsome-onderdelen met witte vlakken */
:root[data-theme="dark"] .g26 .page-title, :root[data-theme="dark"] .g26 .page-wrapper, :root[data-theme="dark"] .g26 .shop-container { background: transparent; color: var(--inkt); }
:root[data-theme="dark"] .g26 .quantity input.qty { color: var(--inkt); }
:root[data-theme="dark"] .g26 .is-divider { background-color: var(--lijn); }

/* de levertijdregel van de module bestelartikelen ("beschikbaar vanaf dinsdag 06-10") is uitleg, geen voorraadstatus */
.g26 .g26-koop .stock.geus-gh-vooruit { color: var(--inkt-zacht); font-weight: 500; margin-top: 4px; }
.g26 .g26-koop .stock.geus-gh-vooruit::before { display: none; }
.g26 .g26-koop .stock.geus-gh-vooruit strong, .g26 .g26-koop .stock.geus-gh-vooruit b { color: var(--inkt); font-weight: 700; }
/* het bedrag staat al in de knop (vanaf 1001 px); de losse variatieprijs eronder is dan dubbel */
@media (min-width: 1001px) { .g26 .g26-koop .g26-maten-blok ~ .single_variation_wrap .woocommerce-variation-price { display: none; } }

/* voeradviescalculator (module voeradvies) in de nachtstand: eigen vaste kleuren omzetten naar het donkere palet */
:root[data-theme="dark"] .g26 .geus-voercalc { background: var(--vlak); border-color: var(--lijn); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-voercalc label, :root[data-theme="dark"] .g26 .geus-voercalc .gb-label { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-voercalc select, :root[data-theme="dark"] .g26 .geus-voercalc .gb-invoer input { background-color: var(--vlak-2); border-color: var(--lijn); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-voercalc select:focus, :root[data-theme="dark"] .g26 .geus-voercalc .gb-invoer input:focus { background-color: var(--vlak-2); }
:root[data-theme="dark"] .g26 .geus-voercalc .gb-eenheid, :root[data-theme="dark"] .g26 .geus-voercalc .gb-onder, :root[data-theme="dark"] .g26 .geus-voercalc .gb-hint { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-voercalc .gb-kcal { color: var(--inkt-zacht) !important; }
:root[data-theme="dark"] .g26 .geus-voercalc .gb-details p { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-voercalc .gb-pil { background: var(--vlak-2); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-voercalc .gb-keuze label { background: var(--vlak-2); border-color: var(--lijn); color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-voercalc .gb-keuze input:checked + label { color: var(--merk); border-color: var(--merk); background: var(--merk-licht); }
:root[data-theme="dark"] .g26 .geus-voercalc .gb-uitkomst { background: var(--vlak-2); }
:root[data-theme="dark"] .g26 .geus-voercalc :is(.gb-cijfer, .gb-gram, .gb-eenheid-groot, .gb-maand, .gb-pil strong) { color: var(--merk); }

/* ==========================================================================
   Voerkiezer (module voerkiezer) in de nachtstand
   --------------------------------------------------------------------------
   De wizard zet zijn eigen kleuren in een <style>-blok in de pagina en kent de
   nachtstand niet: wit op wit, en de kruimels bovenaan onleesbaar. Eerst zetten
   we zijn eigen variabelen om -- daarmee volgt alles wat var(--vk-*) gebruikt
   mee -- en daarna de vlakken die hij hard heeft staan.
   ========================================================================== */

:root[data-theme="dark"] .g26 .geus-vk {
	--vk-accent: var(--merk); --vk-accent-donker: var(--merk-diep);
	--vk-bg: var(--grond); --vk-rand: var(--lijn); --vk-grijs: var(--inkt-zacht);
	color: var(--inkt);
}

/* de kruimels en de voortgangsbalk */
:root[data-theme="dark"] .g26 .geus-vk-kruimels li { background: var(--vlak); }
:root[data-theme="dark"] .g26 .geus-vk-kruimels li.nu { color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-vk-kruimels li.klaar { background: var(--merk-licht); border-color: var(--merk-licht); color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-vk-bol { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-vk-kruimels li.nu .geus-vk-bol { color: var(--knop-tekst); }
:root[data-theme="dark"] .g26 .geus-vk-kruimels li.klaar .geus-vk-bol { background: var(--merk); color: var(--knop-tekst); }
:root[data-theme="dark"] .g26 .geus-vk-staplabel { color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-vk-balk { background: var(--vlak-2); }

/* de keuzekaarten */
:root[data-theme="dark"] .g26 .geus-vk-optie { background: var(--vlak); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-vk-optie:hover { box-shadow: var(--schaduw-klein); }
:root[data-theme="dark"] .g26 .geus-vk-optie.gekozen { background: var(--merk-licht); border-color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-vk-optie.gekozen::after { color: var(--knop-tekst); }

/* het bolletje met de uitleg, en het tekstwolkje eruit */
:root[data-theme="dark"] .g26 .geus-vk-info { background: var(--vlak-2); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-vk-info:hover,
:root[data-theme="dark"] .g26 .geus-vk-info.open { background: var(--merk); color: var(--knop-tekst); }
:root[data-theme="dark"] .g26 .geus-vk-info::after { background: var(--vlak-2); color: var(--inkt); border: 1px solid var(--lijn); box-shadow: var(--schaduw-klein); }

/* de naam- en gewichtvelden */
:root[data-theme="dark"] .g26 .geus-vk input.geus-vk-tekst { background: var(--vlak-2); color: var(--inkt); }

/* de knoppen */
:root[data-theme="dark"] .g26 .geus-vk-verder,
:root[data-theme="dark"] .g26 .geus-vk-bewaarknop,
:root[data-theme="dark"] .g26 .geus-vk-bewaarknop:hover { color: var(--knop-tekst); }
:root[data-theme="dark"] .g26 .geus-vk-verder:disabled,
:root[data-theme="dark"] .g26 .geus-vk-bewaarknop:disabled { background: var(--vlak-2); color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-vk-opnieuw { background: transparent; color: var(--merk); border-color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-vk-opnieuw:hover { background: var(--merk); color: var(--knop-tekst); }

/* het laadskelet. background-size moet mee: de verloop-shorthand zet hem anders
   terug op auto en dan staat het glimmertje stil. */
:root[data-theme="dark"] .g26 .geus-vk-skelet-portie,
:root[data-theme="dark"] .g26 .geus-vk-skelet-kaart { background: var(--vlak); }
:root[data-theme="dark"] .g26 .geus-vk-glim { background: linear-gradient(90deg, #2b3134 25%, #363d41 50%, #2b3134 75%); background-size: 400% 100%; }

/* de uitkomst: portie, notitie en het blok om het dier te bewaren */
:root[data-theme="dark"] .g26 .geus-vk-portie,
:root[data-theme="dark"] .g26 .geus-vk-bewaren { background: var(--vlak); border-color: rgba(79, 178, 214, .45); box-shadow: none; }
:root[data-theme="dark"] .g26 .geus-vk-portie .geus-vk-groot,
:root[data-theme="dark"] .g26 .geus-vk-bewaarmelding { color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-vk-eenheid-groot { color: var(--merk-diep); }
:root[data-theme="dark"] .g26 .geus-vk-portieuitleg { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-vk-notitie { background: var(--vlak); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-vk-bewaren p,
:root[data-theme="dark"] .g26 .geus-vk-bewaren ul { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-vk-bewaarmelding.fout { color: var(--accent); }

/* ==========================================================================
   Winkelwagen en losse pagina's op de telefoon (Mike, 4 okt 2026)
   ========================================================================== */

/* Minder lege ruimte tussen de laatste tekst en de voettekst. */
.g26 .page-wrapper { padding-bottom: 0; }
.g26 .page-wrapper > #content { padding-bottom: 8px; }
.g26 .entry-content { padding-bottom: 0; }
.g26 .entry-content > .section:last-child .row:last-child > .col:last-child,
.g26 .entry-content > .row:last-child > .col:last-child { padding-bottom: 0; }

/* Het kruisje om te verwijderen stond buiten het vak; daardoor kon de hele wagen opzij schuiven. */
@media (max-width: 849px) {
	.g26 .cart-wrapper.sm-touch-scroll { overflow-x: visible; }
	.g26 .woocommerce-cart-form__cart-item { position: relative; }
	.g26 .woocommerce-cart-form__cart-item td.product-remove { position: static; }
	.g26 .woocommerce-cart-form__cart-item .remove { position: absolute !important; right: 0 !important; top: 10px !important; left: auto !important; width: 28px; height: 28px; line-height: 26px; text-align: center; border-radius: 999px; border: 1px solid var(--lijn) !important; color: var(--inkt-zacht) !important; font-size: 18px; }
	.g26 .woocommerce-cart-form__cart-item td.product-name { padding-right: 34px; }
	/* Ook het bedrag wegsturen van het kruisje: bij een korte regel (geen kortingsvlaggetje)
	   stond het er precies achter. */
	.g26 .woocommerce-cart-form__cart-item td.product-subtotal { padding-right: 34px; }

	/* De tabel met de totalen viel op de telefoon uit elkaar: WooCommerce zet de waarde
	   onder het label (shop_table_responsive), waardoor "SUBTOTAAL" en "€ 98,37" elk een
	   eigen regel kregen met een half streepje ertussen. Hier houden we het op twee
	   kolommen: woord links, bedrag rechts. */
	.g26 .cart_totals table.shop_table tr {
		display: flex; align-items: baseline; justify-content: space-between; gap: 14px;
		padding: 11px 0; border-bottom: 1px solid var(--lijn);
	}
	.g26 .cart_totals table.shop_table tr:last-child { border-bottom: 0; }
	.g26 .cart_totals table.shop_table th,
	.g26 .cart_totals table.shop_table td {
		display: block; width: auto; margin: 0; padding: 0; border: 0; background: none;
	}
	.g26 .cart_totals table.shop_table th { flex: 0 0 auto; text-align: left; font-weight: 600; color: var(--inkt-zacht); }
	.g26 .cart_totals table.shop_table td { flex: 1 1 auto; text-align: right; color: var(--inkt); }
	/* Het label dat de responsieve tabel vóór de waarde zet is hier dubbelop. */
	.g26 .cart_totals table.shop_table td::before { display: none !important; content: none !important; }

	/* De verzendregel heeft een eigen formuliertje; dat mag de volle breedte hebben. */
	.g26 .cart_totals table.shop_table tr.shipping { display: block; }
	.g26 .cart_totals table.shop_table tr.shipping th { margin-bottom: 4px; }
	.g26 .cart_totals table.shop_table tr.shipping td { text-align: left; }

	/* Het eindbedrag mag eruit springen. */
	.g26 .cart_totals table.shop_table tr.order-total th { color: var(--inkt); font-size: 16px; }
	.g26 .cart_totals table.shop_table tr.order-total td { font-size: 18px; font-weight: 800; }
	.g26 .cart_totals table.shop_table tr.order-total small { display: block; font-weight: 500; font-size: 12.5px; color: var(--inkt-zacht); }
}
.g26 .woocommerce-cart-form__cart-item .remove { color: var(--inkt-zacht); }
.g26 .woocommerce-cart-form__cart-item .remove:hover { background: var(--accent-licht); color: var(--accent) !important; border-color: var(--accent) !important; }

/* Plus/min: één pilvorm, zoals op de productpagina. */
.g26 .woocommerce-cart-form .quantity { display: inline-flex; align-items: stretch; height: 42px; border: 2px solid var(--lijn); border-radius: 12px; overflow: hidden; background: var(--vlak-2); }
.g26 .woocommerce-cart-form .quantity .button, .g26 .woocommerce-cart-form .quantity .ux-quantity__button { width: 38px; min-height: 0; height: 100%; margin: 0; padding: 0; border: 0 !important; border-radius: 0 !important; background: transparent !important; color: var(--inkt) !important; font-size: 18px; box-shadow: none; }
.g26 .woocommerce-cart-form .quantity .button:hover { background: var(--merk-licht) !important; }
.g26 .woocommerce-cart-form .quantity input.qty { width: 40px; height: 100%; margin: 0; border: 0 !important; background: transparent !important; color: var(--inkt); text-align: center; font-weight: 700; font-size: 16px; box-shadow: none; padding: 0; }
/* Het cadeau heeft een vast aantal; "1 x Gratis" staat er al. */
.g26 .woocommerce-cart-form .geus-cadeau-fixed-qty { display: none; }
.g26 .woocommerce-cart-form .geus-free-gift-row td.product-quantity { display: none !important; }

/* Ruimte boven "Waardebon". */
.g26 .geus-coupon-collapsible { margin-top: 22px !important; }

/* Afrekenknop in donker: lichtblauw met donkere letters (Flatsome hield hem op het donkere blauw). */
:root[data-theme="dark"] .g26 .wc-proceed-to-checkout .checkout-button, :root[data-theme="dark"] .g26 #place_order { background-color: var(--merk) !important; border-color: var(--merk) !important; color: var(--knop-tekst) !important; }

/* ---------- Cadeau-campagne (module cadeau-campagne) in de stijl van het thema ---------- */
.g26 .geus-cadeau-campagne { background: var(--vlak) !important; border: 1px solid var(--lijn) !important; border-radius: var(--radius) !important; box-shadow: var(--schaduw-klein) !important; padding: 18px !important; color: var(--inkt); margin: 0 0 18px !important; }
.g26 .geus-cadeau-campagne__header h2 { font: 700 20px/1.25 var(--kop-letter) !important; color: var(--inkt) !important; margin: 0 0 2px !important; }
.g26 .geus-cadeau-progress__meta { font-size: 14px !important; color: var(--inkt-zacht) !important; }
.g26 .geus-cadeau-progress__meta .amount { color: var(--inkt); font-weight: 700; }
/* Bedrag en naam onder het cadeau-icoontje weg (Mike: onleesbaar klein), de balk zo breed als het vak. */
.g26 .geus-cadeau-progress__amount, .g26 .geus-cadeau-progress__label { display: none !important; }
.g26 .geus-cadeau-campagne .geus-cadeau-progress__track { margin-left: 12px !important; margin-right: 12px !important; margin-bottom: 26px !important; }
.g26 .geus-cadeau-thresholds { display: grid; gap: 12px; }
.g26 .geus-cadeau-threshold { background: var(--vlak-2) !important; border: 1px solid var(--lijn) !important; border-radius: 14px !important; padding: 14px !important; box-shadow: none !important; margin: 0 !important; }
/* Kop en "1 / 1 gekozen" naast elkaar, de uitleg eronder over de volle breedte. */
.g26 .geus-cadeau-threshold__intro { display: grid !important; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 4px 10px; }
.g26 .geus-cadeau-threshold__intro > div:not(.geus-cadeau-threshold__status) { display: contents; }
.g26 .geus-cadeau-threshold__intro h3 { grid-column: 1; grid-row: 1; }
.g26 .geus-cadeau-threshold__intro p { grid-column: 1 / -1; grid-row: 2; }
.g26 .geus-cadeau-threshold__intro .geus-cadeau-threshold__status { grid-column: 2; grid-row: 1; }
.g26 .geus-cadeau-threshold h3 { font: 700 16px/1.3 var(--kop-letter) !important; color: var(--inkt) !important; margin: 0 !important; }
.g26 .geus-cadeau-threshold__intro p { font-size: 13.5px !important; line-height: 1.45 !important; color: var(--inkt-zacht) !important; margin: 3px 0 0 !important; }
.g26 .geus-cadeau-threshold__status { flex: none; display: inline-flex !important; align-items: baseline; gap: 4px; padding: 4px 10px !important; border-radius: 999px !important; background: var(--goed-licht) !important; color: var(--goed) !important; font-size: 12px !important; min-width: 0 !important; }
.g26 .geus-cadeau-threshold__status strong { font-size: 13px !important; color: inherit !important; }
.g26 .geus-cadeau-threshold:not(.is-completed) .geus-cadeau-threshold__status { background: var(--merk-licht) !important; color: var(--merk) !important; }
.g26 .geus-cadeau-options { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 10px !important; margin-top: 12px !important; }
.g26 .geus-cadeau-campagne .geus-cadeau-option { grid-template-rows: auto !important; grid-auto-rows: auto !important; align-content: center; min-height: 0 !important; height: auto !important; text-align: left !important; display: grid !important; grid-template-columns: 64px minmax(0, 1fr); gap: 4px 12px; align-items: center; width: auto !important; max-width: none !important; margin: 0 !important; padding: 8px 10px 8px 8px !important; background: var(--vlak) !important; border: 1.5px solid var(--lijn) !important; border-radius: 12px !important; box-shadow: none !important; }
.g26 .geus-cadeau-option.is-selected { border-color: var(--goed) !important; }
.g26 .geus-cadeau-campagne .geus-cadeau-option__image { grid-row: 1 !important; grid-column: 1; align-self: center; width: 64px !important; height: 64px !important; min-height: 0 !important; max-height: 64px !important; aspect-ratio: auto !important; margin: 0 !important; padding: 0 !important; border-radius: 10px; overflow: hidden; background: #f3f1ee !important; }
.g26 .geus-cadeau-option__image img { width: 100% !important; height: 100% !important; min-height: 0 !important; max-height: none !important; object-fit: cover; margin: 0 !important; }
.g26 .geus-cadeau-option__body { padding: 0 !important; background: none !important; border: 0 !important; min-height: 0 !important; text-align: left !important; flex-direction: row !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: 2px 8px; }
.g26 .geus-cadeau-option__body h4 { flex: 1 1 100%; font: 600 14.5px/1.3 var(--tekst-letter) !important; color: var(--inkt) !important; margin: 0 !important; padding: 0 !important; }
.g26 .geus-cadeau-option__price { color: var(--goed) !important; font-weight: 700 !important; font-size: 14px !important; margin: 0 !important; }
.g26 .geus-cadeau-option__selected { position: static !important; display: inline-block !important; padding: 2px 8px !important; border-radius: 999px !important; background: var(--goed-licht) !important; color: var(--goed) !important; font-size: 12px !important; font-weight: 700; }
.g26 .geus-cadeau-option__form { grid-column: 2; grid-row: 2; margin: 4px 0 0 !important; padding: 0 !important; }
.g26 .geus-cadeau-option__form .button { width: auto !important; display: inline-flex !important; padding: 7px 14px !important; min-height: 0 !important; border-radius: 999px !important; font-size: 13px !important; background: var(--merk) !important; border-color: var(--merk) !important; color: var(--knop-tekst) !important; }
.g26 .geus-cadeau-option__form .button[disabled] { background: var(--lijn) !important; border-color: var(--lijn) !important; color: var(--inkt-zacht) !important; }
@media (min-width: 700px) { .g26 .geus-cadeau-options { grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)) !important; } }

/* Gevonden bij de eigen ronde (4 okt 2026) */
/* Wit op de lichte accentkleuren van donker was slecht leesbaar (contrast 2,5 of minder): daar donkere letters. */
:root[data-theme="dark"] .g26-badge.is-actie, :root[data-theme="dark"] .g26-mand-teller,
:root[data-theme="dark"] .g26-maat-tip { color: #10181c; }
.g26-maat-tip { font-size: 12px; }
/* Flatsome's "is-xsmall" (9,5px) was te klein, o.a. "20 producten" bij de merken. */
.g26 .is-xsmall { font-size: 12px; }
/* Grijze voetnoten op de retour- en informatiepagina waren te licht. */
.g26 .geus-retour .gr-note, .g26 .gi-note { color: var(--inkt-zacht) !important; }
/* Adreskaartje in plaats van de lege Google-kaart (contactpagina). */
.g26-adreskaart { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; margin: 0 0 20px; padding: 18px; background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); }
.g26-adreskaart-label { font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--merk); }
.g26-adreskaart b { font: 700 18px/1.3 var(--kop-letter); color: var(--inkt); }
.g26-adreskaart .g26-knop { margin-top: 6px; }
/* Met kaartbeeld (OpenStreetMap, vooraf gemaakt met het pand in het midden) en de speld als overlay op het middelpunt. */
.g26-adreskaart--kaart { padding: 0; gap: 0; align-items: stretch; overflow: hidden; }
.g26-adreskaart-kaart { position: relative; height: 340px; background: #e8ecf0; }
.g26-adreskaart-link { position: absolute; inset: 0; display: block; }
.g26-adreskaart-kaart picture { display: block; height: 100%; }
.g26-adreskaart-kaart img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: 50% 50%; }
.g26-adreskaart-speld { position: absolute; left: 50%; top: 50%; width: 36px; height: 48px; transform: translate(-50%, -100%); color: var(--merk); filter: drop-shadow(0 3px 4px rgba(0, 0, 0, .35)); pointer-events: none; }
.g26-adreskaart-bron { position: absolute; right: 0; bottom: 0; padding: 3px 7px; font-size: 11px; line-height: 1.3; color: #333; background: rgba(255, 255, 255, .82); border-top-left-radius: 6px; text-decoration: none; }
.g26-adreskaart-bron:hover { text-decoration: underline; }
.g26-adreskaart-tekst { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 18px; padding: 16px 18px; }
.g26-adreskaart-tekst > div { display: flex; flex-direction: column; gap: 4px; }
.g26-adreskaart--kaart .g26-knop { margin-top: 0; }
:root[data-theme="dark"] .g26-adreskaart-kaart img { filter: brightness(.8) contrast(1.06) saturate(.8); }
@media (max-width: 560px) { .g26-adreskaart-kaart { height: 240px; } }
/* Labels in de productkaartjes iets groter (waren 11px). */
.g26 .geus-ka-badge { font-size: 12px; }
/* "Bestelartikel" in het kaartje: een echt label met een klokje, in merkblauw, dag en nacht (Mike,
 * 9 okt 2026: "iets duidelijker"). Sinds 19 okt 2026 tekent het kaartje het zelf (productkaart.php,
 * met de klasse van de module bestelartikelen); de opmaak van de module komt alleen op winkel-,
 * categorie- en productpagina's mee, dus hier alles zelf. */
.g26 .geus-gh-loop-badge {
	display: inline-flex; align-items: center; gap: 5px; align-self: flex-start;
	margin: 5px 0 0; padding: 3px 10px 3px 7px; border: 1px solid var(--merk); border-radius: 999px;
	background: var(--merk-licht); color: var(--merk-diep);
	font: 700 12px/1.3 var(--tekst-letter); letter-spacing: .01em; white-space: nowrap;
}
.g26 .geus-gh-loop-badge::before {
	content: ""; flex: none; width: 13px; height: 13px; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M12 7v5l3 2'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* ==========================================================================
   Productpagina zoals het ontwerp "Schotse zalmolie" (4 okt 2026)
   ========================================================================== */
.g26 .g26-knop-tekst { white-space: nowrap; }
/* WebwinkelKeur onder de belofte */
.g26 .g26-product-score { display: inline-flex; align-items: center; gap: 10px; margin-top: 14px; font-size: 14px; color: var(--inkt-zacht); text-decoration: none; }
.g26 .g26-product-score b { color: var(--inkt); }
.g26 .g26-product-score:hover span:last-child { text-decoration: underline; }
.g26-product-score .g26-sterren .g26-i { width: 17px; height: 17px; }
/* voorraad, deadline en verlanglijst onder de knop */
.g26-voorraad { display: flex; align-items: center; gap: 8px; margin-top: 14px; font-size: 14px; font-weight: 600; color: var(--goed); }
.g26-voorraad i { width: 9px; height: 9px; border-radius: 999px; background: currentColor; box-shadow: 0 0 0 4px var(--goed-licht); flex: none; }
.g26-voorraad.is-bestel { color: var(--merk); }
.g26-voorraad.is-bestel i { box-shadow: 0 0 0 4px var(--merk-licht); }
.g26-voorraad.is-uit { color: var(--accent); }
.g26-voorraad.is-uit i { box-shadow: 0 0 0 4px var(--accent-licht); }
.g26-voorraad.is-leeg { display: none; }
/* De bijzin "meer nodig? dat bestellen we voor je" op een eigen regel, uitgelijnd onder de tekst. */
.g26-voorraad { flex-wrap: wrap; }
.g26-voorraad-bij { flex: 0 0 100%; margin: 2px 0 0 17px; font-style: normal; font-weight: 500; font-size: 13px; line-height: 1.35; color: var(--inkt-zacht); }
.g26-voorraad-bij[hidden] { display: none; }
.g26-deadline { margin-top: 12px; padding: 10px 12px; border-radius: 10px; background: var(--vlak-2); border: 1px dashed var(--lijn); font-size: 13.5px; display: flex; gap: 9px; align-items: flex-start; }
.g26-deadline .g26-i { width: 17px; height: 17px; flex: none; color: var(--accent); margin-top: 2px; }
.g26-wens { position: relative; display: inline-flex; align-items: center; gap: 6px; margin-top: 14px; font-size: 14px; color: var(--inkt-zacht); }
.g26 .g26-wens .geus-wishlist-btn-container { position: static; margin: 0; display: inline-flex !important; } /* de module verbergt hem in de samenvatting */
.g26 .g26-wens .geus-wishlist-btn { position: static; width: 32px; height: 32px; padding: 0; margin: 0; border: 1px solid var(--lijn); border-radius: 999px; background: var(--vlak); color: var(--inkt-zacht); display: grid; place-items: center; box-shadow: none; }
.g26 .g26-wens .geus-wishlist-btn.geus-wishlist-active { color: var(--accent); border-color: var(--accent); }
.g26 .g26-wens .geus-wishlist-btn.geus-wishlist-active svg { fill: currentColor; }
.g26 .g26-wens .geus-wishlist-icon { width: 17px; height: 17px; }
/* de hele regel is klikbaar: de tekst stuurt de knop aan */
.g26-wens-tekst { cursor: pointer; }
/* secties */
.g26-drie { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 22px; }
.g26-twee { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 28px; margin-top: 22px; align-items: start; }
.g26-een { margin-top: 22px; }
.g26 .g26-stappen { counter-reset: stap; display: grid; gap: 14px; margin: 0; padding: 0; list-style: none; }
.g26 .g26-stappen li { display: grid; grid-template-columns: 38px minmax(0, 1fr); gap: 12px; align-items: start; margin: 0; list-style: none; }
.g26-stappen li::before { counter-increment: stap; content: counter(stap); width: 34px; height: 34px; border-radius: 999px; background: var(--merk-licht); color: var(--merk); font: 800 17px/34px var(--kop-letter); text-align: center; }
.g26-stappen b { display: block; font-weight: 700; color: var(--inkt); }
.g26-stappen span { color: var(--inkt-zacht); font-size: 15px; }
.g26-reken { background: var(--vlak); border: 1px solid var(--lijn); border-radius: var(--radius); padding: 20px; }
.g26 .g26-reken h3 { font: 700 18px/1.2 var(--kop-letter); margin: 0; }
.g26 .g26-reken p { color: var(--inkt-zacht); font-size: 14px; margin: 4px 0 12px; }
.g26-lepels { display: flex; gap: 8px; flex-wrap: wrap; }
.g26 .g26-lepel { border: 2px solid var(--lijn); background: var(--vlak-2); color: var(--inkt); border-radius: 999px; padding: 7px 14px; font-weight: 600; font-size: 14px; margin: 0; min-height: 0; line-height: 1.3; text-transform: none; letter-spacing: 0; }
.g26 .g26-lepel[aria-pressed="true"] { border-color: var(--accent); background: var(--accent-licht); color: var(--accent); }
.g26-uitkomst { margin-top: 14px; display: flex; align-items: baseline; gap: 8px; }
.g26-uitkomst b { font: 800 40px/1 var(--kop-letter); color: var(--accent); }
.g26-uitkomst span { color: var(--inkt-zacht); font-size: 14px; }
.g26-reken small { display: block; margin-top: 8px; color: var(--inkt-zacht); font-size: 12.5px; }
.g26-bewaar { display: flex; gap: 12px; background: var(--merk-licht); border-radius: 14px; padding: 14px 16px; margin-top: 14px; font-size: 14.5px; color: var(--inkt); }
.g26-bewaar .g26-i { width: 20px; height: 20px; flex: none; color: var(--merk); margin-top: 2px; }
.g26 details.g26-vraag { background: var(--vlak); border: 1px solid var(--lijn); border-radius: 14px; margin-top: 10px; }
.g26 details.g26-vraag summary { cursor: pointer; list-style: none; padding: 14px 18px; font: 700 17px/1.3 var(--kop-letter); color: var(--inkt); display: flex; justify-content: space-between; gap: 12px; }
.g26 details.g26-vraag summary::-webkit-details-marker { display: none; }
.g26 details.g26-vraag summary::after { content: "+"; color: var(--merk); font-size: 22px; line-height: 1; }
.g26 details.g26-vraag[open] summary::after { content: "\2013"; }
.g26 details.g26-vraag > div { padding: 0 18px 4px; color: var(--inkt-zacht); font-size: 15px; max-width: 70ch; }
.g26 details.g26-vraag > div p { margin: 0 0 12px; }
@media (max-width: 860px) {
	.g26-drie { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
	.g26-twee { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 560px) {
	.g26-drie { grid-template-columns: minmax(0, 1fr); }
	.g26 .g26-product-score { font-size: 13px; gap: 8px; }
}
.g26-deadline[hidden] { display: none; }
/* "Past hierbij" op de telefoon schuift opzij, net als de andere productrijen (sinds 0.6.0 een
   carrousel van tien of meer; twee bij twee werd daarmee te lang). */
/* Met maatkaarten staan prijs en voorraad al in de knop en de voorraadregel: de losse prijs en
   "7 op voorraad" van WooCommerce eronder zijn dan dubbel. */
.g26 .g26-koop .g26-maten-blok ~ .single_variation_wrap .woocommerce-variation-price,
.g26 .g26-koop .g26-maten-blok ~ .single_variation_wrap .woocommerce-variation-availability { display: none; }
/* Volgorde in het koopblok: knop, voorraad, houdbaarheid, deadline, verlanglijst, bezorging. */
.g26 .g26-koop { display: flex; flex-direction: column; }
.g26 .g26-koop > .g26-voorraad { order: 1; }
.g26 .g26-koop > [id^="geus-mi-"] { order: 2; margin-top: 8px; font-size: 13.5px; color: var(--inkt-zacht); }
.g26 .g26-koop > [id^="geus-mi-"] .mi-info-label { font-weight: 600; }
.g26 .g26-koop > .g26-deadline { order: 3; }
.g26 .g26-koop > .g26-wens { order: 4; align-self: flex-start; }
.g26 .g26-koop > #geus-back-in-stock-variable-wrapper { order: 4; }
.g26 .g26-koop > .g26-levering { order: 5; }
/* Het label "18% voordeliger" viel op de telefoon over de maatnaam. */
@media (max-width: 560px) {
	.g26-maat-tip { font-size: 10.5px; right: 8px; padding: 2px 8px; }
	.g26 .g26-maat:has(.g26-maat-tip) { padding-top: 26px; }
}
.g26 .g26-balk-knop, .g26 .g26-koop .single_add_to_cart_button { text-transform: none; letter-spacing: 0; }

/* ---------- 6 okt 2026: hartje op het kaartje, levering in Snel bekijken, blokken onder het product even breed ---------- */
/* Het hartje (module verlanglijst) rechtsboven op de foto; de badge "Nieuw"/korting staat links. */
/* !important: Flatsome zet 'lightbox' op de body, en de module verbergt hartjes binnen .lightbox (bedoeld voor Snel bekijken). */
.g26 .g26-kaartje > .geus-wishlist-btn-container { position: absolute; top: 10px; right: 10px; z-index: 3; margin: 0; display: flex !important; }
.g26-kaartje .geus-wishlist-btn { width: 34px !important; height: 34px !important; min-width: 34px !important; min-height: 34px !important; border-color: var(--lijn) !important; box-shadow: 0 3px 10px rgba(31, 42, 46, .12) !important; }
.g26-kaartje .geus-wishlist-btn .geus-wishlist-icon { width: 17px; height: 17px; }
.g26-kaartje .geus-wishlist-btn.geus-wishlist-active { color: var(--accent) !important; border-color: var(--accent) !important; }
.g26-kaartje .geus-wishlist-btn.geus-wishlist-active svg { fill: currentColor; }
.g26-kaartje .geus-wishlist-dropdown { position: absolute; right: 0; top: 40px; z-index: 5; }

/* Levering in Snel bekijken */
.g26-qv-levering[hidden] { display: none !important; }
.g26-qv-levering { display: flex; gap: 10px; align-items: flex-start; margin: 12px 0; padding: 12px 14px; border-radius: 12px; background: var(--merk-licht); color: var(--inkt); font-size: 14px; line-height: 1.4; }
/* ==========================================================================
   Meldingsblokken van de modules (.geus-notice): allergie-waarschuwing uit
   mijn-dieren, "binnenkort verwacht" uit atum-inbound-stock.

   De plugin heeft hier een eigen stylesheet voor, maar die kwam op dit thema niet
   aan: op de productpagina bleef er een vierkantje met alleen het pictogram over,
   zonder tekst ernaast (Mike, 8 oktober). Daarom hier in de kleuren van het thema,
   inclusief de nachtstand -- dan hangt het nergens meer van af.
   ========================================================================== */
.g26 .geus-notice {
	display: flex; align-items: flex-start; gap: 10px;
	width: 100%; box-sizing: border-box; margin: 12px 0; padding: 12px 14px;
	border: 1px solid var(--lijn); border-left: 4px solid var(--inkt-zacht); border-radius: 12px;
	background: var(--vlak-2); color: var(--inkt);
	font-size: 14px; line-height: 1.45;
}

/* De "binnenkort verwacht"-box staat verborgen tot het script hem met een inline display:flex
   toont. Zonder deze regel won de flex hierboven van de display:none van de module, en stond er
   op elk variabel product een lege box (18 okt 2026). */
.g26 .geus-inbound-box { display: none; }

.g26 .geus-notice__icon { flex: 0 0 auto; font-size: 18px; line-height: 1.2; }
.g26 .geus-notice__body { min-width: 0; }
.g26 .geus-notice__title { font-weight: 700; margin-bottom: 2px; }
.g26 .geus-notice__text { color: inherit; }
.g26 .geus-notice__meta { margin-top: 3px; font-size: 13px; color: var(--inkt-zacht); }
.g26 .geus-notice a { color: var(--merk); }

.g26 .geus-notice--info { border-left-color: var(--merk); background: var(--merk-licht); }
.g26 .geus-notice--warning { border-left-color: var(--accent); background: var(--accent-licht); color: #7a2e12; }
.g26 .geus-notice--warning .geus-notice__meta { color: #96543a; }

/* In de nachtstand zijn de lichte vlakken te fel; dan alleen een gekleurde rand. */
:root[data-theme="dark"] .g26 .geus-notice--info { background: var(--vlak-2); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-notice--warning { background: var(--vlak-2); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-notice--warning .geus-notice__meta { color: var(--inkt-zacht); }

.g26-qv-levering .geus-notice__title { font-weight: 700; }
.g26-qv-levering .geus-notice__meta { color: var(--inkt-zacht); }

/* Onder het product: analyse, vragen en voeradvies even breed als de omschrijving (1100 px). Eerst was de
 * tabel 1100, de vragen en het bewaarkader de hele breedte, en de voeradviescalculator 660. */
.g26 #analyse > .g26-spec, .g26 #analyse > .g26-bewaar, .g26 #analyse > .g26-tabinhoud, .g26 #over .g26-tabinhoud,
.g26 #vragen details.g26-vraag, .g26 .g26-sectie-voeradvies .g26-tabinhoud, .g26 .g26-sectie-voeradvies .geus-voercalc { max-width: none; } /* 18 okt 2026: even breed als de kaartjes */
.g26 #vragen details.g26-vraag > div { max-width: none; }

/* ==========================================================================
   Winkelwagen, betaaliconen en formulieren (0.4.0)
   ========================================================================== */

/* zijwagen (rechts), zelfde gedrag als de menulade */
.g26-wagen-achter { position: fixed; inset: 0; z-index: 60; background: rgba(31, 42, 46, .45); opacity: 0; visibility: hidden; transition: opacity .25s, visibility 0s .25s; }
.g26-wagen {
	position: fixed; top: 0; bottom: 0; right: 0; z-index: 61; width: min(92vw, 410px); display: flex; flex-direction: column;
	background: var(--vlak); box-shadow: var(--schaduw); transform: translateX(104%); visibility: hidden;
	transition: transform .28s ease, visibility 0s .28s;
	padding: calc(14px + env(safe-area-inset-top, 0px)) 18px calc(18px + env(safe-area-inset-bottom, 0px));
}
body.g26-wagen-open { overflow: hidden; }
body.g26-wagen-open .g26-wagen { transform: none; visibility: visible; transition: transform .28s ease; }
body.g26-wagen-open .g26-wagen-achter { opacity: 1; visibility: visible; transition: opacity .25s; }
/* Open zijwagen boven de cookiemelding van Complianz (z-index 99999, rechtsonder of op de telefoon onderaan
 * over de volle breedte), net als de menulade: anders liggen totaal en Afrekenen eronder bij wie nog geen
 * keuze maakte (0.5.1).
 * Na het sluiten (klasse weg) staat de melding er weer gewoon overheen. De melding na "in winkelwagen"
 * (#g26-toast, bij "Past erbij" in de open lade) blijft erboven. */
body.g26-wagen-open .g26-wagen-achter { z-index: 100000; }
body.g26-wagen-open .g26-wagen { z-index: 100001; }
body.g26-wagen-open .g26-toast { z-index: 100002; }
.g26-wagen-kop { display: flex; justify-content: space-between; align-items: center; padding-bottom: 12px; border-bottom: 1px solid var(--lijn); font: 700 21px/1.2 var(--kop-letter); color: var(--inkt); }
.g26-wagen .widget_shopping_cart_content { flex: 1 1 auto; display: flex; flex-direction: column; min-height: 0; }
.g26-wagen-laden { margin: 24px 0; color: var(--inkt-zacht); text-align: center; }
.g26-wagen .woocommerce-mini-cart { list-style: none; margin: 0; padding: 0; flex: 1 1 auto; overflow-y: auto; overscroll-behavior: contain; }
.g26-wagen .woocommerce-mini-cart-item { position: relative; min-height: 88px; margin: 0; padding: 12px 34px 12px 78px; border-bottom: 1px solid var(--lijn); font-size: 15px; line-height: 1.35; }
.g26-wagen .woocommerce-mini-cart-item img { position: absolute; left: 0; top: 12px; width: 64px !important; height: 64px !important; object-fit: contain; margin: 0 !important; border-radius: 12px; background: #fff; border: 1px solid var(--lijn); }
.g26-wagen .woocommerce-mini-cart-item > a:not(.remove) { display: block; color: var(--inkt); font-weight: 600; text-decoration: none; }
.g26-wagen .woocommerce-mini-cart-item > a:not(.remove):hover { color: var(--merk); }
.g26-wagen .woocommerce-mini-cart-item .quantity { display: block; margin-top: 4px; color: var(--inkt-zacht); font-size: 14px; }
.g26-wagen .woocommerce-mini-cart-item dl.variation { margin: 2px 0 0; font-size: 13px; color: var(--inkt-zacht); }
.g26-wagen .woocommerce-mini-cart-item dl.variation dt, .g26-wagen .woocommerce-mini-cart-item dl.variation dd, .g26-wagen .woocommerce-mini-cart-item dl.variation p { display: inline; margin: 0; }
.g26 .g26-wagen a.remove { position: absolute; right: 0; top: 12px; width: 26px; height: 26px; line-height: 24px; text-align: center; border-radius: 50%; border: 1px solid var(--lijn); color: var(--inkt-zacht) !important; font-size: 18px; text-decoration: none; background: var(--vlak); }
.g26 .g26-wagen a.remove:hover { border-color: var(--accent); color: var(--accent) !important; background: var(--accent-licht); }
.g26-wagen .woocommerce-mini-cart__total { display: flex; justify-content: space-between; align-items: baseline; margin: 0; padding: 16px 0 12px; border-top: 2px solid var(--lijn); font: 700 18px/1.3 var(--kop-letter); color: var(--inkt); }
.g26-wagen .woocommerce-mini-cart__buttons { display: grid; gap: 10px; margin: 0; }
.g26 .g26-wagen .woocommerce-mini-cart__buttons .button { display: flex; align-items: center; justify-content: center; width: 100%; margin: 0; }
.g26 .g26-wagen .woocommerce-mini-cart__buttons .button:not(.checkout) { background: transparent; color: var(--merk); border: 2px solid var(--merk); box-shadow: none; }
.g26 .g26-wagen .woocommerce-mini-cart__buttons .button.checkout { background: var(--merk); color: var(--knop-tekst); border: 2px solid var(--merk); box-shadow: 0 8px 20px rgba(18, 120, 159, .22); }
.g26 .g26-wagen .woocommerce-mini-cart__buttons .button.checkout:hover { background: var(--merk-diep); border-color: var(--merk-diep); }
.g26-wagen .woocommerce-mini-cart__empty-message { margin: 32px 0; text-align: center; color: var(--inkt-zacht); }
@media (prefers-reduced-motion: reduce) { .g26-wagen, .g26-wagen-achter { transition: none !important; } }

/* "Misschien ook interessant" in de winkelwagen: altijd volle rijen (zes stuks: 3 + 3, op de telefoon 2 + 2 + 2) */
.g26 .cross-sells .g26-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 560px) { .g26 .cross-sells .g26-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* betaaliconen (vervangt [ux_payment_icons]) */
.g26-betaal { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 18px; padding: 0; }
.g26-betaal li { margin: 0; padding: 4px 6px; background: #fff; border: 1px solid var(--lijn); border-radius: 10px; line-height: 0; }
.g26-betaal img { display: block; width: 72px; height: auto; }

/* herroepingsformulier: lucht tussen de uitleg en de knop */
.g26 .woocommerce-order-withdrawal-content__note { display: block; margin: 10px 0 26px; color: var(--inkt-zacht); }

/* contactformulier (Geus Extra's): de verzendknop als echte knop */
.g26 .geus-contact__form button[type="submit"] {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 12px 28px; margin-top: 6px;
	font-family: var(--kop-letter); font-weight: 700; font-size: 17px; text-transform: none; letter-spacing: 0; cursor: pointer;
	background: var(--merk); color: var(--knop-tekst); border: 0; border-radius: 12px; box-shadow: 0 8px 20px rgba(18, 120, 159, .22);
	transition: background-color .15s;
}
.g26 .geus-contact__form button[type="submit"]:hover { background: var(--merk-diep); }
/* De alinea om de knop is het laatste in de kolom; zonder dit bleef zijn alineamarge (16,5 px) onder het formulier staan (0.6.3). */
.g26 .geus-contact__knop { margin-bottom: 0; }

/* zijwagen: lijst bovenaan, "Past erbij" eronder, totaal en knoppen onderaan (0.4.1) */
.g26-wagen .woocommerce-mini-cart { flex: 0 1 auto; }
.g26-wagen .woocommerce-mini-cart__total { margin-top: auto; }
.g26-wagen-erbij { margin: 18px 0 14px; padding: 14px; border-radius: 14px; background: var(--vlak-2); border: 1px solid var(--lijn); }
.g26-wagen-erbij-kop { margin: 0 0 8px; font: 700 15px/1.2 var(--kop-letter); color: var(--inkt); }
.g26-wagen-erbij ul { list-style: none; margin: 0; padding: 0; }
.g26-wagen-erbij li { display: grid; grid-template-columns: 48px minmax(0, 1fr) 38px; gap: 10px; align-items: center; margin: 0; padding: 8px 0; border-top: 1px solid var(--lijn); }
.g26-wagen-erbij li:first-child { border-top: 0; }
.g26-wagen-erbij-foto img { display: block; width: 48px; height: 48px; object-fit: contain; border-radius: 10px; background: #fff; border: 1px solid var(--lijn); }
.g26 .g26-wagen-erbij-naam { display: block; color: var(--inkt); font-size: 14px; font-weight: 600; line-height: 1.3; text-decoration: none; }
.g26 .g26-wagen-erbij-naam:hover { color: var(--merk); }
.g26-wagen-erbij-prijs { display: block; margin-top: 2px; font-weight: 700; color: var(--inkt); }
.g26-wagen-erbij-prijs del { color: var(--inkt-zacht); font-weight: 400; margin-right: 4px; }
.g26-wagen-erbij-prijs ins { text-decoration: none; }
.g26 .g26-wagen-erbij .g26-plus { width: 38px; height: 38px; }
.g26-wagen .added_to_cart { display: none !important; }

/* zijwagen op een laag scherm (0.5.1): de inhoud onder de kop scrolt als geheel, de productlijst
 * krimpt niet meer tot 0 px, en de knoppen (Afrekenen) blijven onderaan in beeld. Eerst kon alleen
 * de lijst scrollen, en 'Past erbij', cadeaubalk, actiemelding en meldingen duwden de knoppen
 * onder de rand van de lade (fixed, body overflow: hidden, dus onbereikbaar). */
.g26-wagen .widget_shopping_cart_content { overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.g26-wagen .woocommerce-mini-cart { flex: 0 0 auto; overflow: visible; }
.g26-wagen .woocommerce-mini-cart__buttons { position: sticky; bottom: 0; z-index: 1; padding-top: 10px; background: var(--vlak); }
.g26-wagen-meldingen { flex: none; max-height: 30vh; overflow-y: auto; }

/* "In winkelwagen" op de productpagina zonder herladen (0.5.1, g26-product.js): meldingen van
 * modules bovenaan de zijwagen, een fout boven het bestelformulier, en geen losse
 * "Bekijk winkelwagen"-link naast de knop (WooCommerce zet die erbij; de zijwagen gaat al open).
 * De :last-child-regels wegen (0,3,0): even zwaar als de regel voor de meldingen (dan wint de volgorde)
 * en zwaarder dan .g26-los .woocommerce-error/-message (0,2,0, marge 18px) in het later geladen g26-los.css. */
.g26-wagen-meldingen { margin-top: 12px; }
.g26 .g26-wagen-meldingen :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { margin: 0 0 8px; padding: 10px 14px; font-size: 14px; box-shadow: none; }
.g26 .g26-wagen-meldingen > :last-child { margin-bottom: 0; }
.g26-koop-meldingen:empty { display: none; }
.g26-los .g26-koop-meldingen > :last-child { margin-bottom: 14px; }
.g26-koop .added_to_cart { display: none !important; }
/* Laadstand tijdens het verzoek, ook op de koopbalk van de telefoon (daar is de echte knop uit beeld). */
.g26 .g26-balk .g26-balk-knop.loading,
.g26 .g26-koop .single_add_to_cart_button.loading { cursor: progress; opacity: .7; }

/* ==========================================================================
   Mijn account in de nachtstand (Mike, 8 okt 2026)
   --------------------------------------------------------------------------
   De onderdelen van Mijn account komen uit de modules van Geus Extra's en die
   zetten hun kleuren zelf, met vaste waarden uit de tijd dat er alleen een
   lichte winkel was. Op een donkere pagina blijven het witte vlakken. Hier
   zetten we ze om naar het palet van het thema. Waar een module zijn kleur in
   een style-attribuut zet kan dat alleen met !important.
   ========================================================================== */

/* ---- Herinneringen ---- */
:root[data-theme="dark"] .g26 .geus-herinneringen-container { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-titel { color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-kaart { background: var(--vlak); border-color: var(--lijn); box-shadow: var(--schaduw-klein); }
:root[data-theme="dark"] .g26 .geus-empty { background: var(--vlak); border-color: var(--lijn); color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-kaart-label { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-nieuw { background: var(--vlak-2); }
:root[data-theme="dark"] .g26 .geus-input { background: var(--vlak-2); border-color: var(--lijn); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-btn { background-color: var(--merk); color: var(--knop-tekst); }

/* ---- Mijn dieren ---- */
:root[data-theme="dark"] .g26 .geus-dieren-container { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-dieren-titel, :root[data-theme="dark"] .g26 .geus-dieren-naam,
:root[data-theme="dark"] .g26 .geus-dieren-nieuw h3 { color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-dieren-intro, :root[data-theme="dark"] .g26 .geus-dieren-meta span,
:root[data-theme="dark"] .g26 .geus-dieren-veld label, :root[data-theme="dark"] .g26 .geus-dieren-veld-hint,
:root[data-theme="dark"] .g26 .geus-dieren-leeg-klein { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-dieren-kaart { background: var(--vlak); border-color: var(--lijn); box-shadow: var(--schaduw-klein); }
:root[data-theme="dark"] .g26 .geus-dieren-empty { background: var(--vlak); border-color: var(--lijn); color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-dieren-foto { background-color: var(--vlak-2); }
:root[data-theme="dark"] .g26 .geus-dieren-foto-leeg { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-dieren-soort-badge, :root[data-theme="dark"] .g26 .geus-dieren-wishlist-link { background: var(--merk-licht); color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-dieren-wishlist-link:hover { background: var(--merk-licht); color: var(--merk-diep); }
:root[data-theme="dark"] .g26 .geus-dieren-meta li, :root[data-theme="dark"] .g26 .geus-dieren-gewicht-lijst li,
:root[data-theme="dark"] .g26 .geus-dieren-subblok { border-color: var(--lijn); }
:root[data-theme="dark"] .g26 .geus-dieren-meta strong { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-dieren-allergie { background: var(--accent-licht); border-color: var(--accent); color: var(--accent); }
:root[data-theme="dark"] .g26 .geus-dieren-allergie-tag { background: var(--accent-vlak); color: var(--accent); }
:root[data-theme="dark"] .g26 .geus-dieren-notes { background: var(--vlak-2); border-left-color: var(--merk); color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-dieren-nieuw { background: var(--vlak-2); }
:root[data-theme="dark"] .g26 .geus-dieren-btn { background-color: var(--merk); color: var(--knop-tekst); }
:root[data-theme="dark"] .g26 .geus-dieren-btn:hover { background-color: var(--merk-diep); }
:root[data-theme="dark"] .g26 .geus-dieren-edit { background-color: transparent; color: var(--merk); border-color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-dieren-edit:hover { background-color: var(--merk-licht); }
:root[data-theme="dark"] .g26 .geus-dieren-input, :root[data-theme="dark"] .g26 .geus-dieren-allergie-opties { background: var(--vlak); border-color: var(--lijn); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-dieren-allergie-optie { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-dieren-allergie-alles { background: var(--vlak); border-color: var(--merk); color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-dieren-allergie-alles:hover { background: var(--merk-licht); }
:root[data-theme="dark"] .g26 .geus-dieren-svg { background: var(--vlak-2); border-color: var(--lijn); }

/* ---- Verlanglijst ---- */
:root[data-theme="dark"] .g26 .geus-wishlist-row, :root[data-theme="dark"] .g26 .geus-wishlist-dropdown,
:root[data-theme="dark"] .g26 .geus-wishlist-move-menu { background: var(--vlak); border-color: var(--lijn); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-wishlist-row { border-bottom-color: var(--lijn); }
:root[data-theme="dark"] .g26 .geus-wishlist-list, :root[data-theme="dark"] .g26 .geus-wishlist-tabs { border-color: var(--lijn); }
/* productfotos staan op wit; dat vlakje houden we licht, net als bij de kaartjes */
:root[data-theme="dark"] .g26 .geus-wishlist-row__image { background: #f3f1ee; border-color: var(--lijn); }
:root[data-theme="dark"] .g26 .geus-wishlist-tab.active { background: var(--merk-licht); color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-wishlist-tab__avatar { background: var(--merk-licht); color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-wishlist-share-btn, :root[data-theme="dark"] .g26 .geus-wishlist-image-upload { background: var(--vlak-2); border-color: var(--lijn); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-wishlist-share-btn:hover, :root[data-theme="dark"] .g26 .geus-wishlist-image-upload:hover { background: var(--vlak); }
:root[data-theme="dark"] .g26 .geus-wishlist-icon-action { background: var(--vlak-2) !important; border-color: var(--lijn) !important; color: var(--inkt) !important; }
:root[data-theme="dark"] .g26 .geus-wishlist-icon-action:hover, :root[data-theme="dark"] .g26 .geus-wishlist-icon-action:focus { background: var(--vlak) !important; }
:root[data-theme="dark"] .g26 .geus-wishlist-move-option:hover { background: var(--merk-licht); }

/* ---- Bezorgservice (postcode nakijken). De module zet zijn kleuren in een
       style-attribuut, vandaar !important. ---- */
:root[data-theme="dark"] .g26 .geus-levergebied-form { background: var(--vlak) !important; border-color: var(--lijn) !important; }
:root[data-theme="dark"] .g26 .geus-levergebied-output { color: var(--inkt) !important; }
:root[data-theme="dark"] .g26 .geus-levergebied-form label { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-levergebied-form :is(input, select) { background: var(--vlak-2); border-color: var(--lijn); color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-postcode-alert { background: var(--accent-licht) !important; border-color: var(--accent) !important; color: var(--accent) !important; }

/* links binnen die blokken in de merkkleur */
:root[data-theme="dark"] .g26 .woocommerce-MyAccount-content :is(.geus-kaart, .geus-dieren-kaart) a:not(.button) { color: var(--merk); }

/* De blokken onder elkaar op de bestelpagina stonden tegen elkaar aan. */
.g26 .woocommerce-order-details { margin-bottom: 28px; }
.g26 .woocommerce-customer-details { margin-top: 28px; }

/* ==========================================================================
   Het dashboard van Mijn account (Mike, 8 okt 2026)
   Zie woocommerce/myaccount/dashboard.php. Alles op tokens, dus de nachtstand
   volgt vanzelf.
   ========================================================================== */

.g26 .g26-dash { display: grid; gap: 22px; }

.g26 .g26-dash-hallo { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; font-size: 17px; color: var(--inkt); }
.g26 .g26-dash-hallo strong { font-family: var(--kop-letter); font-size: 21px; font-weight: 700; }
.g26 .g26-dash-uit { font-size: 14px; color: var(--inkt-zacht); text-decoration: underline; white-space: nowrap; }
.g26 .g26-dash-uit:hover { color: var(--merk); }

/* het bezorgblok */
.g26 .g26-dash-bezorging {
	display: flex; align-items: center; gap: 16px; flex-wrap: wrap;
	background: var(--merk-licht); border: 1px solid var(--merk); border-radius: var(--radius); padding: 18px 20px;
}
.g26 .g26-dash-bezorging-icoon { display: grid; place-items: center; flex: none; width: 46px; height: 46px; border-radius: 14px; background: var(--merk); color: var(--knop-tekst); }
.g26 .g26-dash-bezorging-icoon .g26-i { width: 26px; height: 26px; }
.g26 .g26-dash-bezorging-tekst { flex: 1 1 220px; min-width: 0; }
.g26 .g26-dash-label { margin: 0; font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--merk); }
.g26 .g26-dash-datum { margin: 2px 0 2px; font: 800 23px/1.15 var(--kop-letter); color: var(--inkt); }
.g26 .g26-dash-wat { margin: 0; font-size: 14px; line-height: 1.45; color: var(--inkt-zacht); }
.g26 .g26-dash-bezorging-knop {
	flex: none; background: var(--merk); color: var(--knop-tekst); border-radius: 12px;
	padding: 11px 22px; font-weight: 700; text-decoration: none;
}
.g26 .g26-dash-bezorging-knop:hover { background: var(--merk-diep); color: var(--knop-tekst); }

/* de tegels */
.g26 .g26-dash-tegels { display: grid; gap: 12px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.g26 .g26-dash-tegel {
	display: grid; gap: 2px; padding: 16px; border: 1px solid var(--lijn); border-radius: 14px;
	background: var(--vlak-2); color: var(--inkt); text-decoration: none; transition: .15s;
}
.g26 .g26-dash-tegel:hover { border-color: var(--merk); transform: translateY(-2px); box-shadow: var(--schaduw-klein); color: var(--inkt); }
.g26 .g26-dash-tegel-icoon { color: var(--merk); margin-bottom: 6px; }
.g26 .g26-dash-tegel-icoon .g26-i { width: 24px; height: 24px; }
.g26 .g26-dash-tegel-kop { font: 700 16px/1.25 var(--kop-letter); }
.g26 .g26-dash-tegel-onder { font-size: 13.5px; color: var(--inkt-zacht); }

/* de laatste bestellingen */
.g26 .g26-dash-kop { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 4px 0 10px; font: 700 18px/1.2 var(--kop-letter); color: var(--inkt); }
.g26 .g26-dash-kop a { font: 600 14px/1.2 var(--tekst-letter); color: var(--merk); text-decoration: none; white-space: nowrap; }
.g26 .g26-dash-kop a:hover { text-decoration: underline; }
.g26 .g26-dash-orderlijst { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.g26 .g26-dash-orderlijst a {
	display: flex; align-items: center; gap: 12px; flex-wrap: wrap;
	padding: 12px 14px; border: 1px solid var(--lijn); border-radius: 12px; background: var(--vlak-2);
	color: var(--inkt); text-decoration: none; transition: .15s;
}
.g26 .g26-dash-orderlijst a:hover { border-color: var(--merk); color: var(--inkt); }
.g26 .g26-dash-ordernr { font-weight: 700; font-variant-numeric: tabular-nums; }
.g26 .g26-dash-orderdatum { color: var(--inkt-zacht); font-size: 14px; }
.g26 .g26-dash-ordertotaal { margin-left: auto; font-weight: 700; font-variant-numeric: tabular-nums; }
.g26 .g26-dash-orderstatus {
	font-size: 12px; font-weight: 700; letter-spacing: .04em; padding: 3px 10px; border-radius: 999px;
	background: var(--vlak); border: 1px solid var(--lijn); color: var(--inkt-zacht);
}
.g26 .g26-dash-orderstatus.is-processing { background: var(--merk-licht); border-color: var(--merk); color: var(--merk); }
.g26 .g26-dash-orderstatus.is-completed { background: var(--goed-licht); border-color: var(--goed); color: var(--goed); }
.g26 .g26-dash-orderstatus.is-cancelled, .g26 .g26-dash-orderstatus.is-failed { background: var(--accent-licht); border-color: var(--accent); color: var(--accent); }

.g26 .g26-dash-leeg { margin: 0; color: var(--inkt-zacht); }
.g26 .g26-dash-leeg a { color: var(--merk); }

@media (max-width: 560px) {
	.g26 .g26-dash-bezorging { padding: 16px; }
	.g26 .g26-dash-bezorging-knop { width: 100%; text-align: center; }
	.g26 .g26-dash-tegels { grid-template-columns: 1fr 1fr; }
	.g26 .g26-dash-orderlijst a { gap: 8px; }
	.g26 .g26-dash-ordertotaal { margin-left: auto; }
}

/* ---- Meldingen en klachten (module klachten) in de nachtstand ---- */
:root[data-theme="dark"] .g26 .geus-melding { background: var(--vlak); border-color: var(--lijn); }
:root[data-theme="dark"] .g26 .geus-melding-meta, :root[data-theme="dark"] .g26 .geus-melding .geus-bericht-kop,
:root[data-theme="dark"] .g26 .geus-melding-voet { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-bericht-kop strong { color: var(--inkt); }
:root[data-theme="dark"] .g26 .geus-bericht-ballon, :root[data-theme="dark"] .g26 .geus-melding-bij-order { background: var(--vlak-2); border-color: var(--lijn); }
:root[data-theme="dark"] .g26 .geus-bericht-avatar { background: var(--merk); color: var(--knop-tekst); }
:root[data-theme="dark"] .g26 .geus-melding-status.st-ontvangen { background: var(--merk-licht); color: var(--merk); }
:root[data-theme="dark"] .g26 .geus-melding-status.st-onderzoek { background: var(--merk); color: var(--knop-tekst); }
:root[data-theme="dark"] .g26 .geus-melding-status.st-afgerond { background: var(--goed-licht); color: var(--goed); }

/* ---- Overeenkomst ontbinden ---- */
:root[data-theme="dark"] .g26 .woocommerce-order-withdrawal-content li.woocommerce-order-withdrawal-content__step { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .woocommerce-order-withdrawal-content__review,
:root[data-theme="dark"] .g26 .woocommerce-order-withdrawal-content__review-row { border-color: var(--lijn); }
:root[data-theme="dark"] .g26 .woocommerce-order-withdrawal-content__field-error { color: var(--accent); }
:root[data-theme="dark"] .g26 .woocommerce-order-withdrawal-content .woocommerce-order-withdrawal-content__button--secondary { color: var(--merk); }
:root[data-theme="dark"] .g26 .woocommerce-order-withdrawal-content .woocommerce-order-withdrawal-content__button--secondary:hover { background: var(--merk); color: var(--knop-tekst); }

/* Het ontbindformulier staat nu binnen Mijn account, dus het pakt het raster met
   het menu links vanzelf op. De shortcode zet om zijn eigen uitvoer nog een
   .woocommerce; die mag geen tweede kolommenraster worden. */
.g26 .geus-herroepen-account .woocommerce-MyAccount-content .woocommerce { display: block; }

/* Geen percentage bekend: dat staat er nu met zoveel woorden in plaats van een streepje. */
.g26 .g26-spec .g26-onbekend, .g26 .g26-onbekend { color: var(--inkt-zacht); font-weight: 500; font-size: 13.5px; }

/* De fotos bij een melding (module klachten) in de nachtstand. */
:root[data-theme="dark"] .g26 .geus-melding-fotokop { color: var(--inkt-zacht); }
:root[data-theme="dark"] .g26 .geus-melding-fotos img { border-color: var(--lijn); }
:root[data-theme="dark"] .g26 .geus-melding-fotos a:hover img { border-color: var(--merk); }

/* De badge "Bestelartikel" hangt onder de naam. Bij een naam van één regel zat hij twintig
   pixels hoger dan bij de buren en oogde een rij kaartjes onrustig (Mike, 11 okt 2026).
   De naam houdt nu altijd twee regels ruimte; meer worden het er toch niet, want hij is op
   twee regels afgeknipt. */
.g26 .g26-kt .g26-kaartje-naam { min-height: 2.6em; }

/* Het gele strookje "Bestelartikel: komt binnen op ..." (module bestelartikelen) zet zijn
   kleur in een style-attribuut en bleef daardoor lichtgeel op een donkere kassa. */
:root[data-theme="dark"] .g26 .geus-gh-bestelregel { background: #3a2f1a !important; color: var(--ster) !important; }
