/* Place Add – kop, megamenu, mobiel menu, voettekst en homepage */
:root {
	--pa-bg: #F4EFE6;
	--pa-line: #E2DACB;
	--pa-sand: #E9E1D2;
	--pa-green: #32786E;
	--pa-green-dark: #00473C;
	--pa-green-soft: #eef4f3;
	--pa-black: #1d1d1b;
	--pa-text: #333333;
	--pa-muted: #4a4a4a;
	--pa-gold: #d9a441;
	--pa-head: 'Poppins', sans-serif;
	--pa-body: 'Open Sans', sans-serif;
	--pa-wrap: 1320px;
	--pa-gutter: 24px;
	--pa-header-h: 76px;
}

.pa-wrap { max-width: var(--pa-wrap); margin: 0 auto; padding-left: var(--pa-gutter); padding-right: var(--pa-gutter); box-sizing: border-box; }
.pa-icon { flex: 0 0 auto; display: block; }
.pa-site .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(1px, 1px, 1px, 1px); white-space: nowrap; }

/* ---------- Bovenbalk ---------- */
.pa-topbar { background: #111111; color: #ffffff; font-family: var(--pa-body); font-size: 13px; }
.pa-topbar-inner { min-height: 40px; display: flex; align-items: center; justify-content: space-between; gap: 24px; }
.pa-topbar a { color: #ffffff; text-decoration: none; }
.pa-topbar a:hover, .pa-topbar a:focus-visible { color: #cfe5e0; }
.pa-topbar-contact, .pa-topbar-right { display: flex; align-items: center; gap: 28px; }
.pa-topbar-contact a { display: inline-flex; align-items: center; gap: 8px; min-height: 40px; }
.pa-lang { list-style: none; margin: 0; padding: 0; display: flex; gap: 4px; }
.pa-lang a { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; min-height: 32px; border-radius: 16px; color: #b9b9b9 !important; font-weight: 600; }
.pa-lang a.is-current { color: #ffffff !important; }

/* ---------- Kop ---------- */
.pa-header { position: sticky; top: 0; z-index: 1000; background: var(--pa-bg); border-bottom: 1px solid var(--pa-line); font-family: var(--pa-body); }
.admin-bar .pa-header { top: 32px; }
.pa-header-inner { height: var(--pa-header-h); display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.pa-logo { display: flex; align-items: center; flex: 0 0 auto; }
.pa-logo img { height: 40px; width: auto; display: block; }

.pa-nav-list { list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 2px; }
.pa-nav-item { display: flex; align-items: center; }
.pa-nav-link { display: inline-flex; align-items: center; height: 44px; padding: 0 6px 0 16px; border-radius: 22px 0 0 22px; font-family: var(--pa-head); font-weight: 500; font-size: 15px; color: var(--pa-black); text-decoration: none; white-space: nowrap; }
.pa-nav-item:not(.has-mega) .pa-nav-link { padding-right: 16px; border-radius: 22px; }
.pa-nav-toggle { height: 44px; width: 28px; padding: 0 8px 0 2px; border: 0; border-radius: 0 22px 22px 0; background: transparent; color: var(--pa-black); cursor: pointer; display: inline-flex; align-items: center; }
.pa-nav-toggle .pa-icon { transition: transform .2s ease; }
.pa-nav-item.is-open .pa-nav-link, .pa-nav-item.is-open .pa-nav-toggle,
.pa-nav-link:hover, .pa-nav-item:hover .pa-nav-toggle { background: var(--pa-green-soft); color: var(--pa-green); }
.pa-nav-item.is-open .pa-nav-toggle .pa-icon { transform: rotate(180deg); }
.pa-nav-item.is-current > .pa-nav-link { color: var(--pa-green); }

.pa-actions { display: flex; align-items: center; gap: 4px; }
.pa-icon-btn { position: relative; width: 44px; height: 44px; border: 0; border-radius: 22px; background: transparent; color: var(--pa-black); display: inline-flex; align-items: center; justify-content: center; cursor: pointer; text-decoration: none; padding: 0; }
.pa-icon-btn:hover, .pa-icon-btn[aria-expanded="true"] { background: var(--pa-sand); color: var(--pa-black); }
.pa-cart-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; box-sizing: border-box; border-radius: 9px; background: var(--pa-green); color: #ffffff; font-size: 11px; font-weight: 700; line-height: 18px; text-align: center; }
.pa-cart-count.is-empty { display: none; }
.pa-burger { display: none; }

/* Knop Menukaart samenstellen */
.pa-cta { position: relative; margin-left: 8px; }
.pa-cta-btn { height: 44px; padding: 0 18px 0 20px; border: 0; border-radius: 22px; background: var(--pa-black); color: #ffffff; display: inline-flex; align-items: center; gap: 10px; font-family: var(--pa-head); font-weight: 500; font-size: 14px; cursor: pointer; white-space: nowrap; }
.pa-cta-btn .pa-icon-pen { color: var(--pa-gold); }
.pa-cta-btn:hover { background: #000000; color: #ffffff; }
.pa-cta-btn .pa-icon-down { transition: transform .2s ease; }
.pa-cta-btn[aria-expanded="true"] .pa-icon-down { transform: rotate(180deg); }
.pa-cta-menu { position: absolute; right: 0; top: 56px; width: 380px; background: var(--pa-bg); border-radius: 20px; box-shadow: 0 24px 48px rgba(0, 0, 0, .18); padding: 12px; display: flex; flex-direction: column; gap: 8px; z-index: 20; }
.pa-cta-menu[hidden] { display: none; }
.pa-cta-option { display: flex; gap: 14px; padding: 14px; border-radius: 14px; background: var(--pa-sand); align-items: flex-start; text-decoration: none; color: var(--pa-black); }
.pa-cta-option:hover, .pa-cta-option:focus-visible { background: #e1d6c3; color: var(--pa-black); }
.pa-cta-option.is-green { background: var(--pa-green-soft); }
.pa-cta-option.is-green:hover { background: #dfecea; }
.pa-cta-option-icon { flex: 0 0 40px; height: 40px; border-radius: 20px; background: var(--pa-black); color: var(--pa-gold); display: flex; align-items: center; justify-content: center; }
.pa-cta-option.is-green .pa-cta-option-icon { background: var(--pa-green); color: #ffffff; }
.pa-cta-option-text { display: flex; flex-direction: column; gap: 4px; }
.pa-cta-option-title { font-family: var(--pa-head); font-weight: 600; font-size: 15px; }
.pa-cta-option-desc { font-size: 13px; color: var(--pa-muted); line-height: 1.45; }

/* Zoeken */
.pa-search { border-top: 1px solid var(--pa-line); background: var(--pa-bg); }
.pa-search[hidden] { display: none; }
.pa-search-form { display: flex; align-items: center; gap: 12px; padding-top: 14px; padding-bottom: 14px; }
.pa-search-form input[type="search"] { flex: 1 1 auto; height: 48px; border: 1px solid var(--pa-line); border-radius: 24px; padding: 0 20px; background: #ffffff; font: 16px var(--pa-body); color: var(--pa-black); }
.pa-search-submit { height: 48px; padding: 0 22px; border: 0; border-radius: 24px; background: var(--pa-green); color: #ffffff; font-family: var(--pa-head); font-weight: 500; cursor: pointer; }

/* ---------- Megamenu ---------- */
.pa-mega { position: absolute; left: 0; right: 0; top: 100%; background: var(--pa-bg); box-shadow: 0 24px 40px rgba(0, 0, 0, .12); border-radius: 0 0 24px 24px; border-top: 1px solid var(--pa-line); }
.pa-mega[hidden] { display: none; }
.pa-mega-inner { display: flex; gap: 48px; padding-top: 32px; padding-bottom: 40px; }
.pa-mega-main { flex: 1 1 auto; min-width: 0; }
.pa-mega-head { display: flex; align-items: baseline; justify-content: space-between; margin-bottom: 20px; }
.pa-mega-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: 22px; color: var(--pa-black); }
.pa-mega-all { font-size: 14px; font-weight: 600; color: var(--pa-green); text-decoration: none; }
.pa-mega-all:hover { text-decoration: underline; }
.pa-tiles { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pa-tiles-2 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.pa-tiles-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; }
.pa-tiles-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 14px; }
.pa-tiles-6 .pa-tile-name { font-size: 14px; }
.pa-tiles-6 .pa-tile-desc { font-size: 12px; }
.pa-tile a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--pa-black); text-align: center; }
.pa-tile-media { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: var(--pa-sand); margin-bottom: 6px; }
.pa-tile-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-tile-img { transition: transform .35s ease; }
.pa-tile-img2 { opacity: 0; transition: opacity .35s ease; }
.pa-tile a:hover .pa-tile-img, .pa-tile a:focus-visible .pa-tile-img { transform: scale(1.04); }
.pa-tile a:hover .pa-tile-img2, .pa-tile a:focus-visible .pa-tile-img2 { opacity: 1; }
.pa-tile-name { font-family: var(--pa-head); font-weight: 600; font-size: 16px; }
.pa-tile a:hover .pa-tile-name { color: var(--pa-green); }
.pa-tile-desc { font-size: 13px; color: var(--pa-muted); }
.pa-mega-side { flex: 0 0 280px; border-left: 1px solid var(--pa-line); padding-left: 40px; display: flex; flex-direction: column; justify-content: space-between; gap: 24px; }
.pa-mega-links { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 2px; }
.pa-mega-links a { display: block; padding: 5px 0; font-size: 15px; font-weight: 600; color: var(--pa-black); text-decoration: none; }
.pa-mega-links a:hover, .pa-mega-links a[aria-current] { color: var(--pa-green); }
.pa-mega-ctas { display: flex; flex-direction: column; gap: 10px; }
.pa-mega-cta { display: flex; flex-direction: column; gap: 4px; padding: 16px 20px; border-radius: 16px; background: var(--pa-green); color: #ffffff; text-decoration: none; }
.pa-mega-cta:hover { background: var(--pa-green-dark); color: #ffffff; }
.pa-mega-cta.is-dark { background: var(--pa-black); }
.pa-mega-cta.is-dark:hover { background: #000000; }
.pa-mega-cta-title { font-family: var(--pa-head); font-weight: 600; font-size: 15px; }
.pa-mega-cta-desc { font-size: 13px; color: #e4f1ee; }
.pa-mega-cta.is-dark .pa-mega-cta-desc { color: #d8d8d8; }

.pa-scrim { position: fixed; inset: 0; z-index: 900; background: rgba(20, 24, 23, .45); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.pa-scrim[hidden] { display: none; }

/* ---------- Mobiel menu ---------- */
.pa-drawer { position: fixed; inset: 0; z-index: 2000; background: var(--pa-bg); display: flex; flex-direction: column; font-family: var(--pa-body); }
.pa-drawer[hidden] { display: none; }
.pa-drawer-head { flex: 0 0 64px; display: flex; align-items: center; justify-content: space-between; padding: 0 12px 0 20px; border-bottom: 1px solid var(--pa-line); }
.pa-drawer-head .pa-logo img { height: 30px; }
.pa-drawer-body { flex: 1 1 auto; overflow-y: auto; -webkit-overflow-scrolling: touch; padding: 8px 20px 16px; overscroll-behavior: contain; }
.pa-acc { border-bottom: 1px solid var(--pa-line); }
.pa-acc-btn { width: 100%; min-height: 56px; border: 0; background: transparent; display: flex; align-items: center; justify-content: space-between; padding: 0; font-family: var(--pa-head); font-weight: 600; font-size: 18px; color: var(--pa-black); text-align: left; cursor: pointer; text-decoration: none; }
.pa-acc-btn[aria-expanded="true"] { color: var(--pa-green); }
.pa-acc-btn .pa-icon { transition: transform .2s ease; }
.pa-acc-btn[aria-expanded="true"] .pa-icon { transform: rotate(180deg); }
.pa-acc-panel { padding: 8px 0 16px; }
.pa-acc-panel[hidden] { display: none; }
.pa-acc-tiles { list-style: none; margin: 0 0 14px; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.pa-acc-tiles a { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--pa-black); font-family: var(--pa-head); font-weight: 600; font-size: 12px; text-align: center; line-height: 1.3; }
.pa-acc-tiles .pa-tile-media { border-radius: 10px; margin: 0; }
.pa-acc-tiles:has(> li:nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 8px; }
.pa-acc-tiles:has(> li:nth-child(5):last-child) a { font-size: 10px; letter-spacing: -0.01em; }
.pa-acc-tiles:has(> li:nth-child(6):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.pa-acc-chips { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pa-acc-chips a { display: inline-flex; align-items: center; min-height: 40px; padding: 0 14px; border-radius: 20px; background: var(--pa-sand); font-size: 14px; font-weight: 600; color: var(--pa-black); text-decoration: none; }
.pa-acc-chips li:first-child a { background: var(--pa-green-soft); color: var(--pa-green); }
.pa-drawer-foot { flex: 0 0 auto; padding: 14px 20px calc(16px + env(safe-area-inset-bottom)); display: flex; flex-direction: column; gap: 10px; border-top: 1px solid var(--pa-line); }
.pa-drawer-cta { height: 46px; border-radius: 23px; background: var(--pa-black); color: #ffffff; display: flex; align-items: center; justify-content: center; gap: 10px; font-family: var(--pa-head); font-weight: 500; font-size: 15px; text-decoration: none; }
.pa-drawer-cta .pa-icon { color: var(--pa-gold); }
.pa-drawer-cta.is-green { background: var(--pa-green); }
.pa-drawer-cta.is-green .pa-icon { color: #ffffff; }
.pa-drawer-cta:hover { color: #ffffff; opacity: .92; }
.pa-drawer-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; }
.pa-drawer-meta a { color: var(--pa-muted); text-decoration: none; }
.pa-drawer-meta .pa-lang a { color: var(--pa-muted) !important; }
.pa-drawer-meta .pa-lang a.is-current { color: var(--pa-black) !important; }
html.pa-lock, html.pa-lock body { overflow: hidden; }

/* ---------- Voettekst ---------- */
.pa-footer { background: #111111; color: #cfcfcf; font-family: var(--pa-body); font-size: 15px; }
.pa-footer a { color: #cfcfcf; text-decoration: none; }
.pa-footer a:hover, .pa-footer a:focus-visible { color: #ffffff; text-decoration: underline; }
.pa-footer-grid { display: grid; grid-template-columns: 1.4fr repeat(3, 1fr); gap: 40px; padding-top: 56px; padding-bottom: 48px; }
.pa-footer-logo img { height: 36px; width: auto; display: block; margin-bottom: 20px; }
.pa-footer address { font-style: normal; line-height: 1.6; margin: 0 0 16px; }
.pa-footer address strong { color: #ffffff; font-weight: 600; }
.pa-footer-contact { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pa-footer-contact a, .pa-footer-contact span { display: inline-flex; align-items: center; gap: 10px; min-height: 28px; }
.pa-footer-title { margin: 0 0 14px; font-family: var(--pa-head); font-weight: 600; font-size: 16px; }
.pa-footer-title a { color: #ffffff; }
.pa-footer-col ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; }
.pa-footer-col li a { display: inline-block; padding: 4px 0; }
.pa-footer-bottom { border-top: 1px solid #2a2a2a; font-size: 13px; color: #9a9a9a; }
.pa-footer-bottom-inner { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 12px 24px; padding-top: 20px; padding-bottom: 20px; }
.pa-footer-legal { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px 24px; }
.pa-footer-legal a { color: #9a9a9a; }


/* Knoppen van Kadence niet laten doorwerken in kop en menu */
.pa-header button, .pa-drawer button { box-shadow: none !important; text-transform: none; letter-spacing: normal; line-height: 1.2; }
.pa-header button:focus, .pa-drawer button:focus { outline: none; }
.pa-site .pa-header :focus-visible, .pa-site .pa-drawer :focus-visible, .pa-site .pa-footer :focus-visible, .pa-site .pa-topbar :focus-visible { outline: 2px solid var(--pa-green); outline-offset: 2px; }
.pa-acc-btn:hover, .pa-acc-btn:focus, .pa-acc-btn:active { background: transparent !important; color: var(--pa-green); }
.pa-nav-toggle:hover, .pa-nav-toggle:focus { background: var(--pa-green-soft); color: var(--pa-green); }
.pa-icon-btn:focus { background: var(--pa-sand); color: var(--pa-black); }
.pa-cta-btn:focus { background: var(--pa-black); color: #ffffff; }

/* ---------- Responsief ---------- */
@media (max-width: 1280px) {
	.pa-nav-link { font-size: 14px; padding-left: 12px; }
	.pa-cta { margin-left: 4px; }
	.pa-cta-btn { padding: 0 14px 0 16px; }
	.pa-mega-side { flex-basis: 240px; padding-left: 28px; }
	.pa-mega-inner { gap: 32px; }
}
@media (max-width: 1180px) {
	.pa-nav, .pa-cta, .pa-account { display: none; }
	.pa-burger { display: inline-flex; }
	.pa-mega, .pa-scrim { display: none !important; }
	.pa-footer-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 782px) {
	.admin-bar .pa-header { top: 0; }
}
@media (max-width: 767px) {
	:root { --pa-header-h: 64px; --pa-gutter: 20px; }
	.pa-topbar { display: none; }
	.pa-logo img { height: 32px; }
	.pa-header-inner { gap: 4px; padding-right: 12px; }
	.pa-footer-grid { grid-template-columns: 1fr 1fr; gap: 32px 20px; padding-top: 40px; }
	.pa-footer-company { grid-column: 1 / -1; }
	.pa-footer { font-size: 14px; }
	.pa-footer-col li a { padding: 8px 0; }
}
@media (prefers-reduced-motion: reduce) {
	.pa-site *, .pa-site *::before, .pa-site *::after { transition: none !important; }
}

/* =========================================================
   Homepage (blokken met klassen pa-…)
   ========================================================= */
.pa-site .entry-content > .pa-hero, .pa-site .entry-content > .pa-section, .pa-site .entry-content > .pa-trust { margin-top: 0; margin-bottom: 0; }
.pa-container { max-width: var(--pa-wrap); margin-left: auto !important; margin-right: auto !important; padding-left: var(--pa-gutter); padding-right: var(--pa-gutter); box-sizing: border-box; }
.pa-container > * { margin-top: 0; }
/* Kadence (klassiek thema) zet een extra laag om groepen: die laag laten meedoen in het raster. */
.pa-site .wp-block-group[class*="pa-"] > .wp-block-group__inner-container { display: contents; }
.pa-site .wp-block-group[class*="pa-"] > .wp-block-group__inner-container > * { margin-top: 0; margin-bottom: 0; }

/* Knoppen */
.pa-site .wp-block-button.pa-btn .wp-block-button__link { display: inline-flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 26px; border-radius: 27px; font-family: var(--pa-head); font-weight: 500; font-size: 16px; line-height: 1.2; color: #ffffff; text-decoration: none; box-shadow: none; border: 0; }
.pa-site .wp-block-button.pa-btn-dark .wp-block-button__link { background: var(--pa-black); }
.pa-site .wp-block-button.pa-btn-dark .wp-block-button__link:hover { background: #000000; color: #ffffff; }
.pa-site .wp-block-button.pa-btn-green .wp-block-button__link { background: var(--pa-green); }
.pa-site .wp-block-button.pa-btn-green .wp-block-button__link:hover { background: var(--pa-green-dark); color: #ffffff; }
.pa-site .wp-block-button.pa-btn-small .wp-block-button__link { min-height: 44px; padding: 0 18px; border-radius: 22px; font-size: 14px; }
.pa-btn-pen .wp-block-button__link::before, .pa-btn-cart .wp-block-button__link::before { content: ""; width: 16px; height: 16px; flex: 0 0 16px; background: no-repeat center / contain; }
.pa-btn-pen .wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d9a441' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.1 2.1 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E"); }
.pa-btn-cart .wp-block-button__link::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='20' r='1.4'/%3E%3Ccircle cx='18' cy='20' r='1.4'/%3E%3Cpath d='M2 3h3l2.6 12.2a2 2 0 0 0 2 1.6h8.2a2 2 0 0 0 2-1.5L22 7H6'/%3E%3C/svg%3E"); }

/* Opening */
.pa-hero { background: var(--pa-bg); }
.pa-hero-grid { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr); gap: 56px; align-items: center; padding-top: 48px; padding-bottom: 48px; }
.pa-hero-text { display: flex; flex-direction: column; gap: 22px; }
.pa-hero-text > * { margin: 0 !important; }
.pa-eyebrow { font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-green); }
.pa-site h1.pa-hero-title { font-family: var(--pa-head); font-weight: 600; font-size: clamp(34px, 4.2vw, 56px); line-height: 1.08; color: var(--pa-black); letter-spacing: -0.01em; }
.pa-lead { font-size: 19px; line-height: 1.6; color: var(--pa-text); max-width: 34em; }
.pa-hero-buttons { gap: 12px; }
.pa-rating { font-size: 15px; color: var(--pa-text); }
.pa-stars { color: var(--pa-gold); font-size: 18px; letter-spacing: 2px; margin-right: 4px; }
.pa-hero-media { position: relative; }
.pa-hero-media > * { margin: 0 !important; }
.pa-hero-img img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 28px; display: block; }
.pa-hero-label { position: absolute; left: 20px; bottom: 20px; padding: 14px 18px; border-radius: 16px; background: rgba(255, 255, 255, .95); font-size: 13px; line-height: 1.5; color: var(--pa-muted); }
.pa-hero-label strong { font-family: var(--pa-head); font-weight: 600; font-size: 15px; color: var(--pa-black); }

/* Vertrouwen */
.pa-trust { background: var(--pa-sand); }
.pa-trust-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 14px 40px; padding-top: 22px; padding-bottom: 22px; }
.pa-trust-row > * { margin: 0 !important; }
.pa-trust-item { display: flex; align-items: center; gap: 10px; font-size: 15px; font-weight: 600; color: var(--pa-black); }
.pa-trust-item.pa-dot::before { content: ""; width: 8px; height: 8px; border-radius: 4px; background: var(--pa-green); flex: 0 0 8px; }
.pa-star { color: var(--pa-gold); }

/* Secties */
.pa-section { padding-top: 64px; padding-bottom: 72px; }
.pa-site h2.pa-section-title { margin: 0 0 28px; font-family: var(--pa-head); font-weight: 600; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.2; color: var(--pa-black); }
.pa-site h2.pa-section-title-small { font-size: clamp(22px, 2.2vw, 28px); }
.pa-section-head { display: flex; flex-wrap: wrap; gap: 12px; align-items: baseline; justify-content: space-between; margin-bottom: 28px; }
.pa-section-head > * { margin: 0 !important; }
.pa-section-link a { font-size: 15px; font-weight: 600; color: var(--pa-green); text-decoration: none; }
.pa-section-link a:hover { text-decoration: underline; }

/* Routes */
.pa-routes-section { background: var(--pa-bg); }
.pa-routes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pa-route { display: flex; flex-direction: column; gap: 10px; }
.pa-route > * { margin: 0 !important; }
.pa-route-media { position: relative; aspect-ratio: 1 / 1; border-radius: 20px; overflow: hidden; background: var(--pa-sand); margin-bottom: 4px !important; }
.pa-route-media > * { margin: 0 !important; }
.pa-route-media figure, .pa-route-media a { display: block; width: 100%; height: 100%; }
.pa-route-media img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-route-img img { transition: transform .5s ease; }
.pa-route-img2 { position: absolute !important; inset: 0; opacity: 0; transition: opacity .35s ease; pointer-events: none; }
.pa-route:hover .pa-route-img2 { opacity: 1; }
.pa-route:hover .pa-route-img img { transform: scale(1.03); }
.pa-site h3.pa-route-title { font-family: var(--pa-head); font-weight: 600; font-size: 21px; line-height: 1.3; }
.pa-route-title a { color: var(--pa-black); text-decoration: none; }
.pa-route-title a:hover { color: var(--pa-green); }
.pa-route-text { font-size: 15px; line-height: 1.55; color: var(--pa-muted); flex: 1 1 auto; }
.pa-route-buttons { margin-top: 4px !important; }

/* Klanten */
.pa-cases-section { background: var(--pa-sand); }
.pa-cases { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pa-case { display: flex; flex-direction: column; gap: 10px; }
.pa-case > * { margin: 0 !important; }
.pa-case-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 18px; display: block; }
.pa-case-title a { font-family: var(--pa-head); font-weight: 600; font-size: 17px; color: var(--pa-black); text-decoration: none; }
.pa-case-title a:hover { color: var(--pa-green); }

/* Waarom */
.pa-why { background: var(--pa-green-dark); }
.pa-site .pa-why h2.pa-section-title { color: #ffffff; }
.pa-why-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pa-why-card { padding: 28px; border-radius: 18px; border: 1px solid rgba(255, 255, 255, .16); background: rgba(255, 255, 255, .06); display: flex; flex-direction: column; gap: 8px; }
.pa-why-card > * { margin: 0 !important; }
.pa-site h3.pa-why-title { font-family: var(--pa-head); font-weight: 600; font-size: 19px; line-height: 1.3; color: #ffffff; }
.pa-why-text { font-size: 15px; line-height: 1.6; color: #D3E6E1; }

/* Kennisbank */
.pa-kb-section { background: var(--pa-bg); padding-top: 64px; }
.pa-kb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.pa-kb > * { margin: 0 !important; }
.pa-kb-link a { display: block; height: 100%; box-sizing: border-box; padding: 22px 24px; border-radius: 16px; background: var(--pa-sand); font-family: var(--pa-head); font-weight: 600; font-size: 16px; line-height: 1.4; color: var(--pa-black); text-decoration: none; }
.pa-kb-link a:hover { background: #e1d6c3; color: var(--pa-green); }

@media (max-width: 1024px) {
	.pa-routes { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pa-hero-grid { gap: 32px; }
}
@media (max-width: 767px) {
	.pa-hero-grid { grid-template-columns: 1fr; padding-top: 24px; padding-bottom: 32px; gap: 24px; }
	.pa-hero-media { order: -1; }
	.pa-hero-img img { border-radius: 20px; }
	.pa-hero-label { left: 12px; bottom: 12px; padding: 10px 14px; }
	.pa-lead { font-size: 17px; }
	.pa-hero-buttons .wp-block-button { flex: 1 1 100%; }
	.pa-hero-buttons .wp-block-button__link { width: 100%; justify-content: center; }
	.pa-trust-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; padding-top: 18px; padding-bottom: 18px; }
	.pa-trust-item { font-size: 13px; align-items: flex-start; }
	.pa-trust-item.pa-dot::before { margin-top: 6px; }
	.pa-section { padding-top: 44px; padding-bottom: 48px; }
	.pa-routes { gap: 28px 14px; }
	.pa-site h3.pa-route-title { font-size: 17px; }
	.pa-route-text { font-size: 14px; }
	.pa-site .pa-route-buttons .wp-block-button.pa-btn-small .wp-block-button__link { background: none; min-height: 0; padding: 4px 0; border-radius: 0; font-size: 14px; font-weight: 600; color: var(--pa-green); text-align: left; }
	.pa-cases { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 78%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; margin-right: calc(var(--pa-gutter) * -1); padding-right: var(--pa-gutter); }
	.pa-case { scroll-snap-align: start; }
	.pa-why-grid, .pa-kb { grid-template-columns: 1fr; }
}

/* Afstanden die de algemene reset hierboven weer nodig heeft */
.pa-site .pa-container .wp-block-heading.pa-section-title { margin-bottom: 28px; }
.pa-site .pa-container .wp-block-group.pa-section-head { margin-bottom: 28px; }
.pa-site .pa-section-head .wp-block-heading.pa-section-title { margin-bottom: 0; }
.pa-site .pa-route .wp-block-group.pa-route-media { margin-bottom: 6px; }

/* ---------- Megamenu: lijst per tegel ---------- */
.pa-mega-side { display: block; }
.pa-mega-set { display: flex; flex-direction: column; justify-content: flex-start; gap: 24px; height: 100%; }
.pa-mega-set > .pa-mega-ctas { margin-top: auto; }
.pa-mega-set[hidden] { display: none; }
.pa-mega-set-title { margin: 0 0 8px; font-size: 12px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-muted); }
.pa-tile .pa-tile-media { transition: box-shadow .2s ease; }
.pa-tile.is-active .pa-tile-media { box-shadow: 0 0 0 3px var(--pa-green); }
.pa-tile.is-active .pa-tile-name { color: var(--pa-green); }

/* Mobiel: tegel opent zijn lijst */
.pa-acc-tile { width: 100%; padding: 0; border: 0; background: transparent !important; display: flex; flex-direction: column; gap: 8px; font-family: var(--pa-head); font-weight: 600; font-size: 12px; line-height: 1.3; color: var(--pa-black) !important; text-align: center; cursor: pointer; }
.pa-acc-tile .pa-tile-media { border-radius: 10px; margin: 0; }
.pa-acc-tile[aria-expanded="true"] .pa-tile-media { box-shadow: 0 0 0 3px var(--pa-green); }
.pa-acc-tile[aria-expanded="true"] { color: var(--pa-green) !important; }
.pa-acc-sub { margin-bottom: 14px !important; }
.pa-acc-sub[hidden] { display: none; }
.pa-acc-sub li:first-child a { background: var(--pa-green); color: #ffffff; }

/* =========================================================
   Landingspagina's (Menukaarten op maat e.d.)
   ========================================================= */
.pa-todo { background: #fff1b8; color: inherit; padding: 0 3px; border-radius: 3px; }
.pa-crumbs { padding-top: 18px !important; font-size: 13px; color: #5c5c5c; }
.pa-crumbs a { color: #5c5c5c; text-decoration: none; }
.pa-crumbs a:hover { color: var(--pa-green); text-decoration: underline; }
.pa-crumbs .breadcrumb_last { color: var(--pa-black); font-weight: 600; }
.pa-crumbs p, .pa-crumbs span { margin: 0; }
.pa-hero-page .pa-hero-grid { padding-top: 24px; padding-bottom: 56px; gap: 48px; }
.pa-site h1.pa-page-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: clamp(34px, 3.8vw, 52px); line-height: 1.1; color: var(--pa-green); }
.pa-square img { aspect-ratio: 1 / 1 !important; border-radius: 24px; }
.pa-sep { color: #b9b0a0; margin: 0 6px; }
.pa-site .wp-block-button.pa-btn-outline .wp-block-button__link { background: transparent; color: var(--pa-green); box-shadow: inset 0 0 0 2px var(--pa-green); }
.pa-site .wp-block-button.pa-btn-outline .wp-block-button__link:hover { background: var(--pa-green); color: #ffffff; }
.pa-site .wp-block-button.pa-btn-light .wp-block-button__link { background: var(--pa-bg); color: var(--pa-green); }
.pa-site .wp-block-button.pa-btn-light .wp-block-button__link:hover { background: #ffffff; color: var(--pa-green-dark); }

/* Kerngegevens */
.pa-facts-section { background: var(--pa-sand); }
.pa-facts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; padding-top: 28px; padding-bottom: 28px; }
.pa-fact { display: flex; flex-direction: column; gap: 4px; }
.pa-fact-label { font-size: 13px; color: #5c5c5c; }
.pa-fact-value { font-family: var(--pa-head); font-weight: 600; font-size: 20px; color: var(--pa-black); }
.pa-sand { background: var(--pa-sand); }
.pa-section-tight { padding-top: 24px; }

/* Materialen met fotogalerij */
.pa-mats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.pa-mat { display: flex; flex-direction: column; gap: 14px; }
.pa-gal-wrap { position: relative; }
.pa-gal { display: flex !important; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; aspect-ratio: 1 / 1; border-radius: 18px; background: var(--pa-sand); scrollbar-width: none; overscroll-behavior-x: contain; }
.pa-gal::-webkit-scrollbar { display: none; }
.pa-gal figure, .pa-gal .wp-block-image { flex: 0 0 100%; margin: 0 !important; scroll-snap-align: start; }
.pa-gal img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-gal-count { position: absolute; top: 14px; right: 14px; padding: 4px 10px; border-radius: 12px; background: rgba(255, 255, 255, .92); font-size: 12px; font-weight: 600; color: var(--pa-black); pointer-events: none; }
.pa-gal-dots { position: absolute; left: 0; right: 0; bottom: 8px; display: flex; justify-content: center; gap: 2px; }
.pa-gal-dots button { width: 28px; height: 28px; padding: 0; border: 0; background: transparent !important; box-shadow: none !important; cursor: pointer; display: flex; align-items: center; justify-content: center; }
.pa-gal-dots button::after { content: ""; width: 10px; height: 10px; border-radius: 5px; background: rgba(255, 255, 255, .55); box-shadow: 0 0 0 1px rgba(0, 0, 0, .15); }
.pa-gal-dots button[aria-current="true"]::after { background: #ffffff; }
.pa-mat-link a { display: flex; justify-content: space-between; align-items: center; text-decoration: none; }
.pa-mat-name { font-family: var(--pa-head); font-weight: 600; font-size: 20px; color: var(--pa-black); }
.pa-mat-more { font-size: 14px; font-weight: 600; color: var(--pa-green); }
.pa-mat-link a:hover .pa-mat-name { color: var(--pa-green); }

/* Stappen */
.pa-site ol.pa-steps { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; counter-reset: pa-step; }
.pa-steps li { counter-increment: pa-step; background: var(--pa-sand); border-radius: 18px; padding: 24px; display: flex; flex-direction: column; gap: 10px; margin: 0; font-size: 15px; line-height: 1.55; color: var(--pa-text); }
.pa-steps li::before { content: counter(pa-step); width: 40px; height: 40px; border-radius: 20px; background: var(--pa-green); color: #ffffff; display: flex; align-items: center; justify-content: center; font-family: var(--pa-head); font-weight: 600; }
.pa-steps li strong { display: block; font-family: var(--pa-head); font-weight: 600; font-size: 18px; color: var(--pa-black); }

/* Afwerking */
.pa-opts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.pa-opt { background: var(--pa-bg); border-radius: 18px; overflow: hidden; display: flex; flex-direction: column; }
.pa-opt-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; display: block; }
.pa-site h3.pa-opt-title { margin: 0; padding: 20px 22px 0; font-family: var(--pa-head); font-weight: 600; font-size: 19px; }
.pa-opt-title a { color: var(--pa-black); text-decoration: none; }
.pa-opt-title a:hover { color: var(--pa-green); }
.pa-opt-text { padding: 6px 22px 24px; font-size: 15px; color: var(--pa-text); }

/* Veelgestelde vragen */
.pa-narrow { max-width: 920px; }
.pa-faq-item { border-bottom: 1px solid var(--pa-line); }
.pa-faq-item summary { min-height: 60px; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 12px 0; font-family: var(--pa-head); font-weight: 600; font-size: 17px; color: var(--pa-black); cursor: pointer; list-style: none; }
.pa-faq-item summary::-webkit-details-marker { display: none; }
.pa-faq-item summary::after { content: "+"; font-size: 22px; color: var(--pa-green); flex: 0 0 auto; }
.pa-faq-item[open] summary::after { content: "−"; }
.pa-faq-item p { margin: 0 0 18px; font-size: 15px; line-height: 1.6; color: var(--pa-text); }
.pa-faq-item a { color: var(--pa-green); }

/* Afsluitende band */
.pa-cta-band { background: var(--pa-green); }
.pa-cta-row { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; padding-top: 56px; padding-bottom: 56px; }
.pa-cta-copy { display: flex; flex-direction: column; gap: 8px; }
.pa-site h2.pa-cta-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: clamp(24px, 2.4vw, 32px); color: #ffffff; }
.pa-cta-text { font-size: 16px; color: #e4f1ee; }
.pa-cta-text a { color: #ffffff; font-weight: 600; }
.pa-cta-buttons { gap: 12px; }

@media (max-width: 1024px) {
	.pa-mats, .pa-opts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pa-site ol.pa-steps { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.pa-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.pa-hero-page .pa-hero-grid { padding-top: 12px; padding-bottom: 28px; gap: 20px; }
	.pa-hero-page .pa-hero-media { order: 0; }
	.pa-mats, .pa-opts, .pa-site ol.pa-steps { grid-template-columns: 1fr; }
	.pa-mats { gap: 28px; }
	.pa-gal-dots { display: none; }
	.pa-facts { gap: 14px; padding-top: 20px; padding-bottom: 20px; }
	.pa-fact-value { font-size: 17px; }
	.pa-cta-buttons .wp-block-button { flex: 1 1 100%; }
	.pa-cta-buttons .wp-block-button__link { width: 100%; justify-content: center; }
}

/* Correcties */
.pa-mega-set-title { margin-bottom: -12px; }
.pa-site .pa-crumbs.alignfull { max-width: var(--pa-wrap); margin-left: auto !important; margin-right: auto !important; width: auto; }
.pa-steps li { display: block; }
.pa-steps li::before { margin-bottom: 12px; }
.pa-steps li strong { margin-bottom: 6px; }
.pa-site .pa-crumbs.alignfull { padding-left: var(--pa-gutter) !important; padding-right: var(--pa-gutter) !important; }
.pa-facts { grid-template-columns: 1fr 1fr 1.7fr 1.2fr; }
@media (max-width: 1024px) { .pa-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* ---------- Social media in de voettekst ---------- */
.pa-footer-social { list-style: none; margin: 18px 0 0; padding: 0; display: flex; gap: 10px; }
.pa-footer-social a { width: 44px; height: 44px; border-radius: 22px; background: #222222; display: flex; align-items: center; justify-content: center; color: #ffffff; }
.pa-footer-social a:hover { background: var(--pa-green); text-decoration: none; }

/* ---------- Logostrook klanten ---------- */
.pa-logos-section { background: var(--pa-bg); padding-top: 36px; padding-bottom: 36px; border-bottom: 1px solid var(--pa-line); overflow: hidden; }
.pa-logos-title { margin: 0 0 20px !important; text-align: center; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--pa-muted); }
.pa-site .wp-block-gallery.pa-logos { display: flex !important; flex-wrap: nowrap !important; align-items: center; gap: 56px !important; width: max-content; margin: 0 !important; animation: pa-marquee 60s linear infinite; }
.pa-site .wp-block-gallery.pa-logos:hover { animation-play-state: paused; }
.pa-site .wp-block-gallery.pa-logos figure.wp-block-image { flex: 0 0 auto !important; width: auto !important; margin: 0 !important; }
.pa-site .wp-block-gallery.pa-logos img { height: 60px !important; width: auto !important; max-width: 180px; object-fit: contain !important; filter: grayscale(1); opacity: .8; transition: filter .25s ease, opacity .25s ease; }
.pa-site .wp-block-gallery.pa-logos img:hover { filter: none; opacity: 1; }
@keyframes pa-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) {
	.pa-site .wp-block-gallery.pa-logos { animation: none; flex-wrap: wrap !important; width: auto; justify-content: center; gap: 28px !important; }
}
@media (max-width: 767px) {
	.pa-site .wp-block-gallery.pa-logos { gap: 36px !important; animation-duration: 45s; }
	.pa-site .wp-block-gallery.pa-logos img { height: 40px !important; max-width: 130px; }
}

/* ---------- Klantvideo's ---------- */
.pa-videos-section { background: var(--pa-sand); }
.pa-videos-intro { margin: -16px 0 28px !important; font-size: 16px; color: var(--pa-text); max-width: 40em; }
.pa-videos { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pa-video { display: flex; flex-direction: column; gap: 10px; }
.pa-video-media { position: relative; aspect-ratio: 16 / 9; border-radius: 16px; overflow: hidden; background: #000; margin: 0 !important; }
.pa-video-media a, .pa-video-media img { display: block; width: 100%; height: 100%; object-fit: cover; }
.pa-video-media a::after { content: ""; position: absolute; left: 50%; top: 50%; width: 60px; height: 60px; margin: -30px 0 0 -30px; border-radius: 30px; background: rgba(255, 255, 255, .92) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M9 7v10l8-5z' fill='%2332786E'/%3E%3C/svg%3E") no-repeat 55% 50% / 30px; box-shadow: 0 6px 18px rgba(0, 0, 0, .25); transition: transform .2s ease; }
.pa-video-media a:hover::after { transform: scale(1.08); }
.pa-video-media iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }
.pa-video-name { font-family: var(--pa-head); font-weight: 600; font-size: 17px; color: var(--pa-black); }
.pa-video-name span { display: block; font-family: var(--pa-body); font-weight: 400; font-size: 14px; color: var(--pa-muted); }
@media (max-width: 1024px) { .pa-videos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) {
	.pa-videos { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 82%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; margin-right: calc(var(--pa-gutter) * -1); padding-right: var(--pa-gutter); gap: 14px; }
	.pa-video { scroll-snap-align: start; }
}

/* ---------- Contact altijd binnen bereik ---------- */
.pa-scroll-only { display: none; }
.pa-scrolled .pa-scroll-only { display: inline-flex; }
.pa-mobilebar { display: none; }
@media (max-width: 767px) {
	.pa-scroll-only, .pa-scrolled .pa-scroll-only { display: none; }
	.pa-mobilebar { display: block; position: fixed; left: 0; right: 0; bottom: 0; z-index: 1500; background: var(--pa-bg); border-top: 1px solid var(--pa-line); box-shadow: 0 -8px 24px rgba(0, 0, 0, .08); padding: 8px 12px calc(8px + env(safe-area-inset-bottom)); }
	.pa-mobilebar-row { display: flex; gap: 8px; align-items: center; }
	.pa-mobilebar-btn { flex: 0 0 auto; min-width: 64px; height: 48px; padding: 0 8px; border-radius: 14px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 2px; font-size: 11px; font-weight: 600; color: var(--pa-black); text-decoration: none; }
	.pa-mobilebar-btn:hover, .pa-mobilebar-btn:focus { background: var(--pa-sand); color: var(--pa-black); }
	.pa-mobilebar-btn .pa-icon-whatsapp { color: #1f9d55; }
	.pa-mobilebar-cta { flex: 1 1 auto; height: 48px; border: 0; border-radius: 24px; background: var(--pa-black) !important; color: #ffffff !important; display: flex; align-items: center; justify-content: center; gap: 8px; font-family: var(--pa-head); font-weight: 500; font-size: 14px; box-shadow: none !important; cursor: pointer; }
	.pa-mobilebar-cta .pa-icon { color: var(--pa-gold); }
	.pa-mobilebar-sheet { display: flex; flex-direction: column; gap: 8px; padding: 4px 0 10px; }
	.pa-mobilebar-sheet[hidden] { display: none; }
	.pa-mobilebar-sheet .pa-cta-option { padding: 12px; }
	body.pa-site { padding-bottom: calc(66px + env(safe-area-inset-bottom)); }
	html.pa-lock .pa-mobilebar { display: none; }
}
@media (max-width: 767px) { .pa-mobilebar-cta { white-space: nowrap; padding: 0 12px; font-size: 14px; } .pa-mobilebar-cta span { overflow: hidden; text-overflow: ellipsis; } }
@media (max-width: 767px) { .pa-mobilebar-cta { min-width: 0; font-size: 13px; gap: 6px; } .pa-mobilebar-btn { min-width: 56px; padding: 0 4px; } }
@media (max-width: 767px) { .pa-mobilebar, .pa-mobilebar * { box-sizing: border-box; } .pa-mobilebar-cta span { min-width: 0; } .pa-mobilebar-row { width: 100%; } }

/* Iconen in donkergroen */
.pa-icon-btn, .pa-icon-btn:focus { color: var(--pa-green-dark); }
.pa-icon-btn:hover, .pa-icon-btn[aria-expanded="true"] { color: var(--pa-green-dark); background: var(--pa-green-soft); }
.pa-mobilebar-btn .pa-icon, .pa-mobilebar-btn .pa-icon-whatsapp { color: var(--pa-green-dark); }
.pa-mobilebar-btn:hover, .pa-mobilebar-btn:focus { background: var(--pa-green-soft); }

/* =========================================================
   Productraster (webshop)
   ========================================================= */
.pa-shop-cats { list-style: none; margin: 0 0 32px; padding: 0; display: grid; grid-template-columns: repeat(9, minmax(0, 1fr)); gap: 14px; }
.pa-shop-cat { width: 100%; border: 0; padding: 0; background: transparent !important; box-shadow: none !important; display: flex; flex-direction: column; gap: 10px; align-items: center; cursor: pointer; color: var(--pa-black) !important; font-family: var(--pa-body); }
.pa-shop-cat-img { display: block; width: 100%; aspect-ratio: 1 / 1; border-radius: 14px; overflow: hidden; background: var(--pa-sand); box-shadow: 0 0 0 1px var(--pa-line); }
.pa-shop-cat-img img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s ease; }
.pa-shop-cat:hover .pa-shop-cat-img img { transform: scale(1.04); }
.pa-shop-cat-label { font-size: 13px; font-weight: 600; line-height: 1.3; text-align: center; }
.pa-shop-cat[aria-pressed="true"] .pa-shop-cat-img { box-shadow: 0 0 0 3px var(--pa-green); }
.pa-shop-cat[aria-pressed="true"] .pa-shop-cat-label { color: var(--pa-green); }
.pa-shop-bar { position: sticky; top: calc(var(--pa-header-h) + 1px); z-index: 50; background: var(--pa-bg); box-shadow: 0 0 0 100vmax var(--pa-bg); clip-path: inset(0 -100vmax); }
.pa-shop-bar::before, .pa-shop-bar::after { content: ""; position: absolute; left: -100vmax; right: -100vmax; height: 1px; background: var(--pa-line); }
.pa-shop-bar::before { top: 0; } .pa-shop-bar::after { bottom: 0; }
.admin-bar .pa-shop-bar { top: calc(var(--pa-header-h) + 33px); }
.pa-shop-bar-inner { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between; padding: 12px 0; }
.pa-shop-bar-left { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pa-shop-title { font-family: var(--pa-head); font-weight: 600; font-size: 16px; }
.pa-shop-count { font-size: 14px; color: #5c5c5c; }
.pa-shop button.pa-shop-italia, .pa-shop-sort button { height: 36px; padding: 0 14px; border-radius: 18px; border: 1px solid var(--pa-line); background: transparent !important; box-shadow: none !important; display: inline-flex; align-items: center; gap: 8px; font-family: var(--pa-body); font-size: 14px; font-weight: 600; color: var(--pa-black) !important; cursor: pointer; }
.pa-shop button.pa-shop-italia[aria-pressed="true"] { border-color: var(--pa-green); background: var(--pa-sand) !important; }
.pa-check { width: 18px; height: 18px; border-radius: 5px; border: 1.5px solid #9a9384; display: inline-flex; align-items: center; justify-content: center; }
.pa-shop-italia[aria-pressed="true"] .pa-check { background: var(--pa-green); border-color: var(--pa-green); }
.pa-shop-italia[aria-pressed="true"] .pa-check::after { content: "✓"; color: #ffffff; font-size: 12px; }
.pa-shop-sort { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; font-size: 14px; }
.pa-shop-sort > span { color: #5c5c5c; margin-right: 6px; }
.pa-shop-sort button { border-color: transparent; }
.pa-shop-sort button[aria-pressed="true"] { background: var(--pa-black) !important; color: #ffffff !important; }
.pa-cards { list-style: none; margin: 32px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 40px 24px; }
.pa-card[hidden] { display: none; }
.pa-card a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--pa-black); height: 100%; }
.pa-card-media { position: relative; display: block; aspect-ratio: 1 / 1; border-radius: 16px; overflow: hidden; background: var(--pa-sand); margin-bottom: 6px; }
.pa-card-media img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-card-img2 { opacity: 0; transition: opacity .35s ease; }
.pa-card a:hover .pa-card-img2 { opacity: 1; }
.pa-card-badge { position: absolute; left: 12px; top: 12px; padding: 5px 10px; border-radius: 12px; background: rgba(244, 239, 230, .94); font-size: 12px; font-weight: 600; }
.pa-card-name { font-family: var(--pa-head); font-weight: 600; font-size: 17px; }
.pa-card a:hover .pa-card-name { color: var(--pa-green); }
.pa-card-meta { font-size: 14px; color: #5c5c5c; }
.pa-card-foot { margin-top: auto; padding-top: 4px; display: flex; align-items: baseline; justify-content: space-between; gap: 8px; font-size: 15px; }
.pa-card-price small { font-size: 12px; color: #5c5c5c; }
.pa-card-price.is-open { font-size: 13px; color: #5c5c5c; }
.pa-card-action { font-size: 14px; font-weight: 600; color: var(--pa-green); white-space: nowrap; }
.pa-shop-more { display: flex; flex-direction: column; align-items: center; gap: 10px; padding-top: 40px; }
.pa-shop-more[hidden] { display: none; }
.pa-shop-more-text { font-size: 14px; color: #5c5c5c; }
.pa-shop button.pa-shop-more-btn { height: 48px; padding: 0 28px; border-radius: 24px; border: 2px solid var(--pa-black); background: transparent !important; box-shadow: none !important; font-family: var(--pa-head); font-weight: 500; font-size: 15px; color: var(--pa-black) !important; cursor: pointer; }
.pa-shop button.pa-shop-more-btn:hover { background: var(--pa-black) !important; color: #ffffff !important; }

/* Kop van de webshoppagina */
.pa-shop-hero { display: flex; flex-wrap: wrap; gap: 24px 64px; align-items: flex-end; justify-content: space-between; padding-top: 20px; padding-bottom: 32px; }
.pa-shop-hero-text { flex: 1 1 560px; display: flex; flex-direction: column; gap: 14px; }
.pa-shop-hero .pa-lead { font-size: 17px; max-width: 680px; }
.pa-site ul.pa-checks { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--pa-text); }
.pa-checks li { display: flex; align-items: center; gap: 8px; margin: 0; }
.pa-checks li::before { content: ""; width: 16px; height: 16px; flex: 0 0 16px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2332786E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 5 5L20 7'/%3E%3C/svg%3E") no-repeat center / contain; }
.pa-checks li.pa-check-star::before { content: "★★★★★"; width: auto; flex: 0 0 auto; background: none; color: var(--pa-gold); letter-spacing: 1px; font-size: 14px; }

/* Promo "Liever helemaal op maat?" */
.pa-promo { background: var(--pa-green-dark); border-radius: 24px; overflow: hidden; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); }
.pa-promo-text { padding: 48px 56px; display: flex; flex-direction: column; justify-content: center; gap: 16px; }
.pa-site h2.pa-promo-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: clamp(24px, 2.4vw, 32px); line-height: 1.2; color: #ffffff; }
.pa-promo-lead { font-size: 16px; line-height: 1.6; color: #D3E6E1; }
.pa-promo-img img { width: 100%; height: 100%; min-height: 300px; object-fit: cover; display: block; }
.pa-site .wp-block-button.pa-btn-ghost .wp-block-button__link { background: transparent; color: #ffffff; box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .6); }
.pa-site .wp-block-button.pa-btn-ghost .wp-block-button__link:hover { background: rgba(255, 255, 255, .1); color: #ffffff; }
.pa-site .pa-promo .wp-block-button.pa-btn-light .wp-block-button__link { color: var(--pa-green-dark); }

/* Vergelijking */
.pa-compare { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 40px; }
.pa-compare-item { border-top: 1px solid var(--pa-line); padding-top: 16px; }
.pa-site h3.pa-compare-title { margin: 0 0 6px; font-family: var(--pa-head); font-weight: 600; font-size: 17px; }
.pa-compare-text { font-size: 15px; line-height: 1.6; color: var(--pa-text); }
.pa-intro { margin: -16px 0 28px !important; max-width: 760px; font-size: 16px; line-height: 1.6; color: var(--pa-text); }

@media (max-width: 1100px) {
	.pa-shop-cats { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 92px; overflow-x: auto; padding-bottom: 6px; margin-right: calc(var(--pa-gutter) * -1); padding-right: var(--pa-gutter); scrollbar-width: none; }
	.pa-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.pa-shop-cats { grid-auto-columns: 78px; gap: 10px; }
	.pa-shop-cat-label { font-size: 12px; }
	.pa-shop-sort > span { display: none; }
	.pa-shop-bar-inner { padding: 10px 0; gap: 8px; }
	.pa-shop-sort { overflow-x: auto; flex-wrap: nowrap; width: 100%; }
	.pa-shop-sort button { flex: 0 0 auto; height: 32px; padding: 0 12px; font-size: 13px; }
	.pa-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 28px 14px; margin-top: 20px; }
	.pa-card-name { font-size: 15px; }
	.pa-card-meta { font-size: 12px; }
	.pa-card-foot { flex-direction: column; gap: 2px; font-size: 14px; }
	.pa-card-badge { left: 8px; top: 8px; font-size: 10px; padding: 3px 7px; }
	.pa-promo { grid-template-columns: 1fr; }
	.pa-promo-text { padding: 32px 24px; }
	.pa-promo-img img { min-height: 220px; }
	.pa-compare { grid-template-columns: 1fr; gap: 20px; }
}
.pa-site ul.pa-cards, .pa-site ul.pa-shop-cats, .pa-site ul.pa-tiles, .pa-site ul.pa-acc-tiles, .pa-site ul.pa-acc-chips { padding-left: 0; margin-left: 0; } .pa-site ul.pa-shop-cats { margin-bottom: 32px; } @media (max-width: 1100px) { .pa-site ul.pa-shop-cats { padding-right: var(--pa-gutter); } }

/* =========================================================
   Etalage Menukaart-opties
   ========================================================= */
.pa-collage { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.pa-collage-img { margin: 0 !important; }
.pa-collage-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 18px; display: block; }
.pa-jump-bar { position: sticky; top: calc(var(--pa-header-h) + 1px); z-index: 50; background: var(--pa-bg); border-top: 1px solid var(--pa-line); border-bottom: 1px solid var(--pa-line); }
.admin-bar .pa-jump-bar { top: calc(var(--pa-header-h) + 33px); }
.pa-jump { display: flex; gap: 8px; overflow-x: auto; padding: 12px 0 !important; margin: 0 !important; scrollbar-width: none; }
.pa-jump a { flex: 0 0 auto; display: inline-flex; align-items: center; height: 38px; padding: 0 16px; border-radius: 19px; background: var(--pa-sand); font-size: 14px; font-weight: 600; color: var(--pa-black); text-decoration: none; }
.pa-jump a:hover, .pa-jump a.is-active { background: var(--pa-green); color: #ffffff; }
.pa-anchor { scroll-margin-top: calc(var(--pa-header-h) + 70px); }
.pa-show { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 32px 24px; }
.pa-show-card { display: flex; flex-direction: column; gap: 6px; }
.pa-show-img { margin: 0 0 8px !important; }
.pa-show-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; display: block; transition: transform .35s ease; }
.pa-show-img a { display: block; border-radius: 16px; overflow: hidden; }
.pa-show-card:hover .pa-show-img img { transform: scale(1.04); }
.pa-site h3.pa-show-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: 17px; line-height: 1.3; color: var(--pa-black); }
.pa-show-text { font-size: 14px; line-height: 1.55; color: var(--pa-muted); }
.pa-show-luik .pa-show { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 24px 16px; }
@media (max-width: 1024px) {
	.pa-show, .pa-show-luik .pa-show { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.pa-collage { gap: 8px; }
	.pa-collage-img img { border-radius: 12px; }
	.pa-show, .pa-show-luik .pa-show { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px 14px; }
	.pa-site h3.pa-show-title { font-size: 15px; }
	.pa-show-text { font-size: 13px; }
	.pa-jump-bar { top: calc(var(--pa-header-h) + 1px); }
}
@media (min-width: 1025px) { .pa-show-opdruk .pa-show, .pa-show-inhoud .pa-show { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 32px 20px; } }

/* =========================================================
   Productpagina (Tesla-stijl)
   ========================================================= */
.pa-pdp-page .site-main, .pa-pdp-page #primary { margin: 0; padding: 0; }
.pa-pdp { display: flex; height: calc(100vh - var(--pa-header-h) - 1px); height: calc(100dvh - var(--pa-header-h) - 1px); min-height: 560px; background: var(--pa-sand); }
.admin-bar .pa-pdp { height: calc(100dvh - var(--pa-header-h) - 33px); }
.pa-pdp-visual { flex: 1 1 auto; min-width: 0; position: relative; overflow: hidden; }
.pa-pdp-crumbs { position: absolute; left: 32px; top: 20px; z-index: 2; font-size: 13px; color: #5c5c5c; }
.pa-pdp-crumbs a { color: #5c5c5c; text-decoration: none; }
.pa-pdp-crumbs a:hover { color: var(--pa-green); text-decoration: underline; }
.pa-pdp-crumbs span { color: var(--pa-black); font-weight: 600; }
.pa-pdp-stage { position: absolute; inset: 60px 48px 110px; display: flex; align-items: center; justify-content: center; }
.pa-pdp-slide { margin: 0; height: 100%; display: flex; align-items: center; justify-content: center; }
.pa-pdp-slide[hidden] { display: none; }
.pa-pdp-slide img { height: 100%; width: auto; max-width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 20px; box-shadow: 0 24px 48px rgba(0, 0, 0, .12); display: block; }
.pa-pdp-thumbs { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; gap: 8px; padding: 6px; border-radius: 16px; background: rgba(244, 239, 230, .96); max-width: calc(100% - 48px); overflow-x: auto; scrollbar-width: none; }
.pa-pdp-thumb { flex: 0 0 auto; width: 56px; height: 56px; padding: 0; border: 0; border-radius: 10px; overflow: hidden; background: transparent !important; box-shadow: none !important; cursor: pointer; opacity: .7; }
.pa-pdp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-pdp-thumb[aria-pressed="true"] { opacity: 1; outline: 2px solid var(--pa-green); outline-offset: 1px; }
.pa-pdp-caption { position: absolute; right: 32px; top: 16px; padding: 8px 14px; border-radius: 14px; background: rgba(244, 239, 230, .96); font-size: 13px; font-weight: 600; }
.pa-pdp-caption[hidden] { display: none; }

.pa-pdp-panel { flex: 0 0 460px; display: flex; flex-direction: column; background: #ffffff; border-left: 1px solid var(--pa-line); }
.pa-pdp-scroll { flex: 1 1 auto; min-height: 0; overflow-y: auto; padding: 28px 32px; display: flex; flex-direction: column; gap: 20px; scrollbar-width: thin; }
.pa-pdp-head { display: flex; flex-direction: column; gap: 6px; }
.pa-pdp-badge { align-self: flex-start; padding: 4px 10px; border-radius: 12px; background: var(--pa-sand); font-size: 12px; font-weight: 600; }
.pa-site h1.pa-pdp-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: 32px; line-height: 1.15; color: var(--pa-black); }
.pa-pdp-sub { margin: 0; font-size: 13px; color: #5c5c5c; }
.pa-pdp-field { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.pa-pdp-label { padding: 0; font-family: var(--pa-head); font-weight: 600; font-size: 15px; color: var(--pa-black); }
.pa-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-pdp button.pa-chip { height: 40px; padding: 0 16px; border-radius: 20px; border: 1px solid var(--pa-line); background: #ffffff !important; box-shadow: none !important; font-family: var(--pa-body); font-size: 14px; font-weight: 600; color: var(--pa-black) !important; cursor: pointer; }
.pa-pdp button.pa-chip[aria-pressed="true"] { border: 2px solid var(--pa-green); background: var(--pa-green-soft) !important; }
.pa-pdp-varfields { display: flex; flex-direction: column; gap: 20px; }
/* De eigen formulieren van WooCommerce blijven bestaan maar onzichtbaar; de knoppen hierboven sturen ze aan. */
.pa-pdp-form { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pa-pdp-qty { display: flex; align-items: center; gap: 12px; }
.pa-qty { display: inline-flex; align-items: center; border: 1px solid var(--pa-line); border-radius: 24px; }
.pa-qty button { width: 46px; height: 46px; border: 0; background: transparent !important; box-shadow: none !important; font-size: 20px; color: var(--pa-black) !important; cursor: pointer; padding: 0; }
.pa-qty-val { min-width: 32px; text-align: center; font-weight: 600; }
.pa-qty-note { font-size: 12px; color: #5c5c5c; }
.pa-pdp-notice { padding: 14px 16px; border-radius: 14px; background: var(--pa-sand); font-size: 14px; line-height: 1.55; }
.pa-pdp-notice p { margin: 0; }
.pa-pdp-desc { font-size: 14px; line-height: 1.6; color: var(--pa-text); }
.pa-pdp-desc p { margin: 0 0 8px; }
.pa-pdp-more { border-top: 1px solid var(--pa-line); padding-top: 12px; }
.pa-pdp-more summary { cursor: pointer; font-family: var(--pa-head); font-weight: 600; font-size: 15px; list-style: none; display: flex; justify-content: space-between; }
.pa-pdp-more summary::-webkit-details-marker { display: none; }
.pa-pdp-more summary::after { content: "+"; color: var(--pa-green); font-size: 20px; }
.pa-pdp-more[open] summary::after { content: "−"; }
.pa-pdp-more-body { padding-top: 10px; font-size: 14px; line-height: 1.6; color: var(--pa-text); }
.pa-pdp-block { border-top: 1px solid var(--pa-line); padding-top: 14px; }
.pa-pdp-block h2 { margin: 0 0 8px; font-family: var(--pa-head); font-weight: 600; font-size: 18px; color: var(--pa-black); }
.pa-pdp-specs { margin: 0; }
.pa-pdp-specs div { display: flex; gap: 12px; padding: 9px 0; border-bottom: 1px solid #efe8db; font-size: 13px; }
.pa-pdp-specs dt { flex: 0 0 110px; color: #5c5c5c; }
.pa-pdp-specs dd { margin: 0; font-weight: 600; }
.pa-pdp .pa-faq-item summary { min-height: 50px; font-size: 14px; }
.pa-pdp .pa-faq-item p { font-size: 13px; margin-bottom: 12px; }
.pa-site ul.pa-pdp-checks { font-size: 13px; padding-left: 0; }
.pa-site ul.pa-pdp-related { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pa-pdp-related a { display: flex; flex-direction: column; gap: 6px; text-decoration: none; color: var(--pa-black); font-family: var(--pa-head); font-weight: 600; font-size: 13px; }
.pa-pdp-related img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 12px; display: block; }
.pa-pdp-related a:hover { color: var(--pa-green); }
.pa-pdp-bar { flex: 0 0 auto; border-top: 1px solid var(--pa-line); padding: 14px 32px 18px; display: flex; gap: 16px; align-items: center; background: #ffffff; }
.pa-pdp-total-wrap { display: flex; flex-direction: column; flex: 1 1 auto; min-width: 0; }
.pa-pdp-total { font-family: var(--pa-head); font-size: 22px; font-weight: 600; color: var(--pa-black); }
.pa-pdp-total-note { font-size: 12px; color: #5c5c5c; }
.pa-pdp .pa-pdp-buy { flex: 0 0 auto; height: 54px; padding: 0 26px; border: 0; border-radius: 27px; background: var(--pa-green) !important; color: #ffffff !important; font-family: var(--pa-head); font-weight: 500; font-size: 16px; cursor: pointer; display: inline-flex; align-items: center; text-decoration: none; box-shadow: none !important; }
.pa-pdp .pa-pdp-buy:hover { background: var(--pa-green-dark) !important; }
.pa-pdp .woocommerce-message, .pa-pdp .woocommerce-error, .pa-pdp .woocommerce-info { margin: 0; padding: 12px 14px; border-radius: 12px; font-size: 14px; }
.pa-pdp-page .pa-mobilebar { display: none !important; }
.pa-pdp-page.pa-site { padding-bottom: 0; }

@media (max-width: 1024px) {
	.pa-pdp-panel { flex-basis: 400px; }
	.pa-pdp-stage { inset: 56px 24px 100px; }
}
@media (max-width: 767px) {
	.pa-pdp { display: block; height: auto; min-height: 0; background: #ffffff; }
	.pa-pdp-visual { position: sticky; top: var(--pa-header-h); height: 42vh; height: 42svh; z-index: 5; background: var(--pa-sand); }
	.pa-pdp-crumbs { display: none; }
	.pa-pdp-stage { inset: 12px 16px 64px; }
	.pa-pdp-slide img { border-radius: 14px; }
	.pa-pdp-thumbs { bottom: 10px; padding: 4px; gap: 6px; }
	.pa-pdp-thumb { width: 40px; height: 40px; border-radius: 8px; }
	.pa-pdp-caption { right: 12px; top: 10px; font-size: 12px; padding: 6px 10px; }
	.pa-pdp-panel { border-left: 0; border-radius: 20px 20px 0 0; margin-top: -16px; position: relative; z-index: 6; box-shadow: 0 -8px 24px rgba(0, 0, 0, .06); }
	.pa-pdp-scroll { overflow: visible; padding: 22px 20px 110px; }
	.pa-site h1.pa-pdp-title { font-size: 26px; }
	.pa-pdp-bar { position: fixed; left: 0; right: 0; bottom: 0; z-index: 1500; padding: 10px 16px calc(10px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 24px rgba(0, 0, 0, .08); }
	.pa-pdp-total { font-size: 19px; }
	.pa-pdp .pa-pdp-buy { height: 48px; padding: 0 20px; font-size: 15px; }
}
.pa-pdp-total.is-text { font-size: 17px; }
@media (max-width: 767px) {
	.pa-pdp-visual { z-index: 20; }
	.pa-pdp-panel { z-index: 1; margin-top: 0; border-radius: 0; box-shadow: none; }
	.pa-pdp-total.is-text { font-size: 15px; }
	.pa-pdp-total-note { font-size: 11px; }
}

/* =========================================================
   Materiaalpagina's
   ========================================================= */
.pa-mat-top { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 48px; align-items: start; padding-top: 24px; padding-bottom: 56px; }
.pa-thumbgal { position: relative; aspect-ratio: 1 / 1; border-radius: 24px; overflow: hidden; background: var(--pa-sand); }
.pa-thumbgal figure { position: absolute !important; inset: 0; margin: 0 !important; opacity: 0; transition: opacity .3s ease; }
.pa-thumbgal figure.is-active { opacity: 1; z-index: 1; }
.pa-thumbgal img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-thumbgal-count { position: absolute; left: 18px; bottom: 18px; z-index: 2; padding: 8px 14px; border-radius: 14px; background: rgba(244, 239, 230, .94); font-size: 13px; font-weight: 600; }
.pa-thumbgal-thumbs { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 10px; margin-top: 14px; }
.pa-thumbgal-thumbs button { aspect-ratio: 1 / 1; padding: 0; border: 0; border-radius: 12px; overflow: hidden; cursor: pointer; background: var(--pa-sand) !important; box-shadow: 0 0 0 1px var(--pa-line) !important; }
.pa-thumbgal-thumbs button[aria-pressed="true"] { box-shadow: 0 0 0 3px var(--pa-green) !important; }
.pa-thumbgal-thumbs img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-mat-info { position: sticky; top: calc(var(--pa-header-h) + 24px); display: flex; flex-direction: column; gap: 22px; }
.pa-site h1.pa-mat-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: clamp(32px, 3.2vw, 42px); line-height: 1.1; color: var(--pa-black); }
.pa-mat-kicker { font-size: 14px; font-weight: 600; color: var(--pa-green); }
.pa-mat-lead { font-size: 16px; line-height: 1.65; color: var(--pa-text); }
.pa-colors-head { margin: 0 0 10px; font-size: 14px; }
.pa-colors-name { color: #5c5c5c; }
.pa-colors-count { float: right; font-size: 13px; color: #5c5c5c; }
.pa-colors-list { display: flex; flex-wrap: wrap; gap: 6px; }
.pa-color { width: 30px; height: 30px; border-radius: 15px; padding: 0; cursor: pointer; background-size: cover !important; background-position: center !important; border: 2px solid var(--pa-bg) !important; box-shadow: 0 0 0 1px #d8cfbe !important; }
.pa-color[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--pa-green) !important; }
.pa-stats { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.pa-stat { padding: 14px 16px; border-radius: 14px; background: var(--pa-sand); display: flex; flex-direction: column; gap: 2px; }
.pa-stat-value { font-family: var(--pa-head); font-weight: 600; font-size: 20px; color: var(--pa-black); }
.pa-stat-label { font-size: 13px; color: var(--pa-muted); }
.pa-buybox { background: #ffffff; border: 1px solid var(--pa-line); border-radius: 20px; padding: 22px; display: flex; flex-direction: column; gap: 12px; }
.pa-buybox-price { font-size: 15px; }
.pa-buybox-price span { color: #5c5c5c; }
.pa-buybox .wp-block-buttons { flex-direction: column; align-items: stretch; gap: 10px; }
.pa-buybox .wp-block-button { width: 100%; }
.pa-buybox .wp-block-button__link { width: 100%; justify-content: center; }
.pa-buybox-note { text-align: center; font-size: 13px; color: #5c5c5c; }
.pa-showroom-note { display: flex; gap: 14px; align-items: center; padding: 16px 18px; border-radius: 16px; border: 1px solid var(--pa-line); font-size: 14px; }
.pa-showroom-note::before { content: ""; flex: 0 0 20px; height: 20px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2332786E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") no-repeat center / contain; }
.pa-showroom-note a { font-weight: 600; color: var(--pa-black); }
.pa-about { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 48px; }
.pa-about p { font-size: 16px; line-height: 1.7; color: var(--pa-text); }
.pa-specs { margin: 0; }
.pa-site dl.pa-specs div, .pa-specs-row { display: flex; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--pa-line); font-size: 15px; }
.pa-specs-row .pa-specs-k { flex: 0 0 170px; color: #5c5c5c; margin: 0; }
.pa-specs-row .pa-specs-v { margin: 0; font-weight: 600; }
.pa-section-line { border-top: 1px solid var(--pa-line); }
.pa-variants { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.pa-variant { display: flex; flex-direction: column; gap: 6px; }
.pa-variant-img { margin: 0 0 6px !important; }
.pa-variant-img img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 16px; display: block; }
.pa-variant-name a { font-family: var(--pa-head); font-weight: 600; font-size: 16px; color: var(--pa-black); text-decoration: none; }
.pa-variant-name a:hover { color: var(--pa-green); }
.pa-variant-meta { font-size: 13px; color: #5c5c5c; }
.pa-family + .pa-family { border-top: 1px solid var(--pa-line); }
@media (max-width: 1024px) {
	.pa-mat-top, .pa-about { grid-template-columns: 1fr; }
	.pa-mat-info { position: static; }
	.pa-variants { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.pa-thumbgal { border-radius: 16px; }
	.pa-thumbgal-thumbs { gap: 6px; }
	.pa-variants { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 14px; }
	.pa-specs-row .pa-specs-k { flex-basis: 120px; }
	.pa-color { width: 34px; height: 34px; border-radius: 17px; }
}
.pa-narrow-left > * { max-width: 760px; }
.pa-narrow-left .pa-showroom-note { margin-top: 24px; max-width: 560px; }
.pa-family-intro { max-width: 680px; margin: -12px 0 28px !important; font-size: 16px; line-height: 1.65; color: var(--pa-text); }
.pa-family { padding-top: 48px; padding-bottom: 48px; }
.pa-mat-hero .pa-thumbgal img { border-radius: 0; }
.pa-about-specs .pa-section-title, .pa-about-text .pa-section-title { margin-top: 0; }
.pa-site .pa-showroom-note { display: block; position: relative; padding: 16px 18px 16px 48px; line-height: 1.5; }
.pa-showroom-note::before { position: absolute; left: 18px; top: 50%; width: 20px; transform: translateY(-50%); }
.pa-about-text p + p { margin-top: 14px; }

/* =========================================================
   Materiaalkiezer: ingezoomd vlak met kleuren
   ========================================================= */
.pa-mx { display: flex; flex-direction: column; gap: 20px; }
.pa-mx-fams { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-site .pa-mx-fam { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px; border-radius: 21px; border: 0; background: #ffffff; box-shadow: inset 0 0 0 1px var(--pa-line); color: var(--pa-black); font-family: var(--pa-head); font-weight: 500; font-size: 14px; cursor: pointer; }
.pa-mx-fam span { font-family: var(--pa-body); font-size: 12px; color: #5c5c5c; }
.pa-site .pa-mx-fam[aria-pressed="true"] { background: var(--pa-black); color: #ffffff; box-shadow: none; }
.pa-mx-fam[aria-pressed="true"] span { color: rgba(255, 255, 255, .7); }
.pa-mx-mats { display: flex; gap: 10px; overflow-x: auto; padding: 4px 2px 10px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.pa-site .pa-mx-mat { flex: 0 0 auto; scroll-snap-align: start; display: grid; grid-template-columns: 44px auto; grid-template-rows: auto auto; column-gap: 10px; align-items: center; text-align: left; padding: 8px 16px 8px 8px; border: 0; border-radius: 16px; background: #ffffff; box-shadow: inset 0 0 0 1px var(--pa-line); cursor: pointer; color: var(--pa-black); }
.pa-site .pa-mx-mat[hidden] { display: none; }
.pa-mx-mat img { grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 10px; object-fit: cover; display: block; }
.pa-mx-mat-name { font-family: var(--pa-head); font-weight: 600; font-size: 14px; line-height: 1.2; }
.pa-mx-mat-name small { font-family: var(--pa-body); font-weight: 400; font-size: 12px; color: #5c5c5c; margin-left: 5px; }
.pa-mx-mat-count { font-size: 12px; color: #5c5c5c; }
.pa-site .pa-mx-mat[aria-pressed="true"] { box-shadow: inset 0 0 0 2px var(--pa-green); }
.pa-mx-main { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.pa-mx-stage { position: relative; aspect-ratio: 1 / 1; border-radius: 24px; overflow: hidden; background-color: var(--pa-sand); background-repeat: no-repeat; background-size: 100%; background-position: 50% 50%; cursor: crosshair; touch-action: pan-y; transition: background-size .25s ease; }
.pa-mx-stage.is-moving { transition: none; }
.pa-mx-label { position: absolute; left: 16px; top: 16px; padding: 8px 14px; border-radius: 14px; background: rgba(244, 239, 230, .94); font-size: 13px; font-weight: 600; color: var(--pa-black); }
.pa-mx-zoom { position: absolute; right: 16px; top: 16px; display: flex; gap: 2px; padding: 3px; border-radius: 14px; background: rgba(244, 239, 230, .94); }
.pa-site .pa-mx-zoom button { border: 0; background: transparent; padding: 5px 10px; border-radius: 11px; font-size: 12px; font-weight: 600; color: var(--pa-black); cursor: pointer; }
.pa-site .pa-mx-zoom button[aria-pressed="true"] { background: var(--pa-black); color: #ffffff; }
.pa-mx-hint { position: absolute; left: 16px; bottom: 16px; padding: 7px 12px; border-radius: 12px; background: rgba(29, 29, 27, .72); color: #ffffff; font-size: 12px; transition: opacity .3s ease; pointer-events: none; }
.pa-mx-stage.is-touched .pa-mx-hint { opacity: 0; }
.pa-mx-info { display: flex; flex-direction: column; gap: 14px; }
.pa-mx-kicker { margin: 0; font-size: 14px; font-weight: 600; color: var(--pa-green); }
.pa-site h3.pa-mx-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: clamp(26px, 2.4vw, 34px); line-height: 1.15; color: var(--pa-black); }
.pa-mx-title span { font-weight: 400; color: #5c5c5c; }
.pa-mx-text { margin: 0; font-size: 16px; line-height: 1.65; color: var(--pa-text); }
.pa-mx-head { margin: 6px 0 0; font-size: 14px; }
.pa-mx-cname { color: #5c5c5c; }
.pa-mx-ccount { float: right; font-size: 13px; color: #5c5c5c; }
.pa-mx-colors { display: grid; grid-template-columns: repeat(auto-fill, minmax(46px, 1fr)); gap: 8px; }
.pa-site .pa-mx-color { aspect-ratio: 1 / 1; width: 100%; padding: 0; border: 2px solid var(--pa-bg); border-radius: 50%; background-size: cover; background-position: center; box-shadow: 0 0 0 1px #d8cfbe; cursor: pointer; }
.pa-site .pa-mx-color[aria-pressed="true"] { box-shadow: 0 0 0 2px var(--pa-green); }
.pa-site .pa-mx-color:focus-visible { outline: 2px solid var(--pa-black); outline-offset: 2px; }
.pa-mx-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 6px; }
.pa-site a.pa-mx-btn { display: inline-flex; align-items: center; justify-content: center; height: 48px; padding: 0 24px; border-radius: 24px; background: var(--pa-black); color: #ffffff; font-family: var(--pa-head); font-weight: 500; font-size: 15px; text-decoration: none; }
.pa-site a.pa-mx-btn:hover { background: #000000; color: #ffffff; }
.pa-site a.pa-mx-btn.is-outline { background: transparent; color: var(--pa-green); box-shadow: inset 0 0 0 2px var(--pa-green); }
.pa-site a.pa-mx-btn.is-outline:hover { background: var(--pa-green); color: #ffffff; }
.pa-site a.pa-mx-btn[hidden] { display: none; }
@media (max-width: 1024px) {
	.pa-mx-main { grid-template-columns: 1fr; gap: 24px; }
}
@media (max-width: 767px) {
	.pa-mx-stage { border-radius: 16px; }
	.pa-mx-colors { grid-template-columns: repeat(auto-fill, minmax(40px, 1fr)); gap: 6px; }
	.pa-mx-mats { margin-right: calc(-1 * var(--pa-gutter)); padding-right: var(--pa-gutter); }
	.pa-mx-actions .pa-mx-btn { flex: 1 1 100%; }
}
.pa-site .pa-mx-info > * { margin-top: 0; margin-bottom: 0; }
.pa-site .pa-mx-info > .pa-mx-head { margin-top: 8px; }
.pa-mx-stage { box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .06); }
.pa-gal.is-linked img { cursor: pointer; transition: transform .4s ease; }
@media (hover: hover) { .pa-mat:hover .pa-gal.is-linked img { transform: scale(1.03); } .pa-mat:hover .pa-mat-more { text-decoration: underline; } }
.pa-mat-colorlink a { font-weight: 600; color: var(--pa-green); text-decoration: none; }
.pa-mat-colorlink a:hover { text-decoration: underline; }
#kleuren { scroll-margin-top: calc(var(--pa-header-h) + 24px); }
.pa-site .pa-about-text p { margin: 0 0 14px; }
.pa-site .pa-about-text p:last-child { margin-bottom: 0; }
.pa-site .pa-about-text p:not(:last-child) { margin-bottom: 14px !important; }

/* Lijst met links naar soorten menukaarten */
.pa-site ul.pa-linklist { list-style: none; padding-left: 0; margin: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 24px; }
.pa-linklist li { margin: 0; }
.pa-linklist a { display: flex; flex-direction: column; gap: 2px; padding: 16px 44px 16px 18px; border-radius: 14px; background: #ffffff; box-shadow: inset 0 0 0 1px var(--pa-line); text-decoration: none; color: var(--pa-black); position: relative; transition: box-shadow .2s ease; }
.pa-linklist a::after { content: "→"; position: absolute; right: 18px; top: 50%; transform: translateY(-50%); color: var(--pa-green); font-weight: 600; }
.pa-linklist a:hover { box-shadow: inset 0 0 0 2px var(--pa-green); }
.pa-linklist strong { font-family: var(--pa-head); font-weight: 600; font-size: 16px; }
.pa-linklist span { font-size: 14px; color: #5c5c5c; }
@media (max-width: 767px) { .pa-site ul.pa-linklist { grid-template-columns: 1fr; } }
.pa-thumbgal figure:only-of-type { opacity: 1; }

/* =========================================================
   Venster: gratis kleurstaal aanvragen
   ========================================================= */
html.pa-staal-open { overflow: hidden; }
.pa-staal[hidden] { display: none !important; }
.pa-staal { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 24px; font-family: var(--pa-body); }
.pa-staal-scrim { position: absolute; inset: 0; background: rgba(29, 29, 27, .55); }
.pa-staal-panel { position: relative; width: min(680px, 100%); max-height: calc(100vh - 48px); max-height: calc(100dvh - 48px); overflow: auto; background: var(--pa-bg); border-radius: 24px; box-shadow: 0 24px 60px rgba(0, 0, 0, .25); }
.pa-staal-body { padding: 32px; display: flex; flex-direction: column; gap: 18px; }
.pa-site .pa-staal-close { position: absolute; right: 16px; top: 16px; width: 40px; height: 40px; border-radius: 20px; border: 0; background: #ffffff; box-shadow: inset 0 0 0 1px var(--pa-line); font-size: 22px; line-height: 1; color: var(--pa-black); cursor: pointer; padding: 0; }
.pa-site .pa-staal-title { margin: 0; padding-right: 48px; font-family: var(--pa-head); font-weight: 600; font-size: 26px; line-height: 1.2; color: var(--pa-black); }
.pa-staal-intro { margin: 0; font-size: 15px; color: var(--pa-text); }
.pa-staal-basket { background: #ffffff; border-radius: 16px; box-shadow: inset 0 0 0 1px var(--pa-line); padding: 16px 18px; }
.pa-staal-label { margin: 0 0 10px; font-weight: 600; font-size: 14px; }
.pa-staal-count { font-weight: 400; color: #5c5c5c; }
.pa-site ul.pa-staal-list { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.pa-staal-list li { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 6px 6px 6px 12px; border-radius: 16px; background: var(--pa-sand); font-size: 13px; font-weight: 600; }
.pa-site .pa-staal-list button { width: 22px; height: 22px; border-radius: 11px; border: 0; background: #ffffff; color: var(--pa-black); cursor: pointer; padding: 0; line-height: 1; font-size: 15px; }
.pa-staal-hint { margin: 10px 0 0; font-size: 12px; color: #5c5c5c; }
.pa-staal-form { display: flex; flex-direction: column; gap: 14px; margin: 0; }
.pa-staal-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 14px; }
.pa-staal-grid label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; font-weight: 600; color: var(--pa-black); }
.pa-staal-grid label span { font-weight: 400; color: #5c5c5c; }
.pa-staal-wide { grid-column: 1 / -1; }
.pa-site .pa-staal-grid input, .pa-site .pa-staal-grid select, .pa-site .pa-staal-grid textarea { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 14px; border-radius: 12px; border: 1px solid var(--pa-line); background: #ffffff; font: inherit; font-weight: 400; font-size: 15px; color: var(--pa-black); }
.pa-site .pa-staal-grid textarea { min-height: 80px; resize: vertical; }
.pa-site .pa-staal-grid input:focus, .pa-site .pa-staal-grid select:focus, .pa-site .pa-staal-grid textarea:focus { outline: 2px solid var(--pa-green); outline-offset: 0; border-color: var(--pa-green); }
.pa-staal-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.pa-staal-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; color: var(--pa-text); }
.pa-staal-check input { margin-top: 3px; width: 18px; height: 18px; accent-color: var(--pa-green); flex: 0 0 18px; }
.pa-staal-check a { color: var(--pa-green); }
.pa-staal-error { margin: 0; padding: 10px 14px; border-radius: 12px; background: #fbe9e7; color: #8a2a1d; font-size: 14px; }
.pa-site .pa-staal-submit { align-self: flex-start; height: 50px; padding: 0 28px; border-radius: 25px; border: 0; background: var(--pa-black); color: #ffffff; font-family: var(--pa-head); font-weight: 500; font-size: 15px; cursor: pointer; }
.pa-site .pa-staal-submit:hover { background: #000000; }
.pa-site .pa-staal-submit:disabled { opacity: .6; cursor: wait; }
.pa-staal-note { margin: 0; font-size: 12px; color: #5c5c5c; }
.pa-staal-done { display: flex; flex-direction: column; gap: 10px; }
.pa-staal-done[hidden] { display: none; }
.pa-staal-done-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: 20px; color: var(--pa-green-dark); }
@media (max-width: 767px) {
	.pa-staal { padding: 0; align-items: flex-end; }
	.pa-staal-panel { border-radius: 20px 20px 0 0; max-height: 92vh; max-height: 92dvh; }
	.pa-staal-body { padding: 24px 20px 28px; }
	.pa-staal-grid { grid-template-columns: 1fr; }
	.pa-site .pa-staal-submit { align-self: stretch; }
}
.pa-staal-form[hidden], .pa-staal-basket[hidden], .pa-staal-intro[hidden], .pa-staal-error[hidden] { display: none !important; }

/* Hulpblok onder de koopknoppen: showroom + informatie aanvragen */
.pa-help { border: 1px solid var(--pa-line); border-radius: 16px; overflow: hidden; }
.pa-site .pa-help-row { position: relative; margin: 0 !important; padding: 16px 18px 16px 48px; font-size: 14px; line-height: 1.5; color: var(--pa-text); }
.pa-help-row + .pa-help-row { border-top: 1px solid var(--pa-line); }
.pa-help-row::before { content: ""; position: absolute; left: 18px; top: 18px; width: 18px; height: 18px; background: no-repeat center / contain; }
.pa-help-showroom::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2332786E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E"); }
.pa-help-info::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2332786E' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E"); }
.pa-help-showroom a { font-weight: 600; color: var(--pa-black); }
.pa-help-info { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.pa-help-info span { flex: 1 1 220px; }
.pa-site a.pa-help-btn { display: inline-flex; align-items: center; height: 40px; padding: 0 18px; border-radius: 20px; background: var(--pa-green); color: #ffffff; font-family: var(--pa-head); font-weight: 500; font-size: 14px; text-decoration: none; white-space: nowrap; }
.pa-site a.pa-help-btn:hover { background: var(--pa-green-dark); color: #ffffff; }

/* Materiaalpagina: rechterkolom onderaan gelijk met de foto (vanaf laptopbreedte) */
@media (min-width: 1025px) {
	.pa-mat-top { align-items: stretch; }
	.pa-site .pa-mat-info { position: static; }
	.pa-site .pa-mat-info .pa-help { margin-top: auto !important; }
}
.pa-help-info { padding-top: 14px; padding-bottom: 14px; }
@media (min-width: 1025px) {
	.pa-site .pa-mat-info { gap: 18px; }
	.pa-mat-info .pa-stats { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
	.pa-mat-info .pa-stat { padding: 12px 12px; }
	.pa-mat-info .pa-stat-value { font-size: 17px; }
	.pa-mat-info .pa-stat-label { font-size: 12px; line-height: 1.35; }
	.pa-mat-info .pa-buybox { padding: 18px; }
}

/* Opdruk en bindingen: techniek met foto's en tekst */
.pa-tech { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; }
.pa-tech.is-flipped .pa-tech-media { order: 2; }
.pa-tech-media .pa-gal { border-radius: 20px; }
.pa-tech-text { display: flex; flex-direction: column; gap: 14px; }
.pa-site .pa-tech-text > * { margin: 0; }
.pa-site .pa-tech-text p { font-size: 16px; line-height: 1.7; color: var(--pa-text); }
.pa-tech-text .pa-specs { margin-top: 6px !important; }
.pa-tech-section { padding-top: 56px; padding-bottom: 56px; }
@media (max-width: 1024px) {
	.pa-tech { grid-template-columns: 1fr; gap: 24px; }
	.pa-tech.is-flipped .pa-tech-media { order: 0; }
}
/* Vergelijkingstabel */
.pa-site .pa-table { margin: 0; overflow-x: auto; }
.pa-site .pa-table table { width: 100%; border-collapse: collapse; background: #ffffff; border-radius: 16px; overflow: hidden; box-shadow: inset 0 0 0 1px var(--pa-line); font-size: 15px; }
.pa-site .pa-table th { text-align: left; padding: 14px 18px; background: var(--pa-sand); font-family: var(--pa-head); font-weight: 600; font-size: 14px; color: var(--pa-black); border: 0; }
.pa-site .pa-table td { padding: 14px 18px; border: 0; border-top: 1px solid var(--pa-line); color: var(--pa-text); vertical-align: top; }
.pa-site .pa-table td a { font-weight: 600; color: var(--pa-green); text-decoration: none; }
.pa-site .pa-table td a:hover { text-decoration: underline; }
@media (max-width: 767px) { .pa-site .pa-table table { font-size: 14px; } .pa-site .pa-table th, .pa-site .pa-table td { padding: 12px; } }
.pa-site figure.pa-table { margin: 0 0 20px !important; }

/* Soortpagina's: knoppen onder een sectie */
.pa-tech-text .pa-tech-buttons { margin-top: 24px !important; gap: 12px; flex-wrap: wrap; }
.pa-tech-text .pa-specs + .pa-tech-buttons { margin-top: 24px !important; }

/* Tabellen op mobiel: elke rij als kaartje, met het kolomlabel erboven */
@media (max-width: 600px) {
	.pa-site .pa-table { overflow: visible; }
	.pa-site .pa-table table, .pa-site .pa-table tbody, .pa-site .pa-table tr, .pa-site .pa-table td { display: block; width: 100%; }
	.pa-site .pa-table thead { display: none; }
	.pa-site .pa-table tr { padding: 14px 16px; border-top: 1px solid var(--pa-line); }
	.pa-site .pa-table tr:first-child { border-top: 0; }
	.pa-site .pa-table td { padding: 2px 0 !important; border: 0 !important; }
	.pa-site .pa-table td:first-child { font-weight: 600; font-size: 15px; margin-bottom: 4px; }
	.pa-site .pa-table td[data-label]:not(:first-child)::before { content: attr(data-label) ": "; color: var(--pa-black); font-weight: 600; }
}

/* ===== Offerteformulier bedrukte disposables (Tesla-opzet: beeld links/boven, keuzes rechts/onder) ===== */
.pa-of { display: grid; grid-template-columns: minmax(0, 1fr) 520px; align-items: start; background: var(--pa-bg); border-top: 1px solid var(--pa-line); border-bottom: 1px solid var(--pa-line); }
.pa-of-visual { position: sticky; top: var(--pa-header-h); height: calc(100vh - var(--pa-header-h)); height: calc(100svh - var(--pa-header-h)); background: var(--pa-sand); overflow: hidden; }
.admin-bar .pa-of-visual { top: calc(var(--pa-header-h) + 32px); height: calc(100vh - var(--pa-header-h) - 32px); }
.pa-of-photos { position: absolute; inset: 0; }
.pa-of-photos[hidden], .pa-of-sizes[hidden] { display: none !important; }
.pa-of-photo { position: absolute; inset: 0; margin: 0 !important; opacity: 0; transition: opacity .35s ease; }
.pa-of-photo.is-active { opacity: 1; }
.pa-of-photo img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-of-badge { position: absolute; top: 22px; right: 28px; margin: 0 !important; padding: 10px 20px; border-radius: 16px; background: rgba(255, 255, 255, .96); box-shadow: 0 6px 18px rgba(0, 0, 0, .1); font-family: var(--pa-head); font-weight: 600; font-size: 26px; line-height: 1.15; color: var(--pa-black); }
.pa-of-tabs { position: absolute; left: 50%; bottom: 24px; transform: translateX(-50%); display: flex; gap: 6px; padding: 4px; border-radius: 22px; background: rgba(244, 239, 230, .96); }
.pa-of-tab { min-height: 36px; padding: 6px 16px; border-radius: 18px; border: 1px solid var(--pa-line); background: #ffffff; font-family: var(--pa-body); font-size: 13px; font-weight: 600; color: var(--pa-black); cursor: pointer; }
.pa-of-tab.is-active { border: 2px solid var(--pa-green); background: var(--pa-green-soft); }
.pa-of-sizes { position: absolute; inset: 0; background: var(--pa-bg); display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 32px; padding: 80px 24px; text-align: center; }
.pa-of-sizes-title { margin: 0 !important; font-family: var(--pa-head); font-weight: 600; font-size: 20px; max-width: 90%; }
.pa-of-sizes-open { margin: 0 !important; font-size: 14px; font-weight: 600; color: var(--pa-muted); }
.pa-of-folds { display: flex; gap: 40px; align-items: flex-end; justify-content: center; flex-wrap: wrap; }
.pa-of-draw { display: flex; gap: 28px; align-items: flex-end; justify-content: center; flex-wrap: nowrap; }
.pa-of-draw figure { margin: 0; display: flex; flex-direction: column; align-items: center; gap: 8px; }
.pa-of-draw img { display: block; height: min(46vh, 400px); width: auto; max-width: 100%; }
.pa-of-draw figcaption { font-size: 13px; font-weight: 600; color: var(--pa-muted); }
.pa-of-fold { display: flex; flex-direction: column; align-items: center; gap: 6px; }
.pa-of-fold-row { display: flex; align-items: center; gap: 8px; }
.pa-of-box { box-sizing: border-box; border: 2px solid var(--pa-green-dark); border-radius: 6px; box-shadow: 0 10px 24px rgba(0, 0, 0, .12); }
.pa-of-fold.is-active .pa-of-box { box-shadow: 0 0 0 4px rgba(50, 120, 110, .25), 0 10px 24px rgba(0, 0, 0, .12); }
.pa-of-dim { font-size: 13px; font-weight: 600; color: var(--pa-green-dark); }
.pa-of-fold-label { font-size: 13px; color: var(--pa-muted); }

.pa-of-panel { background: #ffffff; border-left: 1px solid var(--pa-line); min-height: calc(100vh - var(--pa-header-h)); }
.pa-of-form { display: flex; flex-direction: column; gap: 26px; padding: 28px 32px 0; }
.pa-of-kicker { margin: 0 0 6px !important; font-size: 13px; font-weight: 600; color: var(--pa-green); }
.pa-of-title { margin: 0 0 8px !important; font-family: var(--pa-head); font-weight: 600; font-size: 30px; line-height: 1.12; color: var(--pa-black); }
.pa-of-lead { margin: 0 !important; font-size: 15px; line-height: 1.6; color: var(--pa-text); }
.pa-of-step { border: 0; margin: 0; padding: 0; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.pa-of-step legend, .pa-of-legend { padding: 0; margin-bottom: 10px; display: flex; align-items: center; gap: 10px; font-family: var(--pa-head); font-weight: 600; font-size: 16px; color: var(--pa-black); }
.pa-of-num { width: 26px; height: 26px; border-radius: 13px; background: var(--pa-green); color: #ffffff; display: inline-flex; align-items: center; justify-content: center; font-size: 13px; flex: 0 0 auto; }
.pa-of-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pa-of-card { position: relative; display: flex; gap: 10px; align-items: center; padding: 8px; min-height: 84px; border-radius: 14px; border: 1px solid var(--pa-line); background: #ffffff; cursor: pointer; }
.pa-of-card:has(input:checked) { border: 2px solid var(--pa-green); background: var(--pa-green-soft); padding: 7px; }
.pa-of-card:has(input:focus-visible), .pa-of-chip:has(input:focus-visible) { outline: 2px solid var(--pa-green); outline-offset: 2px; }
.pa-of-card input, .pa-of-chip input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.pa-of-card-img { flex: 0 0 66px; width: 66px; height: 66px; border-radius: 10px; overflow: hidden; background: var(--pa-sand); }
.pa-of-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-of-card-txt { display: flex; flex-direction: column; gap: 2px; min-width: 0; font-size: 12px; line-height: 1.3; color: #5c5c5c; }
.pa-of-card-txt strong { font-size: 13px; color: var(--pa-black); }
.pa-of-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.pa-of-chips.pa-of-col { flex-direction: column; }
.pa-of-chip { position: relative; display: flex; cursor: pointer; }
.pa-of-chip span { min-height: 42px; display: flex; align-items: center; padding: 8px 16px; border-radius: 21px; border: 1px solid var(--pa-line); background: #ffffff; font-size: 13px; font-weight: 600; color: var(--pa-black); line-height: 1.35; }
.pa-of-col .pa-of-chip span { border-radius: 14px; width: 100%; }
.pa-of-chip:has(input:checked) span { border: 2px solid var(--pa-green); background: var(--pa-green-soft); padding: 7px 15px; }
.pa-of-upload { display: flex; flex-direction: column; gap: 6px; padding: 14px; border-radius: 12px; border: 1.5px dashed #c9bfae; background: var(--pa-bg); font-size: 13px; }
.pa-of-upload label { font-weight: 600; }
.pa-of-upload label span, .pa-of-grid label span span, .pa-of-btw-label span { font-weight: 400; color: #5c5c5c; }
.pa-of-upload p { margin: 0 !important; font-size: 12px; color: #5c5c5c; }
.pa-of-upload input { font-family: inherit; font-size: 13px; max-width: 100%; }
.pa-of-in { width: 100%; box-sizing: border-box; min-height: 46px; padding: 10px 12px; border: 1px solid var(--pa-line) !important; border-radius: 10px !important; font-family: var(--pa-body); font-size: 15px; color: var(--pa-black); background: #ffffff !important; }
.pa-of-in:focus { outline: 2px solid var(--pa-green); outline-offset: 1px; }
.pa-of-aantal { max-width: 240px; }
.pa-of-hint { margin: 0 !important; font-size: 12px; color: #5c5c5c; }
.pa-of-warn, .pa-of-error { margin: 0 !important; font-size: 13px; font-weight: 600; color: #9c2b2b; }
.pa-of-warn[hidden], .pa-of-error[hidden], .pa-of-done[hidden] { display: none !important; }
.pa-of-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pa-of-grid label, .pa-of-wide { display: flex; flex-direction: column; gap: 6px; font-size: 13px; font-weight: 600; color: var(--pa-black); }
.pa-of-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; }
.pa-of-check input { margin-top: 3px; width: 18px; height: 18px; flex: 0 0 auto; accent-color: var(--pa-green); }
.pa-of-done { padding: 16px; border-radius: 12px; background: #eaf4ee; color: #1f5c3d; font-size: 14px; line-height: 1.5; }
.pa-of-done p { margin: 0 !important; }
.pa-of-done-title { font-weight: 700; margin-bottom: 4px !important; }
.pa-of-bar { position: sticky; bottom: 0; z-index: 6; margin: 0 -32px; padding: 14px 32px calc(16px + env(safe-area-inset-bottom)); background: #ffffff; border-top: 1px solid var(--pa-line); display: flex; gap: 14px; align-items: center; }
.pa-of-sum { margin: 0 !important; flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; }
.pa-of-sum-main { font-family: var(--pa-head); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-of-sum-sub { font-size: 12px; color: #5c5c5c; }
.pa-of-submit { flex: 0 0 auto; height: 52px; padding: 0 24px; border: 0; border-radius: 26px; background: var(--pa-green) !important; color: #ffffff !important; font-family: var(--pa-head); font-weight: 500; font-size: 15px; cursor: pointer; white-space: nowrap; box-shadow: none !important; }
.pa-of-submit:hover { background: var(--pa-green-dark) !important; }
.pa-of-submit:disabled { opacity: .7; cursor: default; }

@media (max-width: 1024px) {
	.pa-of { display: block; }
	.pa-of-visual { height: 40vh; height: 40svh; z-index: 7; border-bottom: 1px solid var(--pa-line); }
	.admin-bar .pa-of-visual { top: var(--pa-header-h); height: 40vh; }
	.pa-of-badge { top: 12px; right: 12px; font-size: 16px; padding: 7px 12px; border-radius: 12px; }
	.pa-of-tabs { bottom: 12px; }
	.pa-of-sizes { padding: 14px 12px 58px; gap: 8px; }
	.pa-of-sizes-title { display: none; }
	.pa-of-sizes-open { font-size: 12px; }
	.pa-of-visual:has(.pa-of-sizes:not([hidden])) .pa-of-badge { display: none; }
	.pa-of-folds { gap: 20px; }
	.pa-of-draw { gap: 12px; }
	.pa-of-sizes:has(.pa-of-draw) { padding-top: 54px; justify-content: flex-start; }
	.pa-of-draw img { height: 195px; }
	.pa-of-draw figcaption { font-size: 12px; }
	.pa-of-panel { border-left: 0; min-height: 0; }
	.pa-of-form { padding: 22px var(--pa-gutter) 0; gap: 24px; }
	.pa-of-title { font-size: 26px; }
	.pa-of-bar { margin: 0 calc(-1 * var(--pa-gutter)); padding: 12px var(--pa-gutter) calc(12px + env(safe-area-inset-bottom)); box-shadow: 0 -8px 24px rgba(0, 0, 0, .08); }
	.pa-of-page .pa-mobilebar { display: none !important; }
}
@media (max-width: 600px) {
	.pa-of-group.is-multi .pa-of-cards { display: flex; overflow-x: auto; gap: 8px; margin: 0 calc(-1 * var(--pa-gutter)); padding: 2px var(--pa-gutter) 6px; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.pa-of-group.is-multi .pa-of-cards::-webkit-scrollbar { display: none; }
	.pa-of-card { flex-direction: column; align-items: flex-start; min-height: 0; }
	.pa-of-group.is-multi .pa-of-card { flex: 0 0 132px; scroll-snap-align: start; }
	.pa-of-card-img { width: 100%; height: auto; aspect-ratio: 1 / 1; flex: 0 0 auto; }
	.pa-of-grid { grid-template-columns: 1fr; }
	.pa-of-submit { padding: 0 18px; font-size: 14px; }
	.pa-of-sum-main { font-size: 13px; }
}

/* Gescrolde header: telefoon- en mailicoon erbij, dus iets compacter zodat niets buiten beeld valt */
@media (min-width: 768px) and (max-width: 1560px) {
	.pa-scrolled .pa-header-inner { gap: 10px; }
	.pa-scrolled .pa-nav-link { padding-left: 11px; }
	.pa-scrolled .pa-nav-item:not(.has-mega) .pa-nav-link { padding-right: 11px; }
	.pa-scrolled .pa-actions { gap: 0; }
}
@media (min-width: 768px) and (max-width: 1360px) { .pa-scrolled .pa-scroll-only { display: none; } }

/* Soorten ingedeeld in groepen, elk met een eigen kleur */
.pa-of-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 8px; }
.pa-of-group { min-width: 0; }
.pa-of-group.is-multi { grid-column: 1 / -1; }
.pa-of-group:not(.is-multi) .pa-of-cards { grid-template-columns: 1fr; }
.pa-of-group-name { margin: 0 0 8px !important; display: flex; align-items: center; gap: 8px; font-family: var(--pa-head); font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pa-g); }
.pa-of-group-name span { width: 10px; height: 10px; border-radius: 5px; background: var(--pa-g); flex: 0 0 auto; }
.pa-of-group .pa-of-card { border-left: 4px solid var(--pa-g); }
.pa-of-group .pa-of-card:has(input:checked) { border: 2px solid var(--pa-g); border-left-width: 4px; background: var(--pa-green-soft); background: color-mix(in srgb, var(--pa-g) 10%, #ffffff); padding: 7px 7px 7px 8px; }
@media (max-width: 600px) {
	.pa-of-group:not(.is-multi) .pa-of-card { flex-direction: row; align-items: center; }
	.pa-of-group:not(.is-multi) .pa-of-card-img { width: 52px; height: 52px; flex: 0 0 52px; aspect-ratio: auto; }
	.pa-of-group:not(.is-multi) .pa-of-card-txt span { display: none; }
}

/* Fotoslider per soort in het offerteformulier */
.pa-of-photo { pointer-events: none; }
.pa-of-photo.is-active { pointer-events: auto; }
.pa-of-slides { position: absolute; inset: 0; display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
.pa-of-slides::-webkit-scrollbar { display: none; }
.pa-of-slide { flex: 0 0 100%; height: 100%; margin: 0 !important; scroll-snap-align: start; }
.pa-of-slide img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-of-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; border-radius: 22px; background: rgba(255, 255, 255, .92); box-shadow: 0 4px 14px rgba(0, 0, 0, .12); font-size: 26px; line-height: 1; color: var(--pa-black); cursor: pointer; display: flex; align-items: center; justify-content: center; padding: 0 0 3px; }
.pa-of-arrow.is-prev { left: 20px; }
.pa-of-arrow.is-next { right: 20px; }
.pa-of-arrow:hover { background: #ffffff; }
.pa-of-dots { position: absolute; left: 0; right: 0; bottom: 76px; display: flex; justify-content: center; gap: 6px; }
.pa-of-dots span { width: 8px; height: 8px; border-radius: 4px; background: rgba(255, 255, 255, .6); box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); transition: width .2s ease; }
.pa-of-dots span.is-on { width: 20px; background: #ffffff; }
@media (max-width: 1024px) {
	.pa-of-arrow { display: none; }
	.pa-of-dots { bottom: 58px; }
}
.pa-of-arrow, .pa-of-arrow:hover, .pa-of-arrow:focus { color: var(--pa-black) !important; background: rgba(255, 255, 255, .92) !important; }
.pa-of-tab:hover, .pa-of-tab:focus { color: var(--pa-black) !important; }

/* Staffelprijzen en live prijs in het offerteformulier */
.pa-of-tiers-title { margin: 4px 0 8px !important; font-size: 13px; font-weight: 600; color: var(--pa-black); }
.pa-of-tiers-title span { font-weight: 400; color: #5c5c5c; }
.pa-of-tiers-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 6px; }
.pa-of-tier { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; padding: 8px 10px; border-radius: 10px; border: 1px solid var(--pa-line); background: #ffffff !important; color: var(--pa-black) !important; font-family: var(--pa-body); font-size: 12px; cursor: pointer; text-align: left; box-shadow: none !important; }
.pa-of-tier strong { font-size: 13px; }
.pa-of-tier span { color: var(--pa-green-dark); font-weight: 600; }
.pa-of-tier:hover { border-color: var(--pa-green); }
.pa-of-tier.is-on { border: 2px solid var(--pa-green); background: var(--pa-green-soft) !important; padding: 7px 9px; }
.pa-of-price { margin-top: 4px; padding: 14px 16px; border-radius: 12px; background: var(--pa-bg); border: 1px solid var(--pa-line); display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.pa-of-price[hidden] { display: none !important; }
.pa-of-price-row { display: flex; justify-content: space-between; gap: 12px; }
.pa-of-price-row span { color: var(--pa-text); }
.pa-of-price-row.is-total { padding-top: 8px; margin-top: 2px; border-top: 1px solid var(--pa-line); font-family: var(--pa-head); font-size: 16px; }
.pa-of-price-row.is-total span { color: var(--pa-black); font-weight: 600; }
.pa-of-price-note { margin: 0 !important; font-size: 12px; color: #5c5c5c; }

/* Foto/Maten-knoppen en fotobolletjes bovenaan, zodat ze nooit onder de rand van het scherm vallen */
.pa-of-tabs { top: 22px; bottom: auto; left: 28px; transform: none; }
.pa-of-dots { top: 76px; bottom: auto; left: 32px; right: auto; justify-content: flex-start; }
.pa-of-sizes { padding-top: 110px; }
@media (max-width: 1024px) {
	.pa-of-tabs { top: 12px; left: 12px; }
	.pa-of-dots { top: auto; bottom: 14px; left: 0; right: 0; justify-content: center; }
	.pa-of-sizes { padding: 58px 12px 16px; }
}

/* Computer: fotovlak maximaal 900 px breed zodat foto's van 800-1000 px scherp blijven; formulierkolom wordt breder op grote schermen */
@media (min-width: 1025px) {
	.pa-of { grid-template-columns: minmax(0, 900px) minmax(520px, 640px); justify-content: center; }
	.pa-of-visual { height: min(calc(100vh - var(--pa-header-h)), 900px); height: min(calc(100svh - var(--pa-header-h)), 900px); }
	.pa-of-panel { border-right: 1px solid var(--pa-line); }
}

/* Linkerkolom: foto + uitlegtekst in het lege vlak eronder (alleen als het past, zie offerte.js) */
.pa-of-aside[hidden] { display: none !important; }
@media (max-width: 1024px) {
	.pa-of-left { display: contents; }
	.pa-of-aside { display: none !important; }
}
@media (min-width: 1025px) {
	.pa-of-left { position: sticky; top: var(--pa-header-h); align-self: start; min-width: 0; }
	.admin-bar .pa-of-left { top: calc(var(--pa-header-h) + 32px); }
	.pa-of-left .pa-of-visual, .admin-bar .pa-of-left .pa-of-visual { position: relative; top: auto; }
	.admin-bar .pa-of-left .pa-of-visual { height: min(calc(100vh - var(--pa-header-h) - 32px), 900px); }
	.pa-of-aside { padding: 36px 48px 40px; }
	.pa-of-aside .pa-container { padding: 0 !important; margin: 0 !important; max-width: none !important; width: auto !important; }
	.pa-site .pa-of-aside h2.pa-section-title, .pa-of-aside h2 { font-size: 26px !important; line-height: 1.25; margin: 0 0 14px; }
	.pa-site .pa-of-aside p, .pa-of-aside p { font-size: 16px; line-height: 1.65; margin: 0 0 12px; color: var(--pa-ink, #1d1d1b); }
	.pa-of-aside p:last-child { margin-bottom: 0; }
}

/* ===== Productpagina webshop (pa_product): zelfde opzet als het offerteformulier ===== */
.pa-pp-body { gap: 24px; padding-bottom: 0; }
.pa-pp-price { padding: 16px 18px; border-radius: 14px; background: var(--pa-bg); border: 1px solid var(--pa-line); }
.pa-pp-from { margin: 0 0 4px !important; font-size: 15px; color: var(--pa-black); }
.pa-pp-from strong { font-family: var(--pa-head); font-weight: 600; font-size: 28px; color: var(--pa-black); margin: 0 4px; }
.pa-pp-from span { font-size: 13px; color: var(--pa-muted); }
.pa-pp-staffel { margin: 0 !important; font-size: 13px; line-height: 1.5; color: var(--pa-green-dark); }
.pa-pp-block .pa-of-legend { margin-bottom: 10px !important; }
.pa-pp-count { font-family: var(--pa-body); font-weight: 600; font-size: 12px; color: var(--pa-muted); background: var(--pa-bg); border-radius: 10px; padding: 1px 8px; }
.pa-site ul.pa-pp-swatches, ul.pa-pp-swatches { list-style: none; margin: 0 !important; padding: 0 !important; display: flex; flex-wrap: wrap; gap: 12px 10px; }
.pa-pp-swatches li { display: flex; flex-direction: column; align-items: center; gap: 5px; width: 58px; margin: 0 !important; }
.pa-pp-swatches img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; border: 1px solid var(--pa-line); box-shadow: inset 0 0 0 1px rgba(0,0,0,.05); display: block; }
.pa-pp-swatches span { font-size: 12px; color: var(--pa-text); }
.pa-site ul.pa-pp-sizes, ul.pa-pp-sizes { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.pa-pp-sizes li { margin: 0 !important; padding: 10px 12px; border-radius: 12px; border: 1px solid var(--pa-line); display: flex; flex-direction: column; gap: 1px; font-size: 12px; color: #5c5c5c; }
.pa-pp-sizes strong { font-family: var(--pa-head); font-weight: 600; font-size: 14px; color: var(--pa-black); }
.pa-pp-sizes em { font-style: normal; font-weight: 600; color: var(--pa-green-dark); margin-top: 3px; }
.pa-pp-facts { margin: 0 !important; display: flex; flex-direction: column; border-top: 1px solid var(--pa-line); }
.pa-pp-facts > div { display: grid; grid-template-columns: 96px 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--pa-line); font-size: 13px; line-height: 1.5; }
.pa-pp-facts dt { font-weight: 700; color: var(--pa-black); }
.pa-pp-facts dd { margin: 0; color: var(--pa-text); }
.pa-pp-bar { margin-top: 4px; }
a.pa-pp-cta { display: inline-flex; align-items: center; text-decoration: none !important; }
.pa-pp-help { margin: -8px 0 24px !important; font-size: 13px; color: var(--pa-muted); }
.pa-pp-help a { color: var(--pa-green-dark); font-weight: 600; }
.pa-pp .pa-of-photo img { object-fit: cover; }
@media (max-width: 1024px) {
	.pa-pp-bar { position: fixed; left: 0; right: 0; bottom: 0; margin: 0; z-index: 50; }
	.pa-pp-page .pa-site-footer, .pa-pp-page footer { padding-bottom: 90px; }
	.pa-pp-help { margin-bottom: 8px !important; }
}
@media (max-width: 420px) {
	.pa-pp-bar .pa-of-sum-sub { display: none; }
	a.pa-pp-cta { padding: 0 18px; font-size: 14px; }
}
/* Mobiel: korte knoptekst en korte prijs in de onderbalk, zodat de productnaam past (de volledige tekst blijft voor schermlezers). */
@media (max-width: 600px) {
	.pa-pp-bar .pa-of-sum { min-width: 0; }
	.pa-pp-bar .pa-of-sum[data-kort]::after { content: attr(data-kort); display: block; font-size: 12px; color: #5c5c5c; white-space: nowrap; }
	.pa-pp-bar .pa-of-sum-main { white-space: nowrap; }
	a.pa-pp-cta[data-kort] { font-size: 0 !important; white-space: nowrap; }
	a.pa-pp-cta[data-kort]::after { content: attr(data-kort); font-size: 15px; }
}
@media (max-width: 400px) {
	.pa-pp-bar { gap: 10px; }
	.pa-pp-bar .pa-of-sum { flex: 1 1 auto; overflow: hidden; }
	.pa-site .pa-pp-bar a.pa-bar-contact { width: 42px; height: 42px; margin-right: 0; }
	a.pa-pp-cta[data-kort] { padding: 0 16px !important; }
	a.pa-pp-cta[data-kort]::after { font-size: 14px; }
}

/* Servetten: kleine foto's onderin het fotovlak in plaats van bolletjes */
.pa-of-thumbs { position: absolute; left: 50%; bottom: 20px; transform: translateX(-50%); z-index: 3; display: flex; gap: 8px; padding: 6px; border-radius: 14px; background: rgba(244, 239, 230, .92); box-shadow: 0 6px 18px rgba(0, 0, 0, .12); }
.pa-of-thumbs button { width: 56px; height: 56px; padding: 0; border: 0; border-radius: 9px; overflow: hidden; cursor: pointer; background: var(--pa-sand) !important; box-shadow: 0 0 0 1px var(--pa-line) !important; opacity: .75; transition: opacity .2s ease; }
.pa-of-thumbs button:hover { opacity: 1; }
.pa-of-thumbs button.is-on { opacity: 1; box-shadow: 0 0 0 3px var(--pa-green) !important; }
.pa-of-thumbs img { width: 100%; height: 100%; object-fit: cover !important; display: block; }
.pa-of-visual:has(.pa-of-sizes:not([hidden])) .pa-of-thumbs { display: none; }
@media (max-width: 1024px) {
	.pa-of-thumbs { bottom: 10px; gap: 5px; padding: 4px; border-radius: 11px; }
	.pa-of-thumbs button { width: 40px; height: 40px; border-radius: 7px; }
}

/* Productpagina webshop in de Grain-opzet */
.pa-pp-label { margin: 0 0 10px !important; font-family: var(--pa-head); font-weight: 600; font-size: 15px; color: var(--pa-black); }
.pa-pp .pa-buybox .pa-pp-from strong { font-size: 26px; }
.pa-pp .pa-stat-value { overflow-wrap: anywhere; }
.pa-pp .pa-buybox-note a { color: var(--pa-green-dark); font-weight: 600; }
#prijzen { scroll-margin-top: calc(var(--pa-header-h) + 16px); }

/* Productpagina in servetten-opzet: paneel-details */
.pa-pp-body .pa-pp-count { margin-left: auto; }
.pa-pp-body .pa-pp-facts { border-top: 0; }
.pa-pp-body .pa-pp-facts > div:first-child { border-top: 1px solid var(--pa-line); }
.pa-pp-help { margin: 0 !important; }
.pa-pp-bar { margin-top: 0; }
@media (max-width: 1024px) { .pa-pp-bar { position: sticky; left: auto; right: auto; bottom: 0; margin: 0 calc(-1 * var(--pa-gutter)); } }

/* Productpagina: grote knop in het vlak onder de foto (als daar ruimte is); dan vervalt de balk rechtsonder */
.pa-pp-bigcta { margin-bottom: 28px; }
.pa-site a.pa-pp-bigbtn, a.pa-pp-bigbtn { display: flex; align-items: center; justify-content: center; gap: 12px; width: 100%; min-height: 68px; padding: 0 28px; border-radius: 34px; background: var(--pa-green); color: #ffffff !important; font-family: var(--pa-head); font-weight: 600; font-size: 19px; text-decoration: none !important; box-shadow: 0 10px 24px rgba(0, 71, 60, .22); transition: background .2s ease, transform .2s ease; }
.pa-site a.pa-pp-bigbtn:hover, a.pa-pp-bigbtn:hover { background: var(--pa-green-dark); transform: translateY(-1px); }
.pa-pp-bigcta p { margin: 10px 0 0 !important; text-align: center; font-size: 14px; color: var(--pa-muted); }
@media (min-width: 1025px) { .pa-pp.has-bigcta .pa-pp-bar { display: none; } .pa-pp.has-bigcta .pa-pp-body { padding-bottom: 28px; } }
.pa-pp-bar a.pa-pp-cta { height: 58px; padding: 0 30px; font-size: 17px; font-weight: 600; border-radius: 29px; }
@media (max-width: 420px) { .pa-pp-bar a.pa-pp-cta { height: 52px; padding: 0 20px; font-size: 15px; } }
.pa-pp-swatches li { width: auto; min-width: 58px; }
.pa-pp-swatches span { white-space: nowrap; }
.pa-site p.pa-pp-group, p.pa-pp-group { margin: 6px 0 6px !important; font-size: 13px; font-weight: 700; color: var(--pa-black); }
.pa-pp-block ul.pa-pp-swatches + p.pa-pp-group { margin-top: 14px !important; }

/* Ankerlinks (knoppenbalk, "Bekijk alle kleuren", prijzen): de kop valt niet meer onder de vaste kop + knoppenbalk.
   site.js meet de hoogte van alles wat bovenin blijft staan en zet --pa-scroll-pad. */
html { scroll-padding-top: var(--pa-scroll-pad, calc(var(--pa-header-h) + 90px)); }
.pa-anchor, #kleuren, #prijzen { scroll-margin-top: 0; }

/* Fotoschuif: geen tussenruimte van de galerij-blok, zodat er na verspringen geen rand van de volgende foto zichtbaar is. */
.pa-gal { gap: 0 !important; column-gap: 0 !important; }
.pa-gal figure, .pa-gal .wp-block-image { width: 100% !important; max-width: 100% !important; flex: 0 0 100% !important; }
/* Hele pixels breed: anders blijft er bij sommige schermbreedtes een randje van de volgende foto zichtbaar. */
.pa-gal { width: round(down, 100%, 1px); }
/* Zoom-effect bij aanwijzen: de foto blijft binnen zijn eigen vak (anders schuift de rand van de volgende foto in beeld). */
.pa-gal figure, .pa-gal .wp-block-image { overflow: hidden; }

/* Materiaalpagina's (menukaarten op maat): zelfde fotopresentatie als de webshop. */
.pa-tg .pa-of-thumbs { z-index: 3; max-width: calc(100% - 40px); overflow-x: auto; scrollbar-width: none; }
.pa-tg .pa-of-thumbs::-webkit-scrollbar { display: none; }
.pa-tg .pa-of-thumbs button { flex: 0 0 auto; }
.pa-tg .pa-of-arrow { z-index: 3; }
.pa-tg .pa-of-badge { z-index: 3; }
.pa-tg:focus-visible { outline: 3px solid var(--pa-green); outline-offset: 3px; }
@media (max-width: 1024px) { .pa-tg .pa-of-badge { top: 12px; right: 12px; font-size: 16px; padding: 7px 12px; border-radius: 12px; } }

/* Optiepagina's (bindingen, opdruk, inhoud): kop gelijk met de bovenkant van de foto. */
.pa-tech { align-items: start; }
/* Video bij de binding (zelfde video's als in de configurator), pas geladen na een klik. */
.pa-tech-video { margin-top: 18px !important; max-width: 440px; }
.pa-site .pa-tech-video .pa-tech-video-label { margin: 0 0 8px; font-family: var(--pa-head); font-weight: 600; font-size: 15px; color: var(--pa-black); }
.pa-tech-video .pa-video-media { border-radius: 14px; }
.pa-tech-video .pa-video-media a::after { width: 52px; height: 52px; margin: -26px 0 0 -26px; background-size: 26px; }

/* Knoppenbalk: op computer alle knoppen zichtbaar (zo nodig twee regels); op mobiel veegbaar met een zachte rand als hint. */
@media (min-width: 1025px) {
	.pa-jump { flex-wrap: wrap; overflow: visible; row-gap: 8px; }
}
@media (max-width: 1024px) {
	.pa-jump { -webkit-mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); mask-image: linear-gradient(to right, #000 calc(100% - 36px), transparent); padding-right: 36px !important; }
	.pa-jump.is-end { -webkit-mask-image: none; mask-image: none; }
}

/* Pijltjes op de fotoschuifjes (optiepagina's, menukaarten op maat). */
.pa-gal-arrow { z-index: 3; width: 40px; height: 40px; font-size: 24px; }
.pa-gal-arrow.is-prev { left: 14px; }
.pa-gal-arrow.is-next { right: 14px; }

/* Bovenste rij in de knoppenbalk van de optiepagina's: terug naar de andere opties. */
.pa-jump.pa-jump-top { padding: 10px 0 0 !important; gap: 6px; }
.pa-jump.pa-jump-top + .pa-jump { padding-top: 8px !important; }
.pa-jump-top a { height: 32px; padding: 0 14px; border-radius: 16px; font-size: 13px; background: transparent; box-shadow: inset 0 0 0 1px var(--pa-line); color: var(--pa-text); }
.pa-jump-top a.is-current { background: var(--pa-black); color: #ffffff; box-shadow: none; }
.pa-jump-top a.pa-jump-back::before { content: "\2039"; margin-right: 6px; font-size: 18px; line-height: 1; }
.pa-jump-top a:hover { background: var(--pa-green); color: #ffffff; box-shadow: none; }
@media (max-width: 1024px) { .pa-jump.pa-jump-top { padding-top: 8px !important; } .pa-jump-top a { height: 30px; font-size: 12px; padding: 0 12px; } }

/* Vetvrij papier: formaten als compacte knoppen naast elkaar (10 formaten). */
.pa-of[data-product="vetvrij"] .pa-of-chips.pa-of-col { flex-direction: row; }
.pa-of[data-product="vetvrij"] .pa-of-col .pa-of-chip span { width: auto; border-radius: 19px; }

/* Showroom: adres en openingstijden als twee blokken, knoppen en hulpregel. */
.pa-stats.pa-stats-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.pa-mat-info .pa-mat-buttons { gap: 12px; flex-wrap: wrap; margin: 4px 0 0 !important; }
.pa-site .pa-mat-help { font-size: 14px; color: var(--pa-text); margin: 0; }
.pa-site .pa-mat-help a { color: var(--pa-green); }
@media (max-width: 600px) { .pa-stats.pa-stats-2 .pa-stat-value { font-size: 16px; line-height: 1.3; } }

/* Overzicht met 2 of 3 tegels (bijv. Servetten onbedrukt) */
@media (min-width: 768px) {
	.pa-variants.pa-variants-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pa-variants.pa-variants-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.pa-variants-2 figure { margin: 0; border-radius: 14px; overflow: hidden; }
.pa-variants-2 img { width: 100%; aspect-ratio: 1; object-fit: cover; display: block; }
.pa-prose { max-width: 72ch; }
.pa-site .pa-prose p { margin: 0 0 14px !important; }
.pa-site .pa-prose h2:not(:first-child) { margin-top: 40px !important; }
.pa-site .pa-prose h2 { margin-bottom: 14px !important; }
.pa-prose-split { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 56px; align-items: start; }
@media (max-width: 1024px) { .pa-prose-split { grid-template-columns: 1fr; gap: 24px; } }
/* Zes kleine tegels op één rij (rekeningmapjes op Menukaarten op maat) */
.pa-variants.pa-variants-6 { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 1024px) { .pa-variants.pa-variants-6 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .pa-variants.pa-variants-6 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 768px) { .pa-variants.pa-variants-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
/* Webshop-overzicht */
.pa-shop-more-links { margin-top: 28px !important; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; font-size: 15px; }
.pa-shop-more-links strong { margin-right: 4px; }
.pa-chip-link { display: inline-block; padding: 8px 16px; border-radius: 999px; background: var(--pa-sand, #E9E1D2); color: var(--pa-black, #1d1d1b); text-decoration: none; font-weight: 600; font-size: 14px; }
.pa-chip-link:hover { background: var(--pa-line, #E2DACB); color: var(--pa-green, #32786E); }
.pa-shop-tiles .pa-variant-name a { font-size: 18px; }
@media (max-width: 767px) { .pa-shop-tiles .pa-variant-name a { font-size: 15px; } }
/* Megamenu: sublinks direct onder de tegel */
.pa-tiles.has-links { align-items: start; }
.pa-tile-links { list-style: none; margin: 12px 0 0; padding: 12px 0 0; border-top: 1px solid var(--pa-line, #E2DACB); display: flex; flex-direction: column; gap: 0; text-align: left; }
.pa-tile-links a { display: block; padding: 5px 0; font-size: 14px; font-weight: 500; color: var(--pa-black, #1d1d1b); text-decoration: none; }
.pa-tile-links a:hover, .pa-tile-links a:focus-visible, .pa-tile-links a[aria-current] { color: var(--pa-green, #32786E); }
.pa-tile-links a::after { content: " →"; opacity: 0; transition: opacity .15s; }
.pa-tile-links a:hover::after { opacity: 1; }
.pa-tile-links:has(> li:nth-child(6)) { display: grid; grid-template-columns: 1fr 1fr; column-gap: 8px; }
/* Productpagina webshop: foto vult het hele vlak, met pijltjes en fotootjes in de foto (zoals de configurator-pagina's) */
.pa-pdp-stage { inset: 0; }
.pa-pdp-slide { width: 100%; }
.pa-pdp-slide img { width: 100%; height: 100%; max-width: none; aspect-ratio: auto; object-fit: cover; border-radius: 0; box-shadow: none; }
.pa-pdp-crumbs { top: 16px; left: 16px; padding: 6px 12px; border-radius: 999px; background: rgba(244, 239, 230, .94); }
.pa-pdp-thumbs { z-index: 3; }
.pa-pdp-arrow { position: absolute; top: 50%; transform: translateY(-50%); z-index: 3; width: 44px; height: 44px; padding: 0; border: 0; border-radius: 50%; background: #ffffff; color: var(--pa-black); font-size: 26px; line-height: 1; display: flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: 0 4px 14px rgba(0, 0, 0, .14); }
.pa-pdp-arrow.is-prev { left: 20px; }
.pa-pdp-arrow.is-next { right: 20px; }
.pa-pdp-arrow:hover { background: var(--pa-sand); }
@media (max-width: 767px) {
	.pa-pdp-stage { inset: 0; }
	.pa-pdp-slide img { border-radius: 0; }
	.pa-pdp-arrow { width: 36px; height: 36px; font-size: 22px; }
	.pa-pdp-arrow.is-prev { left: 10px; }
	.pa-pdp-arrow.is-next { right: 10px; }
}
/* Productpagina webshop: indeling zoals Classic – vierkante foto links, tekst rechts */
@media (min-width: 768px) {
	.pa-pdp-visual { flex: 0 0 min(56%, calc(100dvh - var(--pa-header-h) - 1px)); }
	.pa-pdp-panel { flex: 1 1 auto; min-width: 0; }
	.pa-pdp-crumbs { top: 14px; left: 14px; }
}
@media (min-width: 768px) {
	/* Foto is altijd een vierkant (zoals Classic); de fotootjes staan onderin dat vierkant */
	.pa-pdp-visual { align-self: flex-start; aspect-ratio: 1 / 1; height: auto; max-height: calc(100dvh - var(--pa-header-h) - 1px); }
}

/* Productpagina: knop In winkelwagen ook direct onder het aantal */
.pa-pdp .pa-pdp-buy.pa-pdp-buy-inline { width: 100%; justify-content: center; margin-top: 4px; }

/* Productpagina: ook de zwarte bovenbalk (40px) meetellen, zodat de onderste balk met "In winkelwagen" helemaal in beeld staat */
@media (min-width: 768px) {
	.pa-pdp { height: calc(100vh - var(--pa-header-h) - 41px); height: calc(100dvh - var(--pa-header-h) - 41px); min-height: 460px; }
	.admin-bar .pa-pdp { height: calc(100dvh - var(--pa-header-h) - 73px); }
	.pa-pdp-visual { flex-basis: min(56%, calc(100dvh - var(--pa-header-h) - 41px)); max-height: calc(100dvh - var(--pa-header-h) - 41px); }
}

/* Productpagina: staande productfoto's (bijv. menuplank) helemaal zichtbaar, op een witte achtergrond */
.pa-pdp-slide.is-fit { background: #ffffff; }
.pa-pdp .pa-pdp-slide.is-fit img { object-fit: contain; padding: 64px 32px 104px; box-sizing: border-box; background: #ffffff; }
@media (max-width: 767px) { .pa-pdp .pa-pdp-slide.is-fit img { padding: 46px 16px 60px; } }

/* Keuze met extra uitleg (bijv. instelkosten laseropdruk) */
.pa-pdp-varnote { margin: 8px 0 0; font-size: 14px; color: var(--pa-green-dark); font-weight: 600; }
.pa-pdp-varnote[hidden] { display: none; }

.pa-pdp-field[hidden] { display: none !important; }

/* Bestekzakjes bedrukken: XL op een eigen rij, zodat Naperoles en Bestekvouw samen een nieuwe rij vormen */
.pa-of[data-product="bestekzakjes"] .pa-of-groups > .pa-of-group:nth-child(2) { grid-column: 1 / -1; }
.pa-of[data-product="bestekzakjes"] .pa-of-groups > .pa-of-group:nth-child(2) .pa-of-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }

/* Eigen Instagram-feed (pagina Inspiratie) */
.pa-ig { background: #ffffff; border-radius: 20px; overflow: hidden; border: 1px solid var(--pa-line); }
.pa-ig-bar { display: flex; align-items: center; justify-content: center; gap: 12px; padding: 18px 16px; background: var(--pa-black); flex-wrap: wrap; }
.pa-ig-avatar { width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: #111; color: #fff; font-family: var(--pa-head); font-weight: 700; font-size: 16px; box-shadow: 0 0 0 2px #111, 0 0 0 4px #e1306c; }
.pa-site .pa-ig-handle { color: #ffffff; font-family: var(--pa-head); font-weight: 600; text-decoration: none; }
.pa-site .pa-ig-follow { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 999px; background: var(--pa-green); color: #ffffff; font-size: 14px; font-weight: 600; text-decoration: none; }
.pa-site .pa-ig-follow:hover { background: var(--pa-green-dark); }
.pa-ig-grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2px; }
.pa-ig-grid li { margin: 0; }
.pa-ig-grid a { position: relative; display: block; aspect-ratio: 1 / 1; overflow: hidden; background: var(--pa-sand); }
.pa-ig-grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .35s ease, opacity .2s ease; }
.pa-ig-grid a:hover img, .pa-ig-grid a:focus-visible img { transform: scale(1.04); opacity: .9; }
.pa-ig-type { position: absolute; top: 10px; right: 10px; color: #fff; font-size: 16px; text-shadow: 0 1px 4px rgba(0,0,0,.5); }
.pa-ig-empty { margin: 0; padding: 32px 16px; text-align: center; }
@media (max-width: 767px) { .pa-ig-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pa-site ul.pa-ig-grid { padding: 0 !important; margin: 0 !important; }
.pa-ig.pa-ig-compact { border: 0; background: transparent; border-radius: 16px; }
.pa-ig-compact .pa-ig-grid { gap: 8px; }
.pa-ig-compact .pa-ig-grid a { border-radius: 14px; }
@media (max-width: 767px) { .pa-ig-compact .pa-ig-grid li:nth-child(n+5) { display: none; } }
.pa-site .pa-ig-more { margin-top: 24px !important; }

/* Uitvoering op aanvraag: offerteknop in plaats van winkelwagen */
.pa-pdp .pa-pdp-ask { display: none; flex: 0 0 auto; height: 54px; padding: 0 26px; border: 0; border-radius: 27px; background: var(--pa-green); color: #ffffff; font-family: var(--pa-head); font-weight: 500; font-size: 16px; cursor: pointer; align-items: center; justify-content: center; }
.pa-pdp .pa-pdp-ask:hover { background: var(--pa-green-dark); }
.pa-pdp.is-aanvraag .pa-pdp-ask { display: inline-flex; }
.pa-pdp.is-aanvraag .pa-pdp-buy, .pa-pdp.is-aanvraag .pa-pdp-qtyfield, .pa-pdp.is-aanvraag .woocommerce-variation-availability { display: none !important; }
@media (max-width: 860px) { .pa-pdp .pa-pdp-ask { height: 48px; padding: 0 20px; font-size: 15px; } }
.pa-pdp .pa-pdp-ask.pa-pdp-buy-inline { width: 100%; margin-top: 4px; }

/* Productpagina met configurator: voorbeeld + knop, details uitklapbaar */
.pa-pp-cfg { margin: 4px 0 22px; }
.pa-pp-cfg-shot { position: relative; display: block; border-radius: 14px; overflow: hidden; border: 1px solid var(--pa-line); box-shadow: 0 10px 30px rgba(29, 29, 27, .10); transition: transform .25s ease, box-shadow .25s ease; }
.pa-pp-cfg-shot img { display: block; width: 100%; height: auto; }
.pa-pp-cfg-shot:hover { transform: translateY(-2px); box-shadow: 0 16px 36px rgba(29, 29, 27, .14); }
.pa-pp-cfg-tag { position: absolute; left: 12px; top: 12px; background: rgba(255, 255, 255, .94); color: var(--pa-black); font-size: 12px; font-weight: 600; padding: 5px 10px; border-radius: 999px; }
.pa-site .pa-pp-cfg-steps { list-style: none; margin: 18px 0 18px !important; padding: 0 !important; display: grid; gap: 8px; counter-reset: pacfg; }
.pa-pp-cfg-steps li { counter-increment: pacfg; display: flex; align-items: center; gap: 10px; font-size: 15px; margin: 0; }
.pa-pp-cfg-steps li::before { content: counter(pacfg); flex: 0 0 24px; height: 24px; border-radius: 50%; background: var(--pa-green); color: #fff; font-size: 12px; font-weight: 600; display: inline-flex; align-items: center; justify-content: center; }
.pa-pp-cfg-btn { display: flex; align-items: center; justify-content: center; gap: 10px; width: 100%; min-height: 58px; padding: 0 22px; border-radius: 29px; background: var(--pa-green); color: #fff !important; font-family: var(--pa-head); font-weight: 600; font-size: 17px; text-decoration: none !important; text-align: center; }
.pa-pp-cfg-btn:hover { background: var(--pa-green-dark); }
.pa-pp-more { border-top: 1px solid var(--pa-line); border-bottom: 1px solid var(--pa-line); margin: 0 0 18px; }
.pa-pp-more > summary { cursor: pointer; list-style: none; padding: 16px 0; font-family: var(--pa-head); font-weight: 600; font-size: 16px; display: flex; justify-content: space-between; align-items: center; }
.pa-pp-more > summary::-webkit-details-marker { display: none; }
.pa-pp-more > summary::after { content: '+'; font-size: 22px; font-weight: 400; line-height: 1; }
.pa-pp-more[open] > summary::after { content: '−'; }
.pa-pp-more > .pa-pp-block:last-child { padding-bottom: 8px; }
@media (max-width: 767px) { .pa-pp-cfg-btn { font-size: 16px; min-height: 54px; } }

/* Megamenu met 7 tot 10 tegels (bijv. Bedrukte disposables): 5 per rij, compacter */
.pa-tiles-7, .pa-tiles-8, .pa-tiles-9, .pa-tiles-10 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px 14px; }
.pa-tiles-7 .pa-tile-name, .pa-tiles-8 .pa-tile-name, .pa-tiles-9 .pa-tile-name, .pa-tiles-10 .pa-tile-name { font-size: 14px; }
.pa-tiles-7 .pa-tile-desc, .pa-tiles-8 .pa-tile-desc, .pa-tiles-9 .pa-tile-desc, .pa-tiles-10 .pa-tile-desc { font-size: 12px; }
.pa-tiles-7 .pa-tile-media, .pa-tiles-8 .pa-tile-media, .pa-tiles-9 .pa-tile-media, .pa-tiles-10 .pa-tile-media { border-radius: 12px; margin-bottom: 2px; }
.pa-mega-links:empty { display: none; }
.pa-mega-set > .pa-mega-links:empty + .pa-mega-ctas { margin-top: 56px; }
.pa-acc-tiles a, .pa-acc-tile { hyphens: manual; overflow-wrap: break-word; }

/* Overzicht met 9 producten: 3 per rij op desktop */
@media (min-width: 1025px) { .pa-routes.pa-routes-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 32px 28px; } }

/* Omschrijving per uitvoering op de productpagina */
.pa-pdp-vardesc { background: var(--pa-sand); border-radius: 14px; padding: 14px 18px; margin: 4px 0 18px; font-size: 14px; line-height: 1.55; }
.pa-pdp-vardesc p { margin: 0; }
.pa-site .pa-pdp-vardesc ul { list-style: none; margin: 0 !important; padding: 0 !important; display: grid; gap: 4px; }
.pa-pdp-vardesc li { margin: 0; display: flex; gap: 8px; }
.pa-pdp-vardesc li strong { flex: 0 0 120px; font-weight: 600; color: var(--pa-black); }

/* Homepage mobiel: de 4 hoofdrubrieken direct onder de foto */
.pa-hero-quick { display: none; }
@media (max-width: 767px) {
	.pa-site .pa-hero-quick { order: -1; display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: -8px 0 0 !important; }
	.pa-hero-quick a { display: flex; flex-direction: column; align-items: center; gap: 6px; text-decoration: none; color: var(--pa-black); font-family: var(--pa-head); font-weight: 600; font-size: 11.5px; line-height: 1.25; text-align: center; }
	.pa-hero-quick img { width: 100%; aspect-ratio: 1 / 1; object-fit: cover; border-radius: 12px; display: block; }
	.pa-hero-quick a:active img { outline: 3px solid var(--pa-green); }
}

/* Fototegels op overzichtspagina's (zelfde als megamenu, compact) */
.pa-site ul.pa-page-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 24px 18px; list-style: none; margin: 0; padding: 0; }
@media (min-width: 1025px) { .pa-site ul.pa-page-tiles { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.pa-page-tiles .pa-tile-name { font-size: 15px; }
.pa-page-tiles .pa-tile-desc { font-size: 13px; }
@media (max-width: 767px) {
	.pa-site ul.pa-page-tiles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 12px; }
	.pa-page-tiles .pa-tile-name { font-size: 14px; }
	.pa-page-tiles .pa-tile-desc { font-size: 12px; }
	.pa-page-tiles .pa-tile-media { border-radius: 12px; }
}

/* Overzichtspagina's: korte introductie, tegels direct eronder */
.pa-hub-intro .pa-page-title { margin-bottom: 12px !important; }
.pa-hub-intro .pa-lead { margin-bottom: 18px !important; }
.pa-section.pa-hub-intro { padding-bottom: 8px !important; }
.pa-hub-intro + .pa-tiles-section { padding-top: 24px !important; }
@media (max-width: 767px) {
	.pa-section.pa-hub-intro { padding-top: 8px !important; }
	.pa-hub-intro .pa-lead { font-size: 15px; }
	.pa-hub-intro .pa-hero-buttons { gap: 8px; }
}
@media (max-width: 767px) {
	.pa-hub-intro .pa-hero-buttons { flex-direction: row !important; flex-wrap: nowrap; }
	.pa-hub-intro .pa-hero-buttons .wp-block-button { flex: 1 1 0; width: auto !important; }
	.pa-hub-intro .pa-hero-buttons .wp-block-button__link { min-height: 44px; padding: 10px 12px !important; font-size: 14px !important; width: 100%; justify-content: center; }
	.pa-hub-intro .pa-page-title { font-size: 30px !important; }
	.pa-hub-intro + .pa-tiles-section .pa-section-title { font-size: 22px; }
}
/* Minder ruimte tussen kruimelpad en titel op overzichtspagina's */
.pa-section.pa-hub-intro { padding-top: 12px !important; }
@media (max-width: 767px) { .pa-section.pa-hub-intro { padding-top: 4px !important; } }
.pa-site .pa-crumbs:has(+ .pa-hub-intro) { margin-bottom: 0 !important; }
/* Webshoppagina's (korte introductie direct onder het kruimelpad): minder witruimte */
.pa-site .pa-crumbs:has(+ .pa-section-tight) { margin-bottom: 0 !important; }
.pa-site .pa-crumbs + .pa-section.pa-section-tight { padding-top: 12px !important; padding-bottom: 8px !important; }
.pa-site .pa-crumbs + .pa-section.pa-section-tight + .pa-section { padding-top: 24px !important; margin-top: 0 !important; }
.pa-site .pa-crumbs + .pa-section.pa-section-tight .pa-page-title { margin-bottom: 12px !important; }
@media (max-width: 767px) { .pa-site .pa-crumbs + .pa-section.pa-section-tight { padding-top: 4px !important; } }
.pa-hub-intro + .pa-section { padding-top: 24px !important; }

/* Twee keuzekaarten (bijv. druppelvangers) */
.pa-routes.pa-routes-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 880px; }
.pa-druppel-opties { padding-top: 40px; }
.pa-routes-2 .pa-route { scroll-margin-top: 120px; }

/* Knop "Contact opnemen" onderaan elke pagina */
.pa-contact-cta { position: fixed; left: 50%; bottom: 24px; z-index: 1400; transform: translate(-50%, 16px); opacity: 0; pointer-events: none; transition: opacity .25s ease, transform .25s ease; }
.pa-contact-cta.is-shown { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; }
a.pa-contact-fab { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 24px; border-radius: 24px; background: var(--pa-black); color: #ffffff !important; font-family: var(--pa-head); font-weight: 500; font-size: 15px; line-height: 1; text-decoration: none !important; white-space: nowrap; box-shadow: 0 8px 24px rgba(0, 0, 0, .18); transition: background .2s ease; }
a.pa-contact-fab:hover, a.pa-contact-fab:focus-visible { background: var(--pa-green-dark); }
a.pa-contact-fab .pa-icon { color: var(--pa-gold); flex: 0 0 auto; }
html.pa-staal-open .pa-contact-cta { opacity: 0; pointer-events: none; }
@media (max-width: 767px) {
	.pa-contact-cta, .pa-contact-cta.is-shown { position: static; transform: none; opacity: 1; pointer-events: auto; display: flex; justify-content: center; padding: 16px 16px 40px; }
}
@media (max-width: 1024px) {
	body:has(.pa-pp-bar) .pa-contact-cta, body:has(.pa-pdp-bar) .pa-contact-cta { position: static; transform: none; opacity: 1; pointer-events: auto; display: flex; justify-content: center; padding: 16px 16px 40px; }
}
.pa-info-contact[hidden], .pa-info-aantal[hidden] { display: none !important; }
.pa-info-details { list-style: none; margin: 0 0 20px; padding: 14px 16px; border-radius: 14px; background: var(--pa-sand); display: grid; gap: 8px; font-size: 14px; }
.pa-info-details li { display: flex; align-items: center; gap: 10px; margin: 0; }
.pa-info-details .pa-icon { color: var(--pa-green); flex: 0 0 auto; }
.pa-info-details a { color: var(--pa-green-dark); font-weight: 600; text-decoration: none; }
.pa-info-dot { width: 16px; height: 16px; flex: 0 0 auto; border-radius: 50%; border: 2px solid var(--pa-green); box-sizing: border-box; }
a.pa-contact-fab { box-shadow: 0 0 0 1px rgba(255, 255, 255, .22), 0 8px 24px rgba(0, 0, 0, .18); }
/* Vijf keuzekaarten (bijv. formaten verfrissingsdoekjes) */
.pa-routes.pa-routes-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.pa-routes-5 .pa-route-title { font-size: 19px !important; }
.pa-keuze-opties { padding-top: 40px; }
.pa-keuze-opties .pa-section-title + .pa-route-text { max-width: 760px; }
.pa-routes-5 .pa-route { scroll-margin-top: 120px; }
@media (max-width: 1024px) { .pa-routes.pa-routes-5 { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 767px) { .pa-routes.pa-routes-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pa-site .pa-keuze-opties .pa-section-title + p.pa-route-text { margin: -6px 0 28px !important; }
/* Contactknop meteen zichtbaar, niet pas na scrollen */
@media (min-width: 768px) { .pa-contact-cta { opacity: 1; transform: translate(-50%, 0); pointer-events: auto; } }
@media (min-width: 768px) and (max-width: 1024px) { body:has(.pa-pp-bar) .pa-contact-cta, body:has(.pa-pdp-bar) .pa-contact-cta { transform: none; } }
/* Contactknop op offertepagina's: niet over de bestelbalk */
@media (min-width: 1025px) { body.pa-of-page .pa-contact-cta { left: 24px; transform: none; } }
@media (min-width: 768px) and (max-width: 1024px) { body.pa-of-page .pa-contact-cta { position: static; transform: none; display: flex; justify-content: center; padding: 16px 16px 40px; } }
@media (max-width: 1024px) { body.pa-of-page .pa-contact-cta { padding-bottom: 110px; } }
/* Materialen: alle opties zichtbaar, geen schuifbalk */
.pa-mx-mats { flex-wrap: wrap; overflow: visible; scroll-snap-type: none; padding-bottom: 4px; }
@media (max-width: 767px) { .pa-mx-mats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-right: 0; padding-right: 2px; } .pa-site .pa-mx-mat { padding-right: 10px; min-width: 0; } .pa-mx-mat-name, .pa-mx-mat-count { min-width: 0; overflow-wrap: anywhere; } }
.pa-section-tight + .pa-facts-section { margin-top: 28px; }
.pa-site .pa-facts-section + .pa-section-line { border-top: 0; padding-top: 40px; }
.pa-site .pa-shop-cats-kop { margin: 0 0 14px !important; font-family: var(--pa-head); font-weight: 600; font-size: 17px; color: var(--pa-black); }
@media (max-width: 767px) { .pa-site .pa-shop-cats-kop { font-size: 15px; margin-bottom: 10px !important; } }
/* Contactknop in de bestel-/offertebalk */
html.pa-has-bar-contact .pa-contact-cta { display: none !important; }
.pa-site a.pa-bar-contact { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; gap: 8px; height: 48px; padding: 0 20px; margin-right: 10px; border-radius: 24px; background: #ffffff; box-shadow: inset 0 0 0 1.5px var(--pa-line); color: var(--pa-black) !important; font-family: var(--pa-head); font-weight: 500; font-size: 15px; text-decoration: none !important; white-space: nowrap; transition: box-shadow .2s ease, color .2s ease; }
.pa-site a.pa-bar-contact:hover, .pa-site a.pa-bar-contact:focus-visible { box-shadow: inset 0 0 0 1.5px var(--pa-green); color: var(--pa-green-dark) !important; }
.pa-site a.pa-bar-contact .pa-icon { color: var(--pa-green); flex: 0 0 auto; }
@media (max-width: 767px) { .pa-site a.pa-bar-contact { width: 48px; padding: 0; margin-right: 8px; } .pa-site a.pa-bar-contact span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); } }
.pa-of-note { margin: 14px 0 4px; padding: 14px 16px; border-radius: 14px; background: var(--pa-sand); font-size: 14px; line-height: 1.55; color: var(--pa-text); }
.pa-of-note p { margin: 0 0 8px !important; }
.pa-of-note p:last-child { margin-bottom: 0 !important; }
.pa-of-note-snij { display: flex; gap: 12px; align-items: flex-start; margin-bottom: 10px; padding-bottom: 10px; border-bottom: 1px solid var(--pa-line); }
.pa-of-note-ic { flex: 0 0 56px; }
.pa-of-note-ic svg { width: 56px; height: 44px; display: block; }
.pa-of-note-small { font-size: 13px; color: var(--pa-muted); }
.pa-site .pa-of-proef-intro { margin: 0 0 12px !important; font-size: 14px; line-height: 1.55; color: var(--pa-text); }
.pa-of-proef .pa-of-upload { margin-bottom: 14px; border-color: var(--pa-green); }
.pa-of-upload label.pa-of-later { display: flex; gap: 8px; align-items: flex-start; font-weight: 400; font-size: 13px; margin-top: 4px; }
.pa-of-upload label.pa-of-later span { color: var(--pa-text); }
.pa-of-proef textarea::placeholder { color: #8a8a85; }
@media (min-width: 1025px) { .pa-of-visual .pa-of-tabs, .pa-of-visual .pa-of-badge { transform: translateY(var(--pa-of-shift, 0px)); z-index: 4; } }
/* Uitleg opdruk als pop-up */
.pa-of-step:has(.pa-of-info-btn) { position: relative; }
.pa-site .pa-of-info-btn { width: 22px; height: 22px; min-height: 0; padding: 0; margin-left: 2px; border-radius: 50%; border: 1.5px solid var(--pa-green); background: #fff !important; color: var(--pa-green) !important; font-family: Georgia, serif; font-style: italic; font-weight: 700; font-size: 13px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none !important; }
.pa-site .pa-of-info-btn:hover, .pa-site .pa-of-info-btn[aria-expanded="true"] { background: var(--pa-green) !important; color: #fff !important; }
.pa-of-note { position: absolute; z-index: 30; top: 36px; left: 0; right: 0; margin: 0; padding: 18px 40px 16px 18px; box-shadow: 0 16px 40px rgba(0, 0, 0, .18); border: 1px solid var(--pa-line); }
.pa-of-note[hidden] { display: none !important; }
.pa-site .pa-of-note-close { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; min-height: 0; padding: 0; border: 0; border-radius: 50%; background: transparent !important; color: var(--pa-black) !important; font-size: 20px; line-height: 1; cursor: pointer; box-shadow: none !important; }
.pa-site .pa-of-note-close:hover { background: rgba(0, 0, 0, .06) !important; }
/* i-knopje rechtsboven elke opdrukknop */
.pa-of-chips[data-list="druk"] .pa-of-chip { position: relative; }
.pa-of-vnote p:last-child { margin: 0; font-size: 14px; line-height: 1.55; }
/* Offerteformulier op mobiel: samenvatting op een eigen regel boven de knoppen, zodat de tekst niet in een smalle kolom valt. */
@media (max-width: 600px) {
	.pa-of-bar:not(.pa-pp-bar) { flex-wrap: wrap; row-gap: 10px; }
	.pa-of-bar:not(.pa-pp-bar) .pa-of-sum { flex: 1 1 100%; }
	.pa-of-bar:not(.pa-pp-bar) .pa-of-sum-sub { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.pa-of-bar:not(.pa-pp-bar) .pa-of-submit { flex: 1 1 0; min-width: 0; padding: 0 12px; font-size: 14px; white-space: normal; line-height: 1.2; }
}
.pa-site .pa-of-chip-i { position: absolute; top: -7px; right: -7px; z-index: 2; width: 20px; height: 20px; min-height: 0; padding: 0; border-radius: 50%; border: 1.5px solid var(--pa-green); background: #fff !important; color: var(--pa-green) !important; font-family: Georgia, serif; font-style: italic; font-weight: 700; font-size: 12px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; box-shadow: none !important; }
.pa-site .pa-of-chip-i:hover, .pa-site .pa-of-chip-i[aria-expanded="true"] { background: var(--pa-green) !important; color: #fff !important; }
.pa-site .pa-of-note-title { font-family: var(--pa-head); font-weight: 600; font-size: 15px; color: var(--pa-black); margin: 0 0 10px !important; }
.pa-of-step:has(.pa-of-chip-i) { position: relative; }
.pa-site a.pa-review-link { color: inherit !important; text-decoration: underline; text-decoration-color: rgba(50, 120, 110, .45); text-underline-offset: 3px; }
.pa-site a.pa-review-link:hover { color: var(--pa-green-dark) !important; text-decoration-color: currentColor; }
.pa-topbar a.pa-topbar-reviews { display: inline-flex; align-items: center; gap: 6px; min-height: 40px; }
.pa-topbar-stars { color: var(--pa-gold); letter-spacing: 1px; font-size: 13px; }
.pa-topbar a.pa-topbar-reviews strong { font-weight: 700; }
@media (max-width: 1100px) { .pa-topbar-hours { display: none; } }
.pa-site .pa-project-soort { margin: 2px 0 -4px !important; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pa-green); }
.pa-site .pa-project-links { font-size: 14px; line-height: 1.7; }
.pa-site .pa-project-links a { color: var(--pa-green-dark); font-weight: 600; text-decoration: none; }
.pa-site .pa-project-links a:hover { text-decoration: underline; }
.pa-projecten .pa-section-title + .pa-family-intro { margin-top: -6px; margin-bottom: 28px; max-width: 720px; }

/* ===== Losse pagina's: knoppen, kennisbank, blog, contact, keuzehulp, juridisch ===== */
.pa-site a.pa-abtn, .pa-site button.pa-abtn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 0 24px; border-radius: 24px; border: 0; font-family: var(--pa-head); font-weight: 500; font-size: 15px; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background .15s, color .15s; }
.pa-site .pa-abtn-dark { background: var(--pa-black); color: #ffffff !important; }
.pa-site .pa-abtn-dark:hover { background: #000000; }
.pa-site .pa-abtn-outline { background: transparent; color: var(--pa-green) !important; box-shadow: inset 0 0 0 2px var(--pa-green); }
.pa-site .pa-abtn-outline:hover { background: var(--pa-green); color: #ffffff !important; }

/* Kennisbank-overzicht */
.pa-kb-filter { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 28px; }
.pa-site .pa-kb-chip { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 16px; border-radius: 21px; border: 1px solid var(--pa-line); background: #ffffff; font: 600 14px/1 var(--pa-body); color: var(--pa-black); cursor: pointer; }
.pa-site .pa-kb-chip span { font-weight: 400; color: #6f6e69; }
.pa-site .pa-kb-chip.is-active { background: var(--pa-black); border-color: var(--pa-black); color: #ffffff; }
.pa-site .pa-kb-chip.is-active span { color: #d8d4cc; }
.pa-kb-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 28px 24px; }
.pa-site a.pa-kb-card { display: flex; flex-direction: column; text-decoration: none; color: inherit; border-radius: 18px; overflow: hidden; background: #ffffff; border: 1px solid var(--pa-line); transition: box-shadow .2s, transform .2s; }
.pa-site a.pa-kb-card:hover { box-shadow: 0 12px 30px rgba(0, 0, 0, .08); transform: translateY(-2px); }
.pa-kb-card[hidden] { display: none !important; }
.pa-kb-card-img { display: block; aspect-ratio: 3 / 2; background: var(--pa-sand); overflow: hidden; }
.pa-kb-card-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-kb-card-body { display: flex; flex-direction: column; gap: 8px; padding: 18px 20px 20px; flex: 1; }
.pa-kb-card-cat { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pa-green); }
.pa-site .pa-kb-card-title { margin: 0; font-family: var(--pa-head); font-weight: 600; font-size: 19px; line-height: 1.3; color: var(--pa-black); }
.pa-kb-card-text { font-size: 14px; line-height: 1.6; color: var(--pa-muted); }
.pa-kb-card-more { margin-top: auto; padding-top: 6px; font-size: 14px; font-weight: 600; color: var(--pa-green); }
@media (max-width: 1024px) { .pa-kb-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.pa-kb-grid { grid-template-columns: 1fr; gap: 18px; }
	.pa-kb-filter { flex-wrap: nowrap; overflow-x: auto; margin-left: calc(-1 * var(--pa-gutter)); margin-right: calc(-1 * var(--pa-gutter)); padding: 0 var(--pa-gutter) 4px; scrollbar-width: none; }
	.pa-kb-filter::-webkit-scrollbar { display: none; }
	.pa-site .pa-kb-chip { flex: 0 0 auto; }
}

/* Blogbericht */
.single-post .pa-post-crumbs { padding-bottom: 6px; }
.single-post .pa-post-crumbs .pa-breadcrumbs { margin: 0; }
.single-post .content-container.site-container { max-width: 1320px; }
.single-post .entry-content-wrap { padding: 32px 40px 40px; }
.single-post .entry-header .entry-title { font-family: var(--pa-head); font-weight: 600; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.15; color: var(--pa-black); }
.single-post .entry-content { font-size: 17px; line-height: 1.75; color: var(--pa-text); }
.single-post .entry-content h2 { font-family: var(--pa-head); font-weight: 600; font-size: clamp(24px, 2.2vw, 30px); line-height: 1.25; margin: 1.8em 0 .5em; color: var(--pa-black); }
.single-post .entry-content h3 { font-family: var(--pa-head); font-weight: 600; font-size: 20px; line-height: 1.3; margin: 1.5em 0 .4em; color: var(--pa-black); }
.single-post .entry-content a { color: var(--pa-green); text-underline-offset: 2px; }
.single-post .entry-content ul, .single-post .entry-content ol { padding-left: 1.3em; }
.single-post .entry-content li { margin-bottom: .35em; }
.pa-blog-img { margin: 28px 0; }
.pa-blog-img img { display: block; width: 100%; max-width: 640px; height: auto; border-radius: 16px; }
.pa-post-cta { margin: 40px 0 0; padding: 26px 28px; border-radius: 18px; background: var(--pa-sand); }
.pa-site .pa-post-cta p { margin: 0 0 10px; font-size: 16px; line-height: 1.6; }
.pa-site .pa-post-cta .pa-post-cta-title { font-family: var(--pa-head); font-weight: 600; font-size: 21px; color: var(--pa-black); }
.pa-site .pa-post-cta .pa-post-cta-buttons { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0 0; }
.pa-site .pa-post-cta a { text-decoration: none; }
.pa-post-related { margin: 56px 0 24px; }
.pa-post-related-head { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; margin-bottom: 24px; }
.pa-site .pa-post-related .pa-section-title { margin: 0; }
.pa-post-related .pa-section-link { font-weight: 600; color: var(--pa-green); text-decoration: none; white-space: nowrap; }
.single-post .entry-related, .single-post .post-navigation { display: none; }
@media (max-width: 767px) {
	.single-post .entry-content-wrap { padding: 22px 20px 28px; }
	.single-post .entry-content { font-size: 16px; }
	.pa-post-cta { padding: 22px 20px; }
	.pa-post-related { margin-top: 40px; }
}

/* Contactpagina */
.pa-contact-grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 48px; align-items: start; }
.pa-contact-cards { display: flex; flex-direction: column; gap: 14px; }
.pa-contact-card { padding: 20px 22px; border-radius: 18px; background: #ffffff; border: 1px solid var(--pa-line); }
.pa-site .pa-contact-card h2, .pa-site .pa-contact-card h3 { margin: 0 0 6px; font-family: var(--pa-head); font-weight: 600; font-size: 17px; color: var(--pa-black); }
.pa-site .pa-contact-card p { margin: 0; font-size: 15px; line-height: 1.6; color: var(--pa-text); }
.pa-site .pa-contact-card a { color: var(--pa-green); font-weight: 600; }
.pa-contact-card .pa-contact-big { font-family: var(--pa-head); font-size: 19px; font-weight: 600; }
.pa-contact-formbox { padding: 30px 32px; border-radius: 22px; background: #ffffff; border: 1px solid var(--pa-line); }
.pa-site .pa-contact-formbox h2 { margin: 0 0 6px; }
.pa-site .pa-contact-formbox > p { margin: 0 0 20px; color: var(--pa-muted); }
.pa-inline-form .pa-staal-done { padding: 18px 0 4px; }
.pa-inline-form .pa-staal-done-title { font-family: var(--pa-head); font-weight: 600; font-size: 21px; color: var(--pa-green); margin: 0 0 6px; }
.pa-inline-form .pa-staal-check { display: flex; gap: 10px; align-items: flex-start; font-size: 13px; line-height: 1.5; }
.pa-inline-form .pa-staal-error { color: #b42318; font-weight: 600; margin: 0; }
@media (max-width: 960px) { .pa-contact-grid { grid-template-columns: 1fr; gap: 28px; } }
@media (max-width: 640px) {
	.pa-contact-formbox { padding: 22px 18px; border-radius: 18px; }
	.pa-contact-formbox .pa-staal-grid { grid-template-columns: 1fr; }
}

/* Keuzehulp */
.pa-kh { border-radius: 24px; background: #ffffff; border: 1px solid var(--pa-line); padding: 36px; scroll-margin-top: 140px; }
.pa-kh-intro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 40px; align-items: center; }
.pa-kh-intro[hidden], .pa-kh-app[hidden] { display: none; }
.pa-site .pa-kh-kicker { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--pa-green); }
.pa-site .pa-kh-title { margin: 0 0 12px; font-family: var(--pa-head); font-weight: 600; font-size: clamp(26px, 2.6vw, 34px); line-height: 1.2; color: var(--pa-black); }
.pa-site .pa-kh-intro-text p:not(.pa-kh-kicker) { margin: 0 0 22px; font-size: 17px; line-height: 1.6; }
.pa-kh-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.pa-kh-tile { position: relative; border-radius: 16px; overflow: hidden; aspect-ratio: 1; background: var(--pa-sand); }
.pa-kh-tile img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pa-kh-tile span { position: absolute; left: 10px; bottom: 10px; padding: 4px 10px; border-radius: 12px; background: rgba(255, 255, 255, .92); font-size: 13px; font-weight: 600; }
.pa-kh-progress { display: flex; align-items: center; gap: 14px; margin-bottom: 26px; }
.pa-site .pa-kh-back { flex: 0 0 auto; border: 0; background: none; padding: 6px 0; font: 600 14px var(--pa-body); color: var(--pa-green); cursor: pointer; }
.pa-kh-track { flex: 1; height: 6px; border-radius: 3px; background: var(--pa-sand); overflow: hidden; }
.pa-kh-fill { display: block; height: 100%; width: 0; background: var(--pa-green); transition: width .3s; }
.pa-kh-count { flex: 0 0 auto; font-size: 13px; color: #6f6e69; }
.pa-site .pa-kh-q { margin: 0 0 6px; font-family: var(--pa-head); font-weight: 600; font-size: clamp(22px, 2.2vw, 28px); line-height: 1.25; color: var(--pa-black); outline: none; }
.pa-site .pa-kh-c { margin: 0 0 22px; font-size: 16px; line-height: 1.6; color: var(--pa-muted); }
.pa-kh-opts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.pa-site .pa-kh-opt { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; padding: 16px 18px; border-radius: 14px; border: 1px solid var(--pa-line); background: var(--pa-bg); text-align: left; cursor: pointer; transition: border-color .15s, background .15s; }
.pa-site .pa-kh-opt:hover, .pa-site .pa-kh-opt:focus-visible { border-color: var(--pa-green); background: #ffffff; }
.pa-kh-opt-t { font-family: var(--pa-head); font-weight: 600; font-size: 16px; color: var(--pa-black); }
.pa-kh-opt-n { font-size: 14px; line-height: 1.5; color: var(--pa-muted); }
.pa-kh-result { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); gap: 32px; }
.pa-site .pa-kh-badge { display: inline-block; margin: 0 0 10px; padding: 4px 12px; border-radius: 12px; background: var(--pa-sand); font-size: 13px; font-weight: 700; color: var(--pa-green); }
.pa-kh-points { margin: 0 0 22px; padding-left: 1.2em; }
.pa-kh-points li { margin-bottom: 4px; }
.pa-kh-links { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px; }
.pa-site a.pa-kh-link { display: flex; flex-direction: column; gap: 8px; text-decoration: none; color: var(--pa-black); font-weight: 600; font-size: 14px; line-height: 1.35; }
.pa-kh-link img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 14px; display: block; background: var(--pa-sand); }
.pa-site a.pa-kh-link:hover span { color: var(--pa-green); }
.pa-kh-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.pa-kh-side { padding: 22px; border-radius: 18px; background: var(--pa-bg); align-self: start; font-size: 14px; }
.pa-site .pa-kh-side p { margin: 0 0 8px; }
.pa-site .pa-kh-side a { color: var(--pa-green); font-weight: 600; }
.pa-site .pa-kh-side-title { font-family: var(--pa-head); font-weight: 600; font-size: 15px; color: var(--pa-black); margin-top: 18px !important; }
.pa-site .pa-kh-side-title:first-child { margin-top: 0 !important; }
.pa-kh-answers { margin: 0; padding-left: 1.2em; }
.pa-kh-answers li { margin-bottom: 8px; line-height: 1.4; }
.pa-kh-answers span { display: block; font-size: 12px; color: #6f6e69; }
@media (max-width: 900px) { .pa-kh-intro, .pa-kh-result { grid-template-columns: 1fr; } }
@media (max-width: 640px) {
	.pa-kh { padding: 22px 18px; border-radius: 18px; }
	.pa-kh-opts { grid-template-columns: 1fr; }
	.pa-kh-links { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
	.pa-site a.pa-kh-link { font-size: 12px; }
	.pa-kh-count { display: none; }
}

/* Juridische teksten (voorwaarden, privacy) */
.pa-legal { max-width: 820px; }
.pa-site .pa-legal h2 { margin: 36px 0 10px; font-family: var(--pa-head); font-weight: 600; font-size: 21px; color: var(--pa-black); }
.pa-site .pa-legal h2:first-child { margin-top: 0; }
.pa-site .pa-legal p, .pa-site .pa-legal li { font-size: 15px; line-height: 1.7; }
.pa-site .pa-legal ol { padding-left: 1.4em; }
.pa-site .pa-legal li { margin-bottom: 8px; }
.pa-site .pa-legal ul { padding-left: 1.2em; margin: 8px 0; }
.pa-legal-meta { font-size: 14px; color: #6f6e69; }
.pa-legal-toc { display: flex; flex-wrap: wrap; gap: 6px 14px; margin: 0 0 32px; padding: 16px 18px; border-radius: 14px; background: var(--pa-sand); font-size: 14px; }
.pa-site .pa-legal-toc a { color: var(--pa-green); text-decoration: none; font-weight: 600; }

/* Over ons */
.pa-about-split { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: 48px; align-items: center; }
.pa-about-split img { width: 100%; height: auto; border-radius: 20px; display: block; }
.pa-site .pa-about-split figure { margin: 0; }
@media (max-width: 900px) { .pa-about-split { grid-template-columns: 1fr; gap: 24px; } }
.pa-faq-group + .pa-faq-group { margin-top: 44px; }
.pa-site .pa-faq-group h2 { margin-bottom: 8px !important; }
/* Op de contactpagina staat het formulier al: geen zwevende contactknop. */
.page-id-103 .pa-contact-cta { display: none !important; }
/* Algemene voorwaarden 2026: inhoudsopgave per deel en artikelkoppen */
.pa-site .pa-legal-toc.wp-block-group { display: block; padding: 18px 20px; }
.pa-site .pa-legal-toc.wp-block-group p { margin: 0 0 12px; font-size: 14px; line-height: 1.8; }
.pa-site .pa-legal-toc.wp-block-group p:last-child { margin-bottom: 0; }
.pa-site .pa-legal-toc.wp-block-group a { font-weight: 400; }
.pa-site .pa-legal-toc.wp-block-group strong a { font-weight: 700; color: var(--pa-black); }
.pa-site .pa-legal h2 { margin-top: 48px; padding-top: 20px; border-top: 1px solid var(--pa-line); font-size: 24px; }
.pa-site .pa-legal h3 { margin: 28px 0 8px; font-family: var(--pa-head); font-weight: 600; font-size: 18px; color: var(--pa-black); }
.pa-site .pa-legal h2, .pa-site .pa-legal h3 { scroll-margin-top: var(--pa-scroll-pad, 140px); }
.pa-site .pa-legal .pa-legal-meta { font-size: 16px; color: var(--pa-text); margin-bottom: 20px; }
.pa-site .pa-legal h2.wp-block-heading { margin: 52px 0 4px !important; }
.pa-site .pa-legal h3.wp-block-heading { margin: 30px 0 8px !important; }
.pa-site .pa-legal h2.wp-block-heading + h3.wp-block-heading { margin-top: 18px !important; }
.pa-site .pa-legal .pa-legal-toc { margin: 0 0 8px !important; }
.pa-site .pa-legal p { margin: 0 0 14px; }
.pa-site .pa-legal > h2.wp-block-heading:first-child { margin-top: 0 !important; padding-top: 0; border-top: 0; }
.pa-site .pa-legal ul, .pa-site .pa-legal ol { margin: 0 0 16px; }

/* Kostenvergelijking (/mkv/) en het blok op home en /menukaarten/ */
.pa-mkv-frame { display: block; width: 100%; min-height: 2400px; border: 0; border-radius: 18px; background: #ffffff; }
.pa-site .pa-mkv-section { padding-bottom: 48px; }
.pa-calc-teaser { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px; align-items: center; padding: 36px 40px !important; border-radius: 22px; background: #ffffff; border: 1px solid var(--pa-line); max-width: calc(var(--pa-wrap) - 2 * var(--pa-gutter)); }
.pa-site .pa-calc-teaser .pa-section-title { margin: 4px 0 10px !important; }
.pa-site .pa-calc-teaser p:not(.pa-mat-kicker) { margin: 0; max-width: 62ch; font-size: 16px; line-height: 1.6; }
.pa-calc-teaser-buttons { margin: 0; }
@media (max-width: 767px) {
	.pa-calc-teaser { grid-template-columns: 1fr; gap: 18px; padding: 24px 20px !important; margin-left: var(--pa-gutter) !important; margin-right: var(--pa-gutter) !important; }
	.pa-mkv-frame { border-radius: 12px; }
}
/* Algemene voorwaarden: genummerde leden met hangend nummer, pdf-knop en contactblok. */
.pa-site .pa-legal p.pa-legal-art { display: grid; grid-template-columns: 3.1em 1fr; gap: 0 .5em; margin: 0 0 12px; }
.pa-site .pa-legal .pa-legal-nr { font-weight: 700; color: var(--pa-green); font-variant-numeric: tabular-nums; }
.pa-site .pa-legal p.pa-legal-art a { color: var(--pa-green-dark); text-decoration: underline; text-decoration-color: rgba(50, 120, 110, .4); text-underline-offset: 2px; }
.pa-site .pa-legal .pa-legal-versie { font-size: 14px; color: #6f6e69; margin-bottom: 8px; }
.pa-site .pa-legal .pa-legal-dl { margin: 4px 0 24px; }
.pa-site .pa-legal a.pa-legal-pdf { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 22px; box-shadow: inset 0 0 0 1.5px var(--pa-green); color: var(--pa-green-dark) !important; font-family: var(--pa-head); font-weight: 500; font-size: 15px; text-decoration: none !important; }
.pa-site .pa-legal a.pa-legal-pdf::before { content: "↓"; font-weight: 700; }
.pa-site .pa-legal a.pa-legal-pdf:hover { background: var(--pa-green); color: #fff !important; }
.pa-site .pa-legal .pa-legal-contact { line-height: 1.8; }
@media (max-width: 600px) { .pa-site .pa-legal p.pa-legal-art { grid-template-columns: 2.7em 1fr; gap: 0 .35em; } }
/* Links onder een sectie (Instagram, Facebook) niet midden in de linktekst afbreken. */
.pa-section-link a { white-space: nowrap; display: inline-block; }
/* Showroom: hero zonder fotoslider, foto's in een raster in hun eigen verhouding (zoals op de oude site), klik = vergroten. */
.pa-mat-top.pa-mat-top-solo { grid-template-columns: minmax(0, 760px); padding-bottom: 24px; }
.pa-mat-top-solo .pa-mat-info { position: static; }
.pa-showroom-grid { columns: 3 260px; column-gap: 12px; margin-top: 8px; }
.pa-site .pa-showroom-grid figure.wp-block-image { break-inside: avoid; margin: 0 0 12px !important; display: block; }
.pa-site .pa-showroom-grid img { display: block; width: 100%; height: auto; border-radius: 14px; }
@media (max-width: 600px) { .pa-showroom-grid { columns: 2; column-gap: 8px; } .pa-site .pa-showroom-grid figure.wp-block-image { margin-bottom: 8px !important; } .pa-site .pa-showroom-grid img { border-radius: 10px; } }
/* Offerteformulier: foto's van niet-gekozen soorten niet laden (display:none houdt lazy-load tegen). */
.pa-of-photo:not(.is-active) { display: none; }
/* Fotogalerij materiaalpagina's: verborgen foto's pas laden als ze getoond worden. */
.pa-thumbgal figure:not(:first-child):not(.is-active) { display: none; }
/* Kleuren van het servet onder de gekozen uitvoering (offerteformulier). */
.pa-of-kleuren { margin: -2px 0 6px; padding: 12px 14px; border-radius: 12px; background: var(--pa-sand); }
.pa-site .pa-of-kleuren-title { margin: 0 0 8px !important; font-size: 13px; font-weight: 600; color: var(--pa-black); }
.pa-of-kleuren ul { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 8px 10px; }
.pa-of-kleuren li { display: flex; align-items: center; gap: 8px; margin: 0; font-size: 13px; line-height: 1.2; }
.pa-of-kleuren small { color: #6f6e69; font-size: 11px; }
.pa-of-sw { flex: 0 0 auto; width: 22px; height: 22px; border-radius: 6px; box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .12); }
.pa-of-chips .pa-of-kleuren { flex: 0 0 auto; height: auto; }
.pa-of-chips.pa-of-col:has(.pa-of-kleuren) { flex-wrap: nowrap; }
/* Foto per uitvoering (offerteformulier). */
.pa-of-vphoto { position: absolute; inset: 0; z-index: 2; background: var(--pa-sand); }
.pa-of-vphoto[hidden] { display: none; }
.pa-of-vphoto figure { position: absolute; inset: 0; margin: 0 !important; display: none; }
.pa-of-vphoto figure.is-active { display: block; }
.pa-of-vphoto img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* Terwijl een foto van de uitvoering zichtbaar is: de soortminiaturen niet als 'gekozen' tonen. */
.pa-of.pa-of-von .pa-of-thumbs button:not(.pa-of-vthumb).is-on { box-shadow: 0 0 0 1px var(--pa-line) !important; opacity: .75; }
/* Servetkleur kiezen (offerteformulier). */
.pa-of-kl { display: flex; align-items: center; gap: 8px; padding: 4px 6px; margin: -4px -6px; border-radius: 8px; cursor: pointer; }
.pa-of-kl input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
.pa-of-kl:hover { background: rgba(255, 255, 255, .55); }
.pa-of-kl.is-on, .pa-of-kl:has(input:checked) { background: #ffffff; box-shadow: 0 0 0 2px var(--pa-green); }
.pa-of-kl:has(input:focus-visible) { outline: 2px solid var(--pa-green-dark); outline-offset: 2px; }
.pa-site .pa-of-kleur-err { margin: 10px 0 0 !important; color: #b3261e; font-size: 13px; font-weight: 600; }
.pa-of-extra[hidden] { display: none !important; }

/* Praktijkcase */
.pa-case-video { margin: 0 0 28px !important; }
.pa-site .pa-case-quote { margin: 0 !important; padding: 4px 0 4px 22px; border-left: 3px solid var(--pa-green); }
.pa-site .pa-case-quote p { font-family: var(--pa-head); font-size: clamp(18px, 2vw, 22px); line-height: 1.45; color: var(--pa-black); margin: 0; }
.pa-site .pa-case-quote cite { display: block; margin-top: 10px; font-style: normal; font-size: 14px; color: var(--pa-text); }
.pa-site .pa-narrow p + p, .pa-site .pa-faq-item p + p { margin-top: 1em !important; }
@media (min-width: 1025px) { .pa-videos:has(.pa-video:nth-child(5)) { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 18px; } }
@media (min-width: 768px) and (max-width: 1024px) { .pa-videos:has(.pa-video:nth-child(5)) { grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 42%; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 8px; } }

/* Uit de praktijk (teaser naar een case) */
.pa-cases-teaser { background: var(--pa-bg); }
.pa-cases-teaser .pa-container { display: grid; gap: 16px; }
.pa-case-teaser { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 20px; align-items: center; padding: 16px; background: #ffffff; border: 1px solid var(--pa-line); border-radius: 16px; text-decoration: none; color: inherit; max-width: 820px; }
.pa-case-teaser img { width: 140px; height: 140px; object-fit: cover; border-radius: 10px; display: block; }
.pa-case-teaser .pa-case-kicker { margin: 0 0 4px; font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--pa-green); }
.pa-case-teaser strong { display: block; font-family: var(--pa-head); font-size: 19px; font-weight: 600; color: var(--pa-black); margin-bottom: 6px; }
.pa-case-teaser span.pa-case-txt { display: block; font-size: 15px; line-height: 1.55; color: var(--pa-text); }
.pa-case-teaser span.pa-case-more { display: inline-block; margin-top: 8px; font-size: 15px; font-weight: 600; color: var(--pa-green); }
.pa-case-teaser:hover strong { color: var(--pa-green); }
@media (max-width: 520px) { .pa-case-teaser { grid-template-columns: 96px minmax(0, 1fr); gap: 14px; padding: 12px; } .pa-case-teaser img { width: 96px; height: 96px; } .pa-case-teaser strong { font-size: 17px; } }

/* Meer weten (kennisbank-links op productpagina's) */
.pa-reads { background: var(--pa-bg); }
.pa-site .pa-reads-list { list-style: none; padding: 0; margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.pa-site .pa-reads-list li { margin: 0; }
.pa-site .pa-reads-list a { display: flex; align-items: center; justify-content: space-between; gap: 14px; height: 100%; box-sizing: border-box; padding: 16px 18px; background: #ffffff; border: 1px solid var(--pa-line); border-radius: 12px; font-family: var(--pa-head); font-weight: 500; font-size: 16px; line-height: 1.35; color: var(--pa-black); text-decoration: none; }
.pa-site .pa-reads-list a::after { content: "→"; color: var(--pa-green); flex: 0 0 auto; }
.pa-site .pa-reads-list a:hover { border-color: var(--pa-green); color: var(--pa-green); }
.pa-reads-kicker { margin: -12px 0 18px !important; font-size: 15px; color: var(--pa-text); }

/* Airlaid: uitvoering in drie keuzes (formaat, kleur, kwaliteit) */
.pa-of-grp{margin:0 0 14px}
.pa-of-grp:last-child{margin-bottom:0}
.pa-of-grp-title{font-family:Poppins,sans-serif;font-weight:600;font-size:14px;margin:0 0 8px;color:#1d1d1b}
.pa-of-grp-chips{display:flex;flex-wrap:wrap;gap:8px}
.pa-of-grp-chips .pa-of-chip{width:auto;flex:0 0 auto}
.pa-of-grp-kl { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px;}
.pa-of-grp-kl li { margin: 0;}
.pa-of-grp-kl .pa-of-kl { margin: 0; padding: 5px 12px 5px 5px; border: 1px solid #E2DACB; border-radius: 999px; background: #fff; font-size: 13px;}
.pa-of-grp-kl .pa-of-sw { width: 26px; height: 26px; border-radius: 50%;}
.pa-of-kleuren .pa-of-sw { border-radius: 50%; }
/* Keuzegroepen altijd onder elkaar (bijv. vetvrij: snijwijze en kleur) */
.pa-of-chips:has(> .pa-of-grp) { display: block; }
.pa-of-chips > .pa-of-grp + .pa-of-grp { margin-top: 16px; }

/* Maten: inhoud in het zichtbare deel houden als de linkerkolom omhoog schuift */
@media (min-width: 1025px) { .pa-of-visual .pa-of-sizes { padding-top: calc(110px + var(--pa-of-shift, 0px)); } .pa-of-visual .pa-of-sizes:has(.pa-of-draw) { padding-top: calc(54px + var(--pa-of-shift, 0px)); } }

/* Productpagina: de onderbalk verdwijnt zolang de grote knop in beeld is, zodat er nooit twee dezelfde knoppen tegelijk staan. */
.pa-pp-bar { transition: opacity .2s ease, transform .2s ease, visibility .2s; }
.pa-pp.is-cta-visible .pa-pp-bar { opacity: 0; visibility: hidden; transform: translateY(100%); pointer-events: none; }

/* Productpagina: info-bolletje op keuzes die op aanvraag zijn (prijs 0), zelfde stijl als in de offerteformulieren. */
.pa-chips .pa-chip:has(.pa-chip-i) { position: relative; overflow: visible; }
.pa-site .pa-chip .pa-chip-i { position: absolute; top: -7px; right: -7px; z-index: 2; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--pa-green); background: #fff; color: var(--pa-green); font-family: Georgia, serif; font-style: italic; font-weight: 700; font-size: 12px; line-height: 1; display: inline-flex; align-items: center; justify-content: center; cursor: pointer; }
.pa-site .pa-chip .pa-chip-i:hover, .pa-site .pa-chip .pa-chip-i:focus-visible { background: var(--pa-green); color: #fff; }
.pa-site .pa-chip .pa-chip-i[hidden] { display: none; }
