/* Wasparfum Online v2, op basis van Figma v2 (18 oktober 2026). */

:root {
	--wpo-aubergine: #4B2E6B;
	--wpo-aubergine-donker: #311E48;
	--wpo-framboos: #B8326A;
	--wpo-framboos-donker: #9A2757;
	--wpo-tekst: #26222B;
	--wpo-tekst-zacht: #6B6472;
	--wpo-lijn: #E6E1EA;
	--wpo-lichtlila: #F3EEF5;
	--wpo-geel: #F3EBA0;
	--wpo-groen-vink: #2E8B3E;
	--wpo-ster: #E5A01A;
	--wpo-lila: #E7DCEF;
	--wpo-groen: #E3EFDC;
	--wpo-perzik: #FCE3CF;
	--wpo-roze: #F8DFE8;
	--wpo-blauw: #DCE8F5;
	--wpo-geel-pastel: #F7F2CF;
	--wpo-radius: 8px;
	--wpo-breedte: 1344px;
}

/* Basis ------------------------------------------------------------ */
body.wpo,
body.wpo button,
body.wpo input,
body.wpo select,
body.wpo textarea {
	font-family: "Open Sans", system-ui, sans-serif;
	color: var(--wpo-tekst);
}
body.wpo { background: #fff; font-size: 15px; line-height: 1.6; }
body.wpo h1, body.wpo h2, body.wpo h3, body.wpo h4, body.wpo h5, body.wpo h6, body.wpo .wpo-kaart__naam, body.wpo .wpo-kaart__naam a { text-transform: none !important; }
body.wpo h1, body.wpo h2, body.wpo h3, body.wpo h4 { font-family: "Open Sans", system-ui, sans-serif; font-weight: 800; color: var(--wpo-tekst); letter-spacing: -0.01em; }
:where(body.wpo) a { color: inherit; }
.wpo-wrap { width: 100%; max-width: var(--wpo-breedte); margin: 0 auto; padding: 0 24px; box-sizing: border-box; }
.wpo-icon { flex: none; }
.screen-reader-text { position: absolute !important; clip: rect(1px, 1px, 1px, 1px); width: 1px; height: 1px; overflow: hidden; }

.wpo-bg--lila { background: var(--wpo-lila); }
.wpo-bg--groen { background: var(--wpo-groen); }
.wpo-bg--perzik { background: var(--wpo-perzik); }
.wpo-bg--roze { background: var(--wpo-roze); }
.wpo-bg--blauw { background: var(--wpo-blauw); }
.wpo-bg--geel { background: var(--wpo-geel-pastel); }

.wpo-knop,
body.wpo .button.alt,
body.wpo button.single_add_to_cart_button,
body.wpo .checkout-button,
body.wpo #place_order {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px;
	background: var(--wpo-framboos) !important; color: #fff !important;
	border: 0; border-radius: 999px; padding: 14px 28px;
	font-weight: 700; font-size: 15px; line-height: 1.2; text-decoration: none; cursor: pointer;
	transition: background .15s;
}
.wpo-knop:hover,
body.wpo .button.alt:hover,
body.wpo button.single_add_to_cart_button:hover,
body.wpo .checkout-button:hover,
body.wpo #place_order:hover { background: var(--wpo-framboos-donker) !important; }
.wpo-knop--lijn { background: #fff !important; color: var(--wpo-framboos) !important; box-shadow: inset 0 0 0 1.5px var(--wpo-framboos); padding: 10px 22px; }
.wpo-knop--lijn:hover { background: var(--wpo-roze) !important; }
.wpo-knop--geel { background: var(--wpo-geel) !important; color: var(--wpo-aubergine) !important; }
.wpo-knop--geel:hover { background: #ECE07F !important; }
.wpo-link { display: inline-flex; align-items: center; gap: 2px; color: var(--wpo-framboos) !important; font-weight: 700; font-size: 14px; text-decoration: none; }
.wpo-link .wpo-icon { width: 16px; height: 16px; }

.wpo-kop { font-size: 28px; line-height: 1.2; margin: 0 0 24px; }
.wpo-kop--wit { color: #fff !important; text-align: center; }
.wpo-kop--klein { font-size: 22px; margin-bottom: 12px; }
.wpo-kopregel { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; }
.wpo-sectie { margin-top: 64px; margin-bottom: 64px; }

.wpo-sterren { display: inline-flex; gap: 1px; color: var(--wpo-ster); vertical-align: -2px; }
.wpo-sterren .wpo-icon { width: 14px; height: 14px; stroke: none; }

/* Astra-resten weg ------------------------------------------------- */
body.wpo #masthead, body.wpo .site-footer:not(.wpo-footer), body.wpo .ast-mobile-header-wrap { display: none !important; }
body.wpo.home .site-content > .ast-container,
body.wpo.home #primary { max-width: none; padding: 0; margin: 0; }
body.wpo .site-content > .ast-container { max-width: var(--wpo-breedte); }

/* Topbar en header ------------------------------------------------- */
.wpo-topbar { background: var(--wpo-lichtlila); font-size: 13px; }
.wpo-topbar__in { display: flex; justify-content: space-between; align-items: center; min-height: 36px; }
.wpo-topbar__usp { display: flex; gap: 28px; list-style: none; margin: 0; padding: 0; }
.wpo-topbar__usp li { display: flex; align-items: center; gap: 6px; font-weight: 600; }
.wpo-topbar__usp .wpo-icon { width: 15px; height: 15px; color: var(--wpo-groen-vink); stroke-width: 3; }
.wpo-topbar__links { display: flex; gap: 22px; }
.wpo-topbar__links a, body.wpo .wpo-topbar__links a { text-decoration: none; color: var(--wpo-aubergine) !important; font-weight: 600; text-shadow: none; opacity: 1; }

.wpo-header { background: var(--wpo-aubergine); color: #fff; position: sticky; top: 0; z-index: 100; }
.admin-bar .wpo-header { top: 32px; }
.wpo-header__in { display: flex; align-items: center; gap: 32px; padding-top: 14px; padding-bottom: 10px; }
.wpo-header__burger { display: none; background: none; border: 0; color: #fff; padding: 4px; }
.wpo-logo img { display: block; height: 40px; width: auto; }
.wpo-zoek { flex: 1; display: flex; align-items: center; background: #fff; border-radius: 999px; padding: 4px 4px 4px 22px; max-width: 760px; }
.wpo-zoek input[type=search] { flex: 1; border: 0 !important; background: none !important; padding: 10px 0 !important; font-size: 15px; outline: none; box-shadow: none !important; }
.wpo-zoek button { width: 38px; height: 38px; border-radius: 50%; border: 0; background: var(--wpo-roze); color: var(--wpo-framboos); display: grid; place-items: center; cursor: pointer; padding: 0; }
.wpo-zoek button .wpo-icon { width: 18px; height: 18px; }
.wpo-header__iconen { display: flex; gap: 20px; margin-left: auto; }
.wpo-header__iconen a { color: #fff; position: relative; display: grid; place-items: center; }
.wpo-mandje__aantal { position: absolute; top: -6px; right: -8px; min-width: 17px; height: 17px; padding: 0 4px; border-radius: 9px; background: var(--wpo-framboos); color: #fff; font-size: 11px; font-weight: 700; line-height: 17px; text-align: center; box-sizing: border-box; }
.wpo-mandje__aantal[data-aantal="0"] { display: none; }

.wpo-nav__in { display: flex; align-items: center; justify-content: space-between; padding-bottom: 12px; }
.wpo-nav__lijst { display: flex; gap: 30px; list-style: none; margin: 0; padding: 0; }
.wpo-nav__lijst > li > a,
.wpo-nav__merken > button { color: #fff; text-decoration: none; font-weight: 700; font-size: 15px; background: none; border: 0; padding: 4px 0; cursor: pointer; }
.wpo-nav__lijst > li > a:hover, .wpo-nav__merken > button:hover { color: var(--wpo-geel); }
body.wpo .wpo-nav__merken > button { color: #fff !important; background: none !important; font-family: inherit; line-height: inherit; text-transform: none; letter-spacing: 0; box-shadow: none; }
.wpo-nav__merken { position: relative; }
.wpo-nav__sub { display: none; position: absolute; top: 100%; left: -16px; background: #fff; border-radius: var(--wpo-radius); box-shadow: 0 10px 30px rgba(49, 30, 72, .2); list-style: none; margin: 8px 0 0; padding: 10px 0; min-width: 200px; z-index: 5; }
.wpo-nav__merken:hover .wpo-nav__sub, .wpo-nav__merken.is-open .wpo-nav__sub { display: block; }
.wpo-nav__sub a { display: block; padding: 7px 18px; color: var(--wpo-tekst); text-decoration: none; font-weight: 600; }
.wpo-nav__sub a:hover { background: var(--wpo-lichtlila); color: var(--wpo-aubergine); }
.wpo-nav__geurvinder { color: var(--wpo-geel) !important; font-weight: 700; text-decoration: none; }

/* Homepage --------------------------------------------------------- */
.wpo-hero { display: grid; grid-template-columns: 2fr 1fr; gap: 16px; margin-top: 24px; }
.wpo-hero__groot { position: relative; border-radius: var(--wpo-radius); overflow: hidden; min-height: 430px; display: block; text-decoration: none; }
.wpo-hero__groot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.wpo-hero__groot::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(38, 20, 50, .62) 0%, rgba(38, 20, 50, .25) 45%, rgba(38, 20, 50, 0) 70%); }
.wpo-hero__tekst { position: absolute; z-index: 1; left: 40px; bottom: 40px; max-width: 420px; color: #fff; }
.wpo-hero__tekst h1 { color: #fff !important; font-size: 40px; line-height: 1.12; margin: 0 0 14px; }
.wpo-hero__tekst p { margin: 0 0 22px; font-size: 16px; }
.wpo-hero__tegels { display: grid; grid-template-rows: repeat(3, 1fr); gap: 16px; }
.wpo-tegel { display: flex; align-items: center; justify-content: space-between; border-radius: var(--wpo-radius); padding: 18px 20px; text-decoration: none; overflow: hidden; gap: 12px; }
.wpo-tegel h2 { font-size: 21px; margin: 0 0 2px; }
.wpo-tegel p { margin: 0 0 6px; font-size: 13px; color: var(--wpo-tekst-zacht); }
.wpo-tegel img { width: 46%; max-height: 110px; object-fit: contain; mix-blend-mode: multiply; }


.wpo-cats { display: grid; grid-template-columns: repeat(5, 1fr); gap: 16px; }
.wpo-cat { text-decoration: none; display: flex; flex-direction: column; }
.wpo-cat__beeld { display: flex; align-items: center; justify-content: center; height: 150px; border-radius: var(--wpo-radius); overflow: hidden; }
.wpo-cat__beeld img { height: 130px !important; width: auto; max-width: 85%; object-fit: contain; mix-blend-mode: multiply; border-radius: 6px; transition: transform .2s; }
.wpo-cat:hover .wpo-cat__beeld img { transform: translateY(-4px); }
.wpo-cat__naam { display: flex; justify-content: space-between; align-items: center; font-weight: 800; margin-top: 12px; }
.wpo-cat__naam .wpo-icon { width: 18px; height: 18px; }
.wpo-cat__sub { font-size: 13px; color: var(--wpo-tekst-zacht); }

/* Productkaart ------------------------------------------------------ */
body.wpo ul.products { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 16px; margin: 0; padding: 0; list-style: none; }
body.wpo ul.products::before, body.wpo ul.products::after { display: none !important; }
body.wpo ul.products li.product.wpo-kaart { width: auto !important; margin: 0 !important; float: none !important; padding: 8px !important; border-radius: var(--wpo-radius); display: flex; flex-direction: column; position: relative; }
.wpo-kaart__link { display: block; position: relative; text-decoration: none; }
.wpo-kaart__beeld { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; }
.wpo-kaart__beeld img { width: 82% !important; height: 82% !important; object-fit: contain; mix-blend-mode: multiply; margin: 0 !important; transition: transform .2s; }
.wpo-kaart:hover .wpo-kaart__beeld img { transform: scale(1.04); }
.wpo-label { position: absolute; top: 6px; left: 6px; z-index: 1; background: var(--wpo-framboos); color: #fff; font-size: 11.5px; font-weight: 700; padding: 3px 8px; border-radius: 4px; }
.wpo-kaart__info { background: #fff; border-radius: 6px; padding: 12px 14px 12px; flex: 1; display: flex; flex-direction: column; }
.wpo-kaart__sub { font-size: 12px; color: var(--wpo-tekst-zacht); }
.wpo-kaart__naam { font-size: 16px !important; line-height: 1.25; margin: 2px 0 4px !important; padding: 0 !important; }
.wpo-kaart__naam a { text-decoration: none; }
.wpo-kaart__sterren { font-size: 12px; color: var(--wpo-tekst-zacht); }
.wpo-kaart__voet { display: flex; justify-content: space-between; align-items: flex-end; margin-top: auto; padding-top: 8px; }
.wpo-kaart__prijs { font-size: 22px; font-weight: 800; line-height: 1; }
.wpo-kaart__prijs sup { font-size: 12px; top: -.7em; margin-left: 1px; }
.wpo-kaart__prijs small { display: block; font-size: 11px; font-weight: 600; color: var(--wpo-tekst-zacht); margin-bottom: 2px; }
.wpo-plus { width: 36px; height: 36px; border-radius: 50%; background: var(--wpo-framboos); color: #fff !important; display: grid; place-items: center; text-decoration: none; flex: none; }
.wpo-plus:hover { background: var(--wpo-framboos-donker); }
.wpo-plus .wpo-icon { width: 18px; height: 18px; stroke-width: 2.6; }
.wpo-plus.loading { opacity: .5; }
.wpo-plus.added { background: var(--wpo-groen-vink); }
body.wpo .wpo-kaart .added_to_cart { display: none !important; }

/* Slider favorieten */
.wpo-slider__baan { grid-auto-flow: column; grid-auto-columns: calc((100% - 64px) / 5.3); grid-template-columns: none !important; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.wpo-slider__baan::-webkit-scrollbar { display: none; }
.wpo-slider__baan > li { scroll-snap-align: start; }
.wpo-slider__nav { display: flex; align-items: center; gap: 16px; margin-top: 20px; }
.wpo-slider__nav button { width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--wpo-lijn); background: #fff; color: var(--wpo-tekst); display: grid; place-items: center; padding: 0; cursor: pointer; }
.wpo-slider__nav button[data-richting="-1"] .wpo-icon { transform: rotate(180deg); }
.wpo-slider__nav .wpo-icon { width: 16px; height: 16px; }
.wpo-slider__voortgang { flex: 1; height: 3px; background: var(--wpo-lijn); border-radius: 2px; position: relative; overflow: hidden; }
.wpo-slider__voortgang span { position: absolute; left: 0; top: 0; bottom: 0; width: 30%; background: var(--wpo-framboos); border-radius: 2px; transition: left .2s, width .2s; }

/* Reviews */
.wpo-reviews { background: var(--wpo-lichtlila); padding: 36px 0; }
.wpo-reviews__in { display: grid; grid-template-columns: 220px 1fr; gap: 24px; align-items: start; }
.wpo-reviews .wpo-kop { font-size: 21px; margin-bottom: 14px; }
.wpo-scorekaart { background: #fff; border-radius: var(--wpo-radius); padding: 22px; text-align: center; max-width: 150px; }
.wpo-scorekaart strong { display: block; font-size: 34px; font-weight: 800; color: var(--wpo-aubergine); line-height: 1.1; }
.wpo-scorekaart span:last-child { display: block; font-size: 12.5px; color: var(--wpo-tekst-zacht); margin-top: 4px; }
.wpo-reviews__lijst { display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 48px) / 4); gap: 16px; overflow-x: auto; scrollbar-width: thin; }
.wpo-review { background: #fff; border-radius: var(--wpo-radius); padding: 16px 16px 12px; margin: 0; display: flex; flex-direction: column; }
.wpo-review blockquote { margin: 8px 0 12px; padding: 0; border: 0; font-size: 13.5px; font-style: normal; flex: 1; }
.wpo-review figcaption { display: flex; gap: 10px; align-items: center; border-top: 1px solid var(--wpo-lijn); padding-top: 10px; font-size: 13px; }
.wpo-review figcaption small { display: block; color: var(--wpo-tekst-zacht); font-size: 11.5px; }
.wpo-review__letter { width: 26px; height: 26px; border-radius: 50%; background: var(--wpo-lila); color: var(--wpo-aubergine); display: grid; place-items: center; font-weight: 700; font-size: 12px; flex: none; }

/* Duo-blokken */
.wpo-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.wpo-duo__blok { display: grid; grid-template-columns: 200px 1fr; gap: 28px; align-items: center; }
.wpo-duo__blok img { width: 200px; height: 160px; object-fit: cover; border-radius: var(--wpo-radius); }
.wpo-duo__blok > div { text-align: center; }
.wpo-duo__blok h2 { font-size: 20px; margin: 0 0 8px; }
.wpo-duo__blok p { font-size: 13.5px; color: var(--wpo-tekst-zacht); margin: 0 0 14px; }

/* Waarom */
.wpo-waarom { background: var(--wpo-aubergine); padding: 48px 0 56px; }
.wpo-waarom__kaarten { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.wpo-waarom__kaarten article { border-radius: var(--wpo-radius); overflow: hidden; display: flex; flex-direction: column; padding: 10px; }
.wpo-waarom__kaarten img { width: 100%; height: 190px; object-fit: contain; mix-blend-mode: multiply; }
.wpo-waarom__kaarten article > div { background: #fff; border-radius: 6px; padding: 14px 16px; margin-top: auto; }
.wpo-waarom__kaarten h3 { font-size: 17px; margin: 0; }
.wpo-waarom__kaarten small { color: var(--wpo-tekst-zacht); font-size: 12px; }
.wpo-waarom__kaarten p { font-size: 13.5px; margin: 6px 0 0; }

/* Blogs */
.wpo-blogs { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.wpo-blog { background: var(--wpo-lichtlila); border-radius: var(--wpo-radius); overflow: hidden; text-decoration: none; display: flex; flex-direction: column; }
.wpo-blog__beeld { display: block; aspect-ratio: 16 / 9; background: var(--wpo-lila); }
.wpo-blog__beeld img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wpo-blog__tekst { padding: 16px; display: flex; flex-direction: column; gap: 8px; min-height: 80px; }
.wpo-blog__tekst strong { font-size: 15.5px; }

/* SEO en FAQ */
.wpo-seo { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: center; }
.wpo-seo p { font-size: 14px; color: var(--wpo-tekst-zacht); }
.wpo-faq details { border-bottom: 1px solid var(--wpo-lijn); padding: 10px 0; }
.wpo-faq summary { font-weight: 700; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: 16px; }
.wpo-faq summary::-webkit-details-marker { display: none; }
.wpo-faq summary::after { content: "+"; font-weight: 400; font-size: 20px; line-height: 1; }
.wpo-faq details[open] summary::after { content: "–"; }
.wpo-faq details p { margin: 8px 0 4px; }
.wpo-seo__beeld { border-radius: var(--wpo-radius); display: grid; place-items: center; min-height: 340px; }
.wpo-seo__beeld img { max-height: 300px; width: auto; mix-blend-mode: multiply; }

/* Nieuwsbrief en footer -------------------------------------------- */
.wpo-nieuwsbrief { background: var(--wpo-lila); padding: 32px 0; }
.wpo-nieuwsbrief__in { display: grid; grid-template-columns: 96px 1fr auto; gap: 32px; align-items: center; }
.wpo-nieuwsbrief h2 { color: var(--wpo-aubergine) !important; font-size: 22px; margin: 0 0 4px; }
.wpo-vinkjes { list-style: none; margin: 0; padding: 0; font-size: 14px; font-weight: 600; }
.wpo-vinkjes li { display: flex; gap: 8px; align-items: center; margin: 4px 0; }
.wpo-vinkjes .wpo-icon { width: 15px; height: 15px; color: var(--wpo-aubergine); stroke-width: 3; }

.wpo-footer { background: var(--wpo-aubergine-donker); color: #E9E2F0; font-size: 14px; margin-top: 0; }
.wpo-footer__kolommen { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding-top: 40px; padding-bottom: 40px; }
.wpo-footer h3 { color: #fff !important; font-size: 13px; text-transform: uppercase; letter-spacing: .06em; margin: 0 0 14px; }
.wpo-footer ul { list-style: none; margin: 0; padding: 0; }
.wpo-footer li { margin: 0 0 6px; }
.wpo-footer a { color: #E9E2F0; text-decoration: none; }
.wpo-footer a:hover { color: #fff; text-decoration: underline; }
.wpo-footer address { font-style: normal; line-height: 1.75; }
.wpo-social { display: flex; gap: 10px; margin-top: 14px; }
.wpo-social a { width: 32px; height: 32px; border: 1px solid rgba(255, 255, 255, .35); border-radius: 50%; display: grid; place-items: center; font-weight: 700; font-size: 12px; }
.wpo-footer__onder { background: #fff; color: var(--wpo-tekst-zacht); font-size: 12.5px; }
.wpo-footer__onder-in { display: flex; justify-content: space-between; align-items: center; padding-top: 14px; padding-bottom: 14px; gap: 16px; flex-wrap: wrap; }
.wpo-footer__onder nav { display: flex; gap: 20px; }
.wpo-footer__onder a { color: var(--wpo-tekst-zacht); }
.wpo-betaal { display: flex; gap: 6px; list-style: none; margin: 0; padding: 0; }
.wpo-betaal li { border: 1px solid var(--wpo-lijn); border-radius: 4px; padding: 3px 8px; font-weight: 700; font-size: 11px; color: var(--wpo-aubergine); margin: 0; }

/* Categorie en shop ------------------------------------------------- */
.wpo-shop { display: grid; grid-template-columns: 240px 1fr; gap: 32px; margin-bottom: 64px; }
.wpo-kruimel { font-size: 13px; padding-top: 16px; padding-bottom: 8px; }
.wpo-kruimel .woocommerce-breadcrumb { margin: 0 !important; color: var(--wpo-tekst-zacht); display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.wpo-kruimel a { color: var(--wpo-aubergine) !important; text-decoration: none; }
.wpo-kruimel .wpo-icon { width: 13px; height: 13px; }
.wpo-filter h2 { font-size: 21px; border-bottom: 2px solid var(--wpo-tekst); padding-bottom: 8px; margin: 0 0 12px; }
.wpo-filter section { border-bottom: 1px solid var(--wpo-lijn); padding: 8px 0 14px; }
.wpo-filter h3 { font-size: 15px; margin: 6px 0 8px; }
.wpo-filter ul { list-style: none; margin: 0; padding: 0; }
.wpo-filter li { margin: 0 0 6px; font-size: 14px; }
.wpo-filter a { text-decoration: none; }
.wpo-filter a.is-actief { color: var(--wpo-aubergine); font-weight: 700; }
.wpo-filter a span { color: var(--wpo-tekst-zacht); font-size: 12px; }
.wpo-catkop { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; align-items: center; border-radius: var(--wpo-radius); padding: 16px; min-height: 200px; }
.wpo-catkop__beeld { display: flex; justify-content: center; align-items: flex-end; gap: 0; }
.wpo-catkop__beeld img { max-height: 180px; width: auto; max-width: 34%; object-fit: contain; mix-blend-mode: multiply; margin-left: -4%; }
.wpo-catkop__tekst { background: #fff; border-radius: var(--wpo-radius); padding: 22px 28px; text-align: center; }
.wpo-catkop__tekst h1 { font-size: 28px; margin: 0 0 8px; }
.wpo-catkop__tekst p, .wpo-catkop__tekst div { font-size: 13.5px; color: var(--wpo-tekst-zacht); margin: 0; }
.wpo-catkop__meer[hidden] { display: none; }
.wpo-catkop__lees { background: none; border: 0; color: var(--wpo-framboos); font-weight: 700; cursor: pointer; margin-top: 8px; padding: 0; }
.wpo-chips { display: flex; flex-wrap: wrap; gap: 10px; margin: 20px 0; }
.wpo-chips a { border: 1.5px solid var(--wpo-tekst); border-radius: 999px; padding: 7px 16px; font-weight: 600; font-size: 14px; text-decoration: none; }
.wpo-chips a:hover, .wpo-chips a.is-actief { background: var(--wpo-aubergine); border-color: var(--wpo-aubergine); color: #fff; }
.wpo-sorteerregel { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; font-size: 14px; }
.wpo-sorteerregel .woocommerce-result-count, .wpo-sorteerregel .woocommerce-ordering { margin: 0 !important; float: none !important; }
.wpo-sorteerregel select { border: 0; font-weight: 700; color: var(--wpo-aubergine); background-color: transparent; }
body.wpo .woocommerce-pagination { margin-top: 32px; }
body.wpo .woocommerce-pagination ul { border: 0 !important; display: flex !important; gap: 6px; justify-content: center; }
body.wpo .woocommerce-pagination li { border: 0 !important; }
body.wpo .woocommerce-pagination .page-numbers { border-radius: 50%; min-width: 36px; height: 36px; display: grid !important; place-items: center; padding: 0 !important; }
body.wpo .woocommerce-pagination .current { background: var(--wpo-aubergine) !important; color: #fff !important; }

/* Productpagina ----------------------------------------------------- */
body.wpo.single-product div.product { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.95fr) 280px; grid-template-areas: "galerij info aside"; gap: 24px 32px; align-items: start; max-width: var(--wpo-breedte); margin: 0 auto; padding: 8px 24px 0; box-sizing: border-box; }
body.wpo.single-product div.product > .woocommerce-product-gallery { grid-area: galerij; width: auto !important; float: none !important; margin: 0 !important; }
body.wpo.single-product div.product > .summary { grid-area: info; width: auto !important; float: none !important; margin: 0 !important; }
body.wpo.single-product div.product > .wpo-product-aside { grid-area: aside; position: sticky; top: 140px; }
body.wpo.single-product div.product > .wpo-productinfo,
body.wpo.single-product div.product > .related,
body.wpo.single-product div.product > .upsells { grid-column: 1 / -1; }
body.wpo.single-product .woocommerce-product-gallery__wrapper { background: var(--wpo-lila); border-radius: var(--wpo-radius); }
body.wpo.single-product .woocommerce-product-gallery__image img { mix-blend-mode: multiply; }
body.wpo.single-product .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 12px !important; }
body.wpo.single-product .flex-control-thumbs li { width: auto !important; margin: 0 !important; }
body.wpo.single-product .flex-control-thumbs img { border-radius: 6px; border: 1.5px solid var(--wpo-lijn); opacity: 1 !important; }
body.wpo.single-product .flex-control-thumbs img.flex-active { border-color: var(--wpo-aubergine); }
body.wpo.single-product .product_title { font-size: 30px; line-height: 1.2; margin-bottom: 6px; }
.wpo-merkregel { display: flex; align-items: center; gap: 14px; font-size: 14px; margin-bottom: 14px; }
.wpo-merkregel a { color: var(--wpo-aubergine); font-weight: 700; text-decoration: none; }
.wpo-merkregel__reviews { display: inline-flex; gap: 6px; align-items: center; text-decoration: underline !important; color: var(--wpo-tekst) !important; font-weight: 600 !important; }
body.wpo.single-product .summary .price { color: var(--wpo-tekst) !important; font-weight: 800; font-size: 26px !important; }
body.wpo.single-product .woocommerce-product-details__short-description { color: var(--wpo-tekst-zacht); font-size: 14.5px; }
body.wpo.single-product table.variations { border: 0; margin-bottom: 12px; }
body.wpo.single-product table.variations th, body.wpo.single-product table.variations td { border: 0; padding: 4px 0; display: block; }
body.wpo.single-product table.variations label { font-weight: 800; }
body.wpo.single-product table.variations select { border: 1.5px solid var(--wpo-aubergine); border-radius: var(--wpo-radius); padding: 12px 14px; font-weight: 700; width: 100%; }
body.wpo.single-product .woocommerce-variation-price .price { font-size: 22px !important; }
body.wpo.single-product form.cart { display: flex; flex-wrap: wrap; gap: 12px; align-items: stretch; }
body.wpo.single-product form.cart .variations, body.wpo.single-product form.cart .single_variation_wrap { width: 100%; }
body.wpo.single-product .woocommerce-variation-add-to-cart { display: flex; gap: 12px; }
body.wpo.single-product .quantity .qty { height: 52px; width: 70px; border: 1.5px solid var(--wpo-lijn); border-radius: var(--wpo-radius); font-weight: 700; }
body.wpo.single-product button.single_add_to_cart_button { flex: 1; min-height: 52px; font-size: 16px; }
.wpo-rekenhulp { border: 1px solid var(--wpo-lijn); border-radius: var(--wpo-radius); padding: 14px 16px; margin: 16px 0 12px; font-size: 13.5px; }
.wpo-rekenhulp h3 { display: flex; align-items: center; gap: 8px; font-size: 15px; margin: 0 0 10px; }
.wpo-rekenhulp h3 .wpo-icon { width: 18px; height: 18px; color: var(--wpo-aubergine); }
.wpo-rekenhulp__keuze { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.wpo-rekenhulp__keuze button { border: 1px solid var(--wpo-lijn); background: #fff; border-radius: 999px; padding: 3px 12px; font-weight: 700; cursor: pointer; color: var(--wpo-tekst); }
.wpo-rekenhulp__keuze button[aria-pressed="true"] { background: var(--wpo-aubergine); color: #fff; border-color: var(--wpo-aubergine); }
.wpo-rekenhulp__uitkomst { margin: 10px 0 0; }
.wpo-verzendbalk { display: flex; gap: 10px; align-items: center; background: #EAF5E6; color: #23612E; border-radius: var(--wpo-radius); padding: 10px 14px; font-size: 13.5px; margin: 12px 0; }
.wpo-verzendbalk > div { flex: 1; }
.wpo-verzendbalk__baan { display: block; height: 4px; background: rgba(35, 97, 46, .15); border-radius: 2px; margin-top: 6px; overflow: hidden; }
.wpo-verzendbalk__baan span { display: block; height: 100%; background: var(--wpo-groen-vink); }
.wpo-vertrouwen { background: var(--wpo-lichtlila); border-radius: var(--wpo-radius); padding: 18px; font-size: 13.5px; }
.wpo-vertrouwen h2, .wpo-sophie h2 { font-size: 15.5px; margin: 0 0 12px; }
.wpo-vertrouwen ul { list-style: none; margin: 0; padding: 0; }
.wpo-vertrouwen li { display: flex; gap: 10px; margin-bottom: 12px; }
.wpo-vertrouwen .wpo-icon { width: 20px; height: 20px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--wpo-groen-vink); color: #fff; stroke-width: 3.5; }
.wpo-sophie { background: var(--wpo-aubergine); color: #fff; border-radius: var(--wpo-radius); padding: 18px; margin-top: 16px; font-size: 13.5px; }
.wpo-sophie h2 { color: #fff !important; }
.wpo-sophie .wpo-knop { padding: 10px 20px; width: 100%; box-sizing: border-box; }
.wpo-sophie .wpo-icon { width: 18px; height: 18px; }
.wpo-productinfo { background: var(--wpo-lichtlila); margin: 48px -100vw 0; padding: 40px 100vw; }
.wpo-productinfo__in { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 !important; }
.wpo-paneel { background: #fff; border-radius: var(--wpo-radius); padding: 24px 28px; font-size: 14px; }
.wpo-paneel--breed { grid-column: 1 / -1; }
.wpo-paneel h2 { font-size: 20px; margin: 0 0 14px; }
.wpo-paneel .woocommerce-product-attributes { border: 0 !important; }
.wpo-paneel .woocommerce-product-attributes th, .wpo-paneel .woocommerce-product-attributes td { border: 0 !important; border-bottom: 1px solid var(--wpo-lijn) !important; padding: 10px 0 !important; background: none !important; text-align: left; }
.wpo-paneel .woocommerce-product-attributes td p { margin: 0; }
.wpo-paneel #reviews #comments ol.commentlist { padding: 0; }
.wpo-paneel #reviews .comment_container { border-bottom: 1px solid var(--wpo-lijn); padding: 10px 0; }
.wpo-paneel #reviews .avatar { display: none; }
.wpo-paneel #reviews .comment-text { margin: 0 !important; border: 0 !important; padding: 0 !important; }
body.wpo.single-product .related > h2 { font-size: 24px; margin: 40px 0 16px; }

/* Winkelmand en afrekenen ------------------------------------------- */
body.wpo.woocommerce-cart .site-content, body.wpo.woocommerce-checkout .site-content { background: #fff; }
body.wpo .woocommerce table.shop_table { border-radius: var(--wpo-radius); border-color: var(--wpo-lijn); }
body.wpo .woocommerce table.shop_table th { background: var(--wpo-lichtlila); }
body.wpo .cart_totals, body.wpo #order_review { background: var(--wpo-lichtlila); border-radius: var(--wpo-radius); padding: 20px; }
body.wpo .woocommerce-message, body.wpo .woocommerce-info { border-top-color: var(--wpo-aubergine); background: var(--wpo-lichtlila); }
body.wpo .woocommerce-message::before, body.wpo .woocommerce-info::before { color: var(--wpo-aubergine); }
body.wpo .woocommerce form .form-row input.input-text, body.wpo .woocommerce form .form-row textarea, body.wpo .woocommerce form .form-row select { border-radius: 6px; border-color: #D5CEDC; }

/* Gewone pagina's en blog ------------------------------------------- */
body.wpo:not(.home):not(.woocommerce) .entry-title { font-size: 34px; }
body.wpo .entry-content a { color: var(--wpo-framboos); }

/* Mobiel ----------------------------------------------------------- */
@media (max-width: 1100px) {
	.wpo-nav__lijst { gap: 18px; }
	.wpo-nav__lijst > li > a, .wpo-nav__merken > button { font-size: 14px; }
	body.wpo.single-product div.product { grid-template-columns: 1fr 1fr; grid-template-areas: "galerij info" "aside info"; }
	.wpo-slider__baan { grid-auto-columns: calc((100% - 32px) / 3.3); }
}
@media (max-width: 860px) {
	.wpo-topbar__usp li:not(:first-child), .wpo-topbar__links { display: none; }
	.wpo-topbar__in { justify-content: center; }
	.wpo-header__in { flex-wrap: wrap; gap: 12px 16px; }
	.wpo-header__burger { display: block; }
	.wpo-logo img { height: 30px; }
	.wpo-zoek { order: 5; flex-basis: 100%; max-width: none; }
	.wpo-nav { display: none; }
	.wpo-nav.is-open { display: block; }
	.wpo-nav__in { flex-direction: column; align-items: stretch; }
	.wpo-nav__lijst { flex-direction: column; gap: 0; }
	.wpo-nav__lijst > li { border-bottom: 1px solid rgba(255, 255, 255, .12); }
	.wpo-nav__lijst > li > a, .wpo-nav__merken > button { display: block; padding: 12px 0; width: 100%; text-align: left; }
	.wpo-nav__sub { position: static; box-shadow: none; background: none; padding: 0 0 8px; }
	.wpo-nav__sub a { color: #fff; }
	.wpo-nav__geurvinder { padding: 12px 0; }
	.wpo-hero { grid-template-columns: 1fr; }
	.wpo-hero__groot { min-height: 360px; }
	.wpo-hero__tekst { left: 20px; right: 20px; bottom: 24px; }
	.wpo-hero__tekst h1 { font-size: 30px; }
	.wpo-hero__tegels { grid-template-rows: none; }
	.wpo-cats { grid-template-columns: repeat(5, 150px); overflow-x: auto; }
	body.wpo ul.products { grid-template-columns: 1fr 1fr; gap: 10px; }
	.wpo-slider__baan { grid-auto-columns: 46%; grid-template-columns: none !important; }
	.wpo-reviews__in { grid-template-columns: 1fr; }
	.wpo-reviews__lijst { grid-auto-columns: 78%; }
	.wpo-duo, .wpo-seo, .wpo-blogs, .wpo-waarom__kaarten { grid-template-columns: 1fr; }
	.wpo-duo__blok { grid-template-columns: 120px 1fr; gap: 16px; }
	.wpo-duo__blok img { width: 120px; height: 120px; }
	.wpo-duo__blok > div { text-align: left; }
	.wpo-nieuwsbrief__in { grid-template-columns: 1fr; }
	.wpo-nieuwsbrief__bloem, .wpo-nieuwsbrief .wpo-vinkjes { display: none; }
	.wpo-footer__kolommen { grid-template-columns: 1fr 1fr; }
	.wpo-shop { grid-template-columns: 1fr; }
	.wpo-filter { display: none; }
	.wpo-filter.is-open { display: block; }
	.wpo-filterknop { display: inline-flex !important; }
	.wpo-catkop { grid-template-columns: 1fr; }
	body.wpo.single-product div.product { grid-template-columns: 1fr; grid-template-areas: "galerij" "info" "aside"; padding: 0 16px; }
	body.wpo.single-product div.product > .wpo-product-aside { position: static; }
	.wpo-productinfo__in { grid-template-columns: 1fr; }
	.wpo-kop { font-size: 23px; }
	.wpo-sectie { margin-top: 44px; margin-bottom: 44px; }
}
.wpo-filterknop { display: none !important; border: 1.5px solid var(--wpo-tekst); border-radius: 999px; padding: 7px 16px; font-weight: 700; background: #fff; cursor: pointer; margin-bottom: 12px; }


/* Ronde 2: puntjes op de i ----------------------------------------- */

/* Kleuren die Astra overschrijft */
body.wpo .wpo-header__burger,
body.wpo .wpo-header__burger:hover,
body.wpo .wpo-header__burger:focus { color: #fff !important; background: none !important; border: 0 !important; box-shadow: none !important; padding: 6px !important; }
body.wpo .wpo-nav__merken > button:focus, body.wpo .wpo-nav__merken > button:hover { color: var(--wpo-geel) !important; }
body.wpo .wpo-zoek button, body.wpo .wpo-zoek button:hover { background: var(--wpo-roze) !important; color: var(--wpo-framboos) !important; border: 0 !important; }
body.wpo .wpo-slider__nav button, body.wpo .wpo-slider__nav button:hover { background: #fff !important; color: var(--wpo-tekst) !important; border: 1px solid var(--wpo-lijn) !important; }
body.wpo .wpo-rekenhulp__keuze button { background: #fff !important; color: var(--wpo-tekst) !important; border: 1px solid var(--wpo-lijn) !important; font-size: 13px; line-height: 1.6; }
body.wpo .wpo-rekenhulp__keuze button[aria-pressed="true"] { background: var(--wpo-aubergine) !important; color: #fff !important; border-color: var(--wpo-aubergine) !important; }
body.wpo .wpo-catkop__lees, body.wpo .wpo-catkop__lees:hover { background: none !important; color: var(--wpo-framboos) !important; border: 0 !important; padding: 0 !important; }
body.wpo .wpo-filterknop { color: var(--wpo-tekst) !important; background: #fff !important; }

/* Pastelvlakken van de kaarten winnen van Astra */
body.wpo ul.products li.product.wpo-bg--lila { background: var(--wpo-lila) !important; }
body.wpo ul.products li.product.wpo-bg--groen { background: var(--wpo-groen) !important; }
body.wpo ul.products li.product.wpo-bg--perzik { background: var(--wpo-perzik) !important; }
body.wpo ul.products li.product.wpo-bg--roze { background: var(--wpo-roze) !important; }
body.wpo ul.products li.product.wpo-bg--blauw { background: var(--wpo-blauw) !important; }
body.wpo ul.products li.product.wpo-bg--geel { background: var(--wpo-geel-pastel) !important; }
body.wpo ul.products li.product.wpo-kaart { box-shadow: none !important; border: 0 !important; text-align: left; }
body.wpo .wpo-kaart__naam, body.wpo .wpo-kaart__naam a { color: var(--wpo-tekst) !important; font-weight: 800; }

/* Productpagina */
body.wpo.single-product .site-content > .ast-container, body.wpo.single-product #primary { padding-top: 0 !important; margin-top: 0 !important; }
body.wpo.single-product div.product { padding-top: 16px; }
body.wpo.single-product div.product > .wpo-product-aside { position: static; }
body.wpo.single-product .summary .woocommerce-breadcrumb, body.wpo.single-product .summary .single-product-category, body.wpo.single-product .summary .woocommerce-product-rating { display: none !important; }
body.wpo.single-product .product_title { font-size: 30px !important; margin: 0 0 6px !important; }
body.wpo.single-product.wpo-variabel .summary > p.price { display: none; }
.wpo-verborgen { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
body.wpo.single-product .reset_variations { display: none !important; }
.wpo-formaten { display: grid; gap: 10px; margin: 6px 0 14px; width: 100%; }
.wpo-formaten::before { content: "Kies je formaat"; font-weight: 800; font-size: 15px; }
body.wpo .wpo-formaat { display: grid; grid-template-columns: 22px 1fr auto; gap: 12px; align-items: center; width: 100%; text-align: left; background: #fff !important; color: var(--wpo-tekst) !important; border: 1.5px solid var(--wpo-lijn) !important; border-radius: var(--wpo-radius) !important; padding: 14px 16px !important; cursor: pointer; font-size: 14px; line-height: 1.35; transition: border-color .15s, background .15s; }
body.wpo .wpo-formaat:hover { border-color: var(--wpo-aubergine) !important; }
body.wpo .wpo-formaat[aria-checked="true"] { border-color: var(--wpo-aubergine) !important; background: var(--wpo-lichtlila) !important; box-shadow: inset 0 0 0 1px var(--wpo-aubergine) !important; }
body.wpo .wpo-formaat[disabled] { opacity: .5; cursor: not-allowed; }
.wpo-formaat__radio { width: 20px; height: 20px; border-radius: 50%; border: 2px solid #9C93A5; box-sizing: border-box; }
.wpo-formaat[aria-checked="true"] .wpo-formaat__radio { border: 6px solid var(--wpo-aubergine); }
.wpo-formaat__naam strong { font-size: 16px; font-weight: 800; margin-right: 8px; }
.wpo-formaat__tag { display: inline-block; background: #E3F1DE; color: #23612E; font-size: 11px; font-weight: 700; padding: 1px 7px; border-radius: 4px; vertical-align: 2px; }
.wpo-formaat__voorraad { display: block; font-size: 12.5px; color: var(--wpo-groen-vink); font-weight: 600; margin-top: 2px; }
.wpo-formaat__voorraad::before { content: ""; display: inline-block; width: 7px; height: 7px; border-radius: 50%; background: currentColor; margin-right: 6px; vertical-align: 1px; }
.wpo-formaat__voorraad.is-uit { color: #A23B3B; }
.wpo-formaat__prijs { text-align: right; }
.wpo-formaat__prijs strong { display: block; font-size: 18px; font-weight: 800; }
.wpo-formaat__prijs s { display: block; font-size: 12px; color: var(--wpo-tekst-zacht); }
.wpo-formaat__prijs small { display: block; font-size: 11.5px; color: var(--wpo-tekst-zacht); }
body.wpo.single-product .single_variation_wrap .woocommerce-variation-price,
body.wpo.single-product .single_variation_wrap .woocommerce-variation-availability { display: none; }
body.wpo.single-product .woocommerce-variation-add-to-cart, body.wpo.single-product form.cart:not(.variations_form) { display: flex !important; gap: 12px; align-items: stretch; flex-wrap: nowrap; }
body.wpo.single-product .quantity.buttons_added { display: inline-flex !important; align-items: center; border: 1.5px solid var(--wpo-lijn); border-radius: var(--wpo-radius); height: 52px; overflow: hidden; margin: 0 !important; flex: none; }
body.wpo.single-product .quantity.buttons_added .minus, body.wpo.single-product .quantity.buttons_added .plus { width: 36px; height: 100%; display: grid !important; place-items: center; border: 0 !important; background: none !important; color: var(--wpo-tekst) !important; font-size: 18px; text-decoration: none; padding: 0 !important; }
body.wpo.single-product .quantity.buttons_added .qty { border: 0 !important; width: 38px !important; height: 100% !important; padding: 0 !important; text-align: center; font-weight: 800; background: none !important; -moz-appearance: textfield; }
body.wpo.single-product .quantity .qty::-webkit-inner-spin-button { -webkit-appearance: none; }
body.wpo.single-product button.single_add_to_cart_button { flex: 1; white-space: nowrap; border-radius: 999px !important; margin: 0 !important; }
body.wpo.single-product button.single_add_to_cart_button.disabled { opacity: .55; }
.wpo-rekenhulp__keuze span:last-child { white-space: nowrap; }
body.wpo.single-product .woocommerce-product-details__short-description p { margin-bottom: 12px; }
.wpo-productinfo { position: relative; z-index: 1; }
.wpo-paneel h3, .wpo-paneel h4 { font-size: 16px; margin: 16px 0 6px; }
.wpo-paneel__tekst p { margin-bottom: 12px; }
body.wpo .wpo-paneel #reviews h2 { font-size: 20px; }
body.wpo .wpo-paneel .star-rating { color: var(--wpo-ster); }
body.wpo .wpo-paneel #review_form_wrapper { margin-top: 20px; }
body.wpo .wpo-paneel #respond input#submit { background: #fff !important; color: var(--wpo-framboos) !important; box-shadow: inset 0 0 0 1.5px var(--wpo-framboos); border-radius: 999px; padding: 10px 22px; }

/* Categoriepagina */
body.wpo.archive .site-content > .ast-container, body.wpo.archive #primary { padding-top: 0 !important; margin-top: 0 !important; }
.wpo-catkop__beeld img { height: 170px !important; }
body.wpo .woocommerce-ordering select { padding-right: 24px; }

/* Header-hoogte rond de adminbalk */
@media (max-width: 782px) { .admin-bar .wpo-header { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wpo-header { top: 0; } }

@media (max-width: 860px) {
	.wpo-header__in { padding-top: 10px; padding-bottom: 10px; }
	.wpo-zoek { padding: 3px 3px 3px 16px; }
	.wpo-zoek input[type=search] { padding: 7px 0 !important; font-size: 16px; }
	.wpo-zoek button { width: 34px; height: 34px; }
	.wpo-header__iconen { gap: 16px; }
	.wpo-hero { margin-top: 14px; gap: 10px; }
	.wpo-hero__groot { min-height: 340px; }
	.wpo-hero__tegels { grid-template-columns: 1fr; gap: 10px; }
	.wpo-tegel { padding: 12px 16px; min-height: 0; }
	.wpo-tegel h2 { font-size: 18px; }
	.wpo-tegel p { margin-bottom: 2px; }
	.wpo-tegel img { width: 34%; max-height: 74px; }
	.wpo-cats { grid-template-columns: repeat(5, 46%); gap: 10px; scroll-snap-type: x mandatory; padding-bottom: 4px; scrollbar-width: none; }
	.wpo-cats::-webkit-scrollbar { display: none; }
	.wpo-cat { scroll-snap-align: start; }
	.wpo-cat__beeld { height: 130px; }
	.wpo-cat__beeld img { height: 112px !important; }
	.wpo-kaart__info { padding: 10px 10px; }
	.wpo-kaart__naam { font-size: 14.5px !important; }
	.wpo-kaart__prijs { font-size: 19px; }
	.wpo-plus { width: 32px; height: 32px; }
	.wpo-duo__blok h2 { font-size: 18px; }
	.wpo-waarom { padding: 36px 0 40px; }
	.wpo-waarom__kaarten img { height: 150px; }
	.wpo-blogs { grid-auto-flow: column; grid-auto-columns: 82%; grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.wpo-blog { scroll-snap-align: start; }
	.wpo-seo__beeld { min-height: 240px; }
	.wpo-seo__beeld img { max-height: 210px; }
	.wpo-footer__kolommen { gap: 28px 20px; padding-top: 32px; padding-bottom: 32px; }
	.wpo-footer__onder-in { flex-direction: column; align-items: flex-start; }
	.wpo-footer__onder nav { flex-wrap: wrap; gap: 8px 16px; }
	.wpo-catkop { padding: 12px; min-height: 0; }
	.wpo-catkop__beeld img { height: 110px !important; }
	.wpo-catkop__tekst { padding: 16px; }
	.wpo-catkop__tekst h1 { font-size: 24px; }
	.wpo-chips { flex-wrap: nowrap; overflow-x: auto; margin: 14px -24px; padding: 0 24px; scrollbar-width: none; }
	.wpo-chips::-webkit-scrollbar { display: none; }
	.wpo-chips a { white-space: nowrap; }
	.wpo-sorteerregel { flex-wrap: wrap; gap: 8px; font-size: 13px; }
	.wpo-shop { gap: 0; }
	body.wpo.single-product .product_title { font-size: 24px !important; }
	body.wpo.single-product div.product { gap: 18px; }
	.wpo-productinfo { margin-top: 28px; padding-top: 24px; padding-bottom: 24px; }
	.wpo-paneel { padding: 18px; }
	body.wpo.single-product .flex-control-thumbs { grid-template-columns: repeat(4, 1fr); gap: 8px; }
}

/* Ronde 3: winkelwagen, afrekenen en pop-ups ---------------------- */

/* Witruimte van Astra rond WooCommerce en gewone pagina's */
body.wpo .ast-woocommerce-container { padding: 0 !important; }
body.wpo:not(.home) article.ast-article-single { padding-top: 28px !important; padding-bottom: 56px !important; }
body.wpo #primary { margin-top: 0 !important; margin-bottom: 0 !important; }
body.wpo.single-product .wpo-kruimel, body.wpo.archive .wpo-kruimel { max-width: var(--wpo-breedte); }
body.wpo.single-product .site-content > .ast-container { max-width: none; padding: 0; }
body.wpo.woocommerce-cart .entry-title, body.wpo.woocommerce-checkout .entry-title { font-size: 30px !important; margin-bottom: 4px; }
body.wpo.woocommerce-cart .entry-header, body.wpo.woocommerce-checkout .entry-header { margin-bottom: 8px !important; }

/* Stappenbalk */
.wpo-stappen { display: flex; gap: 8px; list-style: none; margin: 0 0 22px; padding: 0; counter-reset: none; grid-column: 1 / -1; }
.wpo-stappen li { flex: 1; display: flex; align-items: center; gap: 10px; font-size: 13.5px; font-weight: 700; color: var(--wpo-tekst-zacht); padding: 10px 14px; background: var(--wpo-lichtlila); border-radius: var(--wpo-radius); margin: 0; }
.wpo-stappen li span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--wpo-aubergine); font-size: 12px; flex: none; }
.wpo-stappen li.is-actief { background: var(--wpo-aubergine); color: #fff; }
.wpo-stappen li.is-actief span { background: var(--wpo-geel); }
.wpo-stappen li.is-klaar span { background: var(--wpo-groen-vink); color: #fff; }

/* Winkelwagen in twee kolommen */
body.wpo.woocommerce-cart .woocommerce { display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 0 32px; align-items: start; }
body.wpo.woocommerce-cart .woocommerce > * { grid-column: 1 / -1; }
body.wpo.woocommerce-cart .woocommerce > form.woocommerce-cart-form { grid-column: 1; }
body.wpo.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 2; grid-row: span 3; width: auto; }
body.wpo.woocommerce-cart .cart-collaterals .cart_totals { width: 100% !important; float: none !important; position: sticky; top: 150px; }
body.wpo.woocommerce-cart .wpo-verzendbalk { margin-top: 0; }
body.wpo .woocommerce table.shop_table.cart { border: 1px solid var(--wpo-lijn) !important; border-radius: var(--wpo-radius) !important; border-collapse: separate; overflow: hidden; }
body.wpo .woocommerce table.cart th { background: var(--wpo-lichtlila) !important; font-size: 13px; text-transform: none; color: var(--wpo-tekst-zacht); font-weight: 700; }
body.wpo .woocommerce table.cart td { border-top: 1px solid var(--wpo-lijn) !important; vertical-align: middle; }
body.wpo .woocommerce table.cart td.product-name a { color: var(--wpo-tekst) !important; font-weight: 700; text-decoration: none; }
body.wpo .woocommerce table.cart td.product-name a:hover { color: var(--wpo-framboos) !important; }
body.wpo .woocommerce table.cart td.product-thumbnail img { width: 72px !important; height: 72px; object-fit: contain; background: var(--wpo-lila); border-radius: 6px; padding: 4px; mix-blend-mode: multiply; }
body.wpo .woocommerce table.cart td.product-subtotal { font-weight: 800; }
body.wpo .woocommerce table.cart a.remove { color: var(--wpo-tekst-zacht) !important; border: 1px solid var(--wpo-lijn) !important; width: 26px; height: 26px; line-height: 23px; font-size: 18px; border-radius: 50%; }
body.wpo .woocommerce table.cart a.remove:hover { background: var(--wpo-roze) !important; color: var(--wpo-framboos) !important; border-color: var(--wpo-framboos) !important; }
body.wpo .woocommerce table.cart .quantity.buttons_added { display: inline-flex; align-items: center; border: 1.5px solid var(--wpo-lijn); border-radius: var(--wpo-radius); height: 40px; overflow: hidden; }
body.wpo .woocommerce table.cart .quantity.buttons_added .minus, body.wpo .woocommerce table.cart .quantity.buttons_added .plus { border: 0 !important; background: none !important; width: 30px; height: 100%; display: grid; place-items: center; color: var(--wpo-tekst) !important; padding: 0 !important; }
body.wpo .woocommerce table.cart .quantity .qty { border: 0 !important; width: 34px !important; height: 100%; padding: 0 !important; text-align: center; font-weight: 800; background: none !important; }
body.wpo .woocommerce table.cart td.actions { background: #fff; padding: 14px !important; }
body.wpo .woocommerce table.cart td.actions .coupon { display: inline-flex; align-items: center; gap: 0; margin-right: 12px; }
body.wpo .woocommerce table.cart td.actions .coupon .input-text { height: 42px; border: 1.5px solid var(--wpo-lijn) !important; border-right: 0 !important; border-radius: 999px 0 0 999px !important; padding: 0 16px !important; width: 170px !important; margin: 0 !important; font-size: 14px; }
body.wpo .woocommerce table.cart td.actions .coupon .button { height: 42px; border-radius: 0 999px 999px 0 !important; background: var(--wpo-aubergine) !important; color: #fff !important; padding: 0 18px !important; font-size: 13.5px; margin: 0 !important; border: 0 !important; }
body.wpo .woocommerce table.cart td.actions select { height: 42px; border: 1.5px solid var(--wpo-lijn) !important; border-radius: 999px !important; padding: 0 36px 0 16px !important; font-size: 14px !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--wpo-tekst) !important; background-color: #fff !important; width: auto !important; max-width: 260px; }
body.wpo .woocommerce table.cart td.actions > .button[name="update_cart"] { height: 42px; border-radius: 999px !important; background: #fff !important; color: var(--wpo-tekst-zacht) !important; border: 1.5px solid var(--wpo-lijn) !important; font-size: 13.5px; padding: 0 18px !important; }
body.wpo.wpo-js .woocommerce table.cart td.actions > .button[name="update_cart"] { display: none !important; }
body.wpo .cart_totals { background: #fff !important; border: 1px solid var(--wpo-lijn); border-radius: var(--wpo-radius); padding: 22px !important; }
body.wpo .cart_totals > h2 { font-size: 20px !important; margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; background: none !important; }
body.wpo .cart_totals table.shop_table { border: 0 !important; background: none !important; }
body.wpo .cart_totals table.shop_table th, body.wpo .cart_totals table.shop_table td { background: none !important; border: 0 !important; border-top: 1px solid var(--wpo-lijn) !important; padding: 12px 0 !important; font-size: 14px; }
body.wpo .cart_totals table.shop_table tr:first-child th, body.wpo .cart_totals table.shop_table tr:first-child td { border-top: 0 !important; }
body.wpo .cart_totals .order-total th, body.wpo .cart_totals .order-total td { font-size: 17px; font-weight: 800; }
body.wpo .cart_totals .order-total small { display: block; font-weight: 400; font-size: 12px; color: var(--wpo-tekst-zacht); }
body.wpo .cart_totals .wc-proceed-to-checkout { padding: 8px 0 0 !important; }
body.wpo .cart_totals .checkout-button { width: 100%; font-size: 16px !important; padding: 16px 20px !important; margin-bottom: 14px !important; }
body.wpo .woocommerce-shipping-calculator .shipping-calculator-button { color: var(--wpo-framboos) !important; font-size: 13px; }
.wpo-vertrouwen-kort { list-style: none; margin: 4px 0 0; padding: 0; font-size: 12.5px; color: var(--wpo-tekst-zacht); }
.wpo-vertrouwen-kort li { display: flex; gap: 8px; align-items: center; margin: 4px 0; }
.wpo-vertrouwen-kort .wpo-icon { width: 14px; height: 14px; color: var(--wpo-groen-vink); stroke-width: 3; }
body.wpo .cart-empty.woocommerce-info { font-size: 16px; }
body.wpo .return-to-shop .button { border-radius: 999px !important; background: var(--wpo-framboos) !important; color: #fff !important; padding: 14px 26px !important; }

/* Cadeaublok (GIFTiT) */
body.wpo .adv-gift-section { background: var(--wpo-lichtlila); border-radius: var(--wpo-radius); padding: 18px 20px !important; margin: 0 0 24px !important; }
body.wpo .adv-gift-section .wgb-title { font-size: 18px !important; text-transform: none !important; margin: 0 0 12px !important; color: var(--wpo-aubergine) !important; }
body.wpo .adv-gift-section .wgb-row { display: flex; flex-wrap: wrap; gap: 12px; margin: 0 !important; }
body.wpo .adv-gift-section [class*="wgb-col"] { flex: 0 0 170px !important; max-width: 170px !important; padding: 0 !important; }
body.wpo .adv-gift-section .wgb-product-item-cnt { background: #fff !important; border: 1px solid var(--wpo-lijn) !important; border-radius: var(--wpo-radius) !important; overflow: hidden; box-shadow: none !important; }
body.wpo .adv-gift-section .wgb-product-item-cnt img { aspect-ratio: 1 / 1; object-fit: cover; width: 100%; }
body.wpo .adv-gift-section .wgb-item-content { padding: 10px 12px 12px !important; text-align: left !important; }
body.wpo .adv-gift-section .wgb-item-content a:not(.wgb-add-gift-btn), body.wpo .adv-gift-section .wgb-item-content h3, body.wpo .adv-gift-section .wgb-item-content h4 { color: var(--wpo-tekst) !important; font-size: 14px !important; font-weight: 700 !important; text-decoration: none; }
body.wpo .adv-gift-section .wgb-add-gift-btn { display: block !important; text-align: center; background: var(--wpo-framboos) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 8px 12px !important; font-size: 13px !important; font-weight: 700; margin-top: 8px; text-decoration: none; }
body.wpo .wgb-pagination-cnt.wpo-verborgen-blok { display: none !important; }

/* Afrekenen */
body.wpo.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info { background: #fff; border: 1px dashed #CFC6D8; border-radius: var(--wpo-radius); }
body.wpo.woocommerce-checkout form.checkout { display: grid; grid-template-columns: minmax(0, 1fr) 420px; gap: 0 36px; align-items: start; }
body.wpo.woocommerce-checkout form.checkout > * { grid-column: 1; }
body.wpo.woocommerce-checkout form.checkout #customer_details { width: auto !important; float: none !important; }
body.wpo.woocommerce-checkout form.checkout #customer_details .col-1, body.wpo.woocommerce-checkout form.checkout #customer_details .col-2 { width: 100% !important; float: none !important; padding: 0 !important; }
body.wpo.woocommerce-checkout form.checkout #order_review_heading, body.wpo.woocommerce-checkout form.checkout #order_review { grid-column: 2; width: auto !important; float: none !important; }
body.wpo.woocommerce-checkout form.checkout #order_review_heading { grid-row: 1; margin: 0 !important; padding: 20px 22px 0 !important; background: #fff; border: 1px solid var(--wpo-lijn) !important; border-bottom: 0 !important; border-radius: var(--wpo-radius) var(--wpo-radius) 0 0; font-size: 20px !important; }
body.wpo.woocommerce-checkout form.checkout #order_review { grid-row: 2 / span 6; background: #fff !important; border: 1px solid var(--wpo-lijn) !important; border-top: 0 !important; border-radius: 0 0 var(--wpo-radius) var(--wpo-radius); padding: 10px 22px 22px !important; position: sticky; top: 150px; }
body.wpo.woocommerce-checkout #customer_details h3 { font-size: 20px !important; border: 0 !important; padding: 0 !important; margin: 0 0 14px !important; }
body.wpo.woocommerce-checkout .woocommerce-billing-fields, body.wpo.woocommerce-checkout .woocommerce-shipping-fields, body.wpo.woocommerce-checkout .woocommerce-additional-fields { background: #fff; border: 1px solid var(--wpo-lijn); border-radius: var(--wpo-radius); padding: 22px; margin-bottom: 16px; }
body.wpo.woocommerce-checkout .woocommerce-shipping-fields:empty, body.wpo.woocommerce-checkout .woocommerce-additional-fields:empty { display: none; }
body.wpo .woocommerce form .form-row label { font-size: 13.5px; font-weight: 700; margin-bottom: 4px; }
body.wpo .woocommerce form .form-row .required { color: var(--wpo-framboos); text-decoration: none; }
body.wpo .woocommerce form .form-row input.input-text, body.wpo .woocommerce form .form-row textarea, body.wpo .woocommerce form .form-row select, body.wpo .woocommerce .select2-container .select2-selection--single { border: 1.5px solid #DCD5E2 !important; border-radius: var(--wpo-radius) !important; padding: 11px 14px !important; font-size: 15px !important; min-height: 46px; background: #fff !important; box-shadow: none !important; }
body.wpo .woocommerce .select2-container .select2-selection--single .select2-selection__rendered { line-height: 22px; padding: 0 !important; }
body.wpo .woocommerce .select2-container .select2-selection--single .select2-selection__arrow { top: 10px; right: 8px; }
body.wpo .woocommerce form .form-row input.input-text:focus, body.wpo .woocommerce form .form-row textarea:focus { border-color: var(--wpo-aubergine) !important; outline: 0; box-shadow: 0 0 0 3px rgba(75, 46, 107, .12) !important; }
body.wpo #ship-to-different-address { font-size: 15px !important; font-weight: 700; }
body.wpo #order_review table.shop_table { border: 0 !important; background: none !important; margin-bottom: 8px !important; }
body.wpo #order_review table.shop_table th, body.wpo #order_review table.shop_table td { background: none !important; border: 0 !important; border-top: 1px solid var(--wpo-lijn) !important; padding: 10px 0 !important; font-size: 14px; }
body.wpo #order_review table.shop_table thead th { border-top: 0 !important; color: var(--wpo-tekst-zacht); font-size: 12.5px; }
body.wpo #order_review table.shop_table .order-total th, body.wpo #order_review table.shop_table .order-total td { font-size: 17px; font-weight: 800; }
body.wpo #order_review .product-quantity { color: var(--wpo-tekst-zacht); font-weight: 600; }
body.wpo #payment { background: none !important; border-radius: 0 !important; }
body.wpo #payment ul.payment_methods { border: 0 !important; padding: 6px 0 0 !important; display: grid; gap: 8px; }
body.wpo #payment ul.payment_methods > li { border: 1.5px solid var(--wpo-lijn); border-radius: var(--wpo-radius); padding: 12px 14px !important; margin: 0 !important; background: #fff; list-style: none; }
body.wpo #payment ul.payment_methods > li:has(input:checked) { border-color: var(--wpo-aubergine); background: var(--wpo-lichtlila); box-shadow: inset 0 0 0 1px var(--wpo-aubergine); }
body.wpo #payment ul.payment_methods > li > label { font-weight: 700; font-size: 14.5px; display: inline-flex !important; align-items: center; gap: 10px; width: calc(100% - 30px); justify-content: space-between; cursor: pointer; }
body.wpo #payment ul.payment_methods > li > label img { max-height: 24px !important; margin: 0 !important; float: none !important; }
body.wpo #payment ul.payment_methods > li input[type=radio] { accent-color: var(--wpo-aubergine); margin-right: 8px; }
body.wpo #payment div.payment_box { background: transparent !important; margin: 8px 0 0 !important; padding: 0 0 0 26px !important; font-size: 13px; color: var(--wpo-tekst-zacht); }
body.wpo #payment div.payment_box::before { display: none !important; }
body.wpo #payment div.payment_box * { background: none !important; padding-left: 0; padding-right: 0; }
body.wpo #payment .place-order { padding: 14px 0 0 !important; }
body.wpo .woocommerce-terms-and-conditions-wrapper { font-size: 13.5px; }
body.wpo .woocommerce-terms-and-conditions-wrapper input[type=checkbox] { accent-color: var(--wpo-aubergine); width: 18px; height: 18px; vertical-align: -3px; }
body.wpo #place_order { width: 100% !important; font-size: 16.5px !important; padding: 17px 20px !important; margin: 12px 0 10px !important; float: none !important; }

/* Bedankt-pagina */
body.wpo .woocommerce-thankyou-order-received { font-size: 22px; font-weight: 800; color: var(--wpo-aubergine); }
body.wpo ul.woocommerce-order-overview { background: var(--wpo-lichtlila); border-radius: var(--wpo-radius); padding: 18px !important; display: flex; flex-wrap: wrap; gap: 16px 32px; }
body.wpo ul.woocommerce-order-overview li { border: 0 !important; margin: 0 !important; padding: 0 !important; }

/* WooCommerce-meldingen */
body.wpo .woocommerce-message, body.wpo .woocommerce-info, body.wpo .woocommerce-error { border-radius: var(--wpo-radius); border: 0 !important; border-left: 4px solid var(--wpo-aubergine) !important; font-size: 14px; }
body.wpo .woocommerce-error { border-left-color: #B03A3A !important; background: #FBEDED !important; }
body.wpo .woocommerce-message .button, body.wpo .woocommerce-info .button { border-radius: 999px !important; background: var(--wpo-aubergine) !important; color: #fff !important; }

/* Sophie-melding (WooCommerce-winkelmelding) als zwevend kaartje */
body.wpo p.woocommerce-store-notice, body.wpo p.demo_store {
	position: fixed !important; top: auto !important; bottom: 20px !important; left: 20px !important; right: auto !important;
	width: auto !important; max-width: 340px; margin: 0 !important; z-index: 9990;
	background: var(--wpo-aubergine) !important; color: #fff !important; box-shadow: 0 14px 40px rgba(49, 30, 72, .32);
	border-radius: 16px; padding: 16px 44px 16px 74px !important; text-align: left !important;
	font-size: 14.5px !important; line-height: 1.45; font-weight: 600;
	animation: wpo-omhoog .35s ease-out both;
}
body.wpo p.woocommerce-store-notice::before {
	content: ""; position: absolute; left: 16px; top: 50%; transform: translateY(-50%);
	width: 44px; height: 44px; border-radius: 50%;
	background: var(--wpo-geel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%234B2E6B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5h16v11H9l-5 4z'/%3E%3Cpath d='M8 10h.01M12 10h.01M16 10h.01'/%3E%3C/svg%3E") center / 22px no-repeat;
}
body.wpo p.woocommerce-store-notice a { color: var(--wpo-geel) !important; text-decoration: underline; text-underline-offset: 3px; }
body.wpo p.woocommerce-store-notice a.woocommerce-store-notice__dismiss-link {
	position: absolute; top: 8px; right: 8px; width: 26px; height: 26px; border-radius: 50%;
	font-size: 0 !important; text-decoration: none; background: rgba(255, 255, 255, .12); color: #fff !important; margin: 0 !important; padding: 0 !important;
}
body.wpo p.woocommerce-store-notice a.woocommerce-store-notice__dismiss-link::after { content: "×"; font-size: 18px; line-height: 26px; display: block; text-align: center; }
body.wpo p.woocommerce-store-notice a.woocommerce-store-notice__dismiss-link:hover { background: rgba(255, 255, 255, .25); }
@keyframes wpo-omhoog { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }
body.wpo.admin-bar { margin-top: 0; }
body.wpo .ast-scroll-top-icon, body.wpo #ast-scroll-top { border-radius: 50% !important; background: var(--wpo-aubergine) !important; bottom: 20px !important; right: 20px !important; }

/* Nieuwsbriefpop-up (Hustle) in de huisstijl */
body.wpo .hustle-ui.hustle-popup .hustle-popup-mask { background: rgba(38, 22, 52, .62) !important; backdrop-filter: blur(2px); }
body.wpo .hustle-ui.hustle-popup .hustle-popup-content { max-width: 780px !important; width: calc(100% - 32px) !important; }
body.wpo .hustle-ui.hustle-popup .hustle-optin, body.wpo .hustle-ui.hustle-popup .hustle-optin-content { background: none !important; box-shadow: none !important; }
body.wpo .hustle-ui.hustle-popup .hustle-layout { position: relative; display: grid !important; grid-template-columns: 42% 1fr; background: #fff !important; background-image: none !important; border-radius: 18px !important; overflow: hidden; box-shadow: 0 30px 80px rgba(38, 22, 52, .35) !important; min-height: 380px; }
body.wpo .hustle-ui.hustle-popup .hustle-layout::before { content: ""; grid-column: 1; grid-row: 1 / span 2; background-size: cover; background-position: 30% center; }
body.wpo .hustle-ui.hustle-popup .hustle-main-wrapper { grid-column: 2; background: none !important; position: static !important; }
body.wpo .hustle-ui.hustle-popup .hustle-layout-body { background: none !important; padding: 0 !important; }
body.wpo .hustle-ui.hustle-popup .hustle-layout-content { background: none !important; padding: 0 !important; border: 0 !important; }
body.wpo .hustle-ui.hustle-popup .hustle-content { background: none !important; padding: 44px 40px 8px !important; border: 0 !important; }
body.wpo .hustle-ui.hustle-popup .hustle-layout .hustle-content-wrap { padding: 0 !important; background: none !important; box-shadow: none !important; }
body.wpo .hustle-ui.hustle-popup .hustle-title { display: inline-block !important; background: var(--wpo-framboos) !important; color: #fff !important; font: 800 12.5px/1 "Open Sans", sans-serif !important; letter-spacing: .04em !important; text-transform: uppercase; padding: 7px 12px !important; border-radius: 999px !important; margin: 0 0 16px !important; }
body.wpo .hustle-ui.hustle-popup .hustle-subtitle { font: 800 27px/1.18 "Open Sans", sans-serif !important; color: var(--wpo-aubergine) !important; margin: 0 0 12px !important; text-transform: none !important; letter-spacing: -.01em !important; }
body.wpo .hustle-ui.hustle-popup .hustle-group-content, body.wpo .hustle-ui.hustle-popup .hustle-group-content p { font: 400 15px/1.55 "Open Sans", sans-serif !important; color: var(--wpo-tekst-zacht) !important; margin: 0 !important; }
body.wpo .hustle-ui.hustle-popup .hustle-layout-form { background: none !important; padding: 18px 40px 6px !important; margin: 0 !important; }
body.wpo .hustle-ui.hustle-popup .hustle-form-fields { display: grid !important; grid-template-columns: 1fr; gap: 10px !important; }
body.wpo .hustle-ui.hustle-popup .hustle-field { margin: 0 !important; flex: none !important; }
body.wpo .hustle-ui.hustle-popup .hustle-input { height: 50px !important; border: 1.5px solid #DCD5E2 !important; border-radius: 999px !important; background: #fff !important; padding: 0 20px !important; font: 400 15px "Open Sans", sans-serif !important; color: var(--wpo-tekst) !important; box-shadow: none !important; }
body.wpo .hustle-ui.hustle-popup .hustle-input:focus { border-color: var(--wpo-aubergine) !important; }
body.wpo .hustle-ui.hustle-popup .hustle-input-label { padding: 0 20px !important; font: 400 15px "Open Sans", sans-serif !important; color: #8D8496 !important; }
body.wpo .hustle-ui.hustle-popup .hustle-button-submit { height: 50px !important; width: 100% !important; border: 0 !important; border-radius: 999px !important; background: var(--wpo-framboos) !important; color: #fff !important; font: 700 16px "Open Sans", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; margin: 0 !important; box-shadow: none !important; }
body.wpo .hustle-ui.hustle-popup .hustle-button-submit:hover { background: var(--wpo-framboos-donker) !important; }
body.wpo .hustle-ui.hustle-popup .hustle-layout-footer { grid-column: 2; background: none !important; padding: 4px 40px 30px !important; text-align: left !important; }
body.wpo .hustle-ui.hustle-popup .hustle-nsa-link, body.wpo .hustle-ui.hustle-popup .hustle-nsa-link a { font: 400 13px "Open Sans", sans-serif !important; color: var(--wpo-tekst-zacht) !important; text-decoration: underline; text-transform: none !important; margin: 0 !important; }
body.wpo .hustle-ui.hustle-popup .hustle-button-close { position: absolute !important; top: 14px !important; right: 14px !important; width: 34px !important; height: 34px !important; border-radius: 50% !important; background: var(--wpo-lichtlila) !important; color: var(--wpo-aubergine) !important; border: 0 !important; z-index: 3; }
body.wpo .hustle-ui.hustle-popup .hustle-button-close .hustle-icon-close::before { color: var(--wpo-aubergine) !important; font-size: 12px !important; }
body.wpo .hustle-ui.hustle-popup .hustle-success { background: #fff !important; border-radius: 18px !important; color: var(--wpo-tekst) !important; font-family: "Open Sans", sans-serif !important; }

@media (max-width: 860px) {
	.wpo-stappen { gap: 4px; }
	.wpo-stappen li { flex-direction: column; text-align: center; gap: 4px; font-size: 11.5px; padding: 8px 6px; }
	body.wpo.woocommerce-cart .woocommerce, body.wpo.woocommerce-checkout form.checkout { grid-template-columns: 1fr; }
	body.wpo.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 1; grid-row: auto; margin-top: 18px; }
	body.wpo.woocommerce-cart .cart-collaterals .cart_totals { position: static; }
	body.wpo.woocommerce-checkout form.checkout #order_review_heading, body.wpo.woocommerce-checkout form.checkout #order_review { grid-column: 1; grid-row: auto; position: static; }
	body.wpo.woocommerce-checkout form.checkout #order_review_heading { margin-top: 10px !important; }
	body.wpo .woocommerce table.cart td.actions .coupon { display: flex; width: 100%; margin: 0 0 10px; }
	body.wpo .woocommerce table.cart td.actions .coupon .input-text { flex: 1; width: auto !important; }
	body.wpo .woocommerce table.cart td.actions select { width: 100% !important; max-width: none; }
	body.wpo .woocommerce table.shop_table_responsive.cart tr td { padding: 8px 12px !important; }
	body.wpo .woocommerce table.shop_table_responsive.cart td.product-thumbnail { display: block !important; text-align: left !important; }
	body.wpo.woocommerce-checkout .woocommerce-billing-fields, body.wpo.woocommerce-checkout .woocommerce-shipping-fields { padding: 16px; }
	body.wpo:not(.home) article.ast-article-single { padding-top: 16px !important; }
	body.wpo p.woocommerce-store-notice { left: 12px !important; right: 12px !important; bottom: 12px !important; max-width: none; font-size: 14px !important; padding: 14px 44px 14px 70px !important; }
	body.wpo .hustle-ui.hustle-popup .hustle-layout { grid-template-columns: 1fr; min-height: 0; }
	body.wpo .hustle-ui.hustle-popup .hustle-layout::before { grid-column: 1; grid-row: 1; height: 150px; }
	body.wpo .hustle-ui.hustle-popup .hustle-main-wrapper, body.wpo .hustle-ui.hustle-popup .hustle-layout-footer { grid-column: 1; }
	body.wpo .hustle-ui.hustle-popup .hustle-content { padding: 22px 22px 4px !important; }
	body.wpo .hustle-ui.hustle-popup .hustle-subtitle { font-size: 22px !important; }
	body.wpo .hustle-ui.hustle-popup .hustle-layout-form { padding: 14px 22px 4px !important; }
	body.wpo .hustle-ui.hustle-popup .hustle-layout-footer { padding: 4px 22px 22px !important; }
	body.wpo .hustle-ui.hustle-popup .hustle-button-close { background: rgba(255, 255, 255, .9) !important; }
}

/* Ronde 4: afrekenen-indeling, beoordelingen, details ------------- */
body.wpo.woocommerce-checkout form.checkout { grid-template-areas: "cadeau cadeau" "klant overzicht"; }
body.wpo.woocommerce-checkout form.checkout > .itg-shortoces-products { grid-area: cadeau; display: block; }
body.wpo.woocommerce-checkout form.checkout > #customer_details { grid-area: klant; }
body.wpo.woocommerce-checkout form.checkout > #order_review_heading { display: none !important; }
body.wpo.woocommerce-checkout form.checkout > #order_review { grid-area: overzicht !important; border: 1px solid var(--wpo-lijn) !important; border-radius: var(--wpo-radius) !important; padding: 22px !important; align-self: start; }
body.wpo.woocommerce-checkout form.checkout > #order_review::before { content: "Je bestelling"; display: block; font-weight: 800; font-size: 20px; margin-bottom: 6px; }
body.wpo #order_review .product-name { line-height: 1.4; }

/* Omschrijving en specificaties */
.wpo-paneel__tekst h1, .wpo-paneel__tekst h2 { font-size: 18px !important; margin: 0 0 8px !important; }
.wpo-paneel__tekst h3, .wpo-paneel__tekst h4 { font-size: 15.5px !important; }
.wpo-paneel .woocommerce-product-attributes td, .wpo-paneel .woocommerce-product-attributes td p { font-style: normal !important; color: var(--wpo-tekst-zacht); }
.wpo-paneel .woocommerce-product-attributes th { width: 34%; font-weight: 700; }

/* Klantbeoordelingen in twee kolommen */
.wpo-beoordelingen { display: grid; grid-template-columns: 260px 1fr; gap: 36px; align-items: start; }
.wpo-beoordelingen__score strong { font-size: 34px; font-weight: 800; color: var(--wpo-aubergine); line-height: 1; display: block; }
.wpo-beoordelingen__score > span { display: block; font-size: 13px; color: var(--wpo-tekst-zacht); margin: 6px 0 14px; }
.wpo-balk { display: grid; grid-template-columns: 62px 1fr 22px; gap: 10px; align-items: center; font-size: 13px; margin: 6px 0; }
.wpo-balk i { display: block; height: 6px; background: var(--wpo-lijn); border-radius: 3px; overflow: hidden; }
.wpo-balk i b { display: block; height: 100%; background: var(--wpo-ster); }
.wpo-beoordelingen__score .wpo-knop { margin-top: 16px; }
body.wpo .wpo-paneel #reviews #comments > h2 { display: none; }
body.wpo .wpo-paneel #reviews ol.commentlist { margin: 0 !important; }
body.wpo .wpo-paneel #reviews ol.commentlist li { margin: 0 !important; border-bottom: 1px solid var(--wpo-lijn); padding: 14px 0 !important; }
body.wpo .wpo-paneel #reviews ol.commentlist li:first-child { padding-top: 0 !important; }
body.wpo .wpo-paneel #reviews .comment_container { border: 0 !important; padding: 0 !important; }
body.wpo .wpo-paneel #reviews .comment-text { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
body.wpo .wpo-paneel #reviews .comment-text .star-rating { float: none !important; order: 0; margin: 0 !important; font-size: 13px; }
body.wpo .wpo-paneel #reviews .comment-text .meta { order: 1; margin: 0 !important; font-size: 13px !important; color: var(--wpo-tekst-zacht) !important; }
body.wpo .wpo-paneel #reviews .comment-text .meta strong { color: var(--wpo-tekst); font-style: normal; }
body.wpo .wpo-paneel #reviews .comment-text .meta em { font-style: normal; color: var(--wpo-groen-vink); font-size: 12px; }
body.wpo .wpo-paneel #reviews .comment-text .description { order: 2; flex-basis: 100%; font-size: 14.5px; }
body.wpo .wpo-paneel #reviews .comment-text .description p { margin: 4px 0 0; }
body.wpo .wpo-paneel #review_form_wrapper { display: none; }
body.wpo .wpo-paneel #review_form_wrapper.is-open { display: block; grid-column: 1 / -1; }
body.wpo .wpo-paneel #review_form .comment-reply-title { font-size: 18px; font-weight: 800; }
@media (max-width: 860px) {
	.wpo-beoordelingen { grid-template-columns: 1fr; gap: 20px; }
}

/* Ronde 5: menu op één lijn, USP-band, Sophie-link ---------------- */
body.wpo .wpo-nav__lijst { align-items: center; }
body.wpo .wpo-nav__lijst > li { margin: 0; padding: 0; line-height: 1; display: flex; align-items: center; }
body.wpo .wpo-nav__lijst > li > a,
body.wpo .wpo-nav__merken > button { display: inline-flex !important; align-items: center; gap: 4px; height: 32px; padding: 0 !important; margin: 0 !important; font: 700 15px/1 "Open Sans", sans-serif !important; letter-spacing: 0 !important; border: 0 !important; border-radius: 0 !important; min-height: 0 !important; vertical-align: middle; }
body.wpo .wpo-nav__merken > button::after { content: ""; width: 6px; height: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translate(-2px, -2px); margin-left: 6px; }
body.wpo .wpo-nav__geurvinder { display: inline-flex; align-items: center; height: 32px; line-height: 1; }

.wpo-usp { list-style: none; margin: 28px 0 0; padding: 18px 8px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; background: var(--wpo-lichtlila); border: 0; border-radius: 12px; }
.wpo-usp > li { display: flex; gap: 14px; align-items: center; justify-content: center; padding: 4px 18px; margin: 0; }
.wpo-usp > li + li { border-left: 1px solid #E2D9E9; }
.wpo-usp__icoon { width: 44px; height: 44px; border-radius: 50%; background: #fff; display: grid; place-items: center; flex: none; color: var(--wpo-aubergine); }
.wpo-usp__icoon .wpo-icon { width: 22px; height: 22px; margin: 0 !important; }
.wpo-usp strong { display: block; font-size: 14px; line-height: 1.3; }
.wpo-usp small { display: block; color: var(--wpo-tekst-zacht); font-size: 12.5px; line-height: 1.35; margin-top: 2px; }

body.wpo p.woocommerce-store-notice a:not(.woocommerce-store-notice__dismiss-link) { background: none !important; color: var(--wpo-geel) !important; font-weight: 800; text-decoration: underline; text-decoration-thickness: 2px; text-underline-offset: 3px; box-shadow: none !important; padding: 0 !important; }
body.wpo p.woocommerce-store-notice a::selection, body.wpo p.woocommerce-store-notice::selection { background: transparent; }

@media (max-width: 1100px) {
	.wpo-usp > li { justify-content: flex-start; padding: 4px 12px; }
	.wpo-usp__icoon { width: 38px; height: 38px; }
}
@media (max-width: 860px) {
	body.wpo .wpo-nav__lijst > li { display: block; }
	body.wpo .wpo-nav__lijst > li > a, body.wpo .wpo-nav__merken > button { display: flex !important; height: 46px; width: 100%; justify-content: space-between; }
	body.wpo .wpo-nav__geurvinder { height: 46px; }
	.wpo-usp { grid-template-columns: 1fr 1fr; padding: 6px; margin-top: 18px; }
	.wpo-usp > li { padding: 12px 10px; gap: 10px; align-items: flex-start; }
	.wpo-usp > li + li { border-left: 0; }
	.wpo-usp > li:nth-child(even) { border-left: 1px solid #E2D9E9; }
	.wpo-usp > li:nth-child(n+3) { border-top: 1px solid #E2D9E9; }
	.wpo-usp__icoon { width: 34px; height: 34px; }
	.wpo-usp__icoon .wpo-icon { width: 18px; height: 18px; }
	.wpo-usp strong { font-size: 13px; }
	.wpo-usp small { font-size: 12px; }
}

/* Ronde 6: productkaart met geurregel, maten en sterren ----------- */
.wpo-kaart__info { padding: 14px 14px 12px !important; gap: 0; }
.wpo-kaart__merk { font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wpo-aubergine); }
body.wpo .wpo-kaart__naam { font-size: 16.5px !important; line-height: 1.25 !important; margin: 3px 0 4px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(2 * 1.25em); }
.wpo-kaart__geur { font-size: 12.8px; line-height: 1.45; color: var(--wpo-tekst-zacht); margin: 0 0 8px !important; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: calc(2 * 1.45em); }
.wpo-kaart__meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; min-height: 22px; margin-bottom: 4px; }
.wpo-kaart__maat { font-size: 11.5px; font-weight: 700; color: var(--wpo-aubergine); background: var(--wpo-lichtlila); border-radius: 999px; padding: 2px 9px; line-height: 18px; }
.wpo-kaart__sterren { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--wpo-tekst-zacht); margin-left: auto; }
.wpo-kaart__sterren .wpo-icon { width: 12px; height: 12px; }
.wpo-kaart__voet { border-top: 1px solid var(--wpo-lijn); padding-top: 10px !important; margin-top: auto; }
.wpo-kaart__prijs { font-size: 23px; }
@media (max-width: 860px) {
	.wpo-kaart__info { padding: 10px 10px 10px !important; }
	body.wpo .wpo-kaart__naam { font-size: 14.5px !important; }
	.wpo-kaart__geur { font-size: 12px; }
	.wpo-kaart__sterren { margin-left: 0; }
}

/* Waarom-kaarten: beeld en tekstblok op gelijke hoogte */
.wpo-waarom__kaarten { align-items: stretch; }
.wpo-waarom__kaarten article { display: grid !important; grid-template-rows: 200px 1fr; gap: 10px; }
.wpo-waarom__kaarten article img { height: 200px !important; width: 100%; object-fit: contain; align-self: center; }
.wpo-waarom__kaarten article > div { margin-top: 0 !important; height: 100%; box-sizing: border-box; padding: 18px 20px !important; }
@media (max-width: 860px) {
	.wpo-waarom__kaarten article { grid-template-rows: 150px auto; }
	.wpo-waarom__kaarten article img { height: 150px !important; }
}

/* Ronde 7: categoriekop ------------------------------------------- */
body.wpo .wpo-catkop { display: grid !important; grid-template-columns: 1.05fr 1fr; gap: 0 !important; padding: 0 !important; min-height: 250px; border-radius: 14px; overflow: hidden; background: var(--wpo-lila) !important; align-items: stretch; }
body.wpo .wpo-catkop__tekst { background: none !important; border-radius: 0 !important; text-align: left !important; padding: 34px 36px !important; display: flex; flex-direction: column; justify-content: center; }
body.wpo .wpo-catkop__tekst h1 { font-size: 34px !important; margin: 0 0 10px !important; color: var(--wpo-aubergine) !important; }
body.wpo .wpo-catkop__intro, body.wpo .wpo-catkop__intro p { font-size: 15px !important; line-height: 1.6; color: var(--wpo-tekst) !important; margin: 0 !important; max-width: 520px; }
.wpo-catkop__feiten { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0 0; padding: 0; }
.wpo-catkop__feiten li { display: inline-flex; align-items: center; gap: 6px; background: #fff; border-radius: 999px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; color: var(--wpo-aubergine); margin: 0; }
.wpo-catkop__feiten .wpo-icon { width: 15px; height: 15px; }
body.wpo .wpo-catkop__beeld { position: relative; display: flex !important; align-items: flex-end; justify-content: center; background: #fff; margin: 14px; border-radius: 12px; overflow: hidden; min-height: 222px; }
body.wpo .wpo-catkop--sfeer .wpo-catkop__beeld { margin: 0; border-radius: 0; background: none; }
body.wpo .wpo-catkop--sfeer .wpo-catkop__beeld img { position: absolute; inset: 0; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: cover; object-position: 35% 40%; margin: 0 !important; mix-blend-mode: normal !important; }
.wpo-catkop__fles { position: absolute; bottom: 10px; display: block; }
.wpo-catkop__fles img { display: block; height: 100% !important; width: auto !important; max-width: none !important; object-fit: contain; mix-blend-mode: multiply; margin: 0 !important; }
.wpo-catkop__fles--0 { height: 92%; left: 50%; transform: translateX(-50%); z-index: 3; }
.wpo-catkop__fles--1 { height: 74%; left: 50%; transform: translateX(-118%); z-index: 2; }
.wpo-catkop__fles--2 { height: 74%; left: 50%; transform: translateX(18%); z-index: 1; }
@media (max-width: 860px) {
	body.wpo .wpo-catkop { grid-template-columns: 1fr; }
	body.wpo .wpo-catkop__tekst { padding: 22px 20px !important; order: 2; }
	body.wpo .wpo-catkop__tekst h1 { font-size: 26px !important; }
	body.wpo .wpo-catkop__intro, body.wpo .wpo-catkop__intro p { font-size: 14px !important; }
	body.wpo .wpo-catkop__beeld { min-height: 170px; margin: 10px 10px 0; order: 1; }
	body.wpo .wpo-catkop--sfeer .wpo-catkop__beeld { margin: 0; }
}

/* Merken-submenu: donkere tekst op wit, ook als Astra linkkleuren zet */
body.wpo .wpo-nav__sub a { color: var(--wpo-tekst) !important; font-size: 14.5px; }
body.wpo .wpo-nav__sub a:hover { color: var(--wpo-aubergine) !important; background: var(--wpo-lichtlila); }
@media (max-width: 860px) {
	body.wpo .wpo-nav__sub a { color: #fff !important; padding-left: 14px; }
	body.wpo .wpo-nav__sub a:hover { background: rgba(255, 255, 255, .08); color: var(--wpo-geel) !important; }
}

/* Ronde 8: compacte categoriekop, 404, veel opties ---------------- */
body.wpo .wpo-catkop { grid-template-columns: 1.15fr 1fr; min-height: 0; }
body.wpo .wpo-catkop__tekst { padding: 28px 32px !important; }
body.wpo .wpo-catkop__tekst h1 { font-size: 30px !important; margin-bottom: 8px !important; }
body.wpo .wpo-catkop__intro, body.wpo .wpo-catkop__intro p { font-size: 14.5px !important; line-height: 1.55; }
body.wpo .wpo-catkop__feiten { flex-wrap: nowrap; gap: 6px; margin-top: 14px; }
body.wpo .wpo-catkop__feiten li { white-space: nowrap; padding: 5px 11px; font-size: 12px; }
body.wpo .wpo-catkop__beeld { min-height: 210px; }
body.wpo .wpo-catkop__beeld img { max-height: none !important; }
body.wpo .wpo-catkop--sfeer .wpo-catkop__beeld { align-self: stretch; height: 100%; }
body.wpo .wpo-chips { gap: 8px; margin: 18px 0; }
body.wpo .wpo-chips a { font-size: 13.5px; padding: 6px 14px; border-width: 1.5px; border-color: #CFC6D8; color: var(--wpo-tekst) !important; }
body.wpo .wpo-chips a:hover { border-color: var(--wpo-aubergine); background: var(--wpo-aubergine); color: #fff !important; }
@media (max-width: 1250px) { body.wpo .wpo-catkop__feiten li:nth-child(3) { display: none; } }
@media (max-width: 860px) {
	body.wpo .wpo-catkop__feiten { flex-wrap: wrap; }
	body.wpo .wpo-catkop--sfeer .wpo-catkop__beeld { height: 180px; min-height: 180px; }
}

.wpo-formaten::before { content: attr(data-label) !important; }
.wpo-formaten--compact { grid-template-columns: 1fr 1fr; gap: 8px; }
.wpo-formaten--compact::before { grid-column: 1 / -1; }
body.wpo .wpo-formaten--compact .wpo-formaat { grid-template-columns: 16px 1fr auto; gap: 8px; padding: 10px 12px !important; }
.wpo-formaten--compact .wpo-formaat__radio { width: 16px; height: 16px; }
.wpo-formaten--compact .wpo-formaat[aria-checked="true"] .wpo-formaat__radio { border-width: 5px; }
.wpo-formaten--compact .wpo-formaat__naam strong { font-size: 13.5px; margin: 0; }
.wpo-formaten--compact .wpo-formaat__voorraad:not(.is-uit), .wpo-formaten--compact .wpo-formaat__prijs small { display: none; }
.wpo-formaten--compact .wpo-formaat__prijs strong { font-size: 13.5px; }
@media (max-width: 400px) { .wpo-formaten--compact { grid-template-columns: 1fr; } }

.wpo-404 { padding: 56px 24px 72px; }
.wpo-404__kaart { max-width: 680px; margin: 0 auto; text-align: center; background: var(--wpo-lichtlila); border-radius: 18px; padding: 48px 40px; }
.wpo-404__code { display: inline-block; font-size: 13px; font-weight: 800; letter-spacing: .1em; color: #fff; background: var(--wpo-framboos); border-radius: 999px; padding: 5px 14px; margin-bottom: 14px; }
.wpo-404 h1 { font-size: 30px; margin: 0 0 10px; color: var(--wpo-aubergine) !important; }
.wpo-404 p { color: var(--wpo-tekst-zacht); margin: 0 auto 22px; max-width: 480px; }
.wpo-zoek--licht { max-width: 480px; margin: 0 auto; border: 1.5px solid #DCD5E2; }
.wpo-404__chips { justify-content: center; margin: 20px 0 26px !important; }

/* Ronde 9: blog --------------------------------------------------- */
.wpo-blogoverzicht { padding-top: 24px; padding-bottom: 72px; }
.wpo-blogkop { background: var(--wpo-lila); border-radius: 14px; padding: 36px 40px; margin-bottom: 28px; }
.wpo-blogkop__label { display: inline-block; background: var(--wpo-framboos); color: #fff; font-size: 11.5px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; border-radius: 999px; padding: 4px 12px; margin-bottom: 12px; }
.wpo-blogkop h1 { font-size: 34px; margin: 0 0 8px; color: var(--wpo-aubergine) !important; }
.wpo-blogkop__intro, .wpo-blogkop__intro p { font-size: 15.5px; color: var(--wpo-tekst); margin: 0; max-width: 640px; }
.wpo-blogs--overzicht { gap: 22px; }
body.wpo .wpo-blog { background: #fff; border: 1px solid var(--wpo-lijn); transition: box-shadow .2s, transform .2s; }
body.wpo .wpo-blog:hover { box-shadow: 0 12px 30px rgba(49, 30, 72, .1); transform: translateY(-2px); }
.wpo-blog__tekst { gap: 6px !important; padding: 18px 20px 20px !important; flex: 1; }
.wpo-blog__meta { font-size: 12px; color: var(--wpo-tekst-zacht); font-weight: 600; }
.wpo-blog__tekst strong { font-size: 17px !important; line-height: 1.3; color: var(--wpo-tekst); }
.wpo-blog__samenvatting { font-size: 13.5px; color: var(--wpo-tekst-zacht); line-height: 1.5; }
.wpo-blog__tekst .wpo-link { margin-top: auto; padding-top: 6px; }
body.wpo .nav-links { display: flex; gap: 6px; justify-content: center; margin-top: 36px; }
body.wpo .nav-links .page-numbers { min-width: 38px; height: 38px; border-radius: 999px; display: inline-grid; place-items: center; padding: 0 12px; border: 1px solid var(--wpo-lijn); text-decoration: none; font-weight: 700; }
body.wpo .nav-links .page-numbers.current { background: var(--wpo-aubergine); color: #fff; border-color: var(--wpo-aubergine); }

.wpo-artikel { padding-bottom: 24px; }
.wpo-artikel__in { max-width: 820px; margin: 0 auto; padding: 8px 24px 0; }
.wpo-artikel__kop { text-align: center; margin: 12px 0 24px; }
.wpo-artikel__kop h1 { font-size: 40px; line-height: 1.15; margin: 0 0 10px; color: var(--wpo-aubergine) !important; }
.wpo-artikel__meta { color: var(--wpo-tekst-zacht); font-size: 14px; margin: 0; }
.wpo-artikel__beeld { margin: 0 0 32px; border-radius: 14px; overflow: hidden; aspect-ratio: 16 / 8; background: var(--wpo-lila); }
.wpo-artikel__beeld img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.wpo .wpo-artikel__tekst { font-size: 17px; line-height: 1.75; color: #3A3440; }
body.wpo .wpo-artikel__tekst > * { max-width: 680px; margin-left: auto !important; margin-right: auto !important; }
body.wpo .wpo-artikel__tekst h2 { font-size: 26px; margin: 40px auto 12px !important; color: var(--wpo-tekst); }
body.wpo .wpo-artikel__tekst h3 { font-size: 20px; margin: 28px auto 8px !important; }
body.wpo .wpo-artikel__tekst p { margin-bottom: 18px; }
body.wpo .wpo-artikel__tekst a { color: var(--wpo-framboos); text-decoration: underline; text-underline-offset: 3px; }
body.wpo .wpo-artikel__tekst img { border-radius: 12px; height: auto; }
body.wpo .wpo-artikel__tekst figure, body.wpo .wpo-artikel__tekst .wp-block-image { margin: 28px auto !important; }
body.wpo .wpo-artikel__tekst ul, body.wpo .wpo-artikel__tekst ol { padding-left: 22px; margin-bottom: 18px; }
body.wpo .wpo-artikel__tekst li { margin-bottom: 6px; }
body.wpo .wpo-artikel__tekst blockquote { border-left: 4px solid var(--wpo-framboos); background: var(--wpo-lichtlila); padding: 16px 22px; border-radius: 0 10px 10px 0; font-style: normal; }
.wpo-artikel__cta { display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--wpo-aubergine); color: #fff; border-radius: 14px; padding: 28px 32px; margin: 40px auto 0; max-width: 760px; }
.wpo-artikel__cta h2 { color: #fff !important; font-size: 22px; margin: 0 0 4px; }
.wpo-artikel__cta p { margin: 0; color: #E9E2F0; font-size: 14.5px; }
.wpo-artikel__knoppen { display: flex; flex-direction: column; gap: 10px; flex: none; }
.wpo-artikel__knoppen .wpo-knop { padding: 12px 22px; font-size: 14.5px; }
body.wpo.single-post .site-content > .ast-container { max-width: none; padding: 0; }
body.wpo.single-post #primary { width: 100%; }
@media (max-width: 860px) {
	.wpo-blogkop { padding: 24px 20px; }
	.wpo-blogkop h1 { font-size: 26px; }
	.wpo-blogs--overzicht { grid-auto-flow: row !important; grid-template-columns: 1fr !important; overflow: visible !important; }
	.wpo-artikel__kop h1 { font-size: 28px; }
	body.wpo .wpo-artikel__tekst { font-size: 16px; }
	body.wpo .wpo-artikel__tekst h2 { font-size: 22px; }
	.wpo-artikel__cta { flex-direction: column; align-items: flex-start; padding: 22px; }
	.wpo-artikel__knoppen { width: 100%; }
}
body.wpo .wpo-artikel article.wpo-artikel__in { margin: 0 auto !important; background: none !important; padding: 8px 24px 0 !important; border: 0 !important; box-shadow: none !important; }
body.wpo .wpo-artikel .wpo-kruimel { padding-left: 24px; padding-right: 24px; }

/* Ronde 10: blogartikel met inhoudsopgave ------------------------- */
html { scroll-padding-top: 170px; scroll-behavior: smooth; }
.wpo-leesbalk { position: fixed; top: 0; left: 0; right: 0; height: 4px; z-index: 200; pointer-events: none; }
.admin-bar .wpo-leesbalk { top: 32px; }
.wpo-leesbalk span { display: block; height: 100%; width: 0; background: var(--wpo-framboos); transition: width .1s linear; }
body.wpo .wpo-artikel article.wpo-artikel__in { max-width: 1120px !important; }
.wpo-artikel__kop, .wpo-artikel__beeld { max-width: 860px; margin-left: auto !important; margin-right: auto !important; }
.wpo-artikel__raster { display: grid; grid-template-columns: minmax(0, 1fr); justify-content: center; }
.wpo-artikel__raster.heeft-inhoud { grid-template-columns: 250px minmax(0, 700px); gap: 0 56px; }
.wpo-artikel__raster.heeft-inhoud .wpo-inhoud { grid-row: 1 / span 2; }
.wpo-artikel__raster .wpo-artikel__tekst > * { max-width: 700px; }
.wpo-artikel__raster.heeft-inhoud .wpo-artikel__tekst > * { margin-left: 0 !important; margin-right: 0 !important; }
.wpo-inhoud details { position: sticky; top: 170px; background: var(--wpo-lichtlila); border-radius: 12px; padding: 18px 18px 14px; }
.wpo-inhoud summary { font-weight: 800; font-size: 14px; cursor: pointer; list-style: none; color: var(--wpo-aubergine); display: flex; justify-content: space-between; align-items: center; }
.wpo-inhoud summary::-webkit-details-marker { display: none; }
.wpo-inhoud summary::after { content: ""; width: 7px; height: 7px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg); margin-right: 4px; transition: transform .2s; }
.wpo-inhoud details[open] summary::after { transform: rotate(-135deg); }
.wpo-inhoud ol { list-style: none; margin: 12px 0 0; padding: 0; border-left: 2px solid #DDD3E6; }
.wpo-inhoud li { margin: 0; }
.wpo-inhoud a { display: block; padding: 6px 0 6px 14px; margin-left: -2px; border-left: 2px solid transparent; font-size: 13.5px; line-height: 1.4; color: var(--wpo-tekst-zacht) !important; text-decoration: none; }
.wpo-inhoud .wpo-inhoud__n3 a { padding-left: 26px; font-size: 13px; }
.wpo-inhoud a:hover { color: var(--wpo-aubergine) !important; }
.wpo-inhoud a.is-actief { color: var(--wpo-aubergine) !important; font-weight: 700; border-left-color: var(--wpo-framboos); }
.wpo-delen { grid-column: -2; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; border-top: 1px solid var(--wpo-lijn); padding-top: 20px; margin-top: 12px; max-width: 700px; }
.wpo-delen > span { font-weight: 800; font-size: 14px; margin-right: 6px; }
body.wpo .wpo-delen a, body.wpo .wpo-delen button { border: 1.5px solid var(--wpo-lijn) !important; background: #fff !important; color: var(--wpo-tekst) !important; border-radius: 999px !important; padding: 7px 14px !important; font-size: 13px !important; font-weight: 700; text-decoration: none; line-height: 1.2; cursor: pointer; }
body.wpo .wpo-delen a:hover, body.wpo .wpo-delen button:hover { border-color: var(--wpo-aubergine) !important; color: var(--wpo-aubergine) !important; }
.wpo-artikel__cta { max-width: 1006px !important; }
@media (max-width: 1100px) {
	.wpo-artikel__raster.heeft-inhoud { grid-template-columns: minmax(0, 700px); }
	.wpo-artikel__raster.heeft-inhoud .wpo-inhoud { grid-row: auto; margin-bottom: 24px; }
	.wpo-inhoud details { position: static; }
	.wpo-delen { grid-column: 1; }
	.wpo-artikel__cta { max-width: 700px !important; }
}
@media (max-width: 782px) { .admin-bar .wpo-leesbalk { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wpo-leesbalk { top: 0; } }

/* Ronde 11: bevindingen desktop- en checkout-audit ---------------- */

/* Eén knopstijl voor alle WooCommerce-knoppen (wint van Customizer-CSS) */
body.wpo .woocommerce a.button:not(.checkout-button):not(.alt), body.wpo .woocommerce button.button:not(.alt):not(#place_order), body.wpo .woocommerce input.button {
	background: var(--wpo-aubergine) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	padding: 11px 22px !important; font-size: 14px !important; font-weight: 700 !important; line-height: 1.2 !important; text-transform: none !important; letter-spacing: 0 !important;
}
body.wpo .woocommerce a.button:hover, body.wpo .woocommerce button.button:hover { background: var(--wpo-aubergine-donker) !important; }
body.wpo .woocommerce-orders-table .button.view { background: #fff !important; color: var(--wpo-aubergine) !important; box-shadow: inset 0 0 0 1.5px var(--wpo-aubergine); padding: 7px 16px !important; font-size: 13px !important; }
body.wpo .woocommerce-orders-table .button.view:hover { background: var(--wpo-aubergine) !important; color: #fff !important; }

/* Wachtwoord-oogje in het veld */
body.wpo .woocommerce form .password-input { position: relative; display: block; }
body.wpo .woocommerce .show-password-input, body.wpo .woocommerce-js .show-password-input {
	position: absolute !important; right: 10px; top: 50%; transform: translateY(-50%); width: 28px !important; height: 28px !important; min-height: 0 !important;
	padding: 0 !important; margin: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; color: var(--wpo-tekst-zacht) !important; border-radius: 50% !important;
}
body.wpo .woocommerce .show-password-input::after { content: ""; position: absolute; inset: 4px; 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='black' stroke-width='2'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2'%3E%3Cpath d='M2 12s3.5-7 10-7 10 7 10 7-3.5 7-10 7S2 12 2 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E") center / 20px no-repeat; }

/* Afrekenen: overzicht niet sticky, totaalregel, radio's en voorwaarden */
body.wpo.woocommerce-checkout form.checkout > #order_review { position: static !important; }
body.wpo .order-total .includes_tax, body.wpo .order-total small.includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--wpo-tekst-zacht); white-space: nowrap; }
body.wpo #payment input.input-radio, body.wpo #ship-to-different-address-checkbox, body.wpo .woocommerce input[type=checkbox], body.wpo .woocommerce input[type=radio] { width: 18px !important; height: 18px !important; accent-color: var(--wpo-aubergine); vertical-align: -4px; }
body.wpo #ship-to-different-address label { display: inline-flex !important; align-items: center; gap: 10px; font-size: 16px; }
body.wpo .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox { display: grid !important; grid-template-columns: 18px 1fr; gap: 10px; font-weight: 400 !important; line-height: 1.5 !important; font-size: 13.5px; }
body.wpo .wpo-gratis { color: var(--wpo-groen-vink); }
body.wpo #shipping_method { margin: 0 !important; padding: 0 !important; }
body.wpo #shipping_method li { margin: 0 !important; }

/* Sophie-melding niet over formulieren */
body.wpo.woocommerce-checkout p.woocommerce-store-notice, body.wpo.woocommerce-cart p.woocommerce-store-notice, body.wpo.woocommerce-account p.woocommerce-store-notice { display: none !important; }

/* Cadeaublok compact */
body.wpo .adv-gift-section { padding: 16px 20px !important; }
body.wpo .adv-gift-section .wgb-header-cnt { margin: 0 0 10px !important; padding: 0 !important; }
body.wpo .adv-gift-section .wgb-header-cnt hr, body.wpo .adv-gift-section .wgb-header-cnt::after { display: none !important; }
body.wpo .adv-gift-section .wgb-product-item-cnt { display: grid !important; grid-template-columns: 72px 1fr; align-items: center; }
body.wpo .adv-gift-section [class*="wgb-col"] { flex: 0 0 340px !important; max-width: 340px !important; margin: 0 !important; }
body.wpo .adv-gift-section .wgb-product-item-cnt img { width: 72px; height: 72px; }
body.wpo .adv-gift-section .wgb-item-title, body.wpo .adv-gift-section .wgb-item-content h3 { font-size: 14px !important; -webkit-line-clamp: unset !important; white-space: normal !important; overflow: visible !important; margin: 0 !important; }
body.wpo .adv-gift-section .wgb-add-gift-btn { display: inline-block !important; padding: 6px 14px !important; }
/* Cadeau-keuze in de winkelwagen */
body.wpo .woocommerce table.cart td.actions .dd-select { border: 1.5px solid var(--wpo-lijn) !important; border-radius: 999px !important; background: #fff !important; height: 42px; overflow: hidden; }
body.wpo .woocommerce table.cart td.actions .dd-selected { text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 600 !important; padding: 10px 40px 10px 16px !important; height: 42px; line-height: 22px !important; color: var(--wpo-tekst) !important; }
body.wpo .woocommerce table.cart td.actions .demo-live { display: inline-block; vertical-align: middle; }
body.wpo .woocommerce table.cart td.actions .coupon { display: inline-flex !important; align-items: stretch !important; vertical-align: middle; }
body.wpo .woocommerce table.cart td.actions .coupon .button { margin: 0 !important; height: 42px !important; padding: 0 18px !important; }
body.wpo .cart_totals { border-color: var(--wpo-lijn) !important; border-radius: var(--wpo-radius) !important; }
body.wpo.woocommerce-page .entry-title, body.wpo.woocommerce-account .entry-title { font-size: 30px !important; }

/* Mijn account */
body.wpo .woocommerce-account .woocommerce, body.wpo.woocommerce-account .woocommerce { display: grid; grid-template-columns: 250px minmax(0, 1fr); gap: 32px; align-items: start; }
body.wpo.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
body.wpo .woocommerce-MyAccount-navigation, body.wpo .woocommerce-MyAccount-content { width: auto !important; float: none !important; }
body.wpo .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid var(--wpo-lijn) !important; border-radius: var(--wpo-radius); overflow: hidden; }
body.wpo .woocommerce-MyAccount-navigation li { border: 0 !important; border-bottom: 1px solid var(--wpo-lijn) !important; margin: 0; }
body.wpo .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0 !important; }
body.wpo .woocommerce-MyAccount-navigation li a { display: block; padding: 12px 16px !important; color: var(--wpo-tekst) !important; font-weight: 600; text-decoration: none; background: #fff !important; }
body.wpo .woocommerce-MyAccount-navigation li a:hover { background: var(--wpo-lichtlila) !important; }
body.wpo .woocommerce-MyAccount-navigation li.is-active a { background: var(--wpo-lichtlila) !important; color: var(--wpo-aubergine) !important; font-weight: 800; box-shadow: inset 3px 0 var(--wpo-aubergine); }
.wpo-account-tegels { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; margin-top: 22px; }
.wpo-account-tegel { display: flex; gap: 14px; align-items: center; background: var(--wpo-lichtlila); border-radius: 12px; padding: 18px; text-decoration: none; transition: background .15s; }
.wpo-account-tegel:hover { background: var(--wpo-lila); }
.wpo-account-tegel strong { display: block; font-size: 15px; }
.wpo-account-tegel small { display: block; color: var(--wpo-tekst-zacht); font-size: 12.5px; }
body.wpo .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
body.wpo .woocommerce-Addresses::before, body.wpo .woocommerce-Addresses::after { display: none !important; }
body.wpo .woocommerce-Address { width: auto !important; float: none !important; border: 1px solid var(--wpo-lijn); border-radius: var(--wpo-radius); padding: 20px; }
body.wpo .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; background: none !important; padding: 0 !important; border: 0 !important; margin-bottom: 10px; }
body.wpo .woocommerce-Address-title h2 { font-size: 18px !important; margin: 0 !important; padding: 0 !important; }
body.wpo .woocommerce-Address-title a { color: var(--wpo-framboos) !important; font-weight: 700; font-size: 13.5px; }
body.wpo .woocommerce-Address address { font-style: normal; border: 0 !important; padding: 0 !important; line-height: 1.7; }
body.wpo .woocommerce-orders-table { font-size: 14px; border: 1px solid var(--wpo-lijn) !important; border-radius: var(--wpo-radius) !important; border-collapse: separate; overflow: hidden; }
body.wpo .woocommerce-orders-table th, body.wpo .woocommerce-orders-table td { border: 0 !important; border-top: 1px solid var(--wpo-lijn) !important; padding: 12px 14px !important; background: none !important; }
body.wpo .woocommerce-orders-table thead th { border-top: 0 !important; background: var(--wpo-lichtlila) !important; color: var(--wpo-tekst-zacht); font-size: 12.5px; }
body.wpo .woocommerce-orders-table tbody th { font-weight: 700; }
body.wpo .woocommerce-EditAccountForm legend { font-size: 18px; font-weight: 800; padding-top: 18px; border-top: 1px solid var(--wpo-lijn); width: 100%; margin-top: 10px; }
body.wpo .woocommerce-EditAccountForm fieldset { border: 0; padding: 0; margin: 0; }

/* Categoriepagina: paginering, filter mee laten lopen, telling */
body.wpo .woocommerce-pagination ul.page-numbers { display: flex !important; gap: 8px; justify-content: center; flex-wrap: wrap; padding: 0 !important; margin: 0 !important; }
body.wpo .woocommerce-pagination ul.page-numbers li { display: block !important; float: none !important; margin: 0 !important; border: 0 !important; }
body.wpo .woocommerce-pagination .page-numbers a, body.wpo .woocommerce-pagination .page-numbers span { min-width: 40px; height: 40px; border-radius: 999px !important; display: grid !important; place-items: center; padding: 0 12px !important; border: 1px solid var(--wpo-lijn) !important; font-weight: 700; background: #fff; color: var(--wpo-tekst) !important; }
body.wpo .woocommerce-pagination .page-numbers span.current { background: var(--wpo-aubergine) !important; color: #fff !important; border-color: var(--wpo-aubergine) !important; }
body.wpo .wpo-filter { position: sticky; top: 168px; max-height: calc(100vh - 190px); overflow-y: auto; scrollbar-width: thin; }
body.wpo .woocommerce-result-count { font-weight: 700; color: var(--wpo-tekst); }

/* Productkaart: vaste merkregel en geurregel */
.wpo-kaart__merk { min-height: 16px; display: block; }
.wpo-kaart__geur:empty { visibility: hidden; }

/* Productpagina: specificaties, enkel paneel, reviews, simpel product */
.wpo-productinfo__in { align-items: start; }
.wpo-productinfo__in.is-enkel { grid-template-columns: minmax(0, 820px) !important; justify-content: center; }
.wpo-paneel .woocommerce-product-attributes th { color: var(--wpo-tekst); }
body.wpo.single-product .wpo-verborgen, body.wpo.single-product table.variations.wpo-verborgen { display: none !important; }
body.wpo.single-product section.related, body.wpo.single-product section.upsells { padding-bottom: 64px; }
body.wpo.single-product section.related > h2, body.wpo.single-product section.upsells > h2 { font-size: 28px !important; margin: 48px 0 18px !important; }
.wpo-formaten--zelfde-prijs .wpo-formaat__prijs { display: none; }
.wpo-formaten--zelfde-prijs .wpo-formaat { grid-template-columns: 16px 1fr !important; }
.wpo-formaten--compact { grid-template-columns: repeat(3, 1fr) !important; }
.wpo-formaten--compact .wpo-formaat__naam strong { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; display: block; font-size: 13px !important; }
.wpo-formaten--compact .wpo-formaat__naam { min-width: 0; }
body.wpo .wpo-paneel #reviews ol.commentlist li { background: var(--wpo-lichtlila); border: 0 !important; border-radius: 12px; padding: 16px 18px !important; margin: 0 0 10px !important; }
body.wpo .wpo-paneel #reviews .comment-text .meta strong { font-weight: 800; text-transform: capitalize; }
body.wpo .wpo-paneel #reviews .comment-text .meta em.woocommerce-review__verified { background: #E3F1DE; color: #23612E; border-radius: 999px; padding: 1px 8px; font-size: 11px; font-weight: 700; }
body.wpo .wpo-paneel .woocommerce-noreviews { display: none; }
body.wpo.single-product .summary .stock { color: var(--wpo-groen-vink) !important; font-weight: 600; font-size: 14px; }
body.wpo.single-product .summary .stock::before { content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: currentColor; margin-right: 8px; vertical-align: 1px; }
body.wpo.single-product .woocommerce-product-details__short-description ul { list-style: none; padding: 0 !important; margin: 0 0 14px !important; }
body.wpo.single-product .woocommerce-product-details__short-description li { position: relative; padding-left: 26px; margin: 0 0 6px; color: var(--wpo-tekst); }
body.wpo.single-product .woocommerce-product-details__short-description li::before { content: ""; position: absolute; left: 0; top: 3px; width: 17px; height: 17px; border-radius: 50%; background: var(--wpo-groen-vink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4 4 10-10'/%3E%3C/svg%3E") center / 11px no-repeat; }
body.wpo.single-product:not(.wpo-variabel) .summary > p.price { background: var(--wpo-lichtlila); border-radius: var(--wpo-radius); padding: 12px 16px; display: inline-block; margin-bottom: 14px; }
body.wpo.single-product form.cart .quantity { margin-left: 0 !important; }

/* Homepage-ritme en koppen */
@media (min-width: 861px) { .wpo-sectie { margin-top: 64px !important; margin-bottom: 64px !important; } .wpo-duo__blok h2 { font-size: 21px !important; } .wpo-reviews .wpo-kop { font-size: 24px !important; } .wpo-seo .wpo-kop--klein { font-size: 24px !important; } }
.wpo-reviews { margin-top: 64px; }

/* Betaallogo's en merkenmenu */
img.wpo-betaal { height: 28px; width: auto; border-radius: 5px; display: block; }
body.wpo .wpo-nav__sub-alle { border-top: 1px solid var(--wpo-lijn); margin-top: 6px; padding-top: 6px; }
body.wpo .wpo-nav__sub-alle a { color: var(--wpo-framboos) !important; font-weight: 800; }
@media (max-width: 860px) {
	.wpo-account-tegels { grid-template-columns: 1fr; }
	body.wpo.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	body.wpo .woocommerce-Addresses { grid-template-columns: 1fr; }
	.wpo-formaten--compact { grid-template-columns: 1fr 1fr !important; }
	body.wpo .wpo-filter { position: static; max-height: none; }
}

/* Actiebalk geurblokjes (verzoek klant: groot en vetgedrukt op de homepage) */
.wpo-actie { display: flex; align-items: center; gap: 18px; margin-top: 20px; padding: 16px 22px; border-radius: 14px; background: var(--wpo-framboos); color: #fff !important; text-decoration: none; box-shadow: 0 10px 28px rgba(184, 50, 106, .25); transition: background .15s; }
.wpo-actie:hover { background: var(--wpo-framboos-donker); }
.wpo-actie__icoon { width: 52px; height: 52px; border-radius: 50%; background: var(--wpo-geel); color: var(--wpo-aubergine); display: grid; place-items: center; flex: none; }
.wpo-actie__icoon .wpo-icon { width: 28px; height: 28px; }
.wpo-actie__tekst { flex: 1; display: flex; flex-direction: column; gap: 2px; }
.wpo-actie__tekst strong { font-size: 18px; font-weight: 800; line-height: 1.3; color: #fff; }
.wpo-actie__knop { flex: none; display: inline-flex; align-items: center; gap: 4px; background: #fff; color: var(--wpo-framboos); font-weight: 800; font-size: 14px; border-radius: 999px; padding: 10px 18px; }
.wpo-actie__knop .wpo-icon { width: 16px; height: 16px; }
.wpo-home .wpo-hero { margin-top: 16px; }
@media (max-width: 860px) {
	.wpo-actie { flex-wrap: wrap; gap: 12px; padding: 14px 16px; margin-top: 12px; }
	.wpo-actie__icoon { width: 42px; height: 42px; }
	.wpo-actie__tekst { flex-basis: calc(100% - 60px); }
	.wpo-actie__tekst strong { font-size: 15.5px; }
	.wpo-actie__knop { width: 100%; justify-content: center; }
}

/* ================================================================== */
/* Slotblok: mobiele correcties (staat bewust als laatste)             */
/* ================================================================== */
html { overflow-x: clip; }
body.wpo.woocommerce-demo-store { padding-bottom: 0 !important; }
.wpo-zoekknop { display: none; }
.wpo-filter__kop { display: flex; justify-content: space-between; align-items: center; border-bottom: 2px solid var(--wpo-tekst); margin-bottom: 12px; }
.wpo-filter__kop h2 { border: 0 !important; margin: 0 !important; padding-bottom: 8px !important; }
.wpo-filter__sluit { display: none; }
.wpo-filter-laag { position: fixed; inset: 0; background: rgba(38, 22, 52, .5); z-index: 998; }
body.wpo-geen-scroll { overflow: hidden; }
.wpo-filterregel { display: none; }
.wpo-kopregel .wpo-link { white-space: nowrap; }
body.wpo .wpo-paneel #reviews .comment-text .star-rating { margin-left: 0 !important; }
.wpo-productinfo { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; padding-left: 0 !important; padding-right: 0 !important; }
body.wpo .woocommerce table.cart td.actions .coupon .button { white-space: nowrap; }
body.wpo .wpcf7-form input:not([type=submit]):not([type=checkbox]), body.wpo .wpcf7-form textarea, body.wpo .wpcf7-form select { width: 100%; border: 1.5px solid #DCD5E2 !important; border-radius: var(--wpo-radius) !important; padding: 12px 14px !important; font-size: 16px !important; background: #fff !important; box-shadow: none !important; }
body.wpo .wpcf7-form input:focus, body.wpo .wpcf7-form textarea:focus { border-color: var(--wpo-aubergine) !important; outline: 0; }
body.wpo .wpcf7-form label { font-weight: 700; font-size: 14px; display: block; }
body.wpo .wpcf7-form input[type=submit] { background: var(--wpo-framboos) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; padding: 14px 28px !important; font-weight: 700 !important; font-size: 15px !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
body.wpo .wpcf7-form input[type=submit]:hover { background: var(--wpo-framboos-donker) !important; }
.wpo-social a { width: 40px !important; height: 40px !important; }

@media (max-width: 860px) {
	/* Geen horizontale overloop: één kolom met minmax */
	body.wpo .wpo-shop { grid-template-columns: minmax(0, 1fr) !important; }
	body.wpo .wpo-catkop { grid-template-columns: minmax(0, 1fr) !important; }
	body.wpo.woocommerce-checkout form.checkout { grid-template-columns: minmax(0, 1fr) !important; grid-template-areas: "cadeau" "klant" "overzicht" !important; }
	body.wpo.woocommerce-checkout form.checkout > #order_review { grid-area: overzicht !important; }
	body.wpo.woocommerce-cart .woocommerce { grid-template-columns: minmax(0, 1fr) !important; }
	body.wpo.woocommerce-cart .woocommerce > .cart-collaterals { grid-column: 1 !important; }
	body.wpo .woocommerce table.cart td.actions .coupon { display: flex !important; flex-wrap: wrap; width: 100%; }
	body.wpo .woocommerce table.cart td.actions .demo-live { display: block; width: 100%; margin-top: 10px; }
	body.wpo .woocommerce table.cart td.actions .dd-select, body.wpo .woocommerce table.cart td.actions .dd-container { width: 100% !important; }

	/* Header: compact na scrollen, zoeken via het vergrootglas */
	.wpo-zoekknop { display: grid; place-items: center; width: 44px; height: 44px; background: none !important; border: 0 !important; color: #fff !important; padding: 0 !important; }
	body.wpo .wpo-header__iconen { gap: 0; margin-right: -10px; }
	body.wpo .wpo-header__iconen a { width: 44px; height: 44px; }
	body.wpo .wpo-header__burger { width: 44px; height: 44px; margin-left: -10px; display: grid !important; place-items: center; }
	body.wpo-gescrold:not(.wpo-zoek-open):not(.wpo-menu-open) .wpo-zoek { display: none; }
	body.wpo:not(.wpo-gescrold) .wpo-zoekknop { display: none; }
	body.wpo-zoek-open .wpo-zoek { display: flex; }
	.wpo-header__in { padding-top: 8px !important; padding-bottom: 8px !important; }

	/* Menu: binnen het scherm, volle breedte, kruisje bij open */
	body.wpo .wpo-nav.is-open { max-height: calc(100dvh - 120px); overflow-y: auto; overscroll-behavior: contain; border-top: 1px solid rgba(255, 255, 255, .12); }
	body.wpo .wpo-nav__in { padding: 0 !important; }
	body.wpo .wpo-nav__lijst > li { border-bottom: 1px solid rgba(255, 255, 255, .12); }
	body.wpo .wpo-nav__lijst > li > a, body.wpo .wpo-nav__merken > button { width: 100% !important; justify-content: space-between !important; text-align: left; padding: 0 24px !important; height: 52px !important; font-size: 16px !important; }
	body.wpo .wpo-nav__merken.is-open > button::after { transform: rotate(225deg) translate(-2px, -2px); }
	body.wpo .wpo-nav__sub { padding: 0 0 10px !important; margin: 0 !important; }
	body.wpo .wpo-nav__sub a { padding: 12px 24px 12px 40px !important; min-height: 44px; font-size: 15px; }
	body.wpo .wpo-nav__geurvinder { display: flex !important; padding: 0 24px; height: 52px !important; }
	body.wpo .wpo-header__burger[aria-expanded="true"] .wpo-icon { display: none; }
	body.wpo .wpo-header__burger[aria-expanded="true"]::before { content: "×"; font-size: 32px; line-height: 1; color: #fff; }

	/* Filter als paneel van onderen */
	.wpo-filterregel { display: flex; gap: 8px; margin: 4px 0 14px; }
	body.wpo .wpo-filterknop { display: inline-flex !important; align-items: center; min-height: 44px; margin: 0; }
	body.wpo .wpo-filter { display: block !important; position: fixed !important; left: 0; right: 0; bottom: 0; top: auto !important; max-height: 85vh !important; overflow-y: auto; background: #fff; z-index: 999; border-radius: 18px 18px 0 0; padding: 18px 22px 30px; transform: translateY(105%); transition: transform .25s ease; box-shadow: 0 -10px 40px rgba(38, 22, 52, .25); }
	body.wpo .wpo-filter.is-open { transform: none; }
	.wpo-filter__sluit { display: grid; place-items: center; width: 44px; height: 44px; font-size: 28px; background: none !important; border: 0 !important; color: var(--wpo-tekst) !important; padding: 0 !important; }
	body.wpo .wpo-filter li a { display: block; padding: 10px 0; font-size: 15px; }

	/* Categoriekop: producten eerder in beeld */
	body.wpo .wpo-catkop--sfeer .wpo-catkop__beeld { height: 120px !important; min-height: 120px !important; }
	body.wpo .wpo-catkop__intro { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
	body.wpo .wpo-catkop__tekst { padding: 18px 18px !important; }
	body.wpo .wpo-catkop__feiten li:nth-child(n+2) { display: none; }

	/* Sophie op mobiel als ronde chatknop */
	body.wpo p.woocommerce-store-notice { left: auto !important; right: 14px !important; bottom: 14px !important; width: 58px !important; height: 58px !important; max-width: none !important; padding: 0 !important; border-radius: 50% !important; font-size: 0 !important; color: transparent !important; overflow: hidden; }
	body.wpo p.woocommerce-store-notice::before { left: 7px; width: 44px; height: 44px; }
	body.wpo p.woocommerce-store-notice a:not(.woocommerce-store-notice__dismiss-link) { position: absolute; inset: 0; font-size: 0 !important; z-index: 2; }
	body.wpo p.woocommerce-store-notice a.woocommerce-store-notice__dismiss-link { display: none !important; }

	/* Bestelknop blijft in beeld bij lange keuzelijsten */
	body.wpo.single-product .woocommerce-variation-add-to-cart, body.wpo.single-product form.cart:not(.variations_form) { position: sticky; bottom: 0; z-index: 20; background: #fff; padding: 10px 0 12px; box-shadow: 0 -8px 16px -8px rgba(38, 22, 52, .18); }
	body.wpo .wpo-formaten--compact .wpo-formaat { min-height: 44px; }

	/* Winkelwagen als compacte kaarten */
	body.wpo .woocommerce table.shop_table_responsive.cart thead { display: none; }
	body.wpo .woocommerce table.shop_table_responsive.cart tr.cart_item { display: grid; grid-template-columns: 72px 1fr 32px; grid-template-areas: "beeld naam weg" "beeld prijs prijs" "beeld aantal totaal"; gap: 4px 12px; padding: 14px; border-top: 1px solid var(--wpo-lijn); }
	body.wpo .woocommerce table.shop_table_responsive.cart tr.cart_item td { display: block !important; padding: 0 !important; border: 0 !important; text-align: left !important; background: none !important; }
	body.wpo .woocommerce table.shop_table_responsive.cart tr.cart_item td::before { display: none !important; }
	body.wpo .woocommerce table.cart td.product-remove { grid-area: weg; justify-self: end; }
	body.wpo .woocommerce table.cart td.product-thumbnail { grid-area: beeld; }
	body.wpo .woocommerce table.cart td.product-name { grid-area: naam; font-size: 14.5px; }
	body.wpo .woocommerce table.cart td.product-price { grid-area: prijs; font-size: 13px; color: var(--wpo-tekst-zacht); }
	body.wpo .woocommerce table.cart td.product-quantity { grid-area: aantal; }
	body.wpo .woocommerce table.cart td.product-subtotal { grid-area: totaal; align-self: center; text-align: right !important; }
	body.wpo .woocommerce table.cart .quantity.buttons_added { height: 44px; }
	body.wpo .woocommerce table.cart .quantity.buttons_added .minus, body.wpo .woocommerce table.cart .quantity.buttons_added .plus { width: 40px; }
	body.wpo .woocommerce table.cart td.actions { display: block !important; }

	/* 404 */
	.wpo-404 { padding: 28px 16px 48px; }
	.wpo-404__kaart { padding: 32px 20px; }
	body.wpo .wpo-404__chips { flex-wrap: wrap !important; overflow: visible !important; margin: 18px 0 22px !important; padding: 0 !important; }
	.wpo-404 h1 { font-size: 24px; }

	/* Tikvlakken, footer en kleine tekst */
	body.wpo .wpo-plus { width: 42px !important; height: 42px !important; }
	body.wpo .wpo-slider__nav button { width: 40px; height: 40px; }
	body.wpo .wpo-footer li a { display: block; padding: 8px 0; }
	body.wpo .wpo-footer li { margin: 0; }
	.wpo-kaart__merk, .wpo-kaart__maat, .wpo-label, .wpo-formaat__tag { font-size: 12px !important; }
	body.wpo .wpo-kruimel { font-size: 13px; }
	body.wpo .wpo-stappen li { font-size: 12px; }
	body.wpo .woocommerce-review__published-date { font-size: 13px !important; }
	body.wpo .woocommerce form .form-row input.input-text, body.wpo .woocommerce form .form-row textarea, body.wpo .woocommerce form .form-row select { font-size: 16px !important; }

	/* Homepage-details */
	body.wpo .wpo-reviews__score { display: flex; flex-direction: column; }
	body.wpo .wpo-scorekaart { max-width: none; display: flex; align-items: center; gap: 12px; text-align: left; padding: 14px 18px; }
	body.wpo .wpo-scorekaart span:last-child { margin: 0; }
	body.wpo .wpo-duo__blok { grid-template-columns: 1fr !important; }
	body.wpo .wpo-duo__blok img { width: 100% !important; height: 160px !important; object-fit: cover; background: var(--wpo-lila); }
	.wpo-kopregel { flex-wrap: wrap; }
}

/* ================================================================== */
/* Ronde 12: mobiele header en inhoudspagina's                        */
/* ================================================================== */

/* Zoekveld: vergrootglas links, rustig wit veld */
body.wpo .wpo-zoek { padding: 0 6px 0 4px !important; height: 48px; border-radius: 12px; gap: 2px; }
body.wpo .wpo-zoek button[type=submit] { order: -1; width: 40px !important; height: 40px !important; background: none !important; color: var(--wpo-aubergine) !important; border-radius: 10px !important; }
body.wpo .wpo-zoek button[type=submit]:hover { background: var(--wpo-lichtlila) !important; }
body.wpo .wpo-zoek input[type=search] { font-size: 16px !important; padding: 0 8px 0 2px !important; color: var(--wpo-tekst); }
body.wpo .wpo-zoek input[type=search]::placeholder { color: #8D8496; }
body.wpo .wpo-zoek:focus-within { box-shadow: 0 0 0 3px rgba(243, 235, 160, .7); }

@media (max-width: 860px) {
	.wpo-topbar__in { min-height: 30px; }
	.wpo-topbar__usp li { font-size: 12.5px; }
	body.wpo .wpo-header__in { display: grid !important; grid-template-columns: 44px 1fr auto; grid-template-areas: "burger logo iconen" "zoek zoek zoek"; align-items: center; gap: 4px 6px !important; padding: 6px 14px 12px !important; }
	body.wpo .wpo-header__burger { grid-area: burger; margin: 0 !important; }
	body.wpo .wpo-logo { grid-area: logo; justify-self: start; }
	body.wpo .wpo-logo img { height: 27px !important; }
	body.wpo .wpo-header__iconen { grid-area: iconen; margin: 0 -8px 0 0 !important; }
	body.wpo .wpo-zoek { grid-area: zoek; height: 44px; max-width: none; flex-basis: auto; }
	body.wpo .wpo-mandje__aantal { top: 4px; right: 2px; }
	body.wpo-gescrold .wpo-header__in { padding-bottom: 6px !important; }
	body.wpo-zoek-open.wpo-gescrold .wpo-header__in { padding-bottom: 12px !important; }
}

/* Blogkaarten: beeld echt 16:9 */
.wpo-blog__beeld { position: relative; overflow: hidden; min-height: 0 !important; }
.wpo-blog__beeld img { position: absolute; inset: 0; width: 100%; height: 100% !important; object-fit: cover; }
body.wpo.archive #content > .ast-container, body.wpo.category #content > .ast-container { padding: 0 !important; max-width: none !important; }

/* Titelbalk boven Elementor-pagina's */
.wpo-paginakop { background: var(--wpo-lila); border-radius: 14px; padding: 28px 36px; margin: 24px 0 8px; }
.wpo-paginakop h1 { font-size: 32px; margin: 0; color: var(--wpo-aubergine) !important; }
body.wpo .elementor-widget-heading:first-child .elementor-heading-title.elementor-size-xxl, body.wpo .elementor-top-section:first-child .elementor-divider { display: none; }

/* Elementor en oude inhoud in de huisstijl */
body.wpo .entry-content, body.wpo .elementor-widget-text-editor, body.wpo .elementor-widget-text-editor p, body.wpo .entry-content > p { color: var(--wpo-tekst); }
body.wpo .elementor-heading-title { color: var(--wpo-tekst) !important; text-transform: none !important; font-family: "Open Sans", sans-serif !important; font-weight: 800 !important; }
body.wpo .entry-content a:not(.elementor-button):not(.button):not(.wpo-knop) { color: var(--wpo-framboos); }
body.wpo .elementor-button, body.wpo .wpcf7-submit, body.wpo .o-submit-button, body.wpo .et_pb_button {
	background: var(--wpo-framboos) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important;
	padding: 13px 26px !important; font: 700 15px/1.2 "Open Sans", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important;
}
body.wpo .elementor-button:hover, body.wpo .wpcf7-submit:hover, body.wpo .o-submit-button:hover { background: var(--wpo-framboos-donker) !important; }
body.wpo .elementor-button .elementor-button-text { color: #fff !important; }
body.wpo h2 span, body.wpo h3 span { font-weight: inherit; }
body.wpo .elementor-section.elementor-section-boxed > .elementor-container { max-width: calc(var(--wpo-breedte) - 48px) !important; }

/* Tekstpagina's (voorwaarden, privacy, verzenden): één leeskolom met titel */
body.wpo.page:not(.home):not(.woocommerce-page) .ast-article-single:not(.elementor) .entry-header,
body.wpo.page:not(.home):not(.woocommerce-page) .ast-article-single .entry-content > *:not(.elementor) { max-width: 820px; margin-left: auto !important; margin-right: auto !important; }
body.wpo.page:not(.woocommerce-page):not(.woocommerce-cart):not(.woocommerce-checkout):not(.woocommerce-account) .entry-content > p > strong:only-child { display: block; font-size: 20px; font-weight: 800; margin-top: 28px; color: var(--wpo-tekst); }
body.wpo.page .entry-content ol + ol { margin-top: -8px; }
body.wpo.page-id-0 .entry-content ol { list-style: none; }
body.wpo.page .entry-content { line-height: 1.75; font-size: 16px; }
body.wpo.page .entry-content h2 { font-size: 24px; margin-top: 36px; }
body.wpo.page .entry-content h3 { font-size: 19px; margin-top: 28px; }

/* Geen Sophie-melding op de Sophie-pagina zelf */
body.wpo-sophie-pagina p.woocommerce-store-notice { display: none !important; }

@media (max-width: 860px) {
	.wpo-paginakop { padding: 20px; margin-top: 16px; }
	.wpo-paginakop h1 { font-size: 24px; }
}

/* ================================================================== */
/* Ronde 13: Advies van Sophie, sticky header op mobiel               */
/* ================================================================== */
body.wpo { overflow-x: visible !important; }
body.wpo-sophie-pagina .wpo-paginakop { display: none; }

.wpo-advies { padding: 24px 0 24px; }
.wpo-advies__hero { display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: 40px; align-items: center; background: var(--wpo-lila); border-radius: 18px; padding: 40px 48px; }
.wpo-advies__intro h1 { font-size: 38px; line-height: 1.15; margin: 0 0 14px; color: var(--wpo-aubergine) !important; }
.wpo-advies__intro > p { font-size: 16.5px; line-height: 1.6; margin: 0 0 18px; color: var(--wpo-tekst); max-width: 560px; }
.wpo-advies__punten { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.wpo-advies__punten li { display: flex; gap: 10px; align-items: flex-start; font-size: 14.5px; margin: 0; }
.wpo-advies__punten .wpo-icon { width: 20px; height: 20px; padding: 3px; box-sizing: border-box; border-radius: 50%; background: var(--wpo-groen-vink); color: #fff; stroke-width: 3.5; margin-top: 1px; }
.wpo-advies__sophie { position: relative; margin: 0; justify-self: center; max-width: 380px; width: 100%; }
.wpo-advies__sophie img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 50% 50% 18px 18px; display: block; box-shadow: 0 20px 50px rgba(75, 46, 107, .2); }
.wpo-advies__sophie figcaption { position: absolute; left: 50%; bottom: 18px; transform: translateX(-50%); background: #fff; border-radius: 999px; padding: 9px 16px; font-size: 13.5px; white-space: nowrap; box-shadow: 0 8px 22px rgba(49, 30, 72, .18); display: flex; align-items: center; gap: 6px; color: var(--wpo-tekst-zacht); }
.wpo-advies__sophie figcaption strong { color: var(--wpo-tekst); }
.wpo-advies__stip { width: 9px; height: 9px; border-radius: 50%; background: #2FB34A; box-shadow: 0 0 0 3px rgba(47, 179, 74, .2); }

.wpo-advies__chat { max-width: 820px; margin: -36px auto 0; position: relative; background: #fff; border: 1px solid var(--wpo-lijn); border-radius: 18px; box-shadow: 0 20px 50px rgba(49, 30, 72, .12); padding: 24px 28px 28px; }
.wpo-advies__chatkop { display: flex; align-items: center; gap: 12px; padding-bottom: 16px; border-bottom: 1px solid var(--wpo-lijn); margin-bottom: 16px; }
.wpo-advies__chatkop img { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.wpo-advies__chatkop strong { display: block; font-size: 16px; }
.wpo-advies__chatkop span { font-size: 13px; color: var(--wpo-tekst-zacht); }
.wpo-advies__voorbeelden { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
body.wpo .wpo-advies__voorbeelden button { width: auto !important; margin: 0 !important; background: var(--wpo-lichtlila) !important; color: var(--wpo-aubergine) !important; border: 0 !important; border-radius: 999px !important; padding: 8px 14px !important; font: 600 13.5px "Open Sans", sans-serif !important; cursor: pointer; }
body.wpo .wpo-advies__voorbeelden button:hover { background: var(--wpo-lila) !important; }
body.wpo .wpo-advies__widget #response { margin: 0; }
body.wpo .wpo-advies__widget #response-content { display: flex; flex-direction: column; gap: 10px; }
body.wpo .wpo-advies__widget #response-content:not(:empty) { margin-bottom: 16px; max-height: 60vh; overflow-y: auto; padding-right: 4px; }
body.wpo .wpo-advies__widget .user-message, body.wpo .wpo-advies__widget .assistant-message, body.wpo .wpo-advies__widget .error-message { margin: 0 !important; padding: 12px 16px !important; border: 0 !important; border-radius: 16px !important; font-size: 15px; line-height: 1.55; max-width: 88%; }
body.wpo .wpo-advies__widget .user-message { align-self: flex-end; background: var(--wpo-aubergine) !important; color: #fff !important; border-bottom-right-radius: 4px !important; }
body.wpo .wpo-advies__widget .user-message strong { display: none; }
body.wpo .wpo-advies__widget .assistant-message { align-self: flex-start; background: var(--wpo-lichtlila) !important; color: var(--wpo-tekst) !important; border-bottom-left-radius: 4px !important; }
body.wpo .wpo-advies__widget .assistant-message a { color: var(--wpo-framboos) !important; font-weight: 700; }
body.wpo .wpo-advies__widget .error-message { background: #FBEDED !important; color: #8A2B2B; }
body.wpo .wpo-advies__widget #message-loader img { width: 28px; height: 28px; }
body.wpo .wpo-advies__widget .o-form { margin: 0; display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: end; }
body.wpo .wpo-advies__widget .o-form label { grid-column: 1 / -1; margin: 0; font-weight: 800; font-size: 15px; color: var(--wpo-tekst) !important; }
body.wpo .wpo-advies__widget .o-form textarea { width: 100%; min-height: 56px; height: 56px; resize: vertical; margin: 0; border: 1.5px solid #DCD5E2 !important; border-radius: 14px !important; padding: 14px 16px !important; font: 16px/1.4 "Open Sans", sans-serif; box-shadow: none !important; }
body.wpo .wpo-advies__widget .o-form textarea:focus { border-color: var(--wpo-aubergine) !important; outline: 0; box-shadow: 0 0 0 3px rgba(75, 46, 107, .12) !important; }
body.wpo .wpo-advies__widget .o-form .o-submit-button { width: auto !important; height: 56px; margin: 0 !important; padding: 0 26px !important; }
.wpo-advies__zelf { text-align: center; }
.wpo-advies__zelf .wpo-chips { justify-content: center; }

@media (max-width: 860px) {
	.wpo-advies { padding-top: 12px; }
	.wpo-advies__hero { grid-template-columns: 1fr; padding: 24px 20px 56px; gap: 20px; }
	.wpo-advies__sophie { max-width: 220px; order: -1; }
	.wpo-advies__intro h1 { font-size: 27px; }
	.wpo-advies__intro > p { font-size: 15px; }
	.wpo-advies__chat { padding: 18px 16px 20px; margin-top: -32px; border-radius: 16px; }
	body.wpo .wpo-advies__widget .o-form { grid-template-columns: 1fr; }
	body.wpo .wpo-advies__widget .o-form .o-submit-button { width: 100% !important; height: 50px; }
	.wpo-advies__voorbeelden { flex-wrap: nowrap; overflow-x: auto; margin: 0 -16px 14px; padding: 0 16px; scrollbar-width: none; }
	body.wpo .wpo-advies__voorbeelden button { white-space: nowrap; }
}
body.wpo-sophie-pagina #content > .ast-container, body.wpo.error404 #content > .ast-container { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; }
body.wpo-sophie-pagina #primary, body.wpo.error404 #primary { margin: 0 !important; padding: 0 !important; }
.wpo-advies__zelf .wpo-chips { flex-wrap: wrap !important; overflow: visible !important; margin-left: 0 !important; margin-right: 0 !important; padding: 0 !important; }


/* ================================================================== */
/* Ronde 14: bevindingen CSS-review                                   */
/* ================================================================== */
body.wpo .woocommerce a.checkout-button.button, body.wpo .wc-proceed-to-checkout a.checkout-button { background: var(--wpo-framboos) !important; color: #fff !important; font-size: 16px !important; padding: 16px 20px !important; border-radius: 999px !important; width: 100%; }
body.wpo .woocommerce a.checkout-button.button:hover { background: var(--wpo-framboos-donker) !important; }
body.wpo .return-to-shop a.button { background: var(--wpo-framboos) !important; }
.wpo-shop { grid-template-columns: 240px minmax(0, 1fr); }
body.wpo ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1100px) and (min-width: 861px) { body.wpo ul.products:not(.wpo-slider__baan) { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
@media (max-width: 1000px) and (min-width: 861px) {
	.wpo-nav__lijst { gap: 12px !important; }
	body.wpo .wpo-nav__lijst > li > a, body.wpo .wpo-nav__merken > button, body.wpo .wpo-nav__geurvinder { font-size: 13.5px !important; }
	.wpo-shop { grid-template-columns: 200px minmax(0, 1fr); }
}
/* Merken-submenu: geen gat tussen knop en menu; hover alleen op apparaten met muis */
.wpo-nav__sub { margin-top: 0 !important; top: calc(100% + 8px) !important; }
.wpo-nav__sub::before { content: ""; position: absolute; left: 0; right: 0; top: -10px; height: 10px; }
.wpo-nav__merken:hover .wpo-nav__sub { display: none; }
@media (hover: hover) and (min-width: 861px) { .wpo-nav__merken:hover .wpo-nav__sub { display: block; } }
.wpo-nav__merken.is-open .wpo-nav__sub { display: block !important; }
/* Kleine mobiele maten die door eerdere !important werden overschreven */
@media (max-width: 860px) {
	.wpo-sectie { margin-top: 44px !important; margin-bottom: 44px !important; }
	body.wpo .wpo-duo__blok h2 { font-size: 18px !important; }
	.wpo-kaart__prijs { font-size: 19px !important; }
	body.wpo .wpo-chips { margin: 14px -24px !important; padding: 0 24px !important; }
	body.wpo .wpo-advies__zelf .wpo-chips, body.wpo .wpo-404__chips { margin: 18px 0 !important; padding: 0 !important; }
	body.wpo #ast-scroll-top { bottom: 84px !important; right: 14px !important; }
	body.wpo.single-product p.woocommerce-store-notice { bottom: 92px !important; }
	body.wpo-geen-scroll p.woocommerce-store-notice { display: none !important; }
	body.wpo .wpo-filter:not(.is-open) { visibility: hidden; }
	body.wpo .wpo-filter.is-open { visibility: visible; }
}
/* Contrast */
.wpo-formaat__voorraad, body.wpo.single-product .summary .stock, body.wpo .wpo-gratis { color: #23612E !important; }
.wpo-tegel p { color: var(--wpo-tekst) !important; }
body.wpo .wpo-zoek input[type=search]::placeholder, body.wpo .hustle-ui.hustle-popup .hustle-input-label { color: #6B6472 !important; }
body.wpo .wpo-hero__tekst p { color: #fff !important; }
body.wpo .wpo-sophie p, body.wpo .wpo-artikel__cta p { color: #E9E2F0 !important; }
/* Hover en focus */
body.wpo :is(.wpo-knop, .wpo-formaat, .wpo-chips a, .wpo-slider__nav button, .wpo-plus, .wpo-link, .wpo-header__iconen a, .wpo-zoekknop, .wpo-filterknop, .wpo-rekenhulp__keuze button):focus-visible { outline: 3px solid var(--wpo-geel); outline-offset: 2px; }
body.wpo .wpo-slider__nav button:hover { border-color: var(--wpo-aubergine) !important; color: var(--wpo-aubergine) !important; }
body.wpo .wpo-rekenhulp__keuze button:not([aria-pressed="true"]):hover { border-color: var(--wpo-aubergine) !important; }
body.wpo .wpo-filter a:hover, body.wpo .wpo-merkregel a:hover { color: var(--wpo-framboos) !important; }
body.wpo a.wpo-cat:hover, body.wpo a.wpo-cat:focus { color: inherit; }
body.wpo .wpo-header__iconen a:hover { color: var(--wpo-geel) !important; }
/* Aantalvak al gestyled voordat Astra de knoppen toevoegt */
body.wpo .quantity:has(.ast-qty-placeholder) { display: inline-flex; align-items: center; border: 1.5px solid var(--wpo-lijn); border-radius: var(--wpo-radius); height: 52px; }
.wpo-merkproducten .woocommerce { margin: 0; }
.wpo-kaart__beeld img[src$=".png"] { mix-blend-mode: normal; filter: drop-shadow(0 10px 14px rgba(49, 30, 72, .14)); }

/* Uitverkochte producten: zichtbaar, maar duidelijk niet te bestellen */
body.wpo .wpo-label--uit { background: #5E5866; }
.wpo-kaart.is-uitverkocht .wpo-kaart__beeld img { opacity: .55; filter: grayscale(.4); }
.wpo-kaart.is-uitverkocht .wpo-plus { display: none; }
.wpo-kaart.is-uitverkocht .wpo-kaart__prijs { color: var(--wpo-tekst-zacht); }

/* Productgrid op mobiel: twee kolommen (moet na de 4-koloms regel staan) */
@media (max-width: 860px) {
	body.wpo ul.products:not(.wpo-slider__baan) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 10px !important; }
}
@media (max-width: 340px) {
	body.wpo ul.products:not(.wpo-slider__baan) { grid-template-columns: minmax(0, 1fr) !important; }
}

/* ------------------------------------------------------------------ */
/* Ronde 2.2.6: mobiele shopronde (390px). Staat bewust onderaan,      */
/* zodat latere desktopregels deze mobiele herstellingen niet winnen.  */
/* ------------------------------------------------------------------ */
@media (max-width: 860px) {
	/* Filter-sheet: kop blijft staan tijdens scrollen, pagina erachter scrollt niet mee */
	body.wpo .wpo-filter { overscroll-behavior: contain; padding-top: 0 !important; }
	body.wpo .wpo-filter .wpo-filter__kop { position: sticky; top: 0; z-index: 2; background: #fff; padding-top: 14px; margin: 0 0 12px !important; }

	/* Bestelbalk productpagina: over de volle breedte als hij onderaan plakt */
	body.wpo.single-product .woocommerce-variation-add-to-cart, body.wpo.single-product form.cart:not(.variations_form) { margin-left: -24px !important; margin-right: -24px !important; padding: 10px 24px 12px !important; }
	body.wpo.single-product .single_variation:empty { display: none; }

	/* Pick & Mix: geurnamen niet afkappen met puntjes */
	body.wpo .wpo-formaten--compact .wpo-formaat__naam strong { white-space: normal !important; overflow: visible !important; text-overflow: clip !important; line-height: 1.25; }

	/* Winkelwagen: regeltotaal niet over twee regels, kolom krijgt de ruimte die hij nodig heeft */
	body.wpo .woocommerce table.shop_table_responsive.cart tr.cart_item { grid-template-columns: 72px 1fr auto !important; }
	body.wpo .woocommerce table.cart td.product-subtotal { white-space: nowrap !important; }

	/* Winkelwagen: waardebonveld en knop als twee losse, gesloten vormen onder elkaar */
	body.wpo .woocommerce table.cart td.actions .coupon { gap: 8px !important; }
	body.wpo .woocommerce table.cart td.actions .coupon .input-text { flex: 1 1 100% !important; width: 100% !important; border-right: 1.5px solid var(--wpo-lijn) !important; border-radius: 999px !important; }
	body.wpo .woocommerce table.cart td.actions .coupon .button { flex: 1 1 100% !important; width: 100% !important; border-radius: 999px !important; }

	/* Gratis-cadeaublok (plugin): kaart binnen het blok houden */
	body.wpo .adv-gift-section .wgb-row { display: block !important; margin: 0 !important; }
	body.wpo .adv-gift-section [class*="wgb-col-"] { width: 100% !important; max-width: 100% !important; flex: 1 1 100% !important; padding: 0 !important; }
	body.wpo .adv-gift-section .wgb-product-item-cnt { width: 100% !important; box-sizing: border-box; }

	/* Afrekenen: verplicht-sterretje achter de voorwaardentekst in plaats van op een eigen regel */
	body.wpo .woocommerce-terms-and-conditions-wrapper label.woocommerce-form__label-for-checkbox > .required { display: none !important; }
	body.wpo .woocommerce-terms-and-conditions-wrapper .woocommerce-terms-and-conditions-checkbox-text::after { content: " *"; color: var(--wpo-framboos); font-weight: 700; }

	/* Mijn account > bestellingen: bestelnummer weer zichtbaar als kop van elke bestelling */
	body.wpo .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number { display: flex !important; justify-content: space-between; align-items: center; background: var(--wpo-lichtlila) !important; border-top: 2px solid var(--wpo-lijn) !important; }
	body.wpo .woocommerce-orders-table tbody tr:first-child th.woocommerce-orders-table__cell-order-number { border-top: 0 !important; }
	body.wpo .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number::before { content: attr(data-title) ":"; font-weight: 700; }
	body.wpo .woocommerce-orders-table tbody th.woocommerce-orders-table__cell-order-number a { font-weight: 800; color: var(--wpo-aubergine); }

	/* Zoekresultaten: geen half afgesneden productfoto als kopbeeld */
	body.wpo.search .wpo-catkop__beeld { display: none !important; }

	/* --- Contentpagina's (bevindingen tweede audit) --- */
	/* Hamburgermenu: items links uitgelijnd over de volle breedte, menu scrollt binnen het scherm */
	body.wpo .wpo-nav__lijst { align-items: stretch !important; }
	body.wpo .wpo-nav__lijst > li > a, body.wpo .wpo-nav__merken > button { width: 100% !important; display: flex !important; justify-content: space-between !important; align-items: center; text-align: left !important; }
	body.wpo .wpo-nav__sub a { padding-left: 16px !important; }
	body.wpo .wpo-nav.is-open { max-height: calc(100dvh - 140px) !important; overflow-y: auto !important; overscroll-behavior: contain; }
	body.wpo.wpo-menu-open { overflow: hidden !important; }

	/* Naar-boven-knop even groot en in lijn met de ronde Sophie-knop */
	body.wpo #ast-scroll-top { right: 19px !important; bottom: 84px !important; width: 44px !important; height: 44px !important; display: grid; place-items: center; }
	/* Blogbericht: Sophie-knop niet over de inhoudsopgave */
	body.wpo.single-post p.woocommerce-store-notice { bottom: 84px !important; }
	body.wpo.single-post .wpo-inhoud { margin-right: 56px; }
	/* Inhoudsopgave: ruim tikvlak op de summary */
	body.wpo .wpo-inhoud details { padding: 0 !important; }
	body.wpo .wpo-inhoud summary { padding: 16px 18px !important; min-height: 54px; display: flex !important; align-items: center; }
	body.wpo .wpo-inhoud ol { margin: 0 18px 14px !important; }

	/* Voorwaarden en privacy: lijsten minder diep ingesprongen, kleinere witruimtes, lege alinea's weg */
	body.wpo.page .entry-content :is(ol, ul) { margin: 0 0 12px 18px !important; }
	body.wpo.page .entry-content li > :is(ol, ul) { margin: 6px 0 0 14px !important; }
	body.wpo.page .entry-content li { margin-bottom: 6px; }
	body.wpo.page .entry-content p:empty { display: none; }

	/* Contact: kop leesbaar op de foto */
	body.wpo.page-id-25 .elementor-element-a69c149 { position: relative; }
	body.wpo.page-id-25 .elementor-element-a69c149::before { content: ""; position: absolute; inset: 0; background: rgba(49, 30, 72, .55); z-index: 0; pointer-events: none; }
	body.wpo.page-id-25 .elementor-element-a69c149 > .elementor-container { position: relative; z-index: 1; }
	body.wpo.page-id-25 .elementor-element-a69c149 .elementor-heading-title { color: #fff !important; }
	/* Contactformulier: niet tegen de rand, ruime knop */
	body.wpo .wpcf7-form { padding: 0 10px; }
	body.wpo .wpcf7-form textarea { height: 160px !important; }
	body.wpo .wpcf7-form .wpcf7-submit { width: 100% !important; height: 52px !important; }

	/* Elementor-tekst en koppen in lijn met de rest van de site */
	body.wpo .elementor-widget-text-editor p { font-size: 17px !important; text-align: left !important; }
	body.wpo .elementor-heading-title { color: var(--wpo-aubergine) !important; }
	/* Merkpagina's: zelfde zijmarge als de paginakop, kleiner gat onder de kop */
	body.wpo.page .elementor-top-section > .elementor-container { padding: 0 14px !important; }
	body.wpo .wpo-paginakop { margin-bottom: 0 !important; }
	body.wpo.page:not(.page-id-25) .elementor > .elementor-top-section:first-child { padding-top: 12px !important; margin-top: 0 !important; }

	/* Tikvlakken: footerlinks en kruimelpad, blogmeta leesbaar */
	body.wpo .wpo-footer nav a, body.wpo .wpo-footer address a { display: inline-block; padding: 12px 0; }
	body.wpo .woocommerce-breadcrumb { font-size: 13px !important; }
	body.wpo .woocommerce-breadcrumb a { display: inline-block; padding: 10px 0; }
	body.wpo .wpo-blog__meta { font-size: 13px !important; }
}

/* Horomia staat los in het menu; op smalle laptops past dat niet, dan alleen onder Merken. */
@media (max-width: 1099px) and (min-width: 861px) {
	body.wpo .wpo-nav__lijst > li.wpo-nav__uitgelicht { display: none !important; }
}

/* ------------------------------------------------------------------ */
/* Ronde 2.2.12: winkelwagen en afrekenen afwerken (mobiel en breed)   */
/* ------------------------------------------------------------------ */
/* Astra springt ol/ul in; stappenbalk en betaalmethodes staan in lijn met de kaarten */
body.wpo.page .entry-content ol.wpo-stappen, body.wpo.page .entry-content #payment ul.payment_methods { margin-left: 0 !important; margin-right: 0 !important; }

/* Cadeaublok: titel zonder plugin-streep, gekozen cadeau duidelijk in plaats van een vage knop */
body.wpo .adv-gift-section .wgb-title { border: 0 !important; padding: 0 !important; }
body.wpo .adv-gift-section .wgb-title::after, body.wpo .adv-gift-section .wgb-header-cnt::before { display: none !important; }
body.wpo .adv-gift-section .wgb-add-gift-btn.is-gekozen { opacity: 1 !important; background: #E8F3EA !important; color: #23612E !important; pointer-events: none; }
body.wpo .adv-gift-section .wgb-add-gift-btn.is-gekozen::before { content: "✓ "; }
body.wpo .adv-gift-section .wgb-product-item-cnt.disable-hover::after { display: none !important; }
body.wpo .woocommerce table.cart td.product-name { font-weight: 700; }

/* Cadeau-uitklapmenu in de winkelwagen: even breed als het veld, gewone hoofdletters */
body.wpo .woocommerce table.cart td.actions .dd-select { overflow: visible; }
body.wpo .woocommerce table.cart td.actions .dd-options { width: 100% !important; left: 0 !important; top: calc(100% + 6px) !important; border: 1px solid var(--wpo-lijn) !important; border-radius: var(--wpo-radius) !important; box-shadow: 0 12px 30px rgba(38, 22, 52, .15) !important; overflow: hidden; background: #fff !important; z-index: 30; }
body.wpo .woocommerce table.cart td.actions .dd-option { display: flex !important; align-items: center; gap: 12px; padding: 10px 14px !important; border: 0 !important; }
body.wpo .woocommerce table.cart td.actions .dd-option:hover { background: var(--wpo-lichtlila) !important; }
body.wpo .woocommerce table.cart td.actions .dd-option-image { width: 44px !important; height: 44px !important; max-width: 44px !important; object-fit: cover; border-radius: 6px; margin: 0 !important; float: none !important; }
body.wpo .woocommerce table.cart td.actions :is(.dd-option, .dd-option-text, .dd-option-description, .dd-selected, .dd-selected-text, .dd-selected-description) { text-transform: none !important; letter-spacing: 0 !important; }
body.wpo .woocommerce table.cart td.actions .dd-option-description { font-size: 13.5px !important; font-weight: 700; color: var(--wpo-tekst) !important; line-height: 1.35; margin: 0 !important; }
body.wpo .woocommerce table.cart td.actions .dd-selected-image, body.wpo .woocommerce table.cart td.actions .dd-selected-description { display: none !important; }
body.wpo .woocommerce table.cart td.actions .dd-selected { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }

/* Account aanmaken: in een eigen kaart, net als de velden erboven */
body.wpo.woocommerce-checkout .woocommerce-account-fields { background: #fff; border: 1px solid var(--wpo-lijn); border-radius: var(--wpo-radius); padding: 14px 22px; margin-bottom: 16px; }
body.wpo.woocommerce-checkout .woocommerce-account-fields p.create-account { margin: 0 !important; }
body.wpo.woocommerce-checkout .woocommerce-account-fields input[type=checkbox] { accent-color: var(--wpo-aubergine); width: 18px; height: 18px; vertical-align: -3px; }

/* Footer: onderbalk donker, zodat de donkere betaallogo-strook erin opgaat */
.wpo-footer__onder { background: #261634; color: rgba(255, 255, 255, .7); }
.wpo-footer__onder a { color: rgba(255, 255, 255, .78) !important; }
.wpo-footer__onder a:hover { color: #fff !important; }

@media (max-width: 860px) {
	/* Producttabel kan niet breder worden dan het scherm, ook niet voordat de scripts geladen zijn */
	body.wpo .woocommerce table.shop_table_responsive.cart, body.wpo .woocommerce table.shop_table_responsive.cart tbody { display: block !important; width: 100% !important; }
	body.wpo .woocommerce table.cart td.actions, body.wpo .woocommerce table.cart td.actions * { box-sizing: border-box; max-width: 100%; }
	body.wpo .woocommerce table.cart td.actions > .button[name="update_cart"] { width: 100%; margin-top: 10px !important; }

	/* Naar-boven-knop viel over prijzen en velden; op deze pagina's is hij niet nodig */
	body.wpo.woocommerce-cart #ast-scroll-top, body.wpo.woocommerce-checkout #ast-scroll-top { display: none !important; }

	/* Totalen: uitleg onder de verzendregel klein en rustig */
	body.wpo .cart_totals .woocommerce-shipping-destination, body.wpo .cart_totals .woocommerce-shipping-contents, body.wpo .cart_totals td p { font-size: 12.5px !important; color: var(--wpo-tekst-zacht); line-height: 1.45; margin: 6px 0 0 !important; }
	body.wpo .cart_totals .woocommerce-shipping-calculator { margin-top: 6px; }

	/* Cadeaukaart op afrekenen: beeld en tekst compact naast elkaar */
	body.wpo .adv-gift-section .wgb-product-item-cnt { grid-template-columns: 64px 1fr !important; gap: 12px; padding: 10px !important; }
	body.wpo .adv-gift-section .wgb-product-item-cnt img { width: 64px !important; height: 64px !important; border-radius: 6px; }
	body.wpo .adv-gift-section .wgb-item-content { padding: 0 !important; }
}

/* Betaalmethodes in de footer: losse logo's in plaats van de donkere JPG-strook */
.wpo-betaalrij { display: flex; flex-wrap: wrap; gap: 8px; list-style: none; margin: 0 !important; padding: 0; }
.wpo-betaalrij li { margin: 0; line-height: 0; }
.wpo-betaalrij img { display: block; width: 40px; height: 30px; background: #fff; border-radius: 5px; object-fit: contain; }

/* 2.2.14: naar-boven-knop weg, Cookiebot-icoon weg (keuze aanpassen via de footerlink), label e-mailveld pop-up gecentreerd */
#ast-scroll-top, .ast-scroll-top-icon { display: none !important; }
#CookiebotWidget { display: none !important; }
body.wpo .hustle-ui.hustle-popup .hustle-field { position: relative !important; }
body.wpo .hustle-ui.hustle-popup .hustle-input-label { top: 0 !important; bottom: 0 !important; height: 50px !important; display: flex !important; align-items: center !important; margin: 0 !important; line-height: 1 !important; pointer-events: none; }

/* ================================================================== */
/* 2.2.15: klantenservicepagina's (verzenden, voorwaarden, privacy)    */
/* ================================================================== */
body.wpo-juridisch-pagina #content > .ast-container { padding-left: 0 !important; padding-right: 0 !important; max-width: none !important; display: block; }
html { scroll-padding-top: 150px; }
.wpo-juridisch { padding-top: 24px; padding-bottom: 72px; }
.wpo-juridisch__kop { background: var(--wpo-lila); border-radius: 18px; padding: 40px 48px 0; position: relative; overflow: hidden; }
.wpo-juridisch__kop::after { content: ""; position: absolute; right: -40px; top: -40px; width: 220px; height: 220px; background: url(../img/bloem.svg) no-repeat center / contain; opacity: .18; pointer-events: none; }
.wpo-juridisch__label { margin: 0 0 6px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--wpo-framboos); }
.wpo-juridisch__kop h1 { font-size: 38px; line-height: 1.15; margin: 0 0 10px; color: var(--wpo-aubergine) !important; }
.wpo-juridisch__intro { margin: 0 0 28px; font-size: 16.5px; color: var(--wpo-tekst); max-width: 620px; }
.wpo-juridisch__tabs { display: flex; gap: 6px; flex-wrap: wrap; position: relative; z-index: 1; }
.wpo-juridisch__tabs a { padding: 12px 20px; border-radius: 12px 12px 0 0; font-weight: 700; font-size: 14.5px; text-decoration: none; color: var(--wpo-aubergine) !important; background: rgba(255, 255, 255, .45); transition: background .15s; }
.wpo-juridisch__tabs a:hover { background: rgba(255, 255, 255, .8); }
.wpo-juridisch__tabs a[aria-current="page"] { background: #fff; color: var(--wpo-framboos) !important; }

.wpo-juridisch__feiten { list-style: none; margin: 28px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
.wpo-juridisch__feiten li { display: grid; grid-template-columns: 44px 1fr; column-gap: 14px; align-items: center; background: var(--wpo-lichtlila); border-radius: 14px; padding: 18px 20px; }
.wpo-juridisch__feiten .wpo-icon { grid-row: span 2; width: 44px; height: 44px; padding: 10px; box-sizing: border-box; border-radius: 50%; background: #fff; color: var(--wpo-framboos); }
.wpo-juridisch__feiten strong { font-size: 15.5px; color: var(--wpo-aubergine); line-height: 1.3; }
.wpo-juridisch__feiten span { font-size: 13.5px; color: var(--wpo-tekst-zacht); }

.wpo-juridisch__raster { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 56px; margin-top: 40px; align-items: start; }
.wpo-juridisch__zij { position: sticky; top: 140px; }
.wpo-juridisch__raster--smal { grid-template-columns: minmax(0, 1fr); }
.wpo-juridisch__raster--smal .wpo-juridisch__tekst { margin: 0 auto; width: 100%; }
.admin-bar .wpo-juridisch__zij { top: 172px; }
.wpo-juridisch__toc { border: 1px solid var(--wpo-lijn); border-radius: 14px; padding: 18px 8px 12px; max-height: calc(100vh - 170px); overflow: auto; }
.wpo-juridisch__toc summary { list-style: none; font-weight: 800; font-size: 15px; padding: 0 12px 10px; color: var(--wpo-tekst); cursor: default; }
.wpo-juridisch__toc summary::-webkit-details-marker { display: none; }
.wpo-juridisch__toc ol { list-style: none; margin: 0; padding: 0; }
.wpo-juridisch__toc a { display: block; padding: 6px 12px; border-radius: 8px; font-size: 14px; line-height: 1.4; color: var(--wpo-tekst-zacht) !important; text-decoration: none; }
.wpo-juridisch__toc a:hover, .wpo-juridisch__toc a.is-actief { background: var(--wpo-lichtlila); color: var(--wpo-aubergine) !important; }
.wpo-juridisch__toc a.is-actief { font-weight: 700; box-shadow: inset 3px 0 0 var(--wpo-framboos); }
.wpo-juridisch__hulp { background: var(--wpo-aubergine); color: #fff; border-radius: 14px; padding: 24px 28px; margin-top: 48px; display: grid; grid-template-columns: auto 1fr auto; column-gap: 18px; align-items: center; line-height: 1.5; }
.wpo-juridisch__hulp > * { grid-column: 2; }
.wpo-juridisch__hulp > .wpo-icon { grid-column: 1; grid-row: 1 / span 3; }
.wpo-juridisch__hulp > .wpo-knop { grid-column: 3; grid-row: 1 / span 3; }
.wpo-juridisch__hulp > .wpo-icon { width: 48px; height: 48px; padding: 12px; box-sizing: border-box; border-radius: 50%; background: var(--wpo-geel); color: var(--wpo-aubergine); }
.wpo-juridisch__tekst .wpo-juridisch__hulp h2.wpo-juridisch__hulpkop { font-size: 18px; margin: 0; padding: 0; border: 0; color: #fff !important; }
.wpo-juridisch__tekst .wpo-juridisch__hulp p { margin: 0; font-size: 14.5px; opacity: .85; }
.wpo-juridisch__tekst .wpo-juridisch__mail { color: var(--wpo-geel) !important; font-weight: 700; font-size: 15px; text-decoration: none; }
.wpo-juridisch__tekst .wpo-juridisch__hulp .wpo-knop--lijn { text-decoration: none; background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .7); font-size: 14px; padding: 9px 20px; }
.wpo-juridisch__hulp .wpo-knop--lijn:hover { background: rgba(255, 255, 255, .12) !important; }

.wpo-juridisch__tekst { max-width: 760px; font-size: 16px; line-height: 1.75; color: var(--wpo-tekst); }
.wpo-juridisch__tekst > :first-child { margin-top: 0; }
.wpo-juridisch__tekst p { margin: 0 0 14px; }
.wpo-juridisch__tekst h2 { font-size: 23px; line-height: 1.3; margin: 44px 0 14px; padding-top: 28px; border-top: 1px solid var(--wpo-lijn); color: var(--wpo-aubergine) !important; }
.wpo-juridisch__tekst > h2:first-child { padding-top: 0; border-top: 0; }
.wpo-juridisch__tekst h3 { font-size: 17.5px; margin: 26px 0 8px; color: var(--wpo-tekst) !important; }
.wpo-juridisch__tekst h3.wpo-juridisch__groep { font-size: 12.5px; letter-spacing: .07em; text-transform: uppercase !important; color: var(--wpo-framboos) !important; margin: 30px 0 4px; }
.wpo-juridisch__tekst h4 { font-size: 16.5px; margin: 0 0 6px; color: var(--wpo-tekst) !important; }
.wpo-juridisch__tekst h3.wpo-juridisch__groep + h4 { margin-top: 0; }
.wpo-juridisch__tekst a { color: var(--wpo-framboos) !important; text-decoration: underline; text-underline-offset: 2px; }
.wpo-juridisch__tekst strong { color: var(--wpo-tekst); }
.wpo-juridisch__tekst ol { counter-reset: lid; list-style: none; margin: 0 0 18px !important; padding: 0 !important; }
.wpo-juridisch__tekst ol > li { counter-increment: lid; position: relative; padding-left: 44px; margin: 0 0 12px; }
.wpo-juridisch__tekst ol > li::before { content: counter(lid); position: absolute; left: 0; top: 2px; width: 28px; height: 28px; border-radius: 50%; background: var(--wpo-lichtlila); color: var(--wpo-aubergine); font-weight: 800; font-size: 13px; line-height: 28px; text-align: center; }
.wpo-juridisch__tekst ul { list-style: none; margin: 8px 0 16px !important; padding: 0 !important; }
.wpo-juridisch__tekst ul > li { position: relative; padding-left: 22px; margin: 0 0 6px; }
.wpo-juridisch__tekst ul > li::before { content: ""; position: absolute; left: 4px; top: .7em; width: 7px; height: 7px; border-radius: 50%; background: var(--wpo-framboos); }
.wpo-juridisch__voet { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--wpo-lijn); font-size: 13.5px; color: var(--wpo-tekst-zacht); }

@media (max-width: 1099px) {
	.wpo-juridisch__raster { grid-template-columns: 240px minmax(0, 1fr); gap: 36px; }
}
@media (max-width: 860px) {
	html { scroll-padding-top: 120px; }
	.wpo-juridisch { padding-top: 14px; padding-bottom: 48px; }
	.wpo-juridisch__kop { padding: 26px 20px 0; border-radius: 14px; }
	.wpo-juridisch__kop::after { width: 140px; height: 140px; right: -30px; top: -30px; }
	.wpo-juridisch__kop h1 { font-size: 27px; }
	.wpo-juridisch__intro { font-size: 15px; margin-bottom: 20px; }
	.wpo-juridisch__tabs { flex-wrap: nowrap; overflow-x: auto; margin: 0 -20px; padding: 0 20px; scrollbar-width: none; }
	.wpo-juridisch__tabs a { white-space: nowrap; padding: 10px 14px; font-size: 13.5px; }
	.wpo-juridisch__feiten { grid-template-columns: 1fr; gap: 10px; margin-top: 18px; }
	.wpo-juridisch__raster { grid-template-columns: 1fr; gap: 24px; margin-top: 22px; }
	.wpo-juridisch__zij { position: static; }
	.wpo-juridisch__toc { max-height: none; padding: 0; }
	.wpo-juridisch__toc summary { padding: 14px 16px; cursor: pointer; display: flex; justify-content: space-between; align-items: center; }
	.wpo-juridisch__toc summary::after { content: "+"; font-size: 20px; font-weight: 700; color: var(--wpo-framboos); }
	.wpo-juridisch__toc[open] summary::after { content: "–"; }
	.wpo-juridisch__toc ol { padding: 0 8px 10px; }
	.wpo-juridisch__tekst { font-size: 15.5px; }
	.wpo-juridisch__hulp { grid-template-columns: auto 1fr; padding: 20px; row-gap: 2px; }
	.wpo-juridisch__hulp > .wpo-knop { grid-column: 1 / -1; grid-row: auto; margin-top: 14px; justify-self: start; }
	.wpo-juridisch__hulp > .wpo-icon { width: 40px; height: 40px; padding: 10px; }
	.wpo-juridisch__tekst h2 { font-size: 20px; margin-top: 34px; padding-top: 22px; }
	.wpo-juridisch__tekst ol > li { padding-left: 38px; }
}

/* Bedankpagina 2.2.15: bevestigingskaart, vervolgstappen en knoppen */
body.wpo .woocommerce-order > p.woocommerce-thankyou-order-received { display: none; }
.wpo-bedankt { border: 1px solid var(--wpo-lijn); border-radius: 18px; padding: 32px; margin: 8px 0 28px; background: #fff; box-shadow: 0 10px 30px rgba(49, 30, 72, .06); }
.wpo-bedankt__kop { display: flex; gap: 20px; align-items: center; }
.wpo-bedankt__vink { flex: none; width: 56px; height: 56px; border-radius: 50%; background: var(--wpo-groen); color: var(--wpo-groen-vink); display: grid; place-items: center; }
.wpo-bedankt__vink .wpo-icon { width: 28px; height: 28px; stroke-width: 3; }
.wpo-bedankt__kop h2 { font-size: 28px; margin: 0 0 4px; color: var(--wpo-aubergine) !important; }
.wpo-bedankt__kop p { margin: 0; font-size: 16px; color: var(--wpo-tekst); max-width: 640px; }
.wpo-bedankt__stappen { list-style: none; margin: 28px 0 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.wpo-bedankt__stappen li { display: grid; grid-template-columns: 40px 1fr; column-gap: 12px; align-items: center; background: var(--wpo-lichtlila); border-radius: 12px; padding: 14px 16px; margin: 0 !important; }
.wpo-bedankt__stappen .wpo-icon { grid-row: span 2; width: 40px; height: 40px; padding: 9px; box-sizing: border-box; border-radius: 50%; background: #fff; color: var(--wpo-framboos); }
.wpo-bedankt__stappen strong { font-size: 14.5px; color: var(--wpo-aubergine); line-height: 1.3; }
.wpo-bedankt__stappen span { font-size: 13px; color: var(--wpo-tekst-zacht); line-height: 1.4; }
.wpo-bedankt__knoppen { display: flex; gap: 12px; flex-wrap: wrap; margin-top: 24px; }
.wpo-bedankt__knoppen .wpo-knop--lijn { padding: 14px 26px; }
body.wpo.woocommerce-order-received ul.woocommerce-order-overview { margin-bottom: 28px !important; }
@media (max-width: 860px) {
	.wpo-bedankt { padding: 22px 18px; }
	.wpo-bedankt__kop { gap: 14px; }
	.wpo-bedankt__vink { width: 44px; height: 44px; }
	.wpo-bedankt__kop h2 { font-size: 22px; }
	.wpo-bedankt__kop p { font-size: 15px; }
	.wpo-bedankt__stappen { grid-template-columns: 1fr; gap: 8px; margin-top: 20px !important; }
	.wpo-bedankt__knoppen .wpo-knop { flex: 1 1 auto; }
}
