/* Wymefa: alleen wat theme.json niet kan. Maten gemeten op wymefa.nl (1440 en 390 px). */

/* ==========================================================================
   Variabelen en basis
   ========================================================================== */
:root {
	--wy-pad: max(20px, calc((100vw - 1400px) / 2));
	--wy-radius: 10px;
	--wy-navy: var(--wp--preset--color--navy);
	--wy-yellow: var(--wp--preset--color--yellow);
	--wy-line: rgb(0 107 190 / .32);
	--wy-shadow: 0 8px 24px rgb(0 55 107 / .15);
	--wy-card-shadow: 0 10px 30px rgb(0 55 107 / .08);
	--wy-ease: cubic-bezier(.4, 0, .2, 1);
	--wy-t: .2s var(--wy-ease);
}
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: clip; background: var(--wp--preset--color--sky); line-height: 1.72; }
img { max-width: 100%; height: auto; }
.wy-wrap { box-sizing: border-box; max-width: 1440px; margin-inline: auto; padding-inline: 20px; }
.screen-reader-text { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.wy-skip:focus { position: fixed; z-index: 100; top: 8px; left: 8px; width: auto; height: auto; padding: 10px 16px; clip-path: none; background: #fff; }
:focus-visible { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 2px; }
.wy-main { margin: 0; }
.wy-main > .wp-block-post-content > :first-child { margin-top: 0; }
footer.wp-block-template-part { margin-block-start: 0; }

/* ==========================================================================
   Knoppen
   ========================================================================== */
.wy-btn, .wp-element-button { display: inline-flex; align-items: center; gap: 10px; padding: 18px 34px; border: 2px solid transparent; background: var(--wy-yellow); color: var(--wy-navy); font-size: 16px; font-weight: 500; line-height: 1.2; text-decoration: none; cursor: pointer; }
.wy-btn:hover, .wp-element-button:hover { background: #eaa800; color: var(--wy-navy); }
.wy-btn--outline, .wp-block-button.is-style-outline .wp-element-button { border-color: currentColor; background: transparent; color: var(--wy-navy); }
.wy-btn--outline:hover { background: var(--wy-navy); color: #fff; border-color: var(--wy-navy); }
.wp-block-buttons { margin-block: 25px 0; }

/* Popupknop (details) en de flipbook-knoppen */
.wy-popup { margin-block: 25px 0; }
.wy-popup > summary { display: inline-flex; padding: 18px 34px; background: var(--wy-yellow); color: var(--wy-navy); font-size: 16px; font-weight: 500; line-height: 1.2; cursor: pointer; list-style: none; }
.wy-popup[open] > summary { margin-bottom: 14px; }
.wp-block-buttons + .wy-popup > summary { border: 2px solid var(--wp--preset--color--primary); background: transparent; }
.df-popup-button, .wy-main ._df_button { display: inline-block; width: auto; margin: 0 0 10px; padding: 12px 35px; border: 2px solid var(--wy-yellow); border-radius: 0; background: var(--wy-yellow); color: var(--wy-navy) !important; font-size: 16px; font-weight: 500; cursor: pointer; text-decoration: none; }
.df-popup-button:hover, .wy-main ._df_button:hover { border-color: #eaa800; background: #eaa800; }

/* ==========================================================================
   Header
   ========================================================================== */
.wy-topbar { background: var(--wy-navy); color: #fff; font-size: 14px; }
.wy-topbar .wy-wrap { display: flex; justify-content: flex-end; gap: 28px; padding-block: 15px; }
.wy-topbar a { color: #fff; text-decoration: none; }
.wy-header { position: relative; z-index: 20; background: var(--wp--preset--color--sky); }
.wy-header .wy-wrap { display: flex; align-items: center; gap: 28px; padding-block: 10px; }
.wy-logo img { display: block; width: 150px; height: auto; }
.wy-header__end { display: flex; align-items: center; gap: 22px; margin-left: auto; }
.wy-account { color: var(--wy-navy); font-size: 16px; font-weight: 500; text-decoration: none; }

/* Menu */
.wy-menu { display: flex; gap: 28px; margin: 0; padding: 0; list-style: none; }
.wy-menu li { position: relative; }
.wy-menu a { display: block; padding: 8px 0; color: var(--wy-navy); font-size: 17px; font-weight: 500; text-decoration: none; }
.wy-menu .menu-item-has-children > a::after { content: " ⌄"; }
.wy-menu .sub-menu { position: absolute; left: 0; top: 100%; display: none; min-width: 320px; margin: 0; padding: 10px 18px; background: #fff; list-style: none; box-shadow: var(--wy-shadow); }
/* Na .wy-menu: het mobiele account-lijstje is ook een .wy-menu. */
.wy-nav-toggle, .wy-nav-label, .wy-mobile-only, .wy-sub-toggle { display: none; }

/* Zoeken */
.wy-search { position: relative; }
.wy-search > summary, .wy-lang > summary { list-style: none; cursor: pointer; }
.wy-search > summary::-webkit-details-marker, .wy-lang > summary::-webkit-details-marker { display: none; }
.wy-search > summary { width: 24px; height: 24px; background: currentColor; color: var(--wy-navy); -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m16 16 6 6'/%3E%3C/svg%3E") center / 20px no-repeat; mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='3'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m16 16 6 6'/%3E%3C/svg%3E") center / 20px no-repeat; }
.wy-searchform { position: absolute; top: calc(100% + 10px); left: 0; display: flex; padding: 10px; background: #fff; box-shadow: var(--wy-shadow); }
.wy-searchform input { width: 240px; padding: 10px; border: 1px solid var(--wp--preset--color--sky); font: inherit; }
.wy-searchform button { padding: 10px 16px; border: 0; background: var(--wy-yellow); color: var(--wy-navy); font: inherit; font-weight: 500; cursor: pointer; }

/* Taalkeuze */
.wy-lang { position: relative; font-size: 14px; }
.wy-lang summary { box-sizing: border-box; display: flex; align-items: center; gap: 8px; height: 36px; padding: 0 12px; border: 1px solid rgb(206 213 221); border-radius: 6px; background: #fff; color: var(--wy-navy); font-size: 15px; font-weight: 500; transition: border-color var(--wy-t); }
.wy-lang summary::after { content: ""; width: 6px; height: 6px; margin: -3px 0 0 2px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform var(--wy-t), margin var(--wy-t); }
.wy-lang[open] summary::after { margin-top: 3px; transform: rotate(-135deg); }
.wy-lang summary:hover, .wy-lang[open] summary { border-color: var(--wp--preset--color--primary); }
.wy-lang img { border-radius: 2px; box-shadow: 0 0 0 1px rgb(0 55 107 / .12); }
.wy-lang ul { position: absolute; z-index: 30; top: calc(100% + 6px); right: 0; min-width: 160px; margin: 0; padding: 6px; border-radius: 5px; background: #fff; list-style: none; box-shadow: var(--wy-shadow); }
.wy-lang li + li { margin-top: 2px; }
.wy-lang li a { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border-radius: 5px; color: var(--wy-navy); font-size: 15px; text-decoration: none; }
.wy-lang li a:hover, .wy-lang li a[aria-current] { background: rgb(239 244 250); }
.wy-lang li a[aria-current] { font-weight: 600; }

/* ==========================================================================
   Secties (omgezet uit Avada)
   ========================================================================== */
.wy-section { position: relative; padding-block: 70px; }
.wp-block-group.wy-section, .wp-block-post-content > .wp-block-group { margin-block: 0; }
.wp-block-post-content > .wp-block-group.wy-section + .wp-block-group.wy-section { margin-top: 0; }
.wy-section--tint, .wy-hero { background: var(--wp--preset--color--sky); }
.wy-dark, .wy-dark :is(h1, h2, h3, h4, h5, h6, p, li, a:not(.wp-element-button)) { color: #fff; }
.wy-rounded img, .wy-rounded { border-radius: var(--wy-radius); }
.wp-block-columns { gap: 40px; margin-block: 0; }
.wp-block-image { margin-block: 0; }
.wp-block-video video { display: block; }
.wp-block-video video, .wp-block-embed iframe { width: 100%; border-radius: var(--wy-radius); }
.wy-video { display: block; width: 100%; aspect-ratio: 16 / 9; border: 0; border-radius: var(--wy-radius); }

/* USP's in de blauwe sectie als losse kaarten, zoals op wymefa.nl. */
.wy-dark .wp-block-columns:has(> .wp-block-column > h3.wy-ic) { gap: 22px; }
.wy-dark .wp-block-column:has(> h3.wy-ic) { box-sizing: border-box; padding: 30px 28px 40px; background: rgb(1 107 190); }
.wy-dark .wp-block-column:has(> h3.wy-ic) > :last-child { margin-bottom: 0; }

/* Golfranden: .wy-sep bovenaan een sectie, .wy-divider onderaan (product en archief) */
.wy-sep { height: 70px; background: var(--wy-sep, #fff); clip-path: polygon(0 0, 100% 0, 100% 45%, 50% 100%, 0 45%); }
.wy-sep--up { transform: scaleY(-1); }
.wy-section > .wy-sep { position: absolute; top: -1px; left: 0; right: 0; margin: 0; max-width: none; }
.wy-section.wy-dark > .wy-sep { --wy-sep: var(--wp--preset--color--sky) !important; }
/* Na een blauwe sectie wijst de golf omhoog: het witte vlak loopt in een punt het blauw in. */
.wy-section.wy-dark + .wy-section > .wy-sep { top: -69px; transform: scaleY(-1); }
.wy-section:has(> .wy-sep) { padding-top: 110px; }
.wp-block-post-content > .wy-sep { max-width: none; margin-block: 0; }
.wy-divider { position: relative; padding-bottom: 130px; }
.wy-divider::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 70px; background: var(--wy-divider, #fff); clip-path: polygon(0 100%, 0 45%, 50% 100%, 100% 45%, 100% 100%); pointer-events: none; }

/* Blauw/gele blok met toepassingen */
.wy-split { background: linear-gradient(101deg, var(--wp--preset--color--primary) 49.8%, var(--wy-yellow) 50%); color: var(--wy-navy); }
.wy-split li { color: var(--wy-navy); }
.wy-split h2 { color: inherit; }
/* Mobiel (wy-split--mobiel): blok helemaal blauw, checklisttekst wit. */
@media (max-width: 781px) { .wy-split { background: var(--wp--preset--color--primary); } .wy-split li { color: #fff; } }


/* Zichtbaarheid per schermbreedte (uit Avada) */
@media (max-width: 781px) { .wy-no-small { display: none !important; } }
@media (min-width: 782px) and (max-width: 1000px) { .wy-no-medium { display: none !important; } }
@media (min-width: 1001px) { .wy-no-large { display: none !important; } }

/* Tekst */
.wp-block-post-content p, .wp-block-post-content li { line-height: 1.72; }
.wp-block-post-content p { margin-block: 0 20px; }
.wp-block-post-content h1 { margin-block: 0 20px; }
.wp-block-post-content h2 { margin-block: 0 15px; line-height: 1.1; }
.wp-block-post-content h2[style*="font-size:30px"] { line-height: 1.4; }
.wp-block-post-content h3 { margin-block: 0 15px; line-height: 1.3; }

/* Titel-reveal (alle paginatitels): verborgen tot SplitText klaar is; laadt het script niet, dan verschijnt de titel alsnog. Selectors gelijk aan hero-title.js. */
@keyframes wy-title-safe { to { visibility: visible; } }
@media (prefers-reduced-motion: no-preference) {
	:is(.wy-js .wp-block-post-content > .wy-section:first-child h1, .wy-js .wy-hero h1) { visibility: hidden; animation: wy-title-safe 0s 2.5s forwards; }
}
/* Ruimte in het masker, anders vallen de staarten van g en j weg. */
.wy-hl-mask { padding-bottom: .14em; margin-bottom: -.14em; }

/* ==========================================================================
   Iconen: Font Awesome Free 5.15.4 by @fontawesome, https://fontawesome.com, licentie CC BY 4.0. Alleen de gebruikte iconen.
   ========================================================================== */
:root {
	--wy-fa-angle-down: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M143 352.3L7 216.3c-9.4-9.4-9.4-24.6 0-33.9l22.6-22.6c9.4-9.4 24.6-9.4 33.9 0l96.4 96.4 96.4-96.4c9.4-9.4 24.6-9.4 33.9 0l22.6 22.6c9.4 9.4 9.4 24.6 0 33.9l-136 136c-9.2 9.4-24.4 9.4-33.8 0z'/%3E%3C/svg%3E");
	--wy-fa-arrow-right: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M190.5 66.9l22.2-22.2c9.4-9.4 24.6-9.4 33.9 0L441 239c9.4 9.4 9.4 24.6 0 33.9L246.6 467.3c-9.4 9.4-24.6 9.4-33.9 0l-22.2-22.2c-9.5-9.5-9.3-25 .4-34.3L311.4 296H24c-13.3 0-24-10.7-24-24v-32c0-13.3 10.7-24 24-24h287.4L190.9 101.2c-9.8-9.3-10-24.8-.4-34.3z'/%3E%3C/svg%3E");
	--wy-fa-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M97.12 362.63c-8.69-8.69-4.16-6.24-25.12-11.85-9.51-2.55-17.87-7.45-25.43-13.32L1.2 448.7c-4.39 10.77 3.81 22.47 15.43 22.03l52.69-2.01L105.56 507c8 8.44 22.04 5.81 26.43-4.96l52.05-127.62c-10.84 6.04-22.87 9.58-35.31 9.58-19.5 0-37.82-7.59-51.61-21.37zM382.8 448.7l-45.37-111.24c-7.56 5.88-15.92 10.77-25.43 13.32-21.07 5.64-16.45 3.18-25.12 11.85-13.79 13.78-32.12 21.37-51.62 21.37-12.44 0-24.47-3.55-35.31-9.58L252 502.04c4.39 10.77 18.44 13.4 26.43 4.96l36.25-38.28 52.69 2.01c11.62.44 19.82-11.27 15.43-22.03zM263 340c15.28-15.55 17.03-14.21 38.79-20.14 13.89-3.79 24.75-14.84 28.47-28.98 7.48-28.4 5.54-24.97 25.95-45.75 10.17-10.35 14.14-25.44 10.42-39.58-7.47-28.38-7.48-24.42 0-52.83 3.72-14.14-.25-29.23-10.42-39.58-20.41-20.78-18.47-17.36-25.95-45.75-3.72-14.14-14.58-25.19-28.47-28.98-27.88-7.61-24.52-5.62-44.95-26.41-10.17-10.35-25-14.4-38.89-10.61-27.87 7.6-23.98 7.61-51.9 0-13.89-3.79-28.72.25-38.89 10.61-20.41 20.78-17.05 18.8-44.94 26.41-13.89 3.79-24.75 14.84-28.47 28.98-7.47 28.39-5.54 24.97-25.95 45.75-10.17 10.35-14.15 25.44-10.42 39.58 7.47 28.36 7.48 24.4 0 52.82-3.72 14.14.25 29.23 10.42 39.59 20.41 20.78 18.47 17.35 25.95 45.75 3.72 14.14 14.58 25.19 28.47 28.98C104.6 325.96 106.27 325 121 340c13.23 13.47 33.84 15.88 49.74 5.82a39.676 39.676 0 0 1 42.53 0c15.89 10.06 36.5 7.65 49.73-5.82zM97.66 175.96c0-53.03 42.24-96.02 94.34-96.02s94.34 42.99 94.34 96.02-42.24 96.02-94.34 96.02-94.34-42.99-94.34-96.02z'/%3E%3C/svg%3E");
	--wy-fa-box: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M509.5 184.6L458.9 32.8C452.4 13.2 434.1 0 413.4 0H272v192h238.7c-.4-2.5-.4-5-1.2-7.4zM240 0H98.6c-20.7 0-39 13.2-45.5 32.8L2.5 184.6c-.8 2.4-.8 4.9-1.2 7.4H240V0zM0 224v240c0 26.5 21.5 48 48 48h416c26.5 0 48-21.5 48-48V224H0z'/%3E%3C/svg%3E");
	--wy-fa-boxes: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M560 288h-80v96l-32-21.3-32 21.3v-96h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16zm-384-64h224c8.8 0 16-7.2 16-16V16c0-8.8-7.2-16-16-16h-80v96l-32-21.3L256 96V0h-80c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16zm64 64h-80v96l-32-21.3L96 384v-96H16c-8.8 0-16 7.2-16 16v192c0 8.8 7.2 16 16 16h224c8.8 0 16-7.2 16-16V304c0-8.8-7.2-16-16-16z'/%3E%3C/svg%3E");
	--wy-fa-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.898 439.404l-166.4-166.4c-9.997-9.997-9.997-26.206 0-36.204l36.203-36.204c9.997-9.998 26.207-9.998 36.204 0L192 312.69 432.095 72.596c9.997-9.997 26.207-9.997 36.204 0l36.203 36.204c9.997 9.997 9.997 26.206 0 36.204l-294.4 294.401c-9.998 9.997-26.207 9.997-36.204-.001z'/%3E%3C/svg%3E");
	--wy-fa-clipboard-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M336 64h-80c0-35.3-28.7-64-64-64s-64 28.7-64 64H48C21.5 64 0 85.5 0 112v352c0 26.5 21.5 48 48 48h288c26.5 0 48-21.5 48-48V112c0-26.5-21.5-48-48-48zM192 40c13.3 0 24 10.7 24 24s-10.7 24-24 24-24-10.7-24-24 10.7-24 24-24zm121.2 231.8l-143 141.8c-4.7 4.7-12.3 4.6-17-.1l-82.6-83.3c-4.7-4.7-4.6-12.3.1-17L99.1 285c4.7-4.7 12.3-4.6 17 .1l46 46.4 106-105.2c4.7-4.7 12.3-4.6 17 .1l28.2 28.4c4.7 4.8 4.6 12.3-.1 17z'/%3E%3C/svg%3E");
	--wy-fa-download: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M216 0h80c13.3 0 24 10.7 24 24v168h87.7c17.8 0 26.7 21.5 14.1 34.1L269.7 378.3c-7.5 7.5-19.8 7.5-27.3 0L90.1 226.1c-12.6-12.6-3.7-34.1 14.1-34.1H192V24c0-13.3 10.7-24 24-24zm296 376v112c0 13.3-10.7 24-24 24H24c-13.3 0-24-10.7-24-24V376c0-13.3 10.7-24 24-24h146.7l49 49c20.1 20.1 52.5 20.1 72.6 0l49-49H488c13.3 0 24 10.7 24 24zm-124 88c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20zm64 0c0-11-9-20-20-20s-20 9-20 20 9 20 20 20 20-9 20-20z'/%3E%3C/svg%3E");
	--wy-fa-envelope: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M502.3 190.8c3.9-3.1 9.7-.2 9.7 4.7V400c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V195.6c0-5 5.7-7.8 9.7-4.7 22.4 17.4 52.1 39.5 154.1 113.6 21.1 15.4 56.7 47.8 92.2 47.6 35.7.3 72-32.8 92.3-47.6 102-74.1 131.6-96.3 154-113.7zM256 320c23.2.4 56.6-29.2 73.4-41.4 132.7-96.3 142.8-104.7 173.4-128.7 5.8-4.5 9.2-11.5 9.2-18.9v-19c0-26.5-21.5-48-48-48H48C21.5 64 0 85.5 0 112v19c0 7.4 3.4 14.3 9.2 18.9 30.6 23.9 40.7 32.4 173.4 128.7 16.8 12.2 50.2 41.8 73.4 41.4z'/%3E%3C/svg%3E");
	--wy-fa-headset: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M192 208c0-17.67-14.33-32-32-32h-16c-35.35 0-64 28.65-64 64v48c0 35.35 28.65 64 64 64h16c17.67 0 32-14.33 32-32V208zm176 144c35.35 0 64-28.65 64-64v-48c0-35.35-28.65-64-64-64h-16c-17.67 0-32 14.33-32 32v112c0 17.67 14.33 32 32 32h16zM256 0C113.18 0 4.58 118.83 0 256v16c0 8.84 7.16 16 16 16h16c8.84 0 16-7.16 16-16v-16c0-114.69 93.31-208 208-208s208 93.31 208 208h-.12c.08 2.43.12 165.72.12 165.72 0 23.35-18.93 42.28-42.28 42.28H320c0-26.51-21.49-48-48-48h-32c-26.51 0-48 21.49-48 48s21.49 48 48 48h181.72c49.86 0 90.28-40.42 90.28-90.28V256C507.42 118.83 398.82 0 256 0z'/%3E%3C/svg%3E");
	--wy-fa-linkedin-in: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M100.28 448H7.4V148.9h92.88zM53.79 108.1C24.09 108.1 0 83.5 0 53.8a53.79 53.79 0 0 1 107.58 0c0 29.7-24.1 54.3-53.79 54.3zM447.9 448h-92.68V302.4c0-34.7-.7-79.2-48.29-79.2-48.29 0-55.69 37.7-55.69 76.7V448h-92.78V148.9h89.08v40.8h1.3c12.4-23.5 42.69-48.3 87.88-48.3 94 0 111.28 61.9 111.28 142.3V448z'/%3E%3C/svg%3E");
	--wy-fa-map-marker-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 512'%3E%3Cpath d='M172.268 501.67C26.97 291.031 0 269.413 0 192 0 85.961 85.961 0 192 0s192 85.961 192 192c0 77.413-26.97 99.031-172.268 309.67-9.535 13.774-29.93 13.773-39.464 0zM192 272c44.183 0 80-35.817 80-80s-35.817-80-80-80-80 35.817-80 80 35.817 80 80 80z'/%3E%3C/svg%3E");
	--wy-fa-phone-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M497.39 361.8l-112-48a24 24 0 0 0-28 6.9l-49.6 60.6A370.66 370.66 0 0 1 130.6 204.11l60.6-49.6a23.94 23.94 0 0 0 6.9-28l-48-112A24.16 24.16 0 0 0 122.6.61l-104 24A24 24 0 0 0 0 48c0 256.5 207.9 464 464 464a24 24 0 0 0 23.4-18.6l24-104a24.29 24.29 0 0 0-14.01-27.6z'/%3E%3C/svg%3E");
	--wy-fa-sign-out-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M497 273L329 441c-15 15-41 4.5-41-17v-96H152c-13.3 0-24-10.7-24-24v-96c0-13.3 10.7-24 24-24h136V88c0-21.4 25.9-32 41-17l168 168c9.3 9.4 9.3 24.6 0 34zM192 436v-40c0-6.6-5.4-12-12-12H96c-17.7 0-32-14.3-32-32V160c0-17.7 14.3-32 32-32h84c6.6 0 12-5.4 12-12V76c0-6.6-5.4-12-12-12H96c-53 0-96 43-96 96v192c0 53 43 96 96 96h84c6.6 0 12-5.4 12-12z'/%3E%3C/svg%3E");
	--wy-fa-tachometer-alt: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M288 32C128.94 32 0 160.94 0 320c0 52.8 14.25 102.26 39.06 144.8 5.61 9.62 16.3 15.2 27.44 15.2h443c11.14 0 21.83-5.58 27.44-15.2C561.75 422.26 576 372.8 576 320c0-159.06-128.94-288-288-288zm0 64c14.71 0 26.58 10.13 30.32 23.65-1.11 2.26-2.64 4.23-3.45 6.67l-9.22 27.67c-5.13 3.49-10.97 6.01-17.64 6.01-17.67 0-32-14.33-32-32S270.33 96 288 96zM96 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm48-160c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32zm246.77-72.41l-61.33 184C343.13 347.33 352 364.54 352 384c0 11.72-3.38 22.55-8.88 32H232.88c-5.5-9.45-8.88-20.28-8.88-32 0-33.94 26.5-61.43 59.9-63.59l61.34-184.01c4.17-12.56 17.73-19.45 30.36-15.17 12.57 4.19 19.35 17.79 15.17 30.36zm14.66 57.2l15.52-46.55c3.47-1.29 7.13-2.23 11.05-2.23 17.67 0 32 14.33 32 32s-14.33 32-32 32c-11.38-.01-20.89-6.28-26.57-15.22zM480 384c-17.67 0-32-14.33-32-32s14.33-32 32-32 32 14.33 32 32-14.33 32-32 32z'/%3E%3C/svg%3E");
	--wy-fa-user: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3Cpath d='M224 256c70.7 0 128-57.3 128-128S294.7 0 224 0 96 57.3 96 128s57.3 128 128 128zm89.6 32h-16.7c-22.2 10.2-46.9 16-72.9 16s-50.6-5.8-72.9-16h-16.7C60.2 288 0 348.2 0 422.4V464c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48v-41.6c0-74.2-60.2-134.4-134.4-134.4z'/%3E%3C/svg%3E");
	--wy-fa-user-circle: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 496 512'%3E%3Cpath d='M248 8C111 8 0 119 0 256s111 248 248 248 248-111 248-248S385 8 248 8zm0 96c48.6 0 88 39.4 88 88s-39.4 88-88 88-88-39.4-88-88 39.4-88 88-88zm0 344c-58.7 0-111.3-26.6-146.5-68.2 18.8-35.4 55.6-59.8 98.5-59.8 2.4 0 4.8.4 7.1 1.1 13 4.2 26.6 6.9 40.9 6.9 14.3 0 28-2.7 40.9-6.9 2.3-.7 4.7-1.1 7.1-1.1 42.9 0 79.7 24.4 98.5 59.8C359.3 421.4 306.7 448 248 448z'/%3E%3C/svg%3E");
	--wy-fa-youtube: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z'/%3E%3C/svg%3E");
	/* Plus en min van de toggles (awb-icons uit Avada) */
	--wy-toggle-plus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='matrix(1 0 0 -1 0 896)' d='M778.189 448h-215.040v215.040c0 28.262-22.886 30.72-51.2 30.72-28.262 0-51.2-2.406-51.2-30.72v-215.040h-214.989c-28.314 0-30.72-22.938-30.72-51.2s2.406-51.2 30.72-51.2h214.989v-215.040c0-28.262 22.938-30.72 51.2-30.72 28.314 0 51.2 2.458 51.2 30.72v215.040h215.040c28.314 0 30.771 22.938 30.771 51.2s-2.458 51.2-30.771 51.2z'/%3E%3C/svg%3E");
	--wy-toggle-minus: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1024 1024'%3E%3Cpath transform='matrix(1 0 0 -1 0 896)' d='M778.189 448h-532.429c-28.314 0-30.72-22.938-30.72-51.2s2.406-51.2 30.72-51.2h532.429c28.314 0 30.771 22.938 30.771 51.2s-2.458 51.2-30.771 51.2z'/%3E%3C/svg%3E");
}
.wy-ic--award { --wy-i: var(--wy-fa-award); }
.wy-ic--boxes { --wy-i: var(--wy-fa-boxes); }
.wy-ic--check, .wy-checks { --wy-i: var(--wy-fa-check); }
.wy-ic--clipboard-check { --wy-i: var(--wy-fa-clipboard-check); }
.wy-ic--envelope { --wy-i: var(--wy-fa-envelope); }
.wy-ic--headset { --wy-i: var(--wy-fa-headset); }
.wy-ic--linkedin-in { --wy-i: var(--wy-fa-linkedin-in); }
.wy-ic--phone-alt { --wy-i: var(--wy-fa-phone-alt); }
.wy-ic--user-circle { --wy-i: var(--wy-fa-user-circle); }
.wy-ic--youtube { --wy-i: var(--wy-fa-youtube); }
.wy-ic::before, .wy-checks li::before, .wy-arrow .wp-element-button::after, .wy-btn--arrow::after {
	content: ""; display: inline-block; flex: none; width: 1em; height: 1em; background: currentColor;
	-webkit-mask: var(--wy-i) center / contain no-repeat; mask: var(--wy-i) center / contain no-repeat;
}
a.wy-ic { display: inline-flex; align-items: center; gap: .6em; }
.wy-topbar .wy-ic::before, .wy-footer .wy-ic::before { background: var(--wy-yellow); }
.wy-account.wy-ic::before { width: 20px; height: 20px; }
.wy-social { margin-right: 14px; }
.wy-social::before { width: 24px; height: 24px; }

/* Vinkjeslijst */
.wy-checks { padding: 0; list-style: none; }
.wy-checks li { position: relative; padding-left: 30px; margin-block: 8px; }
.wy-checks li::before { position: absolute; left: 0; top: .3em; background: var(--wy-yellow); }
.wy-checks li.wy-ic--blue::before { background: var(--wp--preset--color--primary); }
.wy-checks a { text-decoration: none; }

/* Koppen met icoon; --block zet het icoon groot boven de kop (contactblokken) */
h3.wy-ic { display: flex; align-items: center; gap: 14px; font-size: 20px; line-height: 1.3; }
h3.wy-ic::before { width: 30px; height: 30px; background: var(--wy-yellow); }
h3.wy-ic--block { display: block; }
h3.wy-ic--block::before { display: block; width: 69px; height: 69px; margin-bottom: 16px; background: var(--wp--preset--color--primary); }
.wp-block-columns:has(> .wp-block-column > .wy-ic--block) { gap: 28px; }
.wp-block-columns:has(> .wp-block-column > .wy-ic--block) > .wp-block-column { box-sizing: border-box; padding: 30px; border: 1px solid var(--wy-line); }
.wp-block-columns:has(> .wp-block-column > .wy-ic--block) + .wp-block-columns { margin-top: 20px; }

/* Pijl in knoppen */
.wy-arrow .wp-element-button::after, .wy-btn--arrow::after { --wy-i: var(--wy-fa-arrow-right); margin-left: .6em; vertical-align: -.1em; transform: rotate(-45deg); }
@media (hover: hover) {
	.wy-menu > .menu-item-has-children > a::after {
		content: ""; display: inline-block; width: .7em; height: .7em; margin-left: .45em; background: currentColor;
		-webkit-mask: var(--wy-fa-angle-down) center / contain no-repeat; mask: var(--wy-fa-angle-down) center / contain no-repeat;
	}
}

/* ==========================================================================
   Toggles zoals op wymefa.nl: plus en min rechts, een tegelijk open via het name-attribuut
   ========================================================================== */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 700; font-display: swap; src: url("../fonts/montserrat-latin-700-normal.woff2") format("woff2"); }
.wy-dark .wp-block-details:not(.wy-popup) > summary { color: #fff; }
.wp-block-details:not(.wy-popup) { margin: 0; border-bottom: 1px solid var(--wp--preset--color--mist); interpolate-size: allow-keywords; }
.wp-block-details:not(.wy-popup) > summary {
	display: flex; align-items: center; justify-content: space-between; gap: 18px; padding-block: 10px;
	color: var(--wy-navy); font-family: "Montserrat", var(--wp--preset--font-family--body, sans-serif); font-size: 17px; font-weight: 700; line-height: 1.6;
	list-style: none; cursor: pointer; transition: color .2s;
}
.wp-block-details:not(.wy-popup) > summary::-webkit-details-marker { display: none; }
.wp-block-details:not(.wy-popup) > summary::after {
	content: ""; flex: none; width: 30px; height: 30px; background: var(--wp--preset--color--primary); transition: background-color .2s;
	-webkit-mask: var(--wy-toggle-plus) center / contain no-repeat; mask: var(--wy-toggle-plus) center / contain no-repeat;
}
.wp-block-details:not(.wy-popup)[open] > summary::after { -webkit-mask-image: var(--wy-toggle-minus); mask-image: var(--wy-toggle-minus); }
.wp-block-details:not(.wy-popup) > summary:hover, .wp-block-details:not(.wy-popup)[open] > summary { color: var(--wp--preset--color--accent); }
.wp-block-details:not(.wy-popup) > summary:hover::after, .wp-block-details:not(.wy-popup)[open] > summary::after { background: var(--wp--preset--color--accent); }
.wp-block-details:not(.wy-popup) > :not(summary) { margin-block: 0 15px; color: var(--wy-navy); }
.wy-dark .wp-block-details:not(.wy-popup) > summary::after { background: currentColor; }
/* Padding in plaats van marges: marges vallen buiten de hoogte-animatie en geven een sprong. */
@supports selector(::details-content) {
	.wp-block-details:not(.wy-popup) > :last-child { margin-bottom: 0; }
	.wp-block-details:not(.wy-popup)::details-content { padding-block: 0; }
	.wp-block-details:not(.wy-popup)[open]::details-content { padding-block: 10px 15px; }
}
@media (prefers-reduced-motion: no-preference) {
	.wp-block-details:not(.wy-popup)::details-content { block-size: 0; overflow: clip; transition: block-size .35s var(--wy-ease), padding-block .35s var(--wy-ease), content-visibility .35s allow-discrete; }
	.wp-block-details:not(.wy-popup)[open]::details-content { block-size: auto; }
}

/* Toggles en knoppen naast elkaar, zoals op de homepage van wymefa.nl */
.wp-block-column:has(> details[name]) { display: flex; flex-wrap: wrap; align-items: center; column-gap: 20px; }
.wp-block-column:has(> details[name]) > * { flex: 0 0 100%; }
.wp-block-column:has(> details[name]) > .wp-block-buttons, .wp-block-column:has(> details[name]) > .wy-popup:not([open]) { flex: none; }
.wp-block-column:has(> details[name]) > p + details { margin-top: 10px; }

/* ==========================================================================
   Kaarten, foto's en logo's
   ========================================================================== */
/* Productkaarten (plugin wymefa-filters) */
.wf-card { background: none; }
.wf-card__img { border-color: var(--wy-line); background: #fff; transition: border-color var(--wy-t); }
.wf-card__img:hover { border-color: var(--wp--preset--color--primary); }
.wf-card__img img { aspect-ratio: 339 / 247; }
.wf-card .wf-card__title { margin: 30px 0 15px; font-size: 18px; line-height: 1.3; }
.wf-card__title a:hover { color: var(--wp--preset--color--primary); }
.wf-card p { margin: 0 0 20px; font-size: 16px; line-height: 1.72; }
.wf-grid { gap: 40px 25px; }
h2 + .wf-grid { margin-top: 40px; }
/* Los verkrijgbaar (productpagina) als slider: 3 / 2 / 1 kaarten, scroll-snap, pijlen naast de kop. */
.wy-upsells__head { display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.wy-upsells__head h2 { margin: 0; }
.wy-upsells__nav { display: flex; gap: 8px; }
.wy-upsells:not(.is-scrollable) .wy-upsells__nav { display: none; }
.wy-upsells__btn { display: grid; place-content: center; width: 44px; height: 44px; padding: 0; border: 2px solid var(--wp--preset--color--primary); border-radius: 50%; background: transparent; color: var(--wp--preset--color--primary); cursor: pointer; transition: background-color .2s var(--wy-ease, ease), color .2s var(--wy-ease, ease), opacity .2s var(--wy-ease, ease); }
.wy-upsells__btn::before { content: ""; width: 9px; height: 9px; border: solid currentColor; border-width: 0 0 2px 2px; transform: translateX(2px) rotate(45deg); }
.wy-upsells__btn--next::before { transform: translateX(-2px) rotate(-135deg); }
.wy-upsells__btn:hover:not(:disabled) { background: var(--wp--preset--color--primary); color: #fff; }
.wy-upsells__btn:disabled { opacity: .3; cursor: default; }
.wy-upsells .wf-grid { --wy-up: 3; display: flex; gap: 25px; margin-top: 40px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; }
.wy-upsells .wf-grid::-webkit-scrollbar { display: none; }
/* 1px ruimte zodat de rand van de buitenste kaarten niet wordt afgesneden door overflow. */
.wy-upsells .wf-grid { position: relative; margin-inline: -1px; padding: 1px; scroll-padding-inline: 1px; }
.wy-upsells .wf-card { flex: 0 0 calc((100% - (var(--wy-up) - 1) * 25px) / var(--wy-up)); scroll-snap-align: start; }
@media (max-width: 1000px) { .wy-upsells .wf-grid { --wy-up: 2; } }
@media (max-width: 600px) { .wy-upsells .wf-grid { --wy-up: 1; } .wy-upsells__btn { width: 40px; height: 40px; } }
@media (prefers-reduced-motion: reduce) { .wy-upsells .wf-grid { scroll-behavior: auto; } }

/* Teamkaarten */
.wf-card--post .wf-card__img { border: 0; background: none; }
.wf-card--post .wf-card__img img { aspect-ratio: 328 / 337; object-fit: cover; }
.wf-card.wf-card--post .wf-card__title { margin: 30px 0 10px; font-size: 25px; }
.wf-card--post p { font-size: 19px; }
.wf-card__social { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 4px; background: var(--wp--preset--color--accent); color: #fff; transition: background-color .2s; }
.wf-card__social:hover { background: var(--wp--preset--color--primary); }
.wf-card__social::before { width: 16px; height: 16px; background: #fff; }

/* Filterkolom: USP- en afbeeldingsblok lopen tot de zijkanten, sluiten op elkaar aan en sluiten de kolom onderaan af. De kolom rekt niet mee met de resultaten. */
.wp-block-columns > .wp-block-column.wy-pad:has(.wf-form) { align-self: flex-start; }
.wp-block-column.wy-pad:has(.wf-form) > .wp-block-group.wy-pad { margin-inline: -24px; border-radius: 0; }
.wp-block-column.wy-pad:has(.wf-form) > .wp-block-group.wy-pad + .wp-block-group.wy-pad { margin-top: 0; }
.wp-block-column.wy-pad:has(.wf-form) > .wp-block-group.wy-pad:last-child { margin-bottom: -24px; border-radius: 0 0 var(--wy-radius) var(--wy-radius); }

/* Productoverzicht: de kopfoto steekt over de golfrand heen, zoals op wymefa.nl. */
.wp-block-post-content > .wy-section:first-child:has(+ .wy-section .wf-form) { z-index: 2; padding-bottom: 0; }
.wp-block-post-content > .wy-section:first-child:has(+ .wy-section .wf-form) .wp-block-column.wy-rounded { margin-bottom: -47px; }
.wp-block-post-content > .wy-section:first-child:has(+ .wy-section .wf-form) .wp-block-column.wy-rounded > .wp-block-spacer { display: none; }
/* Kopfoto's van Buigveren (2857) en Rioolreiniging (2276) bijgesneden tot 3:2, zoals de trekverenfoto. */
img:is(.wp-image-2857, .wp-image-2276) { width: 100%; aspect-ratio: 3 / 2; height: auto; object-fit: cover; }
/* Uitgelichte Polytrek Box op de homepage (2715): lager vlak, alleen wit boven en onder bijgesneden, zoals op wymefa.nl. */
img.wp-image-2715 { display: block; width: 100%; height: auto; aspect-ratio: 1052 / 589; object-fit: cover; background: #fff; }
.wp-block-post-content h3[style*="font-size:18px"] + p { font-size: 17px; }

/* Fotorij Over ons: raster, en met marquee.js een schermbrede band. */
.wy-photos { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 20px; }
.wy-photos .wp-block-image { margin: 0; }
.wy-photos img { display: block; width: 100%; height: 230px; object-fit: cover; border-radius: var(--wy-radius); }
.wy-photos.wy-marquee {
	display: flex; flex-wrap: nowrap; gap: 0; overflow: hidden; max-width: none;
	margin-inline: calc(-1 * var(--wp--style--root--padding-left)) calc(-1 * var(--wp--style--root--padding-right)) !important;
}
.wy-photos .wy-marquee__group { gap: 20px; padding-right: 20px; }
.wy-photos .wy-marquee__group img { width: 400px; height: 267px; max-width: none; object-fit: cover; aspect-ratio: auto; }

/* Logorij, en met marquee.js een doorlopende band. */
.wy-logos { display: flex; flex-wrap: wrap; gap: 24px; align-items: center; justify-content: space-between; padding: 0; list-style: none; }
.wy-logos img { display: block; max-height: 60px; width: auto; }
.wy-logos.wy-marquee {
	flex-wrap: nowrap; gap: 0; justify-content: flex-start; overflow: hidden;
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
	mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent);
}
.wy-logos.wy-marquee img { height: 80px; max-height: none; }
.wy-marquee__group { display: flex; flex: none; align-items: center; gap: 56px; padding-right: 56px; will-change: transform; }
.wy-marquee__group .wp-block-image { flex: none; margin: 0; }
.wy-marquee__group img { width: auto; max-width: none; }

/* ==========================================================================
   Product en archief
   ========================================================================== */
.wy-crumbs { margin-bottom: 26px; font-size: 14px; }
.wy-product { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 8fr); gap: 56px; align-items: start; }
.wy-gallery__main { padding: 16px; background: #fff; border-radius: var(--wy-radius); }
.wy-gallery__main img { display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: contain; }
/* Slider (meerdere foto's): schuift zoals op wymefa.nl, pijlen verschijnen bij hover. */
.wy-gallery[data-wy-slider] .wy-gallery__main { position: relative; }
.wy-gallery__track { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; overscroll-behavior-x: contain; scrollbar-width: none; outline-offset: 4px; }
.wy-gallery__track::-webkit-scrollbar { display: none; }
.wy-gallery__slide { flex: 0 0 100%; scroll-snap-align: start; scroll-snap-stop: always; }
.wy-gallery__nav { position: absolute; top: 50%; z-index: 1; display: grid; place-content: center; width: 30px; height: 30px; margin-top: -15px; padding: 0; border: 0; border-radius: 0; background: rgb(0 30 60 / .35); color: #fff; cursor: pointer; opacity: 0; transition: opacity .2s var(--wy-ease, ease), background-color .2s var(--wy-ease, ease); }
.wy-gallery__nav--prev { left: 16px; }
.wy-gallery__nav--next { right: 16px; }
.wy-gallery__nav::before { content: ""; width: 8px; height: 8px; border: solid currentColor; border-width: 0 0 2px 2px; transform: translateX(2px) rotate(45deg); }
.wy-gallery__nav--next::before { transform: translateX(-2px) rotate(-135deg); }
.wy-gallery__main:hover .wy-gallery__nav, .wy-gallery__nav:focus-visible { opacity: 1; }
.wy-gallery__nav:hover { background: var(--wp--preset--color--primary); }
.wy-gallery__thumbs button[aria-current="true"] { box-shadow: 0 0 0 2px var(--wp--preset--color--primary); }
/* Miniaturen: één rij zoals op wymefa.nl, 4 zichtbaar; de rest schuift mee met de slider. Padding 2px zodat de actieve rand niet wordt afgesneden. */
.wy-gallery[data-wy-slider] .wy-gallery__thumbs { position: relative; display: flex; gap: 8px; margin: 6px -2px 0; padding: 2px; overflow-x: auto; scroll-behavior: smooth; scrollbar-width: none; }
.wy-gallery[data-wy-slider] .wy-gallery__thumbs::-webkit-scrollbar { display: none; }
.wy-gallery[data-wy-slider] .wy-gallery__thumbs li { flex: 0 0 calc((100% - 24px) / 4); }
@media (prefers-reduced-motion: reduce) { .wy-gallery__track { scroll-behavior: auto; } }
.wy-gallery__thumbs { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 8px 0 0; padding: 0; list-style: none; }
.wy-gallery__thumbs button { width: 100%; padding: 6px; border: 0; background: #fff; border-radius: 6px; cursor: pointer; }
.wy-gallery__thumbs button:hover { box-shadow: 0 0 0 2px var(--wp--preset--color--primary); }
.wy-gallery__thumbs img { display: block; aspect-ratio: 1; object-fit: contain; }
.wy-brand { display: block; max-width: 85px; margin-bottom: 14px; }
.wy-gallery .wy-brand { margin: 32px 0 0; }
.wy-sku { margin: 0 0 12px; font-size: 16px; }
.wy-product h1 { margin: 0 0 10px; font-size: clamp(24px, 2.5vw, 34px); line-height: 1.1; }
.wy-product .price { margin: 0 0 14px; color: var(--wp--preset--color--primary); font-size: 20px; }
/* Variantkeuze zoals op wymefa.nl: blauwe balk, wit keuzeveld; "Wissen" rechts onder de balk. */
table.variations { width: 100%; margin-bottom: 20px; border-collapse: separate; border-spacing: 0; border-radius: 7px; overflow: hidden; background: linear-gradient(123deg, rgb(0 80 150) 0%, rgb(20 128 214) 100%); color: #fff; }
table.variations th, table.variations td { padding: 20px; text-align: left; vertical-align: middle; }
table.variations th { width: 30%; }
table.variations th label { color: #fff; font-size: 17px; font-weight: 700; }
table.variations td.value { position: relative; width: 70%; }
table.variations tr + tr th, table.variations tr + tr td { padding-top: 0; }
table.variations select {
	box-sizing: border-box; width: 100%; height: 50px; padding: 0 44px 0 16px; border: 1px solid rgb(206 213 221); border-radius: 6px; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%23a7b4c4' stroke-width='1.5'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") right 18px center / 12px 8px no-repeat;
	color: var(--wy-navy); font: inherit; font-size: 17px; appearance: none; -webkit-appearance: none;
}
table.variations select:hover { border-color: var(--wp--preset--color--accent); }
table.variations select:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
table.variations tr:last-child td.value .reset_variations { position: absolute; top: calc(100% + 20px); right: 0; }
.reset_variations { display: block; color: var(--wy-navy); font-size: 17px; text-decoration: none; opacity: .8; }
.wy-product .single_variation .price { margin: 0 0 14px; }
/* WooCommerce-blokstijlen maken de tabel een block en geven het keuzeveld min-width en padding; hier terugzetten. */
.wy-product table.variations { display: table; table-layout: fixed; }
.woocommerce .wy-product table.variations tr td select { height: 50px; min-width: 0; margin: 0; padding: 12px 44px 12px 16px; font-size: 17px; line-height: 24px; }
.wy-product table.variations th label { font-size: 17px; }
.single_add_to_cart_button { margin-top: 14px; padding: 14px 28px; border: 0; background: var(--wy-yellow); color: var(--wy-navy); font: inherit; font-weight: 500; cursor: pointer; }
.quantity input { width: 80px; padding: 12px; font: inherit; }
.wy-product-details { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: 56px; }
.wy-product-details h2 { margin-bottom: 15px; line-height: 1.1; }
.woocommerce-product-attributes { width: 100%; border-collapse: collapse; }
.woocommerce-product-attributes th, .woocommerce-product-attributes td { padding: 8px 0; border-bottom: 1px solid var(--wp--preset--color--sky); text-align: left; }
.woocommerce-product-attributes th { width: 40%; color: var(--wy-navy); font-family: var(--wp--preset--font-family--heading); font-weight: 400; }
.woocommerce-product-attributes p { margin: 0; }

/* Wit deel onder de lichtblauwe kop (productdetail en categoriepagina), zoals op wymefa.nl */
.wy-section--tint.wy-divider { margin-bottom: 0; }
.wy-section.wy-divider + .wy-section { margin-top: 0; }
.wy-section--tint.wy-divider + .wy-section, .wy-section.wy-archive { background: #fff; }
.wy-section.wy-archive .wf-form { padding: 20px; border-radius: 10px; background: var(--wp--preset--color--primary); }
.wy-section.wy-archive .wf-form__title { display: block; }

/* Lijsten en berichten */
.wy-list { padding-block: 50px; padding-inline: 20px; max-width: 1400px; margin-inline: auto; }
.wy-hero--plain { padding: 60px var(--wy-pad); }
.wy-article { padding-block: 60px; }

/* ==========================================================================
   Footer
   ========================================================================== */
.wy-footer { padding-block: 70px 20px; background: var(--wy-navy); color: #fff; font-size: 16px; }
.wy-footer a { color: #fff; text-decoration: none; }
.wy-footer h2 { margin: 0 0 15px; color: #fff; font-size: 20px; }
.wy-footer__cols { display: grid; grid-template-columns: repeat(4, 1fr); gap: 56px; }
.wy-footermenu { margin: 0; padding: 0; list-style: none; }
.wy-footermenu a { display: block; padding: 6px 0 7px; }
.wy-footer a.wy-ic { margin-block: 6px; }
.wy-footer .wy-social::before { width: 16px; height: 16px; background: #fff; transition: background-color var(--wy-t); }
.wy-footer__note { margin-top: 40px; }
.wy-footer__legal { margin: 100px 0 0; padding-top: 20px; border-top: 1px solid rgb(255 255 255 / .15); font-size: 14px; }
/* Eerste kolom: logo en social over de volle breedte, daaronder Metaalunie en 2BA naast elkaar. */
.wy-footer__cols > div:first-child { display: grid; grid-template-columns: 200px 125px; column-gap: 15px; align-content: start; }
.wy-footer__cols > div:first-child > a { grid-column: 1 / -1; order: 1; }
.wy-footer__cols > div:first-child > .wy-footer__links { grid-column: 1 / -1; order: 2; width: 200px; margin: 16px 0 40px; text-align: center; }
.wy-footer__cols > div:first-child > details { order: 3; margin: 0; }
.wy-footer__cols > div:first-child > p:last-child { order: 4; margin: 0; }
.wy-footer__cols > div:first-child > p:last-child img { width: 125px; height: 56px; object-fit: contain; }
.wy-metaalunie > summary { list-style: none; cursor: pointer; }
.wy-metaalunie > summary::-webkit-details-marker { display: none; }
.wy-metaalunie img { display: block; border-radius: 4px; }
/* Metaalunie als popup (zelfde systeem als .wy-popup), maar het logo blijft het logo, geen gele knop. */
.wy-metaalunie.wy-popup > summary, .wy-metaalunie.wy-popup > summary:hover { display: block; padding: 0; background: none; }
.wy-metaalunie.wy-popup[open] > summary { margin-bottom: 0; }
.wy-metaalunie.wy-popup[open] > .wy-metaalunie__panel { width: min(560px, calc(100vw - 40px)); color: var(--wy-navy); font-size: 16px; line-height: 1.6; }
.wy-metaalunie.wy-popup[open] .wy-metaalunie__panel img { width: 160px; height: auto; margin-bottom: 16px; }
.wy-metaalunie__panel p { margin: 0; }
.wy-metaalunie p { font-size: 14px; }

/* ==========================================================================
   Mijn account: inloggen als kaart, ingelogd een menu met iconen naast een inhoudskaart
   ========================================================================== */
.woocommerce-account .wy-main { padding-block: 70px 100px; }
.woocommerce-account .woocommerce { box-sizing: border-box; max-width: 1440px; margin-inline: auto; padding-inline: 20px; color: var(--wy-navy); font-size: 17px; }
.woocommerce-account .woocommerce a:not(.button, .wp-element-button) { color: var(--wp--preset--color--primary); }
.woocommerce-account .woocommerce h2 { margin-block: 0 20px; }
/* WooCommerce-clearfix zou anders een grid-cel innemen. */
.woocommerce-account.logged-in .woocommerce::before, .woocommerce-account.logged-in .woocommerce::after { display: none; }

/* Velden */
.woocommerce-account .woocommerce label { display: block; margin-bottom: 6px; font-size: 16px; font-weight: 500; line-height: 1.4; }
.woocommerce-account .woocommerce .required { color: var(--wp--preset--color--accent); text-decoration: none; }
.woocommerce-account .woocommerce .form-row { margin: 0 0 20px; padding: 0; }
.woocommerce-account .woocommerce .input-text, .woocommerce-account .woocommerce select, .woocommerce-account .woocommerce textarea { box-sizing: border-box; width: 100%; padding: 14px 16px; border: 1px solid var(--wy-line); border-radius: 6px; background: #fff; color: var(--wy-navy); font: inherit; line-height: 1.4; }
.woocommerce-account .woocommerce form .form-row .input-text, .woocommerce-account .woocommerce form .form-row select, .woocommerce-account .woocommerce form .form-row textarea { border: 1px solid var(--wy-line); border-radius: 6px; }
.woocommerce-account .woocommerce .input-text:focus, .woocommerce-account .woocommerce select:focus, .woocommerce-account .woocommerce textarea:focus { border-color: var(--wp--preset--color--accent); outline: 2px solid rgb(0 107 190 / .25); outline-offset: 0; }
.woocommerce-account .woocommerce form .form-row .input-text:focus { border-color: var(--wp--preset--color--accent); }
.woocommerce-account .woocommerce input[type="checkbox"] { width: 18px; height: 18px; margin: 0; accent-color: var(--wp--preset--color--primary); }
.woocommerce-account .woocommerce em { display: block; margin-top: 6px; font-size: 14px; font-style: normal; opacity: .75; }
.woocommerce-account .woocommerce fieldset { margin: 0 0 24px; padding: 24px; border: 1px solid var(--wy-line); border-radius: 8px; }
.woocommerce-account .woocommerce legend { padding-inline: 8px; font-weight: 500; }

/* Knoppen */
.woocommerce-account .woocommerce .button { display: inline-block; padding: 18px 34px; border: 0; border-radius: 0; background: var(--wy-yellow); color: var(--wy-navy); font: inherit; font-size: 16px; font-weight: 500; line-height: 1.2; text-decoration: none; cursor: pointer; transition: background-color .2s; }
.woocommerce-account .woocommerce .button:hover { background: #f2ae00; color: var(--wy-navy); }

/* Inloggen en wachtwoord vergeten */
.woocommerce-account:not(.logged-in) .woocommerce { max-width: 600px; }
.woocommerce-account .woocommerce .woocommerce-form-login, .woocommerce-account .woocommerce .lost_reset_password { margin: 0; padding: 40px; border: 0; border-radius: var(--wy-radius); background: #fff; box-shadow: var(--wy-card-shadow); }
.woocommerce-account .woocommerce .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin-top: 24px; margin-bottom: 0; }
.woocommerce-account .woocommerce .woocommerce-form-login__submit { order: -1; float: none; margin: 0; }
.woocommerce-account .woocommerce .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-weight: 400; }
.woocommerce-account .woocommerce .lost_password { margin: 16px 0 0; font-size: 16px; }
.woocommerce-account .woocommerce .lost_reset_password .form-row-first { float: none; width: 100%; }

/* Ingelogd: menu en inhoud */
.woocommerce-account.logged-in .woocommerce { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 40px; align-items: start; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation, .woocommerce-account .woocommerce .woocommerce-MyAccount-content { float: none; width: auto; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation { padding: 12px; border-radius: var(--wy-radius); background: #fff; box-shadow: var(--wy-card-shadow); }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li { margin: 0; line-height: 1.3; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li + li { margin-top: 2px; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a { display: flex; align-items: center; gap: 12px; padding: 13px 16px; border-radius: 6px; font-size: 16px; font-weight: 500; line-height: 1.3; transition: background-color .2s; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a:not(.button) { color: var(--wy-navy); text-decoration: none; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation a:hover { background: var(--wp--preset--color--sky); }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation .is-active a { background: var(--wp--preset--color--primary); }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation .is-active a:not(.button) { color: #fff; }
.woocommerce-MyAccount-navigation a::before { content: ""; flex: none; width: 18px; height: 18px; background: var(--wp--preset--color--primary); -webkit-mask: var(--wy-i) center / contain no-repeat; mask: var(--wy-i) center / contain no-repeat; }
.woocommerce-MyAccount-navigation .is-active a::before { background: #fff; }
.woocommerce-MyAccount-navigation-link--dashboard { --wy-i: var(--wy-fa-tachometer-alt); }
.woocommerce-MyAccount-navigation-link--orders { --wy-i: var(--wy-fa-box); }
.woocommerce-MyAccount-navigation-link--downloads { --wy-i: var(--wy-fa-download); }
.woocommerce-MyAccount-navigation-link--edit-address { --wy-i: var(--wy-fa-map-marker-alt); }
.woocommerce-MyAccount-navigation-link--edit-account { --wy-i: var(--wy-fa-user); }
.woocommerce-MyAccount-navigation-link--customer-logout { --wy-i: var(--wy-fa-sign-out-alt); padding-top: 8px; border-top: 1px solid var(--wp--preset--color--mist); }
.woocommerce-account .woocommerce .woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 8px; }
.woocommerce-account .woocommerce .woocommerce-MyAccount-content { min-height: 300px; padding: 40px; border-radius: var(--wy-radius); background: #fff; box-shadow: var(--wy-card-shadow); }
.woocommerce-MyAccount-content > p:last-child, .woocommerce-MyAccount-content > form > p:last-child { margin-bottom: 0; }
.woocommerce-account .woocommerce-MyAccount-content h2 { font-size: 24px; line-height: 1.2; }
.woocommerce-account .wc-block-components-notice-banner { margin: 0 0 24px; }

/* Tabellen */
.woocommerce-account .woocommerce table.shop_table { border: 0; border-collapse: collapse; }
.woocommerce-account .woocommerce table.shop_table th, .woocommerce-account .woocommerce table.shop_table td { padding: 14px 12px 14px 0; border: 0; border-bottom: 1px solid var(--wp--preset--color--mist); }

/* Adressen */
.woocommerce-account .woocommerce .col2-set { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-top: 24px; }
.woocommerce-account .woocommerce .col2-set::before, .woocommerce-account .woocommerce .col2-set::after { display: none; }
.woocommerce-account .woocommerce .col2-set .col-1, .woocommerce-account .woocommerce .col2-set .col-2 { float: none; width: auto; padding: 24px; border: 1px solid var(--wy-line); border-radius: 8px; }
.woocommerce-account .woocommerce .woocommerce-Address-title { display: block; margin-bottom: 10px; }
.woocommerce-account .woocommerce .woocommerce-Address-title::before, .woocommerce-account .woocommerce .woocommerce-Address-title::after { display: none; }
.woocommerce-account .woocommerce .woocommerce-Address-title h2 { float: none; margin-bottom: 6px; font-size: 20px; }
.woocommerce-account .woocommerce .woocommerce-Address-title .edit { float: none; font-size: 15px; }
.woocommerce-account .woocommerce address { font-style: normal; line-height: 1.6; }

@media (max-width: 899px) {
	.woocommerce-account .wy-main { padding-block: 44px 60px; }
	.woocommerce-account.logged-in .woocommerce { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.woocommerce-account .woocommerce .woocommerce-form-login, .woocommerce-account .woocommerce .lost_reset_password, .woocommerce-account .woocommerce .woocommerce-MyAccount-content { padding: 24px; }
	.woocommerce-account .woocommerce .col2-set { grid-template-columns: minmax(0, 1fr); }
}

/* ==========================================================================
   Overgangen en hover-states: kleur vervaagt overal, beweging alleen zonder voorkeur voor minder beweging
   ========================================================================== */
a, button, summary, .wy-btn, .wp-element-button, .df-popup-button, .wy-main ._df_button, .single_add_to_cart_button, .wy-searchform button,
.wy-gallery__thumbs button, .wf-group--check label, .wf-pagination a, .woocommerce-account .woocommerce .button {
	transition: color var(--wy-t), background-color var(--wy-t), border-color var(--wy-t), box-shadow var(--wy-t), opacity var(--wy-t);
}
input, select, textarea { transition: border-color var(--wy-t), outline-color var(--wy-t), box-shadow var(--wy-t); }
.wy-topbar a:hover, .wy-footer a:not(.wy-social):hover, .wf-reset a:hover { color: var(--wy-yellow); }
.reset_variations:hover { color: var(--wp--preset--color--primary); opacity: 1; }
.wy-footer .wy-social:hover::before { background: var(--wy-yellow); }
.wy-account:hover, .wy-search > summary:hover, .wy-search[open] > summary { color: var(--wp--preset--color--primary); }
.wy-searchform button:hover, .single_add_to_cart_button:hover, .wy-popup > summary:hover { background: #eaa800; }
.wp-block-buttons + .wy-popup > summary:hover { background: var(--wp--preset--color--primary); color: #fff; }
.wf-group--check label:hover { border-color: #fff; }
.wf-pagination a:hover { background: var(--wp--preset--color--sky); }
.wf-results { transition: opacity var(--wy-t); }

@keyframes wy-drop { from { opacity: 0; transform: translateY(-6px); } }
@media (prefers-reduced-motion: no-preference) {
	.wy-menu > .menu-item-has-children > a::after { transition: transform .25s var(--wy-ease); }
	.wy-menu > .menu-item-has-children:is(:hover, :focus-within) > a::after { transform: rotate(180deg); }
	.wy-lang[open] ul, .wy-search[open] .wy-searchform { animation: wy-drop .2s var(--wy-ease); }
	.wy-nav-toggle:checked ~ .wy-nav { animation: wy-drop .25s var(--wy-ease); }
	.wy-btn--arrow::after, .wy-arrow .wp-element-button::after { transition: transform .25s var(--wy-ease); }
	.wy-btn--arrow:hover::after, .wy-arrow .wp-element-button:hover::after { transform: rotate(-45deg) translateX(3px); }
	@media (hover: hover) {
		.wf-card__img img { transition: transform .45s var(--wy-ease); }
		.wf-card__img:hover img { transform: scale(1.04); }
	}
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* ==========================================================================
   Desktop
   ========================================================================== */
@media (min-width: 1001px) {
	/* Hoofdmenu: lichtblauw vlakje bij hover en op de huidige pagina; gap + padding houden de tekst op dezelfde plek. */
	.wy-menu { gap: 8px; }
	.wy-menu a { padding: 6px 10px; border-radius: 6px; }
	.wy-menu a:hover, .wy-menu .current-menu-item > a, .wy-menu .current-menu-ancestor > a { background: rgb(210 224 240); }
	.wy-menu .sub-menu { padding: 8px; border-radius: 5px; }
	.wy-menu .sub-menu a { padding: 8px 12px; border-radius: 5px; }
	.wy-menu .sub-menu li + li { margin-top: 2px; }
	.wy-menu .sub-menu a:hover, .wy-menu .sub-menu .current-menu-item > a { background: rgb(239 244 250); }
	/* Submenu vervaagt en schuift iets omhoog; visibility houdt het bij sluiten nog even bereikbaar.
	   Openen rustig uitlopend; sluiten na een korte pauze (de muis glipt er even af) en sneller. */
	.wy-menu .sub-menu { --wy-out: cubic-bezier(.22, 1, .36, 1); display: block; visibility: hidden; opacity: 0; transition: opacity .2s var(--wy-ease) .12s, transform .2s var(--wy-ease) .12s, visibility 0s linear .32s; }
	.wy-menu li:hover > .sub-menu, .wy-menu li:focus-within > .sub-menu { visibility: visible; opacity: 1; transition: opacity .3s var(--wy-out), transform .4s var(--wy-out), visibility 0s; }
}
@media (min-width: 1001px) and (prefers-reduced-motion: no-preference) {
	.wy-menu .sub-menu { transform: translateY(10px); }
	.wy-menu li:hover > .sub-menu, .wy-menu li:focus-within > .sub-menu { transform: none; }
}

/* ==========================================================================
   Tablet en mobiel (header tot 1000 px, gemeten op wymefa.nl)
   ========================================================================== */
@media (max-width: 1000px) {
	/* Header: logo, taal en menuknop op een rij; zoeken, account en contact staan in het menu. */
	.wy-header .wy-wrap { flex-wrap: wrap; gap: 0; }
	.wy-logo { order: 1; }
	.wy-logo img { width: 114px; }
	.wy-header > .wy-wrap > .wy-search, .wy-header__end > .wy-account, .wy-header__end > .wy-btn--outline { display: none; }
	.wy-header__end { order: 2; gap: 12px; }
	.wy-nav-toggle { display: block; position: absolute; opacity: 0; width: 34px; height: 26px; margin: 0; }
	.wy-nav-toggle:focus-visible + .wy-nav-label { outline: 2px solid var(--wp--preset--color--accent); }
	.wy-nav-label {
		display: block; order: 3; width: 25px; height: 22px; margin-left: 20px; color: var(--wp--preset--color--primary); cursor: pointer;
		background: linear-gradient(currentColor 0 0) 0 1px / 100% 3px no-repeat, linear-gradient(currentColor 0 0) 0 10px / 100% 3px no-repeat, linear-gradient(currentColor 0 0) 0 19px / 100% 3px no-repeat;
	}
	.wy-nav-toggle:checked + .wy-nav-label {
		background: linear-gradient(45deg, transparent calc(50% - 2px), currentColor calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px)),
			linear-gradient(-45deg, transparent calc(50% - 2px), currentColor calc(50% - 2px) calc(50% + 2px), transparent calc(50% + 2px));
	}
	.wy-nav { display: none; order: 4; flex: 0 0 calc(100% + 40px); margin: 10px -20px -10px; }
	.wy-nav-toggle:checked ~ .wy-nav { display: block; }
	.wy-mobile-only { display: block; }

	/* Menu: volle breedte, rijen met een lijn, submenu achter een pijltje (site.js). */
	.wy-menu { display: block; }
	.wy-menu > li { border-bottom: 1px solid rgb(206 213 221); }
	.wy-menu a, .wy-menu .current-menu-item > a, .wy-menu a:hover { padding: 21px 25px; font-size: 17px; font-weight: 600; line-height: 1.7; box-shadow: none; }
	.wy-menu .menu-item-has-children > a { padding-right: 70px; }
	.wy-menu .menu-item-has-children > a::after { content: none; }
	.wy-menu .sub-menu { position: static; display: none; min-width: 0; padding: 0 0 10px; background: none; box-shadow: none; }
	.wy-menu .is-open > .sub-menu { display: block; }
	.wy-menu .sub-menu a { padding: 9px 25px 9px 40px; font-size: 16px; font-weight: 500; }
	.wy-sub-toggle { position: absolute; top: 0; right: 0; display: grid; place-content: center; width: 70px; height: 71px; padding: 0; border: 0; background: none; color: var(--wy-navy); cursor: pointer; }
	.wy-sub-toggle::before { content: ""; width: 7px; height: 7px; margin-top: -4px; border: solid currentColor; border-width: 0 2px 2px 0; transform: rotate(45deg); transition: transform var(--wy-t); }
	.wy-sub-toggle[aria-expanded="true"]::before { margin-top: 4px; transform: rotate(-135deg); }
	.wy-nav__search { padding: 12px 25px 20px; }
	.wy-navsearch { display: flex; align-items: center; height: 46px; padding-left: 50px; border-radius: 4px;
		background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2300376b' stroke-width='3'%3E%3Ccircle cx='10' cy='10' r='7'/%3E%3Cpath d='m16 16 6 6'/%3E%3C/svg%3E") 18px center / 16px no-repeat; }
	.wy-navsearch:focus-within { box-shadow: 0 0 0 2px var(--wp--preset--color--accent); }
	.wy-navsearch input { flex: 1; min-width: 0; height: 100%; padding: 0 12px 0 0; border: 0; background: none; color: var(--wy-navy); font: inherit; font-size: 16px; }
	.wy-navsearch input:focus { outline: 0; }
	.wy-navsearch button { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }

	.wy-section { padding-block: 44px; }
	.wy-product, .wy-product-details { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	.wy-footer__cols { grid-template-columns: repeat(2, 1fr); }
}

/* Na de 1000-px-regels: deze klassen winnen van .wy-section { padding-block: 44px }. */
.wy-pt0 { padding-top: 0; }
.wy-pb0 { padding-bottom: 0; }
.wy-pad { padding: 24px; }
/* Foto met blauw verloop */
.wy-photo { position: relative; isolation: isolate; padding-block: clamp(90px, 14vw, 200px); }
.wy-photo::before { content: ""; position: absolute; inset: 0; z-index: -1; background: linear-gradient(123deg, rgba(0, 38, 91, .83) 0%, rgba(2, 144, 226, .77) 100%); }

/* Fotoraster in een kolom (homepage): 20 px tussen de foto's, onderste rij even hoog en gelijk met de randen van de foto erboven. */
@media (min-width: 782px) {
	.wp-block-column > .wp-block-group.wy-rounded:has(+ .wp-block-columns) > .wp-block-spacer,
	.wp-block-column > .wp-block-columns > .wp-block-column.wy-rounded > .wp-block-spacer { display: none; }
	.wp-block-column > .wp-block-columns { gap: 20px; margin-top: 20px; }
	.wp-block-column > .wp-block-columns > .wp-block-column.wy-rounded { display: flex; flex-direction: column; }
	.wp-block-column > .wp-block-columns > .wp-block-column.wy-rounded > .wp-block-image { flex: 1; }
	.wp-block-column > .wp-block-columns > .wp-block-column.wy-rounded img { display: block; width: 100%; height: 100%; object-fit: cover; }
}

/* Vanaf 900 px: ruimtes per sectietype zoals op wymefa.nl (staat na de 1000-px-regels: de footer heeft vanaf 900 px vier kolommen). */
@media (min-width: 900px) {
	.wy-footer__cols { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.wp-block-post-content > .wy-section:first-child { padding-block: 107px 66px; }
	.wy-section .wy-section { padding-block: 0; }
	.wp-block-post-content > .wy-section.wy-dark:first-child { padding-block: 229px 226px; }
	.wp-block-post-content > .wy-section.wy-dark:first-child h1 { line-height: 1.1; }
	.wp-block-post-content > .wp-block-group.wy-section.wy-dark:first-child + .wy-section { position: relative; z-index: 1; margin-top: -70px; padding-bottom: 21px; }
	.wy-dark:first-child + .wy-section + .wy-section { padding-block: 70px 100px; }
	.wy-dark:first-child + .wy-section + .wy-section figure { width: 100%; margin-inline: 0; }
	.wy-dark:first-child + .wy-section + .wy-section figure img { width: 100%; height: auto; }
	.wp-block-post-content > .wp-block-group.wy-section.wy-dark:has(> .wy-sep) { margin-top: -60px; }
	.wy-section:has(> .wy-sep) { padding-block: 118px 100px; }
	.wy-section.wy-dark:has(> .wy-sep) { padding-block: 209px 175px; }
	.wy-section:has(> .wy-sep) > .wp-block-columns > .wp-block-column:first-child:has(> h2) { padding-right: 60px; }
	.wy-section:has(.wy-split) { padding-bottom: 21px; }
	.wy-split { margin-top: 60px; }
	.wy-split.wy-pad { padding: 50px; }
	.wy-split .wp-block-column:last-child { padding-left: 90px; }
	.wy-section:has(> .wy-photos) { padding-block: 70px 64px; }
	.wy-section:has(.wf-card--post) { padding-block: 10px 43px; }
	.wy-section:has(.wf-card--post) + .wy-section { padding-top: 223px; }
	.wy-section:has(.wf-card--post) + .wy-section + .wy-section { padding-block: 10px 100px; }
	.wy-section:has(> .wy-logos) { padding-block: 8px 83px; }
	.wy-dark .wp-block-columns + .wp-block-columns { margin-top: 85px; }
	.wp-block-column:has(> details[name]) { padding-inline: 27px 73px; }
	/* Productoverzicht: compactere kop, meer lucht rond filter en producten. */
	.wp-block-post-content > .wy-section:first-child:has(+ .wy-section .wf-form) { padding-top: 80px; }
	.wp-block-post-content > .wy-section:first-child + .wy-section:has(> .wy-sep):has(.wf-form) { padding-block: 170px 130px; }
}

@media (max-width: 899px) {
	.wy-dark .wp-block-columns + .wp-block-columns { margin-top: 30px; }
	.wy-section.wy-dark:has(> .wy-sep) { padding-bottom: 110px; }
	.wy-searchform input { width: 150px; }
	.wy-photos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
	.wy-photos img { height: auto; aspect-ratio: 3 / 2; }
	.wy-logos.wy-marquee img { height: 56px; }
	/* Homepage: de foto onder de kop steekt half in het blauwe vlak. */
	.wp-block-post-content > .wy-section.wy-dark:first-child { padding-block: 70px 130px; }
	.wp-block-post-content > .wp-block-group.wy-section.wy-dark:first-child + .wy-section { position: relative; z-index: 1; margin-top: -70px; padding-top: 0; }
	.wp-block-post-content > .wy-section:first-child:has(+ .wy-section .wf-form) .wp-block-column.wy-rounded img { width: 100%; aspect-ratio: 35 / 34; object-fit: cover; }
}

@media (max-width: 781px) {
	/* Gestapelde kolommen: een kolom met alleen een foto komt boven de tekst (niet in de kop). */
	.wp-block-post-content > .wy-section:not(:first-child) .wp-block-columns > .wp-block-column:has(img):not(:has(h1, h2, h3, h4, p, ul, details, form, .wp-block-buttons)) { order: -1; }
	/* Een rij met alleen een foto komt boven de kaarten (contact). */
	.wp-block-post-content > .wy-section:not(:first-child):has(> .wp-block-columns > .wp-block-column:only-child > .wp-block-image:only-child) { display: flex; flex-direction: column; gap: 20px; }
	.wp-block-post-content > .wy-section:not(:first-child):has(> .wp-block-columns > .wp-block-column:only-child > .wp-block-image:only-child) > .wp-block-columns { margin: 0; }
	.wp-block-post-content > .wy-section:not(:first-child) > .wp-block-columns:has(> .wp-block-column:only-child > .wp-block-image:only-child) { order: -1; }
	/* Fotoraster binnen een kolom blijft naast elkaar. */
	.wp-block-column .wp-block-columns { flex-wrap: nowrap !important; gap: 15px; }
	.wp-block-column .wp-block-columns > .wp-block-column { flex: 1 1 0 !important; min-width: 0; }
	.wp-block-column .wp-block-columns img { height: 220px; object-fit: cover; }

	/* Typografie */
	h2 { font-size: 27.7px; line-height: 1.1; }
	h2[style*="font-size:30px"] { font-size: 21px !important; line-height: 1.4; }
	h3, h3.wy-ic { font-size: 16.5px; line-height: 1.3; }
	h3[style*="font-size:18px"], .wf-card .wf-card__title { font-size: 15.5px !important; line-height: 1.3; }
	.wp-block-post-content h3[style*="font-size:18px"] + p { font-size: 15px; line-height: 1.72; }
	.wf-card.wf-card--post .wf-card__title { font-size: 18.7px; }
	.wp-block-details:not(.wy-popup) > summary { font-size: 15px; line-height: 1.6; }
	.wy-split h4 { font-family: var(--wp--preset--font-family--body); font-size: 18px !important; font-weight: 700; line-height: 1.1; }
	.wy-split li { font-size: 18px; line-height: 1.7; }

	.wy-dark .wp-block-columns:has(> .wp-block-column > h3.wy-ic) { gap: 20px; }
	.wy-dark .wp-block-column:has(> h3.wy-ic) { padding: 35px; }
	.wy-dark h3.wy-ic { gap: 20px; }

	/* Footer: logo, social, menu's, contact en daarna Metaalunie en 2BA naast elkaar. */
	.wy-footer__cols { grid-template-columns: 200px 125px; gap: 0 15px; }
	.wy-footer__cols > div:first-child { display: contents; }
	.wy-footer__cols > div:not(:first-child), .wy-footer__cols > div:first-child > a, .wy-footer__cols > div:first-child > .wy-footer__links { grid-column: 1 / -1; }
	.wy-footer__cols > div:first-child > .wy-footer__links { width: auto; margin: 16px 0 40px; text-align: left; }
	.wy-footer__cols > div:not(:first-child) { margin-bottom: 40px; }
	.wy-footer__cols > div:nth-child(2) { order: 3; }
	.wy-footer__cols > div:nth-child(3) { order: 4; }
	.wy-footer__cols > div:nth-child(4) { order: 5; }
	.wy-footer__cols > div:first-child > details { order: 6; }
	.wy-footer__cols > div:first-child > p:last-child { order: 7; }
}

@media (max-width: 767px) {
	.wy-logos.wy-marquee img { height: 65px; }
	.wy-photos .wy-marquee__group img { width: 185px; height: 123px; }
}

@media (max-width: 600px) {
	.wy-topbar .wy-wrap { justify-content: center; gap: 32px; }
	.wy-divider { padding-bottom: 80px; }
	.wy-divider::after { height: 36px; }
}

/* Popup (details.wy-popup): de inhoud opent als venster boven de pagina met een donkere achtergrond. site.js voegt de sluitknop, Esc en klik-ernaast toe. */
.wy-popup[open]::after { content: ""; position: fixed; inset: 0; z-index: 999; background: rgb(0 30 60 / .6); }
.wy-popup[open] > :not(summary) {
	position: fixed; z-index: 1000; top: 50%; left: 50%; box-sizing: border-box; width: min(1100px, calc(100vw - 40px)); max-height: calc(100vh - 60px); margin: 0 !important; padding: 56px 30px 30px;
	overflow: auto; overscroll-behavior: contain; border-radius: var(--wy-radius); background: #fff; box-shadow: 0 20px 60px rgb(0 30 60 / .3); transform: translate(-50%, -50%);
}
.wy-popup[open] > :not(summary) > * + * { margin-top: 20px; }
.wy-popup[open] > :not(summary) img { display: block; width: 100%; height: auto; }
html:has(.wy-popup[open]) { overflow: hidden; }
/* De sectie eromheen heeft een eigen laag (z-index 2); zolang de popup open is moet die boven de header. */
.wy-section:has(.wy-popup[open]) { z-index: 1001 !important; }
.wy-popup__close { position: absolute; top: 12px; right: 12px; display: grid; place-content: center; width: 36px; height: 36px; padding: 0; border: 0; border-radius: 50%; background: rgb(239 244 250); color: var(--wy-navy); cursor: pointer; }
.wy-popup__close::before, .wy-popup__close::after { content: ""; grid-area: 1 / 1; width: 16px; height: 2px; background: currentColor; transform: rotate(45deg); }
.wy-popup__close::after { transform: rotate(-45deg); }
.wy-popup__close:hover { background: var(--wp--preset--color--sky); }
@keyframes wy-popup-in { from { opacity: 0; transform: translate(-50%, calc(-50% + 12px)); } }
@keyframes wy-fade-in { from { opacity: 0; } }
@media (prefers-reduced-motion: no-preference) {
	.wy-popup[open] > :not(summary) { animation: wy-popup-in .25s var(--wy-ease); }
	.wy-popup[open]::after { animation: wy-fade-in .25s var(--wy-ease); }
}
@media (max-width: 600px) {
	.wy-popup[open] > :not(summary) { width: calc(100vw - 20px); max-height: calc(100vh - 20px); padding: 52px 12px 12px; }
}

/* Assortimentspagina: intro en zoekveld in de kop. */
.wy-archive__intro { max-width: 720px; margin: 16px 0 0; }
.wy-archive__search { display: flex; max-width: 560px; margin-top: 28px; }
.wy-archive__search input { flex: 1; min-width: 0; height: 52px; box-sizing: border-box; padding: 0 16px; border: 1px solid rgb(206 213 221); border-right: 0; border-radius: 6px 0 0 6px; background: #fff; color: var(--wy-navy); font: inherit; font-size: 17px; }
.wy-archive__search input:focus { border-color: var(--wp--preset--color--accent); outline: 0; }
.wy-archive__search button { padding: 0 26px; border: 0; border-radius: 0 6px 6px 0; background: var(--wy-yellow); color: var(--wy-navy); font: inherit; font-size: 16px; font-weight: 500; cursor: pointer; }
.wy-archive__search button:hover { background: #eaa800; }
/* Assortiment: categoriekeuze compacter. */
.wy-archive .wf-group--radio label { padding-block: 3px; line-height: 1.4; }
