/* 
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child is a child theme of Hello Elementor, created by Elementor team
Author: Elementor Team
Author URI: https://elementor.com/
Template: hello-elementor
Version: 2.0.1
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
Tags: flexible-header, custom-colors, custom-menu, custom-logo, editor-style, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

/* Add your custom styles here */

/* =====================================================================
   Primecook - header & footer, 1:1 waarden van de oude QSTool-site.
   Gemeten op primecook.nl bij viewport 1500px, 30-07-2026.

   Referentiematen origineel (document 1485px breed) - allemaal gehaald:
     header zichtbaar ......... 141px
     groene contactbar ......... 40px  (55px hoog, margin-top:-15px)
     menubalk ................. 100px  (menu line-height 100px)
     contactbar content ...... 1080px  (+13px padding l/r = 1106 totaal)
     contentcontainer ........ 1080px
     logoblok ............. 302 x 78px (logo max-height 80px)
     footer groene rij ....... 1080px  padding 4% 1% (border-box)
     footer kolom ............. 350px  (1050,3 / 3)

   Drie Elementor-eigenaardigheden zijn hier verwerkt. Wie deze CSS aanpast
   moet ze kennen, anders breekt de layout opnieuw:

   1. Container-padding loopt via de custom properties --padding-block-*
      en --padding-inline-*. Elementor schrijft die per element weg met drie
      klassen, dus met hogere specificiteit dan een enkele klasse hier.
      Daarom staan de variabelen hieronder met !important.

   2. Een "boxed" container bestaat uit twee elementen: .e-con met de
      max-width, en daarbinnen .e-con-inner. Zet je width:95% op beide, dan
      krimpt de content dubbel (1080 -> 1026) en valt het menu op twee
      regels. Breedte hoort dus op de container, de inner blijft 100%.

   3. Gebruik NOOIT een universele selector voor font-family. `.pc-header *`
      overschrijft ook de font-family van icoon-fonts, waardoor alle iconen
      verdwijnen. Roboto wordt hier alleen op de wrapper gezet en geerfd.
   ===================================================================== */

:root {
  --pc-green:        #7F9C90;
  --pc-green-hover:  #19C55D;
  --pc-text:         #3D3D3C;
  --pc-white:        #FFFFFF;
  --pc-border:       #DDDDDD;
  --pc-content:      1080px;
}

.pc-header,
.pc-footer { font-family: Roboto, sans-serif; }

/* ============================================ container-padding (zie 1) == */
.pc-header,
.pc-contactbar,
.pc-mainbar,
.pc-mobilebar,
.pc-mob-left,
.pc-mob-right,
.pc-mainbar-inner,
.pc-logocontainer,
.pc-menucontainer,
.pc-mobilelogocontainer,
.pc-footer,
.pc-footerwhite,
.pc-footergreen,
.pc-bomenbordertop,
.pc-footercol,
.pc-logobox-images {
  --padding-block-start: 0px !important;
  --padding-block-end: 0px !important;
  --padding-inline-start: 0px !important;
  --padding-inline-end: 0px !important;
}
.pc-contactbar-inner {
  --padding-block-start: 0px !important;
  --padding-block-end: 0px !important;
  --padding-inline-start: 13px !important;
  --padding-inline-end: 13px !important;
}
/* Padding hoort op de container zelf, niet op .e-con-inner. Een procentuele
   padding rekent namelijk tegen de breedte van het OUDERELEMENT. Zet je hem op
   .e-con-inner, dan is die ouder de boxed container (916px) in plaats van de
   volle breedte (985px) - en valt de footer smaller uit dan op het origineel. */
.pc-footergreen-inner {
  --padding-block-start: 0px !important;
  --padding-block-end: 0px !important;
  --padding-inline-start: 0px !important;
  --padding-inline-end: 0px !important;
  padding: 4% 1% !important;
}
.pc-footergreen-inner > .e-con-inner { padding: 0 !important; }

/* ================================================= breedtes (zie 2) ===== */
.pc-contactbar-inner,
.pc-mainbar-inner,
.pc-bomenbordertop,
.pc-footergreen-inner { margin-inline: auto !important; }
.pc-contactbar-inner { max-width: 1106px !important; width: 95% !important; }
.pc-mainbar-inner,
.pc-bomenbordertop,
.pc-footergreen-inner { max-width: var(--pc-content) !important; width: 95% !important; }

.pc-contactbar-inner > .e-con-inner,
.pc-mainbar-inner > .e-con-inner,
.pc-bomenbordertop > .e-con-inner,
.pc-footergreen-inner > .e-con-inner {
  width: 100%;
  max-width: 100%;
  margin-inline: 0;
}

/* ================================================== HEADER: contactbar == */
.pc-contactbar { background: var(--pc-green); min-height: 40px; }
.pc-contactbar-inner { min-height: 40px; }
.pc-contactbar-inner,
.pc-contactbar-inner > .e-con-inner {
  display: flex; flex-direction: row;
  justify-content: space-between; align-items: center;
}
.pc-headercontact .elementor-icon-list-item,
.pc-headercontact .elementor-icon-list-item > a,
.pc-headercontact .elementor-icon-list-text,
.pc-headersocials .elementor-icon-list-item > a {
  color: var(--pc-white); font-size: 16px; font-weight: 300;
  line-height: 28.8px; text-decoration: none;
}
.pc-headercontact .elementor-icon-list-icon svg,
.pc-headersocials .elementor-icon-list-icon svg { fill: var(--pc-white); }
.pc-headercontact .elementor-icon-list-icon svg { height: 16px; width: 16px; }
.pc-headersocials .elementor-icon-list-icon svg { height: 18px; width: 18px; }
.pc-headersocials .elementor-icon-list-items { gap: 20px; }
.pc-headercontact .elementor-icon-list-items,
.pc-headercontact .elementor-icon-list-item { margin: 0; padding: 0; }

/* ================================================== HEADER: hoofdbalk === */
.pc-header { border-bottom: 0 !important; }
.pc-mainbar {
  background: var(--pc-white);
  border-bottom: 1px solid var(--pc-border);
  min-height: 100px;
}
.pc-mainbar-inner,
.pc-mainbar-inner > .e-con-inner {
  display: flex; flex-direction: row;
  justify-content: space-between; align-items: center;
  min-height: 100px;
}
.pc-logocontainer { width: 28%; margin: 0 !important; }
.pc-logocontainer,
.pc-logocontainer > .e-con-inner {
  display: flex; flex-direction: row; align-items: center; gap: 10px;
}
.pc-logocontainer .elementor-widget-image,
.pc-mobilelogocontainer .elementor-widget-image { line-height: 0; }
.pc-logocontainer .pc-logo img,
.pc-logocontainer .pc-logo-second img {
  max-height: 80px; height: auto; width: auto; display: block;
}
.pc-menucontainer { width: 72%; }
.pc-menucontainer,
.pc-menucontainer > .e-con-inner {
  display: flex; flex-direction: row; align-items: center;
  justify-content: flex-end; gap: 0;
}

/* hoofdmenu: item-hoogte 100px, krimpt naar 80px zodra de header sticky is.
   De template heeft sticky_effects_offset = 1, zodat het krimpen pas na de
   eerste pixel scroll gebeurt - net als .menufixed op het origineel. */
.pc-mainmenu .elementor-nav-menu--main { flex-wrap: nowrap; }
.pc-mainmenu .elementor-nav-menu > li > a {
  color: var(--pc-text); font-family: Roboto, sans-serif; font-size: 16px;
  font-weight: 300; line-height: 100px; padding: 0 10px;
  white-space: nowrap; text-decoration: none;
  transition: color .5s ease-out, line-height .5s ease-out;
}
.pc-mainmenu .elementor-nav-menu > li > a:hover,
.pc-mainmenu .elementor-nav-menu > li > a:focus,
.pc-mainmenu .elementor-nav-menu > li > a.elementor-item-active:hover {
  color: var(--pc-green-hover);
}
.pc-header.elementor-sticky--effects .pc-mainmenu .elementor-nav-menu > li > a {
  line-height: 80px;
}
.pc-mainmenu .elementor-nav-menu--dropdown {
  background: var(--pc-white); box-shadow: none; border: 0;
  border-radius: 0; text-align: left; min-width: 0;
}
.pc-mainmenu .elementor-nav-menu--dropdown a {
  color: var(--pc-text); font-size: 15px; font-weight: 300;
  line-height: 35px; padding: 4px 25px 4px 15px; white-space: nowrap;
}
.pc-mainmenu .elementor-nav-menu--dropdown a:hover {
  background: var(--pc-white); color: var(--pc-green-hover);
}

/* ================================================== HEADER: mobiel ====== */
.pc-mobilebar { min-height: 80px; background: var(--pc-white); }
.pc-mobilelogocontainer { width: 200px; margin: 0 auto; }
.pc-mobilelogocontainer,
.pc-mobilelogocontainer > .e-con-inner {
  display: flex; align-items: center; gap: 10px; justify-content: center;
}
.pc-mobilebar .pc-logo img,
.pc-mobilebar .pc-logo-second img { max-height: 65px; width: auto; }
.pc-mobilemenu .elementor-menu-toggle {
  color: var(--pc-text); font-size: 35px; background: transparent;
}
.pc-mobilemenu .elementor-nav-menu--dropdown a {
  color: var(--pc-text); font-size: 18px; font-weight: 400;
  line-height: 50px; padding: 0 0 0 20px;
}

/* ================================================== FOOTER: witte blok == */
.pc-footerwhite { background: var(--pc-white); }
.pc-bomenbordertop { border-top: 1px solid var(--pc-border); }
.pc-logoboxkop .elementor-heading-title {
  color: var(--pc-text); font-size: 20px; font-weight: 500;
  line-height: 180%; margin: 0; padding-bottom: 0; text-align: center;
}
.pc-bomentekst,
.pc-bomentekst p {
  color: var(--pc-text); font-size: 18px; font-weight: 300;
  line-height: 32.4px; text-align: center; margin: 0;
}
.pc-bomentekst strong { font-weight: 400; }
/* let op: op de oude site is deze link niet gestyled (browser-blauw).
   Wil je hem in de huisstijl? Vervang #0000EE door var(--pc-green). */
.pc-bomentekst a { color: #0000EE; }
.pc-bomenlink img { max-width: 225px; margin: 10px 0; }
.pc-boom img     { max-width: 100%; height: auto; }
.pc-logobox-images { margin-top: 50px; }
.pc-logobox-images,
.pc-logobox-images > .e-con-inner {
  display: flex; flex-direction: row;
  justify-content: space-between; align-items: flex-start;
}
.pc-logobox-images .pc-partnerlogo img { max-width: 216px; height: auto; }

/* ================================================== FOOTER: groene blok = */
.pc-footergreen { background: var(--pc-green); }
.pc-footergreen-inner,
.pc-footergreen-inner > .e-con-inner {
  display: flex; flex-direction: row; align-items: flex-start;
  box-sizing: border-box;
}
.pc-footercol { width: 33.333%; }
.pc-footerkop .elementor-heading-title {
  color: var(--pc-white); font-size: 16px; font-weight: 400;
  line-height: 150%; margin: 0; padding-bottom: .4em;
}
.pc-footerkop-spaced .elementor-heading-title { padding-top: 1.5em; }
.pc-footerlist .elementor-icon-list-item,
.pc-footerlist .elementor-icon-list-item > a,
.pc-footerlist .elementor-icon-list-text {
  color: var(--pc-white); font-size: 16px; font-weight: 300;
  line-height: 150%; text-decoration: none;
}
.pc-footerlist .elementor-icon-list-item > a:hover { text-decoration: underline; }
.pc-footerlist .elementor-icon-list-icon svg {
  fill: var(--pc-white); height: 16px; width: 16px;
}
.pc-footerlist .elementor-icon-list-item { padding-bottom: 0; margin: 0; }
.pc-climpos img { width: 225px; max-width: 230px; height: auto; }

.pc-prod-tekst p.kop {
    color: #3d3d3c;
    font-family: 'Roboto', sans-serif;
    font-weight: 500 !important;
    font-size: 24px !important;
    margin: 0 !important;
    line-height: 140% !important;
    padding-bottom: .6em;
}

/* ------------------------------------------------------- responsive ----- */
/* Omslagpunt 1199px = identiek aan de oude site. Werkt ook als de
   Elementor-breakpoints nog op de standaardwaarde 1024 staan. */
@media screen and (max-width: 1199px) {
  .pc-contactbar,
  .pc-mainbar   { display: none !important; }
  .pc-mobilebar { display: flex !important; }
}
@media screen and (min-width: 1200px) {
  .pc-mobilebar { display: none !important; }
}
@media screen and (max-width: 767px) {
  .pc-footergreen-inner,
  .pc-footergreen-inner > .e-con-inner { flex-direction: column; }
  .pc-footercol { width: 100%; }
  .pc-footercol + .pc-footercol { margin-top: 30px; }
  .pc-logobox-images,
  .pc-logobox-images > .e-con-inner {
    flex-wrap: wrap; justify-content: center; gap: 20px;
  }
  .pc-logobox-images .pc-partnerlogo { width: 45%; }
}

/* ================================================== winkelmand ==========
   Elementor Menu Cart, teruggebracht naar de maten van het origineel:
   link 38x100, icoon 18x16, teller 30x30 op top:20px / left:25px.

   Het icoon is het custom icoon "fas fa-shopping-cart"; Elementor rendert
   dat als inline SVG (e-fas-shopping-cart), precies dezelfde glyph als op
   primecook.nl. FontAwesome-CSS is dus niet nodig.

   !important is hier nodig: de widget-CSS van Elementor heeft dezelfde
   specificiteit maar wordt na style.css ingeladen.
   ======================================================================= */
.pc-cartwrap .elementor-menu-cart__container { display: none !important; }
.pc-cartwrap .elementor-menu-cart__wrapper,
.pc-cartwrap .elementor-menu-cart__toggle_wrapper,
.pc-cartwrap .elementor-menu-cart__toggle { display: block; }

.pc-cartwrap .elementor-menu-cart__toggle_button {
  position: relative !important;
  display: block;
  box-sizing: border-box;
  width: 38px;
  padding: 0 10px !important;
  margin: 0;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  color: var(--pc-text) !important;
  line-height: 100px;
  text-align: right;
  text-decoration: none;
  transition: line-height .5s ease-out;
}
.pc-header.elementor-sticky--effects .pc-cartwrap .elementor-menu-cart__toggle_button {
  line-height: 80px;
}

/* geen subtotaal naast het icoon, net als op het origineel */
.pc-cartwrap .elementor-button-text,
.pc-cartwrap .elementor-screen-only { display: none !important; }

/* de teller hangt aan de link, niet aan het icoon */
.pc-cartwrap .elementor-button-icon { position: static !important; }

/* Het lettertype-icoon van het origineel staat op de basislijn, een SVG
   wordt op het midden uitgelijnd. Dat scheelt 2px; met top:-2px staat het
   icoon op exact dezelfde hoogte in de balk (41px vanaf de bovenkant). */
.pc-cartwrap svg.e-fas-shopping-cart {
  width: 18px !important;
  height: 16px !important;
  fill: var(--pc-text) !important;
  vertical-align: middle;
  position: relative;
  top: -2px;
}

.pc-cartwrap .elementor-button-icon-qty {
  position: absolute !important;
  top: 20px !important;
  left: 25px !important;
  right: auto !important;
  width: 30px !important;
  height: 30px !important;
  min-width: 0 !important;
  padding: 0 !important;
  border-radius: 50% !important;
  background-color: var(--pc-green) !important;
  color: var(--pc-white) !important;
  font-family: Roboto, sans-serif !important;
  font-size: 14px !important;
  font-weight: 300 !important;
  line-height: 30px !important;
  text-align: center !important;
}

/* mobiel: balk van 80px, groter icoon, teller linksboven */
.pc-cartwrap-mobile .elementor-menu-cart__toggle_button {
  width: auto;
  line-height: normal;
  text-align: center;
}
.pc-cartwrap-mobile svg.e-fas-shopping-cart {
  width: 23px !important;
  height: 20px !important;
}
.pc-cartwrap-mobile .elementor-button-icon-qty {
  top: -20px !important;
  left: 15px !important;
}

/* ==================================================== correcties =========
   Puntsgewijs nagemeten tegen primecook.nl op 30-07-2026.
   ======================================================================= */

/* 1. Tekst oogde dunner dan op het origineel. De letterdikte is identiek
      (Roboto 300), maar Hello Elementor zet -webkit-font-smoothing op
      antialiased; het origineel laat hem op auto staan. Op macOS scheelt dat
      zichtbaar in dikte. */
.pc-header,
.pc-footer,
.pc-header *,
.pc-footer * {
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}

/* 2. De hover-popup van WebwinkelKeur in de contactbar viel achter het
      hoofdmenu. De contactbar krijgt daarom een hogere stapelvolgorde dan de
      dropdown van het menu. */
.pc-contactbar { position: relative; z-index: 200; }
.pc-mainbar    { position: relative; z-index: 100; }
.pc-mainmenu .elementor-nav-menu--dropdown { z-index: 90; }

/* 3. Het actieve item (Home op de homepage) kreeg geen hover-kleur, omdat
      Elementor de kleur van .elementor-item-active met hogere specificiteit
      zet. */
.pc-mainmenu .elementor-nav-menu > li > a:hover,
.pc-mainmenu .elementor-nav-menu > li > a:focus,
.pc-mainmenu .elementor-nav-menu > li > a.elementor-item-active:hover,
.pc-mainmenu .elementor-nav-menu > li > a.elementor-item-active:focus,
.pc-mainmenu .elementor-nav-menu > li:hover > a.elementor-item-active {
  color: var(--pc-green-hover) !important;
}

/* 4 + 5. De pijltjes van de dropdowns waren ~12x12; op het origineel is de
   glyph even groot als de tekst: 16x16. En ze sprongen direct van kleur,
   terwijl de tekst 0,5s overvloeit. */
.pc-mainmenu .elementor-nav-menu > li > a .sub-arrow,
.pc-mainmenu .elementor-nav-menu > li > a .sub-arrow i,
.pc-mainmenu .elementor-nav-menu > li > a .sub-arrow svg {
  width: 16px;
  height: 16px;
  font-size: 16px;
  line-height: 16px;
}
.pc-mainmenu .elementor-nav-menu > li > a .sub-arrow svg {
  fill: currentColor;
  transition: fill .5s ease-out;
}
.pc-mainmenu .elementor-nav-menu > li > a .sub-arrow,
.pc-mainmenu .elementor-nav-menu > li > a .sub-arrow i {
  color: inherit;
  transition: color .5s ease-out;
}

/* 6. Onder de partnerlogo's hoort 10px lucht. Op het origineel ontstaat die
      doordat de <img> daar inline staat en de regel een staartruimte houdt;
      Elementor zet afbeeldingen op display:block, dus zetten we hem expliciet. */
.pc-logobox-images { padding-bottom: 10px; }

/* ======================================== mobiel: bovenbalk ============== */
/* Celverdeling van het origineel: 15% / 70% / 15%. */
.pc-mob-left  { width: 15%; justify-content: flex-start; }
.pc-mob-right { width: 15%; justify-content: center; }
.pc-mobilebar .pc-mobilelogocontainer { width: 70%; }
.pc-mobilebar .pc-mobilelogocontainer > .e-con-inner { width: 200px; margin: 0 auto; }

.pc-mobilemenu .elementor-menu-toggle {
  width: 80px;
  height: 80px;
  padding: 0;
  border: 0;
  border-radius: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent !important;
}
/* Hoogte vastzetten, breedte laten volgen. Op het origineel is de <i> 39px
   breed, maar dat is de advance-box van de letter; de getekende glyph is
   30,8px. Zetten we die 39px op de SVG, dan wordt hij 27% uitgerekt.
   Nagemeten op canvas: beide glyphs zijn identiek - inktvlak 30,8 x 26,5px,
   drie balken van ~4,5px met een steek van 11px. */
.pc-mobilemenu .elementor-menu-toggle i,
.pc-mobilemenu .elementor-menu-toggle svg {
  font-size: 35px;
  width: auto;
  height: 35px;
  fill: var(--pc-text);
  color: var(--pc-text);
}

/* ======================================== mobiel: uitschuifmenu ========== */
/* Het origineel schuift een vast paneel van 330px vanaf links in, onder de
   balk van 80px. Elementor klapt standaard een blok onder de knop uit; met
   onderstaande regels krijgt het dezelfde vorm en beweging. */
.pc-mobilemenu .elementor-nav-menu--dropdown {
  display: block !important;
  position: fixed !important;
  top: 80px !important;
  bottom: 0 !important;
  left: 0 !important;
  right: auto !important;
  width: 330px !important;
  max-width: 330px !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 !important;
  overflow-y: auto;
  background: var(--pc-white) !important;
  border: 0 !important;
  border-radius: 0 !important;
  z-index: 10000 !important;
  transform: translateX(-100%);
  transition: transform .5s ease-out;
  box-shadow: none;
}
.pc-mobilemenu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
.pc-mobilemenu .elementor-menu-toggle[aria-expanded="true"] + .elementor-nav-menu--dropdown {
  transform: translateX(0);
  box-shadow: rgba(0, 0, 0, .15) 10px 20px 20px;
}

.pc-mobilemenu .elementor-nav-menu--dropdown > ul { margin-top: 20px; padding: 0; }

/* submenu's staan op het origineel altijd open */
.pc-mobilemenu .elementor-nav-menu--dropdown .sub-menu {
  display: block !important;
  position: static !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 !important;
  width: auto !important;
}
.pc-mobilemenu .elementor-nav-menu--dropdown > ul > li > a {
  font-size: 18px;
  font-weight: 400;
  line-height: 50px;
  padding: 0 0 0 20px;
  color: var(--pc-text);
}
.pc-mobilemenu .elementor-nav-menu--dropdown .sub-menu > li > a {
  font-size: 16px;
  font-weight: 400;
  line-height: 35px;
  padding: 0 0 0 20px;
  color: var(--pc-text);
}
/* actief item houdt de gewone tekstkleur; alleen hover kleurt groen */
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-item,
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-item.elementor-item-active {
  background: transparent !important;
  color: var(--pc-text) !important;
}
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-item:hover,
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-item:focus {
  background: transparent !important;
  color: var(--pc-green-hover) !important;
}

/* ---- mobiel: logo en hamburger, nagemeten -------------------------------- */
/* Op het origineel is het logoblok altijd 200px breed (logo 139 + 10 gap +
   badge 51), waardoor het logo 51px hoog uitkomt. Wij begrenzen op hoogte,
   dat geeft exact hetzelfde resultaat op elke schermbreedte. */
.pc-mobilebar .pc-logo img,
.pc-mobilebar .pc-logo-second img { max-height: 51px !important; }

/* De hamburger is als widget-instelling op "fas fa-bars" gezet
   (toggle_icon_normal en toggle_icon_active), gelijk aan het origineel.
   Het icoon blijft daardoor ook bij een open menu een hamburger. */

/* paneel begint onder de balk; met de WP-adminbalk erbij schuift het mee */
.pc-mobilemenu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
.pc-mobilemenu .elementor-nav-menu--dropdown {
  top: calc(80px + var(--wp-admin--admin-bar--height, 0px)) !important;
}

/* ---- mobiel: submenu's in de kolom houden ------------------------------- */
/* SmartMenus schuift submenu's standaard opzij (left:-315px). In het paneel
   moeten ze gewoon onder hun bovenliggende item staan. */
.pc-mobilemenu .elementor-nav-menu--dropdown .sub-menu,
.pc-mobilemenu .elementor-nav-menu--dropdown ul.sub-menu {
  left: auto !important;
  right: auto !important;
  top: auto !important;
  transform: none !important;
  min-width: 0 !important;
}
.pc-mobilemenu .elementor-nav-menu--dropdown .sub-menu > li > a,
.pc-mobilemenu .elementor-nav-menu--dropdown .sub-menu > li > a.elementor-sub-item {
  font-size: 16px !important;
  font-weight: 400 !important;
  line-height: 35px !important;
  padding: 0 0 0 20px !important;
}

/* ---- pijltjes dropdown: exacte maat -------------------------------------
   Op het origineel is het pijltje een FontAwesome-glyph van 16px: de em-box
   is 16px hoog en 14px breed (viewBox 448/512). Elementor tekent dezelfde
   glyph als SVG maar schaalt hem kleiner, dus zetten we de maat vast.
   ------------------------------------------------------------------------ */
.pc-mainmenu .elementor-nav-menu .sub-arrow {
  width: 14px !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
/* de SVG is een flex-item en werd platgedrukt tot 4px; flex:none houdt hem
   op de maat van de originele glyph (14x16) */
.pc-mainmenu .elementor-nav-menu .sub-arrow svg {
  flex: 0 0 auto !important;
  width: 14px !important;
  height: 16px !important;
  max-width: none !important;
  fill: currentColor;
  transition: fill .5s ease-out;
}

/* ---- winkelmandteller volgt de balk ------------------------------------
   Op het origineel schuift de teller mee terwijl de balk van 100px naar 80px
   krimpt: top gaat van 20px naar 10px met dezelfde overgang van 0,5s. De
   afstand tussen icoon en teller blijft daardoor constant (15 / -21).
   Stond die top vast, dan sprong de teller tijdens het scrollen.
   ------------------------------------------------------------------------ */
.pc-cartwrap .elementor-button-icon-qty {
  transition: top .5s ease-out;
}

/* =============================== mobiele correcties, ronde 2 ============
   Nagemeten tegen primecook.nl bij 516px.
   ======================================================================= */

/* 1. Het paneel moet horizontaal inschuiven. Elementor animeert de dropdown
      zelf met scaleY(0) -> scaleY(1); die transform wint van de onze. Met
      !important nemen we hem over en houden we de beweging van het origineel
      aan: transition: left .5s ease-out (bij ons via transform, dat is
      vloeiender omdat het geen layout herberekent). */
.pc-mobilemenu .elementor-nav-menu--dropdown {
  transform: translateX(-100%) !important;
  transition: transform .5s ease-out !important;
}
.pc-mobilemenu .elementor-menu-toggle.elementor-active + .elementor-nav-menu--dropdown,
.pc-mobilemenu .elementor-menu-toggle[aria-expanded="true"] + .elementor-nav-menu--dropdown {
  transform: translateX(0) !important;
}

/* 2. Het paneel viel achter het logo. De cel .pc-mob-left is een eigen
      stapelcontext (position:relative + z-index:1000); de z-index van 10000
      op het paneel telt alleen bínnen die cel. Het logoblok heeft dezelfde
      z-index en staat later in de DOM, dus dat won. De cel zelf moet omhoog. */
.pc-mob-left { position: relative; z-index: 10001 !important; }

/* 3. Menu-items: rechts geen padding, net als op het origineel (0 0 0 20px). */
.pc-mobilemenu .elementor-nav-menu--dropdown > ul > li > a {
  padding: 0 0 0 20px !important;
}

/* 4. Afbeeldingen in het witte footerblok. Het origineel zet ze onder 770px
      allemaal op width:95% / max-width:150px / margin:5% en zet de rij met
      partnerlogo's terug van flex naar block, waardoor ze in twee rijen van
      twee vallen. */
@media only screen and (max-width: 770px) {
  /* De maten staan op de widget, niet op de <img>: procentuele waarden
     rekenen tegen de breedte van het ouderelement. Op de <img> zelf zou die
     ouder de widget van 150px zijn (5% = 7,5px); op de widget is het het
     blok van 476px, en dat geeft de 23,8px van het origineel. */
  .pc-footerwhite .elementor-widget-image {
    width: 95% !important;
    max-width: 150px !important;
    margin: 5% !important;
  }
  .pc-footerwhite .pc-boom.elementor-widget-image, .pc-footerwhite .pc-bomenlink.elementor-widget-image {
    max-width: 500px !important;
  }
  .pc-footerwhite .elementor-widget-image img {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
  }
  /* de rij partnerlogo's gaat van flex terug naar block: twee rijen van twee */
  .pc-logobox-images,
  .pc-logobox-images > .e-con-inner {
    display: block !important;
  }
  .pc-logobox-images .pc-partnerlogo { width: auto !important; }
  /* de vier logo's staan naast elkaar in twee rijen van twee, zoals op het
     origineel; Elementor-widgets zijn blokken, dus inline-block maken */
  .pc-logobox-images .elementor-widget-image {
    display: inline-block !important;
    vertical-align: top;
  }
  .pc-logobox-images,
  .pc-logobox-images > .e-con-inner { text-align: center; }
}

/* ---- WebwinkelKeur: uitnodigingsblok op mobiel -------------------------
   #wwkSidebarTop wordt door sidebar.js zelf aangemaakt en toont bezoekers
   die het nog niet hebben weggeklikt een uitklapbaar blok bovenaan de
   pagina. Op verzoek staat het uit. Let op: op mobiel zit de roze balk met
   de score in datzelfde element, die verdwijnt dus mee - hetzelfde eindbeeld
   als bij een bezoeker die op het kruisje heeft geklikt. De zwevende badge
   (#wwkSidebarFloat) op desktop blijft gewoon staan.
   ------------------------------------------------------------------------ */
#wwkSidebarTop { display: none !important; }

/* ---- hamburger: afgeronde uiteinden -----------------------------------
   Het origineel gebruikt FontAwesome 6 Pro; die glyph heeft ronde uiteinden.
   Elementor levert FontAwesome 5 Free mee en daar zijn de balken recht
   afgesneden. De vorm is verder identiek, dus tekenen we hem zelf na als
   masker - dan is geen betaald font nodig.

   Nagemeten op het origineel bij font-size 35px:
     inktvlak ....... 30,8 x 26,5px
     balk ........... 4,4px dik, 30,8px breed
     steek .......... 11px (64 en 160 eenheden op een viewBox van 512)
     uiteinden ...... volledig rond, radius = halve dikte
   ------------------------------------------------------------------------ */
.pc-mobilemenu .elementor-menu-toggle svg { display: none !important; }
.pc-mobilemenu .elementor-menu-toggle::before {
  content: "";
  display: block;
  width: 30.8px;
  height: 26.5px;
  background-color: var(--pc-text);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 384'%3E%3Crect width='448' height='64' y='0' rx='32'/%3E%3Crect width='448' height='64' y='160' rx='32'/%3E%3Crect width='448' height='64' y='320' rx='32'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 384'%3E%3Crect width='448' height='64' y='0' rx='32'/%3E%3Crect width='448' height='64' y='160' rx='32'/%3E%3Crect width='448' height='64' y='320' rx='32'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-size: 100% 100%;
          mask-size: 100% 100%;
}

/* ---- hamburger wordt kruisje bij open menu ----------------------------
   Afwijking van het origineel: daar blijft het icoon een hamburger. Op
   verzoek wisselt hij hier naar een kruisje.
   Zelfde streekdikte als de hamburger: 64/384 van de hoogte = 4,4px bij
   26,5px, met dezelfde ronde uiteinden. De balken zijn 479 lang zodat het
   kruisje na de draaiing van 45 graden precies in het vierkant past.
   ------------------------------------------------------------------------ */
.pc-mobilemenu .elementor-menu-toggle.elementor-active::before,
.pc-mobilemenu .elementor-menu-toggle[aria-expanded="true"]::before {
  width: 26.5px;
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 384'%3E%3Crect x='-47.5' y='160' width='479' height='64' rx='32' transform='rotate(45 192 192)'/%3E%3Crect x='-47.5' y='160' width='479' height='64' rx='32' transform='rotate(-45 192 192)'/%3E%3C/svg%3E");
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 384 384'%3E%3Crect x='-47.5' y='160' width='479' height='64' rx='32' transform='rotate(45 192 192)'/%3E%3Crect x='-47.5' y='160' width='479' height='64' rx='32' transform='rotate(-45 192 192)'/%3E%3C/svg%3E");
}

/* ================================================== cookiemelding ========
   Overgenomen van primecook.nl (QSTool), ongewijzigd. Alleen de regels die
   de melding zelf betreffen; de stijlen voor de losse cookiepagina staan er
   ook in omdat die dezelfde klassen gebruikt.
   ======================================================================= */
.qs_cookie_popup{position:fixed;bottom:2.5%;left:2.5%;right:2.5%;background:#283752;box-sizing:border-box;padding:2%;text-align:center;z-index:1000000000;font-family:Verdana,Geneva,Tahoma,sans-serif;opacity:.9;border-radius:5px;-webkit-transition:all 500ms ease-out;-moz-transition:all 500ms ease-out;-o-transition:all 500ms ease-out;transition:all 500ms ease-out}
.qs_cookie_popup_hidden{display:none}
.qs_cookie_popup_container{width:100%;max-width:960px;margin:15px auto}
.qs_cookie_title{font-family:inherit;color:#fff;font-size:24px;margin:0;padding:0;line-height:180%}
.qs_cookie_text,.qs_cookie_link{font-family:inherit;color:#fff;font-size:15px;margin:0;padding:0;line-height:150%}
.qs_cookie_link{text-decoration:none}
.qs_cookie_link:hover{text-decoration:underline}
.qs_cookie_button_wrap{margin-top:20px}
.qs_cookie_linkbtn{font-family:inherit;color:#fff;font-size:15px;margin:0 20px 0 0;padding:0;text-decoration:none;border:none;cursor:pointer;background:none}
.qs_cookie_acceptbtn,.qs_cookie_acceptbtnsmall,.qs_cookie_refusebtn,.qs_cookie_refusebtnsmall{font-family:inherit;color:#fff;font-size:15px;margin:0;padding:15px;text-decoration:none;border:2px solid #fff;background:#283752;border-radius:5px;cursor:pointer;-webkit-transition:all 500ms ease-out;-moz-transition:all 500ms ease-out;-o-transition:all 500ms ease-out;transition:all 500ms ease-out}
.qs_cookie_acceptbtn:hover,.qs_cookie_acceptbtnsmall:hover,.qs_cookie_refusebtn:hover,.qs_cookie_refusebtnsmall:hover{background:#fff;color:#283752}
.qs_cookie_refusebtn{margin-left:20px}
.qs_cookie_acceptbtnsmall,.qs_cookie_refusebtnsmall{padding:7px}
.qs_cookie_editable_wrap{border:1px solid #fff;box-sizing:border-box;padding:10px;margin-top:20px;opacity:1;height:350px;-webkit-transition:all 500ms ease-out;-moz-transition:all 500ms ease-out;-o-transition:all 500ms ease-out;transition:all 500ms ease-out}
.hideonload{height:0;overflow:hidden;opacity:0;margin:0;padding:0}
.qs_cookie_editable{width:100%;margin:10px auto;text-align:left}
.qs_cookie_editable input,.qs_cookie_editable label,.qs_cookie_editable p{display:inline;width:auto;min-width:0;text-align:left}
.qs_cookie_editable p{display:block}
.qs_cookie_page_wrap,.qs_cookie_table_head,.qs_cookie_table_text,.qs_cookiepage_text,.qs_cookiepage_subhead,.qs_cookiepage_acceptbtn{font-family:Verdana,Geneva,Tahoma,sans-serif}
.qs_edit_cookies:after{clear:both;display:block;content:''}
.qs_edit_cookies_wrap{background:#eee;box-sizing:border-box;padding:10px;border-radius:10px}
.qs_cookiepage_editable{width:50%;margin:10px auto;text-align:left;float:left}
.qs_cookiepage_acceptbtn{display:block;color:#283752;font-size:15px;margin:0 auto;padding:10px;text-decoration:none;border:2px solid #283752;background:#fff;border-radius:5px;cursor:pointer;-webkit-transition:all 500ms ease-out;-moz-transition:all 500ms ease-out;-o-transition:all 500ms ease-out;transition:all 500ms ease-out}
.qs_cookiepage_acceptbtn:hover{background:#283752;color:#fff}
.qs_cookiepage_editable input,.qs_cookiepage_editable label,.qs_cookiepage_editable p{display:inline;width:auto;min-width:0;text-align:left}
.qs_cookiepage_editable p{display:block}
.qs_cookie_table{table-layout:fixed;width:100%;border-collapse:collapse}
.qs_cookie_table,.qs_cookie_table tr,.qs_cookie_table td{border:1px solid #eee}
.qs_cookie_table td{padding:10px}
.qs_cookie_table_head{margin:0;padding:0}

/* ---- reset.css van Hello Elementor neutraliseren ----------------------
   Het thema legt eigen waarden op aan elke <button> en <input>. Op de
   oorspronkelijke site bestaat die reset niet, dus zetten we binnen de
   melding alleen de eigenschappen terug die daardoor afweken.

   Nagemeten verschil (origineel -> bij ons voor deze correctie):
     line-height ...... normal -> 22,5px
     border-radius .... 0      -> 3px   (op de knop Aanpassen)
     appearance ....... auto   -> button
   ---------------------------------------------------------------------- */
.qs_cookie_popup button {
  line-height: normal;
  border-radius: 0;
  -webkit-appearance: auto;
  appearance: auto;
}
.qs_cookie_popup .qs_cookie_acceptbtn,
.qs_cookie_popup .qs_cookie_acceptbtnsmall,
.qs_cookie_popup .qs_cookie_refusebtn,
.qs_cookie_popup .qs_cookie_refusebtnsmall {
  border-radius: 5px;
}
.qs_cookie_popup input[type="checkbox"] {
  line-height: normal;
  padding: 0;
}

/* ---- hover en focus van knoppen ---------------------------------------
   reset.css van Hello Elementor kleurt ELKE knop bij hover en focus:
     [type=button]:focus, [type=button]:hover, button:focus, button:hover
     { background-color: #c36; color: #fff; }
   Dat is de roze vlak achter "Aanpassen". Het origineel kent alleen een
   hover op de omlijnde knoppen; de tekstknop verandert daar niet.
   ---------------------------------------------------------------------- */
.qs_cookie_popup button:hover,
.qs_cookie_popup button:focus {
  background-color: transparent;
  color: #fff;
  text-decoration: none;
}

/* focus laat de knop staan zoals hij is */
.qs_cookie_popup .qs_cookie_acceptbtn:focus,
.qs_cookie_popup .qs_cookie_acceptbtnsmall:focus,
.qs_cookie_popup .qs_cookie_refusebtn:focus,
.qs_cookie_popup .qs_cookie_refusebtnsmall:focus {
  background-color: #283752;
  color: #fff;
}

/* hover keert de omlijnde knoppen om, zoals op het origineel */
.qs_cookie_popup .qs_cookie_acceptbtn:hover,
.qs_cookie_popup .qs_cookie_acceptbtnsmall:hover,
.qs_cookie_popup .qs_cookie_refusebtn:hover,
.qs_cookie_popup .qs_cookie_refusebtnsmall:hover {
  background-color: #fff;
  color: #283752;
}

/* ==== PRIMECOOK HOME START ==== */
.pc-sec { width: 100%; }
.pc-sec--groen { background: var(--pc-green); }
.pc-sec, .pc-row, .pc-kolom, .pc-hero, .pc-hero-overlay { gap: 0 !important; }
.pc-kolom { width: 50%; box-sizing: border-box; padding: 0 !important; }
@media only screen and (max-width: 770px) { .pc-kolom { width: 100%; } }
.pc-row { max-width: var(--pc-content); width: 95%; margin-inline: auto !important; box-sizing: border-box; padding: 0 !important; }
.pc-row--pad { padding: 4% 1% !important; }
.pc-row--pad-top { padding: 4% 1% 0 !important; }
.pc-row--pad-bottom { padding: 0 1% 4% !important; }
.pc-row--marge-boven { margin-top: -40px !important; }
.pc-row--marge-onder { margin-bottom: 15px !important; }
.pc-kop, .pc-subkop, .pc-tekst, .pc-groepkop, .pc-tegelkop { font-family: 'Roboto', sans-serif; color: var(--pc-text); margin: 0; }
.pc-kop .elementor-heading-title { font-weight: 500; font-size: 24px; line-height: 140%; color: inherit; }
.pc-kop { padding-bottom: .6em; }
.pc-subkop .elementor-heading-title { font-weight: 500; font-size: 24px; line-height: 180%; text-align: center; color: inherit; }
.pc-subkop { padding-bottom: .6em; }
.pc-tekst, .pc-tekst p { font-weight: 300; font-size: 18px; line-height: 180%; }
.pc-tekst p { margin: 0; padding-bottom: .8em; color: inherit; }
.pc-tekst p:last-child { padding-bottom: 0; }
.pc-tekst a { color: inherit; font-weight: 300; font-size: 18px; text-decoration: underline; }
.pc-tekst a:hover { color: var(--pc-green); }
.pc-wit, .pc-wit p, .pc-wit a, .pc-wit .elementor-heading-title { color: var(--pc-white); }
.pc-wit .pc-tekst a:hover { color: var(--pc-white); }
@media only screen and (max-width: 580px) { .pc-subkop .elementor-heading-title { font-size: 20px; } }
.pc-knop .elementor-button, .pc-knop-wit .elementor-button, .pc-bannerknop .elementor-button { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: 400; letter-spacing: 0; line-height: normal; padding: .625rem 1rem; border-radius: 3px; text-decoration: none; text-align: center; display: block; box-sizing: border-box; transition: background-color .2s ease, color .2s ease; }
.pc-knop .elementor-button { color: var(--pc-white); background-color: var(--pc-green); border: 1px solid var(--pc-green); width: 250px; margin: 10px auto 30px; }
.pc-knop .elementor-button:hover { background: var(--pc-green); }
.pc-knop-wit .elementor-button { color: var(--pc-green); background-color: var(--pc-white); border: 1px solid var(--pc-white); width: 180px; margin: 0; }
.pc-knop-wit .elementor-button:hover { color: var(--pc-white); background-color: var(--pc-green); border: 1px solid #000; }
.pc-bannerknop .elementor-button { color: var(--pc-white); background-color: var(--pc-green); border: 1px solid var(--pc-green); margin: 30px auto; width: auto; }
.pc-hero { position: relative; width: 100%; padding: 0 !important; }
.pc-hero .elementor-widget-image img { display: block; width: 100%; margin: 0 auto; }
.pc-hero-mob { display: none; }
.pc-hero-overlay { position: absolute; top: 0; right: 0; bottom: 0; left: 0; max-width: 1200px; width: 95%; margin-inline: auto !important; padding: 0 !important; display: flex; flex-direction: column; justify-content: flex-start; align-items: stretch; }
.pc-bannerkop .elementor-heading-title { color: var(--pc-white); font-family: 'Roboto', sans-serif; font-weight: 500; font-size: 28px; line-height: 150%; margin: 0; text-align: center; }
.pc-bannerkop { padding-bottom: .8em; }
.pc-bannertekst, .pc-bannertekst p { color: var(--pc-white); font-family: 'Roboto', sans-serif; font-weight: 400; font-size: 22px; line-height: 150%; margin: 0; text-align: center; }
.pc-bannertekst { padding-bottom: .8em; }
@media only screen and (max-width: 991px) {
	.pc-hero-desk { display: none; }
	.pc-hero-mob { display: block; }
	.pc-bannerkop .elementor-heading-title { font-size: 18px; }
	.pc-bannerkop { padding-bottom: 0; margin-top: -40px; }
	.pc-bannertekst, .pc-bannertekst p { font-size: 16px; }
}
@media only screen and (max-width: 770px) {
	.pc-hero, .pc-hero-overlay { min-height: 300px; }
	.pc-hero-overlay { justify-content: center; }
	.pc-bannertekst { display: none; }
}
.pc-kaart { border: 1px solid #eee; background: var(--pc-white); border-radius: 4px; box-sizing: border-box; padding: 18px !important; text-align: left !important; height: 100%; cursor: pointer; transition: box-shadow .2s ease-out; }
.pc-kaart:hover { box-shadow: 0 0 2px #4B515D; }
.pc-kaart-beeld { min-height: 200px; margin-bottom: 20px; position: relative; }
.pc-kaart-beeld img { display: block; width: 100%; }
.pc-kaart-naam, .pc-kaart-naam a, .pc-kaart-naam h3 { color: var(--pc-text); font-family: 'Roboto', sans-serif; font-weight: 500; font-size: 17px; line-height: 150%; text-decoration: none; }
.pc-kaart-naam { min-height: 170px; }
.pc-kaart-prijs .woocommerce-Price-amount, .pc-kaart-prijs .price { color: var(--pc-green) !important; font-family: 'Roboto', sans-serif; font-size: 21px !important; font-weight: 500 !important; }
.pc-kaart-prijs del .woocommerce-Price-amount { color: #888 !important; font-size: 16px !important; }
.pc-kaart-knop .elementor-button, .pc-kaart-knop .button { background: var(--pc-green) !important; border: 1px solid var(--pc-green) !important; color: var(--pc-white) !important; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 400; border-radius: 3px; display: block; margin: 0 auto; width: 170px; height: 40px; line-height: 20px; text-align: center; }
.pc-tegels { display: flex; flex-wrap: wrap; padding: 0 !important; }
.pc-tegel { width: 23%; margin: 1%; min-height: 315px; box-sizing: border-box; padding: 10px !important; border: 1px solid #eee; border-radius: 4px; text-align: center; cursor: pointer; transition: box-shadow .2s ease-out; gap: 0 !important; }
.pc-tegel:hover { box-shadow: 0 0 2px #4B515D; }
.pc-tegel img { width: 100%; display: block; margin: 0; border-radius: 4px; }
.pc-tegel-beeld { padding: 0 !important; gap: 0 !important; }
.pc-tegelkop .elementor-heading-title { font-weight: 300; font-size: 16px; line-height: 150%; text-align: center; color: var(--pc-text); }
.pc-tegelkop { min-height: 60px; padding-top: 10px; }
@media only screen and (max-width: 991px) { .pc-tegel { width: 31%; } }
@media only screen and (max-width: 770px) { .pc-tegel { width: 48%; } .pc-tegel-beeld { height: 300px; overflow: hidden; } }
@media only screen and (max-width: 580px) { .pc-tegel { width: 98%; margin: 0 auto 3%; } .pc-tegelkop { min-height: 0; } }
.pc-groepen { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 !important; }
.pc-groep { box-sizing: border-box; background-size: cover; background-repeat: no-repeat; background-position: center center; border-radius: 3px; cursor: pointer; padding: 0 !important; gap: 0 !important; }
.pc-groep--pannen { width: 60%; height: 520px; order: 1; }
.pc-groep--personalisatie { width: 38%; height: 250px; margin-bottom: 2%; order: 2; }
.pc-groep--accessoires { width: 38%; height: 250px; order: 3; align-self: flex-end; }
.pc-groep--messen { width: 100%; height: 250px; margin-top: 20px; order: 4; }
.pc-groepkop .elementor-heading-title { color: var(--pc-text); font-family: 'Roboto', sans-serif; font-weight: 500; font-size: 28px; line-height: 180%; margin: 15px; }
.pc-groep--personalisatie .pc-groepkop .elementor-heading-title, .pc-groep--messen .pc-groepkop .elementor-heading-title { color: var(--pc-white); }
@media only screen and (max-width: 991px) { .pc-groep--pannen { width: 50%; } .pc-groep--personalisatie, .pc-groep--accessoires { width: 48%; } }
@media only screen and (max-width: 580px) { .pc-groep--pannen, .pc-groep--personalisatie, .pc-groep--accessoires { width: 100% !important; height: 250px !important; margin: 10px 0 !important; } }
.pc-nieuwsitem { width: 28%; margin: 1%; min-height: 498px; border: 1px solid #eee; box-sizing: border-box; padding: 0 !important; gap: 0 !important; }
.pc-nieuwsitem img { display: block; width: 100%; min-height: 180px; object-fit: cover; }
.pc-nieuwskop .elementor-heading-title, .pc-nieuwskop a { font-family: 'Roboto', sans-serif; color: var(--pc-text); font-weight: 400; font-size: 24px; line-height: 140%; margin: 0; text-decoration: none; }
.pc-nieuwstekst, .pc-nieuwstekst p { font-family: 'Roboto', sans-serif; color: var(--pc-text); font-weight: 300; font-size: 18px; line-height: 180%; margin: 0; }
.pc-nieuwsinhoud { min-height: 222px; box-sizing: border-box; padding: 10px !important; gap: 0 !important; }
.pc-nieuwsknop { background: var(--pc-green); padding: 1px !important; text-align: center; gap: 0 !important; }
.pc-nieuwsknop .elementor-button { background: transparent; color: var(--pc-white); font-family: 'Roboto', sans-serif; font-weight: 300; font-size: 18px; line-height: 150%; padding: 20px; display: block; width: 100%; text-decoration: none; border: 0; }
@media only screen and (max-width: 991px) { .pc-nieuwsitem { width: 47%; min-height: 605px; } }
@media only screen and (max-width: 770px) { .pc-nieuwsitem { width: 100%; margin: 10px auto; max-width: 400px !important; min-height: 0; } .pc-nieuwsinhoud { min-height: 0; } }
.pc-hometegel { text-align: center; width: 100%; max-width: 725px; margin: 30px auto 0 !important; padding: 0 !important; gap: 0 !important; }
.pc-hometegel-beelden { display: flex; justify-content: space-around; padding: 0 !important; gap: 0 !important; }
.pc-hometegel-beelden img { max-width: 175px; }
@media only screen and (max-width: 580px) { .pc-hometegel-beelden { display: block; } .pc-hometegel-beelden img { max-width: 30%; max-height: 115px; float: left; margin-left: 1%; } }
.pc-video { width: 98%; margin: 0 auto; }
/* ==== PRIMECOOK HOME EINDE ==== */

/* ==== PRIMECOOK HOME CORRECTIES START ==== */
.pc-bannerknop .elementor-button { width: fit-content; }
.pc-tegel { width: calc(23% - 1px); }
.pc-carrousel .swiper-slide { height: auto; }
.pc-carrousel .swiper-slide > .e-con { height: 100%; }

/* Het origineel rendert de tekst met -webkit-font-smoothing:auto; Hello/Elementor
   zet op body 'antialiased' en dan tekent dezelfde Roboto 500 zichtbaar dunner.
   Deze regel gold eerder alleen binnen .pc-header. */
html body,
html body .elementor {
	-webkit-font-smoothing: auto !important;
	-moz-osx-font-smoothing: auto !important;
}

/* De overlay loopt op het origineel over de volle hoogte van de banner (376px bij
   1520px venster) en centreert daarin verticaal; de inline min-height van 340px op
   .bannertable is alleen een bodem voor smalle vensters. Vandaar bottom:0 in plaats
   van bottom:auto - anders centreert hij binnen 340px en zit de kop te hoog. */
.pc-hero-overlay {
	top: 0;
	bottom: 0;
	min-height: 340px;
	justify-content: center;
}
@media only screen and (max-width: 770px) {
	.pc-hero, .pc-hero-overlay { min-height: 340px; }
}

.pc-kaart-naam a, .pc-kaart-naam .elementor-heading-title a { text-decoration: none; color: var(--pc-text); }
.pc-kaart-beeld a { display: block; }
.pc-nieuwskop a { text-decoration: none; }

/* Elementor-widgets erven font-size 16px op hun wrapper. Een em-afstand hoort
   daarom op het tekstelement zelf te staan, niet op de wrapper: .8em van 28px is
   22,4px, van 16px maar 12,8px. Dat verschil liep door de hele hero-hoogte. */
.pc-kop, .pc-subkop, .pc-bannerkop, .pc-bannertekst { padding-bottom: 0; }
.pc-kop .elementor-heading-title,
.pc-subkop .elementor-heading-title { padding-bottom: .6em; }
.pc-bannerkop .elementor-heading-title { padding-bottom: .8em; }
.pc-bannertekst p { padding-bottom: .8em; margin: 0; }
@media only screen and (max-width: 991px) {
	/* Het origineel zet de afstand onder de bannerkop hier op 0. */
	.pc-bannerkop .elementor-heading-title { padding-bottom: 0; }
}
/* ==== PRIMECOOK HOME CORRECTIES EINDE ==== */

/* ==== PRIMECOOK REVIEWS START ==== */
.pc-reviews { width: 100%; }
.pc-reviews-kop { color: var(--pc-text); font-family: 'Roboto', sans-serif; font-weight: 500; font-size: 24px; line-height: 180%; margin: 0; padding-bottom: .6em; text-align: center; }
.pc-reviews-intro { color: var(--pc-text); font-family: 'Roboto', sans-serif; font-weight: 300; font-size: 18px; line-height: 180%; margin: 0; padding-bottom: .8em; text-align: center; }
.pc-reviews-slider { position: relative; width: 98%; height: 175px; margin: 0; }
.pc-review { position: absolute; inset: 0; box-sizing: border-box; padding: 19px 10px 10px; border: 1px solid #e5e5e5; border-radius: 10px; font-family: Arial, Helvetica, sans-serif; overflow: hidden; display: flex; opacity: 0; visibility: hidden; transition: opacity .4s ease-out; }
.pc-review.is-actief { opacity: 1; visibility: visible; }
.pc-review-profiel { width: 10%; box-sizing: border-box; padding: 10px; flex: 0 0 auto; min-width: 95px; }
.pc-review-profiel img { display: block; width: 75px; height: 75px; max-width: 100%; }
.pc-review-inhoud { width: 90%; box-sizing: border-box; flex: 1 1 auto; min-width: 0; }
.pc-review-auteur p, .pc-review-datum p { font-family: 'Roboto', sans-serif; color: var(--pc-text); font-size: 14px; font-weight: 700; line-height: 180%; margin: 0; padding: 0; }
.pc-review-datum p { font-weight: 300; }
.pc-review-sterren-rij { margin: 0; padding: 0; line-height: 1; }
/* Sterren als teken: Elementor levert Font Awesome hier als inline SVG en laadt
   de fontversie niet, dus een icoonklasse zou leeg blijven. */
.pc-ster::before { content: '\2605'; font-size: 12px; line-height: 1; color: #dadce0; }
.pc-ster--vol::before { color: #FBBC04; }
.pc-review-tekst { margin: 10px 0 0; padding: 0; font-size: 14px; line-height: 150%; }
.pc-review-tekst p { font-family: Arial, Helvetica, sans-serif; color: var(--pc-text); font-size: 14px; font-weight: 400; line-height: 150%; margin: 0; padding: 0; }
.pc-review-bron { margin-top: 4px; }
.pc-review-link { font-family: Arial, Helvetica, sans-serif; font-size: 14px; text-decoration: none; color: #aaa; }
.pc-review-link:hover { color: var(--pc-green); }
@media only screen and (max-width: 991px) { .pc-review-inhoud { width: 80%; margin-left: 45px; } }
@media only screen and (max-width: 770px) { .pc-reviews-slider { height: 260px; } }
@media only screen and (max-width: 580px) { .pc-reviews-slider { width: 95%; height: 300px; } .pc-review-profiel { padding: 5px; } .pc-review-inhoud { margin-left: 10px; } }

/* De box is 175px hoog, net als op het origineel. Daar loopt lange tekst
   onder de rand door; hier knippen we hem op drie regels af zodat de
   Google-link altijd zichtbaar blijft. */
.pc-review-tekst p:not(.pc-review-bron) { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
/* ==== PRIMECOOK REVIEWS EINDE ==== */

/* ==== PRIMECOOK CARROUSEL START ==== */
/* Maten uit het origineel: slide 200px + 10px marge, .productitem min-height 605px
   en padding 18px, knop 170x40 met font-size 14px en het icoon absoluut rechts. */

.pc-kaart { min-height: 605px; }

.pc-kaart-beeld { padding: 0 !important; }
.pc-beeldlink { display: block; text-decoration: none; }
.pc-beeldwrap { min-height: 200px; margin-bottom: 20px; position: relative; }
.pc-beeld { min-height: 200px; overflow: hidden; position: relative; }
.pc-beeld-eerste { z-index: 1; opacity: 1; transition: opacity .2s ease-out; }
.pc-beeld-tweede { position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; opacity: 0; transition: opacity .2s ease-out; }
.pc-kaart:hover .pc-beeld-eerste { opacity: 0; }
.pc-kaart:hover .pc-beeld-tweede { opacity: 1; }
.pc-kaart-img { max-width: 100%; display: block; margin: 0 auto; }

/* Het kortingslabel: QSMainWebsiteCSS overschrijft het blauwe standaardlabel naar
   groen en schuift het linksonder tot net buiten de afbeelding. */
.pc-salebadge {
	position: absolute; bottom: -10px; left: 0; z-index: 400;
	background: var(--pc-green); border-radius: 5px;
	box-sizing: border-box; padding: 3px 6px; text-align: center;
}
.pc-salebadge p { color: #fff; font-family: 'Roboto', sans-serif; font-size: 14px; line-height: normal; margin: 0; padding: 0; }

.pc-kaart-naam { min-height: 170px; }

.pc-kaart-prijs { padding: 0 !important; }
.pc-prijsregel { font-family: 'Roboto', sans-serif; margin: 0; padding: 0; line-height: 180%; }
.pc-prijsregel > .pc-valuta, .pc-prijsregel > .pc-bedrag,
.pc-saleprijs .pc-valuta, .pc-saleprijs .pc-bedrag { color: var(--pc-green); font-size: 21px; font-weight: 500; }
.pc-oudprijs { text-decoration: line-through; }
.pc-oudprijs .pc-valuta, .pc-oudprijs .pc-bedrag { color: #888 !important; font-size: 16px; font-weight: 400; }
.pc-btw { font-size: 11px; font-weight: 300; color: var(--pc-text); }

.pc-kaart-knop .elementor-button {
	background: var(--pc-green) !important;
	border: 1px solid var(--pc-green) !important;
	color: #fff !important;
	font-family: 'Roboto', sans-serif;
	font-size: 14px; font-weight: 400;
	border-radius: 0;
	display: flex; align-items: center; justify-content: flex-start;
	position: relative;
	box-sizing: border-box;
	width: 170px; height: 40px;
	margin: 0 auto;
	padding: 10px 35px 10px 15px;
	text-align: left;
}
.pc-kaart-knop .elementor-button-content-wrapper { display: block; width: 100%; }
.pc-kaart-knop .elementor-button-icon { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); margin: 0; }
.pc-kaart-knop .elementor-button-icon svg { width: 15px; height: 15px; fill: #fff; }
.pc-kaart-knop .elementor-button-icon i { font-size: 15px; color: #fff; }

/* Pijlen: rond, grijs, wit icoon. Op het origineel staan ze op 10px binnen de
   carrousel; hier buiten de tegels zodat ze niets bedekken. Onder 1200px komen ze
   weer naar binnen, want dan is er naast de rij geen ruimte. */
.pc-carrousel .elementor-swiper-button {
	width: 40px; height: 40px;
	border-radius: 50px;
	background-color: #ddd;
	color: #fff;
	display: flex; align-items: center; justify-content: center;
	top: 50%; transform: translateY(-50%);
	z-index: 10; opacity: 1;
}
.pc-carrousel .elementor-swiper-button svg { width: 16px; height: 16px; fill: #fff; }
.pc-carrousel .elementor-swiper-button i { font-size: 16px; color: #fff; }
.pc-carrousel .elementor-swiper-button-prev { left: -46px !important; right: auto !important; }
.pc-carrousel .elementor-swiper-button-next { right: -46px !important; left: auto !important; }
@media only screen and (max-width: 1199px) {
	.pc-carrousel .elementor-swiper-button-prev { left: 10px !important; }
	.pc-carrousel .elementor-swiper-button-next { right: 10px !important; }
}

/* Bolletjes onder de slider, zoals de Swiper-standaard op het origineel. */
.pc-carrousel .swiper-pagination {
	position: relative; bottom: auto; left: auto; width: 100%;
	margin-top: 8px; text-align: center;
}
.pc-carrousel .swiper-pagination-bullet {
	width: 8px; height: 8px; border-radius: 50%;
	background: #000; opacity: .2; margin: 0 4px;
}
.pc-carrousel .swiper-pagination-bullet-active { background: #007AFF; opacity: 1; }
/* ==== PRIMECOOK CARROUSEL EINDE ==== */

/* ==== PRIMECOOK CARROUSEL CORRECTIES START ==== */
/* Wisselen alleen bij een tweede afbeelding; anders verdween de foto bij hover. */
.pc-kaart:hover .pc-beeld-eerste { opacity: 1; }
.pc-kaart:hover .pc-beeld--dubbel .pc-beeld-eerste { opacity: 0; }
.pc-kaart:hover .pc-beeld--dubbel .pc-beeld-tweede { opacity: 1; }

/* Pijlen: hover in de huisstijlgroen. */
.pc-carrousel .elementor-swiper-button { transition: background-color .2s ease-out; }
.pc-carrousel .elementor-swiper-button:hover { background-color: var(--pc-green); }
.pc-carrousel .elementor-swiper-button:hover svg { fill: #fff; }

/* "incl. BTW" */
.pc-btw {
	color: #999;
	font-style: italic;
	margin: 0;
	line-height: 40px;
}

/* Oude prijs bij korting. */
.pc-oudprijs,
.pc-oudprijs .pc-valuta,
.pc-oudprijs .pc-bedrag { font-weight: 500 !important; }

/* Bolletjes gecentreerd en absoluut, zoals op het origineel (bottom 8px). Zo
   voegen ze geen hoogte toe - dat was de extra ruimte onder de tegels. */
.pc-carrousel .elementor-widget-container { position: relative; }
.pc-carrousel .swiper-pagination {
	position: absolute !important;
	bottom: 8px !important;
	top: auto !important;
	left: 0 !important;
	right: 0 !important;
	width: 100% !important;
	margin: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
}

/* Swiper zet op .swiper-pagination-horizontal left:50% met translateX(-50%). Onze
   left:0 + width:100% liet die transform staan, waardoor de bolletjes een halve
   containerbreedte naar links schoven. */
.pc-carrousel .swiper-pagination { transform: none !important; }

/* Elementor reserveert 16px onder de slider voor de bolletjes. Op het origineel
   liggen die absoluut over de tegels, dus die ruimte hoort weg - dat waren de
   extra pixels onder de tegels. */
.pc-carrousel .swiper { padding-bottom: 0 !important; }

/* Onderruimte van de carrouselrij 7px korter dan de 4% van .pc-row--pad. */
/* Op het origineel zit tussen de rijpadding en de eerste tegel nog ~7px: de
   swiper-container daar is 4px hoger dan de tegel en start iets lager. Wij
   hebben die tussenlaag niet, dus tellen we de 7px bij de padding op. Zo komt
   het gat boven op 27px en onder op 68px, gelijk aan het origineel. */
.pc-row--pad.pc-carrousel {
	padding-top: calc(4% + 7px) !important;
	padding-bottom: calc(4% + 7px) !important;
}
/* ==== PRIMECOOK CARROUSEL CORRECTIES EINDE ==== */

/* ==== PRIMECOOK KELLY START ==== */
/* Het origineel rekt de afbeelding tot de volle kolombreedte (525px bij een
   venster van 1520px); Elementor laat hem op zijn eigen 475px staan en centreert
   hem, waardoor de afstand tot de tekst groter leek. */
.pc-kolom .elementor-widget-image img { width: 100%; display: block; }

/* .brochurebuttonwit is content-box: width:180px plus 2x16px padding en 1px rand
   maakt 214x54. Elementor zet alles op border-box, dus bleef de knop op 180x43. */
.pc-knop-wit .elementor-button {
	box-sizing: content-box;
	width: 180px;
	line-height: 180%;
}

/* Op het origineel houdt ook de laatste alinea zijn .8em ondermarge. */
.pc-tekst p:last-child { padding-bottom: .8em; }

/* Elementor geeft elke container standaard 10px binnenmarge via
   --padding-inline-start/end, toegepast door .e-con-full. Daardoor was de
   content-box van een sectie 1484px in plaats van 1505px, en rekenden alle
   procentuele afstanden in de rij tegen die verkeerde basis. Op het origineel
   heeft de <section> geen padding. */
.pc-sec,
.pc-reviews-houder { padding: 0 !important; }
/* ==== PRIMECOOK KELLY EINDE ==== */

/* ==== PRIMECOOK PFAS START ==== */
/* Het origineel centreert de tekst in deze rij (de kop is al gecentreerd via
   .subkop, de alinea's krijgen het van de rij mee). */
.pc-row--midden,
.pc-row--midden .pc-tekst,
.pc-row--midden .pc-tekst p { text-align: center; }

/* .brochurebutton is content-box: width:250px plus 2x16px padding en 1px rand
   maakt 284x54. Zonder dit bleef de knop op 250x43 staan. */
.pc-knop .elementor-button {
	box-sizing: content-box;
	width: 250px;
	line-height: 180%;
}
/* ==== PRIMECOOK PFAS EINDE ==== */

/* ==== PRIMECOOK TEGELS START ==== */
/* De 20px standaardgap van Elementor maakte de stap tussen tegels 281px in plaats
   van 261px, waardoor er maar drie per rij pasten in plaats van vier. */
.pc-tegels { gap: 0 !important; }

/* .webshopmainwrap heeft op het origineel padding:5px met border-box. Daardoor
   rekenen de tegels tegen 1039.9px in plaats van 1050px en schuift de sliert 5px
   naar binnen. Zonder die 5px was de stap 262 in plaats van 260px. */
.pc-tegels { padding: 5px !important; box-sizing: border-box; }
.pc-tegel { width: calc(23% - 0.5px); }

/* .webshop-tile-head erft de .tekst-maat: 18px met regelhoogte 180%, geen
   bovenmarge - de kop sluit direct op de afbeelding aan. */
.pc-tegelkop { min-height: 60px; padding-top: 0; }
.pc-tegelkop .elementor-heading-title {
	font-weight: 300;
	font-size: 18px;
	line-height: 180%;
	text-align: center;
	color: var(--pc-text);
}
/* ==== PRIMECOOK TEGELS EINDE ==== */

/* ==== PRIMECOOK TEGELLINKS START ==== */
/* Elementor rendert de containerlink in deze versie niet, dus de link zit op de
   afbeelding en de kop. Met een uitgerekte ::after is - net als op het origineel,
   waar een onclick op de tegel staat - de hele tegel klikbaar. */
.pc-tegel,
.pc-groep { position: relative; }

.pc-tegel .pc-tegel-beeld a::after,
.pc-groep .pc-groepkop a::after {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 1;
}

.pc-tegelkop a,
.pc-groepkop a { color: inherit; text-decoration: none; }

/* Elementor zet position:relative op elke widget en container. De uitgerekte
   ::after bleef daardoor binnen de afbeeldingswidget hangen in plaats van tot de
   tegel te reiken. De tussenlagen gaan hier terug naar static. */
.pc-tegel .pc-tegel-beeld,
.pc-tegel .elementor-widget-image,
.pc-groep .elementor-widget-heading { position: static; }

/* De link om de tegelafbeelding is een inline-block dat naar zijn inhoud krimpt.
   Een img met width:100% daarbinnen rekent tegen die link, waarvan de breedte weer
   van de inhoud afhangt - dat lost de browser op als 0. Vandaar display:block. */
.pc-tegel .pc-tegel-beeld a,
.pc-tegel .elementor-widget-image a {
	display: block;
	width: 100%;
}
/* ==== PRIMECOOK TEGELLINKS EINDE ==== */

/* ==== PRIMECOOK GROEPEN START ==== */
/* Het origineel stapelt deze vier tegels met floats: links een hoge tegel van 60%,
   rechts twee van 38% onder elkaar, daaronder een volle rij. Met flex kwamen de
   rechterkolom-tegels op een nieuwe regel terecht, dus hier dezelfde floats. */
.pc-groepen {
	display: block;
	padding: 0 !important;
}
.pc-groepen::after { content: ''; display: block; clear: both; }

.pc-groep--pannen         { float: left;  width: 60%;  height: 520px; margin: 0; order: initial; align-self: auto; }
.pc-groep--personalisatie { float: right; width: 38%;  height: 250px; margin: 0 0 2%; order: initial; align-self: auto; }
.pc-groep--accessoires    { float: right; width: 38%;  height: 250px; margin: 0; order: initial; align-self: auto; }
.pc-groep--messen         { float: left;  width: 100%; height: 250px; margin: 20px 0 0; order: initial; align-self: auto; }

@media only screen and (max-width: 991px) {
	.pc-groep--pannen { width: 50%; }
	.pc-groep--personalisatie, .pc-groep--accessoires { width: 48%; }
}
@media only screen and (max-width: 580px) {
	.pc-groep--pannen,
	.pc-groep--personalisatie,
	.pc-groep--accessoires {
		float: none !important;
		width: 100% !important;
		height: 250px !important;
		margin: 10px 0 !important;
	}
}
/* ==== PRIMECOOK GROEPEN EINDE ==== */

/* ==== PRIMECOOK NIEUWSBLOK START ==== */
/* Elementor rendert de Loop Grid als CSS-grid; onze breedte van 28% rekende dan
   tegen de gridtrack in plaats van tegen de rij, waardoor de tegels tot een paar
   tientallen pixels inklapten. Het origineel gebruikt floats
   (.qs_blog_item_latestitems: width 28%, margin 1%, float left), dus dat doen we
   hier ook. */
.pc-nieuws .elementor-loop-container {
	display: block !important;
	grid-template-columns: none !important;
	gap: 0 !important;
}
.pc-nieuws .elementor-loop-container::after { content: ''; display: block; clear: both; }

.pc-nieuwsitem {
	float: left;
	width: 28%;
	margin: 1%;
	min-height: 498px;
	border: 1px solid #eee;
	box-sizing: border-box;
	padding: 0 !important;
	gap: 0 !important;
	display: block;
}

.pc-nieuwsbeeld { padding: 0 !important; }
.pc-nieuwsitem img { display: block; width: 100%; min-height: 180px; object-fit: cover; }

@media only screen and (max-width: 991px) {
	.pc-nieuwsitem { width: 47%; min-height: 605px; }
}
@media only screen and (max-width: 770px) {
	.pc-nieuwsitem { float: none; width: 100%; margin: 10px auto; max-width: 400px !important; min-height: 0; }
	.pc-nieuwsinhoud { min-height: 0; }
}
/* ==== PRIMECOOK NIEUWSBLOK EINDE ==== */

/* ==== PRIMECOOK NIEUWSKOP START ==== */
/* Deze sectiekop is op het origineel geen .subkop maar een h2 met margin 15px 0
   en een span.kop erin (24px met regelhoogte 140%). Daardoor staat hij 15px lager
   en is het blok 34px hoog in plaats van 58px. */
.pc-sectiekop-nieuws { margin: 15px 0 0; padding-bottom: 14px; }
.pc-sectiekop-nieuws .elementor-heading-title {
	line-height: 140%;
	padding-bottom: 0;
}
/* ==== PRIMECOOK NIEUWSKOP EINDE ==== */

/* ==== PRIMECOOK NIEUWS EXTRA START ==== */
/* De readmore-balk sluit op het origineel aan op de onderrand van de tegel; met
   min-height 498px bleef er bij korte tegels wit onder de knop staan. */
.pc-nieuwsitem { display: flex; flex-direction: column; }
.pc-nieuwsknop { margin-top: auto; }

/* Het "Made in Italy"-blok: de eerste regel staat gecentreerd, de alinea links. */
/* De eerste regel is op het origineel geen alinea maar een .subkop: 24px met
   regelhoogte 180%, gewicht 500 en gecentreerd. De link erin houdt zijn
   onderstreping maar erft de maat, anders zou .pc-tekst a hem op 18px zetten. */
.pc-madeinitaly p { text-align: left; }
.pc-madeinitaly p:first-child {
	color: var(--pc-text);
	font-family: 'Roboto', sans-serif;
	font-weight: 500;
	font-size: 24px;
	margin: 0;
	line-height: 180%;
	padding-bottom: .6em;
	text-align: center;
}
.pc-madeinitaly p:first-child a {
	font-size: inherit;
	font-weight: inherit;
	line-height: inherit;
	color: inherit;
	text-decoration: underline;
}
/* ==== PRIMECOOK NIEUWS EXTRA EINDE ==== */

/* ==== PRIMECOOK REVIEWVIDEO START ==== */
/* Alleen zijpadding, zodat de percentages van de videowidget tegen 1050px rekenen
   net als de kolom op het origineel. */
.pc-row--pad-zijkant { padding: 0 1% !important; }

/* .youtubeIframe is 98% van de kolom (1008px) met padding-top 56% voor de
   verhouding; de 4% onderruimte komt van de kolom. Samen: 96% van 1050 = 1008. */
.pc-video {
	width: 96% !important;
	margin: 0 auto;
	padding-bottom: 4%;
}
/* ==== PRIMECOOK REVIEWVIDEO EINDE ==== */

/* ==== PRIMECOOK REVIEWS MAAT START ==== */
/* Maten uit de carrouselcontext van het origineel: kaart 1021x196 (hoogte 175 plus
   19px padding boven, geen zijpadding), tekst 18px/180% gewicht 300 in Roboto en
   auteur en datum beide 14px vet. De pluginwaarden (14px Arial) gelden alleen
   buiten de carrousel. */
.pc-reviews-slider { width: 97.25%; height: 196px; }
.pc-review { padding: 19px 0 0; }
.pc-review-profiel { width: 10%; padding: 10px; }
.pc-review-inhoud { width: 90%; }

.pc-review-auteur p,
.pc-review-datum p {
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 700;
	line-height: 180%;
}

.pc-review-tekst,
.pc-review-tekst p {
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	font-weight: 300;
	line-height: 180%;
	color: var(--pc-text);
}
.pc-review-tekst p:not(.pc-review-bron) { -webkit-line-clamp: 3; }
/* Het Google-icoon staat grijs en inline achter de tekst. */
.pc-review-g { display: inline-block; vertical-align: -2px; margin-left: 4px; color: #aaa; }
.pc-review-link:hover .pc-review-g { color: var(--pc-green); }
.pc-review-link { font-family: 'Roboto', sans-serif; font-size: 18px; }
/* ==== PRIMECOOK REVIEWS MAAT EINDE ==== */

/* ==== PRIMECOOK MOBIEL SLUITSTUK START ==== */
/* Dit blok staat bewust als laatste in het bestand. De losse blokken die er
   hierboven zijn bijgekomen herdeclareren .pc-tegel en .pc-nieuwsitem buiten een
   media query, en overschreven daarmee de mobiele regels die eerder al stonden.
   Gemeten bij 516px tegen het origineel. */

@media only screen and (max-width: 770px) {
	/* Origineel: .homepagebanner min-height 300px; alleen de overlay houdt 340. */
	.pc-hero { min-height: 300px; }

	/* Origineel: tegel 402px breed, gecentreerd (max-width 400 + marge auto). */
	.pc-nieuwsitem {
		float: none;
		width: 100%;
		max-width: 400px !important;
		margin: 10px auto;
		min-height: 0;
	}
	.pc-nieuwsinhoud { min-height: 0; }
}

@media only screen and (max-width: 580px) {
	/* Origineel: tegel 456x315 op volle breedte, met de afbeelding als 80px
	   miniatuur links ernaast. */
	.pc-tegel {
		width: 98%;
		margin: 0 auto 3%;
	}
	.pc-tegel-beeld {
		width: 80px;
		height: 60px;
		float: left;
		overflow: visible;
	}
	.pc-tegel img { width: 100%; height: auto; max-height: 60px; object-fit: contain; }
	.pc-tegelkop { min-height: 0; }

	/* De nieuwskop is op het origineel geen .subkop en blijft dus 24px. */
	.pc-sectiekop-nieuws .elementor-heading-title { font-size: 24px; }
}
/* ==== PRIMECOOK MOBIEL SLUITSTUK EINDE ==== */

/* ==== PRIMECOOK CONTACT START ==== */
/* rij met drie showroomfoto's */
.pc-fotos { display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 !important; margin-top: 20px; gap: 0 !important; }
.pc-foto { width: 32%; padding: 0 !important; gap: 0 !important; }
.pc-foto img { width: 95%; display: block; margin: 0 auto; border-radius: 5px; }
@media only screen and (max-width: 767px) { .pc-fotos { justify-content: center; } .pc-foto { width: 100%; max-width: 360px; margin: 0 auto 4%; } }

/* twee kolommen: formulier (66%) + contactgegevens (34%) */
.pc-contact-links { width: 66%; box-sizing: border-box; padding: 0 4% 0 0 !important; gap: 0 !important; }
.pc-contact-rechts { width: 34%; box-sizing: border-box; padding: 0 !important; gap: 0 !important; }
@media only screen and (max-width: 770px) {
	.pc-contact-links, .pc-contact-rechts { width: 100%; padding: 0 !important; }
	.pc-contact-rechts { margin-top: 30px; }
}

/* contactgegevens tekst iets compacter */
.pc-contact-rechts .pc-tekst p { padding-bottom: .8em; }

/* Elementor Pro formulier in Primecook-stijl */
.pc-form .elementor-form .elementor-field-group { margin-bottom: 12px; }
.pc-form .elementor-field-group > label,
.pc-form .elementor-field-label { font-family: 'Roboto', sans-serif; font-weight: 300; font-size: 18px; line-height: 180%; color: var(--pc-text); margin-bottom: 2px; }
.pc-form .elementor-field-textual { border: 1px solid #c2cad8; border-radius: 4px; font-family: 'Roboto', sans-serif; font-size: 18px; color: var(--pc-text); background: #fff; padding: 8px 10px; height: 46px; box-sizing: border-box; width: 100%; }
.pc-form textarea.elementor-field-textual { height: 144px; }
.pc-form .elementor-field-textual:focus { border-color: var(--pc-green); outline: none; }
.pc-form .e-form__buttons { justify-content: flex-start; }
.pc-form .elementor-button { background-color: var(--pc-green); border: 1px solid var(--pc-green); color: var(--pc-white); font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 400; line-height: normal; border-radius: 3px; padding: 8px 14px; width: auto !important; flex: 0 0 auto !important; align-self: flex-start; }
.pc-form .elementor-button:hover { background-color: var(--pc-green-hover); border-color: var(--pc-green-hover); }
/* ==== PRIMECOOK CONTACT EINDE ==== */

/* ==== PRIMECOOK CATEGORIE START ==== */
/* kruimelpad: alleen "» Naam", zoals het origineel */
.pc-cat-kruimels-tekst { font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; color: var(--pc-text); margin: 0 0 6px; text-align: left; }
.pc-kruimel-pijl { margin-right: 4px; }
/* H1 blijft in de DOM voor SEO maar is visueel verborgen, net als op het origineel */
.pc-cat-h1-tekst { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* beschrijving: gecentreerd, banner zonder ronding */
.pc-cat-desc-inner { text-align: center; }
.pc-cat-desc-inner p, .pc-cat-desc-inner li { font-family: 'Roboto', sans-serif; font-size: 18px; font-weight: 300; line-height: 180%; color: var(--pc-text); margin: 0 0 .8em; }
.pc-cat-desc-inner h1, .pc-cat-desc-inner h2, .pc-cat-desc-inner .pc-cat-kop { font-family: 'Roboto', sans-serif; font-size: 24px; font-weight: 500; line-height: 180%; color: var(--pc-text); text-align: center; margin: 0 0 .4em; position: static; width: auto; height: auto; clip: auto; }
.pc-cat-desc-inner img, .pc-cat-desc-inner .pc-cat-banner { display: block; width: 100%; height: auto; border-radius: 0; margin: 0 0 18px; }
.pc-cat-desc-inner a { color: inherit; text-decoration: underline; }
.pc-cat-desc-inner a:hover { color: var(--pc-green); }
.pc-cat-desc-inner ul { display: inline-block; text-align: left; padding-left: 1.2em; }
.pc-cat-desc-inner .pc-cat-knop { display: inline-block; background: var(--pc-green); color: var(--pc-white); border-radius: 3px; padding: 2px 16px; margin: 4px 6px; font-size: 16px; line-height: 34px; text-decoration: none; }
.pc-cat-desc-inner .pc-cat-knop:hover { background: var(--pc-green-hover); color: var(--pc-white); }
/* topbar */
.pc-cat-barrij { padding: 0 1% !important; }
.pc-catbar { display: flex; flex-direction: column; align-items: flex-end; width: 100%; }
.pc-catbar-sort label { font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; color: var(--pc-text); }
.pc-catbar-select { font-family: 'Roboto', sans-serif; font-size: 14px; height: 32px; min-width: 143px; border: 1px solid #c2cad8; border-radius: 4px; background: #fff; color: var(--pc-text); padding: 2px 6px; }
.pc-catbar-aantal { font-family: 'Roboto', sans-serif; font-size: 12px; color: var(--pc-text); margin: 6px 0 0; }
/* productgrid 1:1: 4 kolommen, 21px tussenruimte, kaart 239x560 */
.pc-kaarten { display: flex; flex-wrap: wrap; gap: 21px; align-items: stretch; }
.pc-kaarten .pc-kaart { width: calc( (100% - 63px) / 4 ); box-sizing: border-box; border: 1px solid #eee; border-radius: 4px; background: var(--pc-white); padding: 18px !important; text-align: left; display: flex; flex-direction: column; transition: box-shadow .2s ease-out; }
.pc-kaarten .pc-kaart:hover { box-shadow: 0 0 2px #4B515D; }
.pc-kaart-beeld { display: block; margin-bottom: 20px; }
.pc-kaart-beeld img { display: block; width: 100%; height: auto; }
.pc-kaart-naam { min-height: 120px; margin: 0 0 8px; }
.pc-kaart-naam a { font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; line-height: 150%; color: var(--pc-text); text-decoration: none; }
.pc-kaart-prijs { margin: auto 0 10px; font-family: 'Roboto', sans-serif; }
.pc-kaart-prijs .woocommerce-Price-amount, .pc-kaart-prijs bdi { color: var(--pc-green) !important; font-size: 21px; font-weight: 500; }
.pc-kaart-prijs del { opacity: .6; }
.pc-kaart-prijs del .woocommerce-Price-amount, .pc-kaart-prijs del bdi { color: #888 !important; font-size: 16px; }
.pc-kaart-btw { font-size: 11px; font-style: italic; color: var(--pc-text); }
.pc-kaart-knop { margin: 0; }
.pc-kaart-knop a { display: block; background: var(--pc-green); color: var(--pc-white); font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 400; text-align: center; text-decoration: none; border-radius: 3px; padding: 9px 10px; }
.pc-kaart-knop a:hover { background: var(--pc-green-hover); color: var(--pc-white); }
.pc-kaart-kar { margin-left: 6px; }
/* paginatie */
.pc-cat-paginatie { margin-top: 24px; text-align: right; }
.pc-cat-paginatie .page-numbers { display: inline-block; min-width: 40px; height: 39px; line-height: 37px; text-align: center; border: 1px solid #c2cad8; border-radius: 3px; margin-left: 6px; color: var(--pc-text); text-decoration: none; font-size: 16px; }
.pc-cat-paginatie .page-numbers.current { background: #59667E; border-color: #59667E; color: var(--pc-white); }
.pc-cat-paginatie a.page-numbers:hover { background: var(--pc-green); border-color: var(--pc-green); color: var(--pc-white); }
/* onderste blok */
.pc-sec--catonder { width: 100%; padding: 0 !important; }
.pc-cat-video iframe { width: 100%; aspect-ratio: 1.75; height: auto; display: block; }
@media only screen and (max-width: 991px) { .pc-kaarten .pc-kaart { width: calc( (100% - 28px) / 3 ); } .pc-kaarten { gap: 14px; } }
@media only screen and (max-width: 770px) { .pc-kaarten .pc-kaart { width: calc( (100% - 14px) / 2 ); } }
@media only screen and (max-width: 580px) { .pc-kaarten .pc-kaart { width: 100%; } .pc-catbar { align-items: stretch; } .pc-cat-desc-inner h2 { font-size: 20px; } }
/* ==== PRIMECOOK CATEGORIE EINDE ==== */

/* ==== PRIMECOOK KAART START ==== */
/* 1:1 met primecook.nl .productitem (gemeten 3-8-2026, viewport 1400) */
.pc-kaarten { display: flex; flex-wrap: wrap; gap: 0 !important; margin: 0 -10px; padding: 0; }
.pc-kaart { flex: 0 0 239px !important; width: 239px !important; max-width: 239px; box-sizing: border-box; min-height: 560px; margin: 10px; padding: 18px; border: 1px solid #eeeeee; border-radius: 4px; background: #fff; display: block; }

/* foto 201x201 met 20px marge eronder */
.pc-kaart-beeld { display: block; width: 201px; height: 201px; margin: 0 0 20px; overflow: hidden; }
.pc-kaart-beeld img { width: 201px; height: 201px; object-fit: contain; display: block; margin: 0; }

/* productnaam: 17px/500, vaste hoogte 170px zodat alle kaarten 560px zijn */
.pc-kaart-naam { min-height: 170px; margin: 0 0 10px !important; padding: 0; font-family: 'Roboto', sans-serif; font-size: 17px; font-weight: 500; line-height: 25.5px; color: var(--pc-text); }
.pc-kaart-naam a { color: var(--pc-text); text-decoration: none; }
.pc-kaart-naam a:hover { color: var(--pc-green); }

/* prijs: 21px/500 in Primecook-groen, "incl. BTW" 11px/300 */
.pc-kaart-prijs { margin: 0 0 10px !important; padding: 0; font-family: 'Roboto', sans-serif; font-size: 21px; font-weight: 500; line-height: 31.5px; color: var(--pc-green); }
.pc-kaart-prijs .screen-reader-text { display: none !important; }
.pc-kaart-prijs del { color: #9b9b9b; font-size: 16px; font-weight: 400; margin-right: 5px; text-decoration: line-through; }
.pc-kaart-prijs ins { text-decoration: none; color: var(--pc-green); }
.pc-kaart-prijs .woocommerce-Price-currencySymbol { font-weight: 500; }
.pc-kaart-btw { font-family: 'Roboto', sans-serif; font-size: 11px; font-weight: 300; line-height: 16.5px; color: var(--pc-text); }

/* knop: blok van 170x40 (201 - 2x15,6 marge), 14px, geen radius, icoon rechts van de tekst */
.pc-kaart-knop { height: 40px; margin: 0 !important; padding: 0; }
.pc-kaart-knop a { display: block; box-sizing: border-box; height: 40px; margin: 0 15px; padding: 10px 35px 10px 15px; background-color: var(--pc-green); color: #fff; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: normal; text-align: center; text-decoration: none; border: 0; border-radius: 0; white-space: nowrap; }
.pc-kaart-knop a:hover { background-color: var(--pc-green-hover); color: #fff; }
.pc-kaart-kar { display: inline-block; width: 16px; margin-left: 6px; font-size: 14px; line-height: 1; }

/* responsive 1:1 met het origineel: boven 990px vier kolommen (vloeiend),
   daaronder meteen een kolom over de volle breedte. Gemeten op primecook.nl:
   1000px = 4 kolommen a 206px, 990px = 1 kolom. */
@media only screen and (max-width: 1100px) {
	.pc-kaart { flex: 0 0 calc(25% - 20px) !important; width: calc(25% - 20px) !important; max-width: none; }
	.pc-kaart-beeld { width: 100%; height: auto; aspect-ratio: 1 / 1; }
	.pc-kaart-beeld img { width: 100%; height: 100%; }
}
@media only screen and (max-width: 990px) {
	.pc-kaarten { margin: 0; }
	.pc-kaart { flex: 0 0 100% !important; width: 100% !important; max-width: none; margin: 10px 0; min-height: 560px; }
	/* foto en knop staan op mobiel gecentreerd, de tekst blijft links */
	.pc-kaart-beeld { width: 200px; height: 200px; margin: 0 auto 20px; aspect-ratio: auto; }
	.pc-kaart-beeld img { width: 200px; height: 200px; }
	.pc-kaart-naam { min-height: 170px; }
	.pc-kaart-knop a { width: 170px; margin: 0 auto; }
}
/* ==== PRIMECOOK KAART EINDE ==== */

/* ==== PRIMECOOK PRODUCT START ==== */
/* 1:1 met primecook.nl (gemeten 3-8-2026): inhoud 1070, infobox 449 */
.pc-sec--prod { max-width: var(--pc-content); margin: 0 auto; padding: 0 5px 40px; }
.pc-prod-kruimels { font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); margin: 0 0 20px !important; }
.pc-prod-kruimels a { color: var(--pc-text); text-decoration: none; }
.pc-prod-kruimels a:hover { color: var(--pc-green); }
.pc-kruimel-pijl { color: var(--pc-green); }

/* twee kolommen */
.pc-prod-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.pc-prod-galerij { width: 600px; flex: 0 0 600px; }
.pc-prod-info { width: 449px; flex: 0 0 449px; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); }

/* galerij: hoofdbeeld 471x471 met pijlen, daaronder thumbs van 78 */
.pc-prod-beeld { position: relative; width: 471px; height: 471px; margin: 0 auto 20px; display: flex; align-items: center; justify-content: center; }
.pc-prod-beeld img { max-width: 471px; max-height: 471px; width: auto; height: auto; display: block; }
.pc-prod-pijl { position: absolute; top: 50%; transform: translateY(-50%); background: none; border: 0; font-size: 34px; line-height: 1; color: #9b9b9b; cursor: pointer; padding: 0 6px; }
.pc-prod-pijl:hover { color: var(--pc-green); }
.pc-prod-vorige { left: -6px; }
.pc-prod-volgende { right: -6px; }
.pc-prod-thumbs { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.pc-prod-thumb { width: 78px; height: 78px; padding: 0; border: 1px solid transparent; background: none; cursor: pointer; }
.pc-prod-thumb.is-actief { border-color: var(--pc-border); }
.pc-prod-thumb img { width: 100%; height: 100%; object-fit: contain; display: block; }

/* infobox */
.pc-prod-kop { font-family: 'Roboto', sans-serif; font-size: 24px; font-weight: 700; line-height: 33.6px; color: var(--pc-text); margin: 16px 0 0 !important; padding: 0; }
.pc-prod-nummer { font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); margin: 0 0 10px !important; }
.pc-prod-tekst { font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); }
.pc-prod-tekst p { margin: 0 0 1em; }
.pc-prod-tekst ul { margin: 0 0 1em; padding-left: 20px; list-style: disc; }
.pc-prod-tekst li { margin: 0; }
.pc-prod-tekst a { color: var(--pc-green); }

.pc-prod-maat { margin: 10px 0 20px; }
.pc-prod-select { width: 449px; max-width: 100%; height: 32px; padding: 6px 12px; font-family: 'Roboto', sans-serif; font-size: 14px; color: #555555; border: 1px solid #c2cad8; border-radius: 4px; background-color: #fff; }

.pc-prod-prijs { font-family: 'Roboto', sans-serif; font-size: 30px; font-weight: 500; line-height: 45px; color: var(--pc-green); margin: 20px 0 15px !important; }
.pc-prod-prijs del { color: #9b9b9b; font-size: 21px; font-weight: 400; margin-right: 6px; }
.pc-prod-prijs ins { text-decoration: none; color: var(--pc-green); }
.pc-prod-btw { font-size: 11px; font-weight: 300; color: var(--pc-text); }

.pc-prod-bestel { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.pc-prod-aantal { width: 90px; height: 40px; padding: 6px 10px; font-size: 16px; color: var(--pc-text); border: 1px solid #c2cad8; border-radius: 4px; background: #fff; }
.pc-prod-knop { height: 38px; padding: 10px 15px; background-color: var(--pc-green); color: #fff; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 1; border: 0; border-radius: 0; cursor: pointer; white-space: nowrap; }
.pc-prod-knop:hover { background-color: var(--pc-green-hover); }
.pc-prod-kar { margin-right: 4px; }
.pc-prod-nietopvoorraad { color: #b23c3c; font-size: 16px; }

/* onderliggende blokken */
.pc-prod-blok { margin-top: 40px; }
.pc-prod-subkop { font-family: 'Roboto', sans-serif; font-size: 24px; font-weight: 500; line-height: 43.2px; color: var(--pc-text); margin: 0 0 10px !important; padding: 0; }
.pc-prod-lang { font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); border-top: 1px solid var(--pc-border); padding-top: 20px; }
.pc-prod-lang h2 { font-size: 16px; font-weight: 700; line-height: 24px; margin: 0 0 10px; }
.pc-prod-lang h3 { font-size: 16px; font-weight: 700; line-height: 24px; margin: 20px 0 10px; }
.pc-prod-lang p { margin: 0 0 1em; }
.pc-prod-lang ul { margin: 0 0 1em; padding-left: 20px; list-style: disc; }
.pc-prod-lang a { color: var(--pc-green); }

.pc-prod-specs { width: 100%; border-collapse: collapse; font-size: 16px; font-weight: 300; color: var(--pc-text); }
.pc-prod-specs td { border: 1px solid var(--pc-border); padding: 10px 14px; }
.pc-prod-specs td:first-child { width: 395px; }

/* gerelateerde producten gebruiken de kaart uit de categorie */
.pc-w-gerelateerd .pc-kaarten { margin: 0 -10px; }

/* ---- responsive, gelijk aan het origineel: onder 990px een kolom ---- */
@media only screen and (max-width: 1100px) {
	.pc-prod-galerij { width: 55%; flex: 0 0 55%; }
	.pc-prod-info { width: 42%; flex: 0 0 42%; }
	.pc-prod-beeld { width: 100%; height: auto; aspect-ratio: 1 / 1; }
	.pc-prod-beeld img { max-width: 100%; max-height: 100%; }
	.pc-prod-select { width: 100%; }
}
@media only screen and (max-width: 990px) {
	.pc-prod-top { flex-direction: column; gap: 0; }
	.pc-prod-galerij, .pc-prod-info { width: 100%; flex: 0 0 100%; }
	.pc-prod-beeld { max-width: 471px; margin: 0 auto 20px; }
	.pc-prod-kop { margin-top: 20px !important; }
	.pc-prod-specs td:first-child { width: 45%; }
	.pc-prod-bestel { justify-content: flex-start; }
}
@media only screen and (max-width: 520px) {
	.pc-prod-thumb { width: 64px; height: 64px; }
	.pc-prod-knop { flex: 1; }
}
/* ==== PRIMECOOK PRODUCT EINDE ==== */

/* ==== PRIMECOOK PRODUCT FIX START ==== */
.pc-prod-kruimels, .pc-prod-top, .pc-prod-blok { max-width: 1070px; margin-left: auto; margin-right: auto; }
.pc-prod-bestel { max-width: 449px; }

/* aantalveld: 90x40, 16px, #555, rand #c2cad8, radius 4, padding 6px 12px */
.pc-prod-aantal, input.pc-prod-aantal { flex: 0 0 90px !important; width: 90px !important; max-width: 90px !important; height: 40px !important; padding: 6px 12px !important; margin: 0 !important; font-family: 'Roboto', sans-serif !important; font-size: 16px !important; font-weight: 400 !important; line-height: normal !important; color: #555555 !important; background-color: #fff !important; border: 1px solid #c2cad8 !important; border-radius: 4px !important; box-shadow: none !important; }

/* knop: 211x38, 14px/400, wit op #7F9C90 met 1px rand in dezelfde kleur, geen radius */
.pc-prod-knop { min-width: 211px; height: 38px; padding: 10px 15px; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 1; color: #fff; background-color: var(--pc-green); border: 1px solid var(--pc-green); border-radius: 0; display: inline-flex; align-items: center; justify-content: center; gap: 8px; }
.pc-prod-knop:hover { background-color: var(--pc-green-hover); border-color: var(--pc-green-hover); }

/* winkelwagenicoon als wit pictogram in plaats van een emoji */
.pc-prod-kar, .pc-kaart-kar {
	font-size: 0 !important; line-height: 0; display: inline-block; width: 16px; height: 14px; margin: 0; vertical-align: -2px;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512' fill='%23ffffff'><path d='M0 24C0 10.7 10.7 0 24 0H69.5c22 0 41.5 12.8 50.6 32h411c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3H170.7l5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5H488c13.3 0 24 10.7 24 24s-10.7 24-24 24H199.7c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5H24C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/></svg>");
	background-repeat: no-repeat; background-position: center; background-size: contain;
}

/* technische specificaties: twee gelijke kolommen, 1px #c2cad8, celpadding 10px */
.pc-prod-specs { width: 100%; border-collapse: collapse; table-layout: fixed; }
.pc-prod-specs td { width: 50%; padding: 10px; border: 1px solid #c2cad8; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); vertical-align: middle; }
.pc-prod-specs td:first-child { width: 50%; }

@media only screen and (max-width: 990px) {
	.pc-prod-beeld { width: 80%; max-width: 471px; height: auto; aspect-ratio: 1 / 1; }
	.pc-prod-thumb { width: 51px; height: 51px; }
	.pc-prod-bestel { max-width: none; }
	.pc-prod-specs td, .pc-prod-specs td:first-child { width: 50%; }
}
/* ==== PRIMECOOK PRODUCT FIX EINDE ==== */

/* ==== PRIMECOOK WINKELMAND START ==== */
/* 1:1 met primecook.nl (gemeten 4-8-2026, herzien 2-9-2026): inhoud 1030, kolommen 533/191/153/153 */
.pc-sec--mand { max-width: var(--pc-content); margin: 0 auto; padding: 0 20px 40px; }
.pc-mand { max-width: 1030px; margin: 0 auto; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); }

.pc-mand-melding { background: #d1ecf1; border: 1px solid #bee5eb; border-radius: 10px; color: #0c5460; font-size: 15px; font-weight: 300; line-height: 24px; padding: 10px; margin-top: 20px; }
.pc-mand-kop, .pc-mand h1.pc-mand-kop { font-size: 24px; font-weight: 700; line-height: 33.6px; color: var(--pc-text); margin: 25px 0 10px !important; padding: 0; }
.pc-mand-leeg { font-size: 16px; font-weight: 300; margin: 0 0 20px; }

.pc-mand-tabel { display: table; width: 100%; border-collapse: collapse; }
.pc-mand-rij { display: table-row; }
.pc-mand-cel { display: table-cell; padding: 10px; border: 1px solid #c2cad8; vertical-align: middle; font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); }
.pc-mand-rij .pc-mand-cel { height: 103px; }
.pc-mand-kopregel .pc-mand-cel, .pc-mand-totaalrij .pc-mand-cel { height: auto; }
.pc-mand-kopregel .pc-mand-cel { background: #c2cad8; font-weight: 700; }
.pc-mand-c1 { width: 51.75%; }
.pc-mand-c2 { width: 18.55%; }
.pc-mand-c3, .pc-mand-c4 { width: 14.85%; text-align: right; }

.pc-mand-beeld { display: inline-block; vertical-align: middle; margin-right: 12px; }
.pc-mand-beeld img { width: 75px; height: 75px; object-fit: contain; display: block; }
.pc-mand-naam { display: inline-block; vertical-align: middle; max-width: calc(100% - 100px); color: var(--pc-text); text-decoration: none; font-size: 16px; font-weight: 300; line-height: 24px; }
.pc-mand-naam:hover { color: var(--pc-green); }

.pc-mand-aantalwrap { position: relative; display: inline-block; vertical-align: middle; width: 90px; }
.pc-mand-aantal, input.pc-mand-aantal { width: 90px !important; max-width: 90px !important; height: 40px !important; padding: 6px 12px !important; margin: 0 !important; font-family: 'Roboto', sans-serif !important; font-size: 16px !important; font-weight: 400 !important; color: #555555 !important; background: #fff !important; border: 1px solid #c2cad8 !important; border-radius: 4px !important; box-shadow: none !important; -moz-appearance: textfield; }
.pc-mand-aantal::-webkit-outer-spin-button, .pc-mand-aantal::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pc-mand-spin { position: absolute; top: 0; right: 1px; width: 20px; height: 40px; display: flex; flex-direction: column; }
.pc-mand-op, .pc-mand-neer { flex: 1; width: 20px; padding: 0; border: 0; background: none; cursor: pointer; background-repeat: no-repeat; background-position: center; background-size: 10px 10px; }
.pc-mand-op { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%233d3d3c'><path d='M201.4 137.4c12.5-12.5 32.8-12.5 45.3 0l160 160c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L224 205.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l160-160z'/></svg>"); }
.pc-mand-neer { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512' fill='%233d3d3c'><path d='M201.4 374.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 306.7 86.6 169.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/></svg>"); }

.pc-mand-weg { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 25px; margin-left: 10px; vertical-align: middle; background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; font-size: 14px; line-height: 1; text-decoration: none; }
.pc-mand-weg:hover { background: #f5c6cb; color: #721c24; }

.pc-mand-bijwerken { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

.pc-mand-knoppen { display: flex; justify-content: space-between; align-items: center; margin-top: 10px; }
.pc-mand-knop { display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 10px 15px; background-color: var(--pc-green); border: 1px solid var(--pc-green); border-radius: 0; color: #fff; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 1; text-decoration: none; }
.pc-mand-knop:hover { background-color: var(--pc-green-hover); border-color: var(--pc-green-hover); color: #fff; }

.pc-mand-totaallabel { display: none; }
.pc-mand-btw { font-size: 11px; font-weight: 300; font-style: italic; color: var(--pc-text); margin: 20px 0 0 !important; }

/* ---- mobiel: blok per regel, omslagpunt 700px zoals op primecook.nl ---- */
@media only screen and (max-width: 700px) {
	.pc-sec--mand { padding: 0 10px 30px; }
	.pc-mand { padding: 0 14px; }
	.pc-mand-kop, .pc-mand h1.pc-mand-kop { font-size: 20px; line-height: 28px; margin: 20px 0 10px !important; }
	.pc-mand-tabel, .pc-mand-rij, .pc-mand-cel { display: block; width: auto; }
	.pc-mand-kopregel { display: none; }
	.pc-mand-rij { position: relative; border: 1px solid #e5dfdd; margin: 10px 0; padding: 0; text-align: center; }
	.pc-mand-rij .pc-mand-cel, .pc-mand-totaalrij .pc-mand-cel { height: auto; border: 0; padding: 10px; text-align: center; }
	.pc-mand-c3 { display: none; }
	.pc-mand-rij .pc-mand-c4 { font-weight: 500; }
	/* geen lege cellen meer voor het bedrag; in plaats daarvan het woord Totaal */
	.pc-mand-totaalrij .pc-mand-c1, .pc-mand-totaalrij .pc-mand-c2 { display: none; }
	.pc-mand-totaallabel { display: inline; }
	.pc-mand-beeld { display: block; margin: 0 auto 10px; }
	.pc-mand-beeld img { width: 248px; height: 248px; max-width: 80%; margin: 0 auto; }
	.pc-mand-naam { display: block; max-width: none; }
	/* korter aantalveld, gecentreerd onder de productnaam */
	.pc-mand-aantalwrap { display: block; width: 120px; margin: 0 auto; }
	.pc-mand-aantal, input.pc-mand-aantal { width: 120px !important; max-width: 120px !important; }
	.pc-mand-weg { position: absolute; top: 20px; right: 25%; margin-left: 0; }
	.pc-mand-knoppen { display: flex; gap: 8px; }
	.pc-mand-knop { display: flex; flex: 1 1 0; width: auto; margin: 10px 0; }
}
/* ==== PRIMECOOK WINKELMAND EINDE ==== */

/* ==== PRIMECOOK CATEGORIE FIX START ==== */
/* nagemeten op primecook.nl, 4-8-2026 (viewport 1520 en 606) */
.pc-cat-banner { display: block; width: auto !important; max-width: 100% !important; margin: 0 auto 30px !important; }
.pc-cat-kop { font-size: 24px !important; font-weight: 500 !important; line-height: 33.6px !important; margin: 0 !important; padding: 0 0 14.4px !important; }
.pc-cat-tekst { font-size: 18px !important; font-weight: 300 !important; line-height: 32.4px !important; margin: 0 !important; padding: 0 0 14.4px !important; }
/* knop is 285x38 met 1px rand; de twee knoppen staan 4px uit elkaar */
.pc-cat-knop { font-size: 16px !important; font-weight: 400 !important; line-height: 32.4px !important; padding: 2px 16px !important; margin: 0 2px !important; border: 1px solid var(--pc-green) !important; }
.pc-cat-knop:hover { border-color: var(--pc-green-hover) !important; }

/* topbar: label en keuzelijst op een regel, rechts uitgelijnd, blok 50 hoog */
.pc-catbar { padding: 9px 0 !important; margin: 8px 0 0 !important; text-align: right !important; }
.pc-catbar-sort { display: inline-flex !important; align-items: center !important; width: auto !important; gap: 6px; }
.pc-catbar-sort label { font-size: 16px !important; font-weight: 300 !important; line-height: 24px !important; margin: 0 !important; white-space: nowrap; }
.pc-catbar-select { color: #555555 !important; padding: 6px 12px !important; width: 143px !important; margin: 0 !important; }

/* het raster is op het origineel 1040 breed en staat gecentreerd in de 1050 inhoud */
.pc-kaarten { width: 1040px; max-width: 100%; margin: 5px auto 0 !important; }

/* paginatie: rechts, telling erboven, actief 14/700 wit op #59667E zonder radius */
.pc-cat-paginatie { width: 1040px; max-width: 100%; margin: 15px auto 0 !important; padding: 0 !important; text-align: right !important; }
.pc-pag-inner { display: inline-block; text-align: right; }
.pc-cat-paginatie .pc-catbar-aantal { font-size: 12px !important; font-weight: 300 !important; line-height: 24px !important; margin: 0 8px 15px 0 !important; padding: 0 !important; text-align: right !important; }
.pc-cat-paginatie .page-numbers {
	display: inline-block; box-sizing: border-box; min-width: 40px;
	font-size: 14px !important; font-weight: 300 !important; line-height: 18px !important;
	color: #59667E !important; background: none !important; border: 0 !important; border-radius: 0 !important;
	padding: 10px 15px !important; margin: 0 2px !important; height: auto !important; width: auto !important;
	text-align: center; text-decoration: none;
}
.pc-cat-paginatie .page-numbers.current { font-weight: 700 !important; color: #ffffff !important; background: #59667E !important; }
.pc-cat-paginatie .page-numbers.next, .pc-cat-paginatie .page-numbers.prev {
	min-width: 35px; font-size: 16px !important; line-height: 26px !important; padding: 6px 10px !important; border-radius: 5px !important;
}

@media only screen and (max-width: 1100px) {
	.pc-kaarten, .pc-cat-paginatie { width: auto; }
}
/* mobiel: het origineel houdt 30px zijmarge (inhoud 531 bij 606), kaart 521 */
@media only screen and (max-width: 990px) {
	.pc-cat-kruimels-tekst, .pc-cat-desc-inner, .pc-catbar, .pc-kaarten, .pc-cat-onder, .pc-cat-paginatie {
		padding-left: 9px !important; padding-right: 9px !important;
	}
	.pc-kaart { flex: 0 0 calc(100% - 10px) !important; width: calc(100% - 10px) !important; max-width: none !important; margin: 10px 5px !important; }
}

/* het origineel houdt 36px vrij voor het (lege) beoordelingsblok tussen foto en naam */
.pc-kaart-naam { margin-top: 36px !important; }
/* winkelwagentje rechts in de knop, verticaal gecentreerd (origineel: 16px, 12px van de rand) */
.pc-kaart-knop a, .pc-kaart-knop button { position: relative !important; }
.pc-kaart-kar { position: absolute !important; right: 12px; top: 50%; transform: translateY(-50%); width: 16px !important; height: 16px !important; margin: 0 !important; }
/* de nummers staan links in het paginatieblok, de telling erboven rechts */
.pc-pag-links { text-align: left !important; }
/* een banner die smaller is dan de inhoud krijgt geen extra onderruimte */
.pc-cat-desc-inner .pc-cat-kop:has(> img.pc-cat-banner) { padding-bottom: 0 !important; }
/* ==== PRIMECOOK CATEGORIE FIX EINDE ==== */

/* ==== PRIMECOOK CATEGORIE EXTRA START ==== */
/* nagemeten op primecook.nl, 4-8-2026: kruimelpad, merkentegels, paginatie, kaart-hover */

/* kruimelpad: dubbele chevron van 16px, zoals fa-angle-double-right op het origineel */
.pc-kruimel-pijl { width: 16px; height: 16px; display: inline-block; vertical-align: -2px; }
.pc-cat-kruimels-tekst { font-size: 16px !important; font-weight: 300 !important; line-height: 24px !important; color: var(--pc-text) !important; margin: 0 0 33px !important; }

/* merkentegels (alleen op complete collectie): 324x172, rand 2px #4B515D, radius 15 */
.pc-merktegels { display: flex; align-items: stretch; margin: 0 -18px 48px; padding: 0 !important; }
.pc-merktegel { flex: 1 1 0; display: block; position: relative; box-sizing: border-box; margin: 11px 18px 15px; padding: 60px 15px 15px !important; background: #fff; border: 2px solid #4B515D; border-radius: 15px; text-align: center; text-decoration: none; color: #000; }
.pc-merktegel:hover { color: #000; box-shadow: none; }
.pc-merktegel-icoon { position: absolute; top: -63px; left: 50%; margin-left: -60px; width: 120px !important; height: 120px !important; object-fit: contain; }
.pc-merktegel-kop { display: block; font-size: 19.2px; font-weight: 700; line-height: 30.72px; color: #000; }
.pc-merktegel-tekst { display: block; font-size: 16px; font-weight: 300; line-height: 28px; padding-bottom: 6.4px; color: #000; }

/* beschrijving links uitgelijnd waar het origineel dat doet */
.pc-cat-desc--links, .pc-cat-desc--links p, .pc-cat-desc--links h2 { text-align: left !important; }
.pc-cat-desc--links p { margin: 0 !important; }

/* paginatie: elk item heeft een rand, en er is geen hover-effect */
.pc-cat-paginatie .page-numbers { border: 1px solid #59667E !important; }
.pc-cat-paginatie .page-numbers.next, .pc-cat-paginatie .page-numbers.prev { margin: 5px !important; }
.pc-cat-paginatie a.page-numbers:hover { background: #59667E !important; color: #ffffff !important; border-color: #59667E !important; cursor: pointer; }
.pc-cat-paginatie .page-numbers.current:hover { background: #59667E !important; color: #ffffff !important; }

/* kaart: tweede productfoto bij hover, naam in 500, knop zonder hover */
.pc-kaart .pc-kaart-beeld { display: block; margin: 0 0 20px !important; }
.pc-kaart .pc-beeldwrap { display: block; position: relative; min-height: 0; margin: 0 !important; }
.pc-kaart .pc-beeld { display: block; position: relative; min-height: 0; overflow: hidden; }
.pc-kaart .pc-beeld-eerste { display: block; opacity: 1; transition: opacity .25s ease-out; }
.pc-kaart .pc-beeld-tweede { display: block; position: absolute; top: 0; right: 0; bottom: 0; left: 0; opacity: 0; transition: opacity .25s ease-out; }
.pc-kaart .pc-beeld-tweede .pc-kaart-img { height: 100%; object-fit: contain; }
.pc-kaart:hover .pc-beeld--dubbel .pc-beeld-eerste { opacity: 0; }
.pc-kaart:hover .pc-beeld--dubbel .pc-beeld-tweede { opacity: 1; }
.pc-kaart-img { max-width: 100%; display: block; margin: 0 auto; }
.pc-kaart-naam a { font-size: 17px !important; font-weight: 500 !important; line-height: 25.5px !important; }
.pc-kaart-knop a:hover { background-color: var(--pc-green) !important; border-color: var(--pc-green) !important; color: #ffffff !important; }

/* tekstblok onder de paginatie, 18/300/32.4 zoals het origineel */
.pc-cat-ondertekst { margin: 30px 0 0; }
.pc-cat-ondertekst p { font-size: 18px !important; font-weight: 300 !important; line-height: 32.4px !important; margin: 0 !important; padding: 0 !important; }
.pc-cat-ondertekst h2 { font-size: 24px !important; font-weight: 500 !important; line-height: 33.6px !important; margin: 0 !important; padding: 0 0 14.4px !important; }

/* de reviewsectie krijgt op de categorie dezelfde maten als op de homepage */
.pc-sec--groen .pc-subkop { font-size: 24px !important; font-weight: 500 !important; line-height: 43.2px !important; text-align: center !important; margin: 0 !important; padding: 0 0 14.4px !important; }
.pc-sec--groen .pc-tekst { font-size: 18px !important; font-weight: 300 !important; line-height: 32.4px !important; }
.pc-sec--groen .pc-tekst p { font-size: 18px !important; font-weight: 300 !important; line-height: 32.4px !important; margin: 0 !important; padding: 0 0 14.4px !important; }

@media only screen and (max-width: 990px) {
	.pc-merktegels { display: block; margin: 0 0 15px; }
	.pc-merktegel { margin: 65px 0 15px; }
}
/* met de rand erbij blijft het item 38 hoog, net als op het origineel */
.pc-cat-paginatie .page-numbers { box-sizing: border-box !important; height: 38px !important; line-height: 16px !important; }
.pc-cat-paginatie .page-numbers.next, .pc-cat-paginatie .page-numbers.prev { height: 38px !important; line-height: 24px !important; }
/* de witruimte tussen de inline-blokken telt mee; het origineel heeft 4px tussenruimte */
.pc-pag-links { font-size: 0 !important; }
/* de voettekst hield 60px onder zich, het origineel 20px meer */
.pc-footergreen-inner { padding-bottom: 80px !important; }
/* het beoordelingswidget in de kopbalk heeft breedte 0 maar tekent 180px;
   daardoor kreeg elke pagina een horizontale schuifbalk onder ~1450px */
.pc-headerwwk { flex: 0 0 auto !important; width: 180px !important; }
.pc-headerwwk .elementor-widget-container { width: 180px !important; }
.pc-headerwwk valued-widget { display: block !important; width: 180px !important; }
/* subcategorietegels: 239x315 met beeld 217x217 en kop 18/300/32.4, net als het origineel */
.pc-subcats { display: flex; flex-wrap: wrap; box-sizing: border-box; width: 1040px; max-width: 100%; margin: 10px auto 0; padding: 0; }
.pc-subcat { flex: 0 0 239px; width: 239px; box-sizing: border-box; display: block; min-height: 315px; margin: 10px; padding: 10px; background: #fff; border: 1px solid #eeeeee; border-radius: 4px; text-align: center; text-decoration: none; color: var(--pc-text); }
.pc-subcat:hover { color: var(--pc-text); }
.pc-subcat-beeld { display: block; }
.pc-subcat-beeld img { display: block; width: 100%; height: auto; border-radius: 4px; }
.pc-subcat-kop { display: block; font-size: 18px; font-weight: 300; line-height: 32.4px; color: var(--pc-text); }
/* de kruimel stond 26px te laag: het origineel houdt 35px onder de kopbalk */
.elementor-element-6233a64 { padding-top: 35px !important; }
.pc-merktegel { margin-top: 36px !important; }
@media only screen and (max-width: 990px) {
	.pc-subcats { width: auto; padding-left: 9px; padding-right: 9px; }
	.pc-subcat { flex: 0 0 calc(100% - 10px); width: calc(100% - 10px); margin: 10px 5px; }
}
/* kortingslabel: 16/300 in #3d3d3c op groen, 10px onder de foto (origineel .product-sale-div) */
.pc-kaarten .pc-salebadge {
    position: absolute;
    bottom: -10px;
    left: 0;
    z-index: 400;
    box-sizing: border-box;
    padding: 3px 6px;
    background: var(--pc-green);
    color: #fff;
    border-radius: 5px;
    text-align: center;
    font-size: 14px !important;
}
.pc-kaarten .pc-salebadge-tekst { display: block; font-size: 14px !important; font-weight: 300; line-height: 21px; color: #ffffff !important; }
/* de subcategorietegel licht op bij hover, net als op het origineel */
.pc-subcat:hover { box-shadow: 0 0 2px #4B515D; }
/* het origineel houdt 5px tussen oude prijs, nieuwe prijs en 'incl. BTW';
   de witruimte in de HTML was 10px breed, waardoor de regel afbrak */
.pc-kaarten .pc-kaart-prijs { line-height: 31.5px !important; }
.pc-kaarten .pc-kaart-prijs del { margin-right: 5px; font-size: 16px !important; }
.pc-kaarten .pc-kaart-prijs ins { font-size: 21px !important; }
.pc-kaarten .pc-kaart-btw { margin-left: 5px; }
/* het label steekt 10px onder de foto uit; de link eromheen mag niet knippen */
.pc-kaarten .pc-kaart-beeld { overflow: visible !important; }
/* /shop: raster met alle hoofdcategorieen, 1080 breed en 4 per rij (tegel 242x315) */
.pc-sec--shop { max-width: 1080px !important; margin: 0 auto !important; padding: 25px 0 !important; }
.pc-shoptegels { width: auto; max-width: 100%; margin: 0; padding: 10px !important; }
.pc-shop-review, .pc-shop-greviews { padding: 0 !important; }
.pc-shoptegels .pc-subcat { flex: 0 0 242px; width: 242px; margin: 10.5px; }
/* op /shop is de reviewsectie lichter groen met donkere tekst */
.pc-sec--groen-licht { background: #C1D1C4 !important; }
.pc-sec--groen-licht .pc-subkop, .pc-sec--groen-licht .pc-tekst, .pc-sec--groen-licht .pc-tekst p { color: var(--pc-text) !important; }
.pc-sec--groen-licht .pc-tekst a { color: var(--pc-text) !important; }
@media only screen and (max-width: 990px) {
	.pc-shoptegels .pc-subcat { flex: 0 0 calc(100% - 21px); width: calc(100% - 21px); }
}
/* FAQ: groene blokken met uitklapbare vragen, 1:1 met het origineel */
/* de kolom is 93% breed en loopt tot 1050px, net als op het origineel */
.pc-sec--faq { max-width: none !important; margin: 0 !important; padding: 0 !important; }
.pc-faq { width: 93%; max-width: 1050px; margin: 0 auto; }
.pc-faq-h1 { font-size: 24px !important; font-weight: 500 !important; line-height: 33.6px !important; color: var(--pc-text) !important; margin: 0 0 46.4px !important; padding: 0 !important; }
.pc-faq-kop { font-size: 24px !important; font-weight: 500 !important; line-height: 33.6px !important; color: var(--pc-text) !important; margin: 0 !important; padding: 0 0 3.4px !important; }
.pc-faq-blok { background: var(--pc-green); border-radius: 5px; padding: 5px; margin: 0 0 98px; }
.pc-faq-blok:last-child { margin-bottom: calc(50px + 4vw); }
.pc-faq-item { border-bottom: 1px solid #dddddd; }
.pc-faq-vraag { display: block; position: relative; list-style: none; cursor: pointer; padding: 0 30px 0 0; font-size: 17px; font-weight: 300; line-height: 30.6px; color: #ffffff; }
.pc-faq-vraag::-webkit-details-marker { display: none; }
.pc-faq-pijl { position: absolute; right: 4px; top: 7px; width: 17px; height: 17px; color: #ffffff; transition: transform .2s ease-out; }
.pc-faq-item[open] > .pc-faq-vraag .pc-faq-pijl { transform: rotate(180deg); }
.pc-faq-antwoord p { font-size: 18px !important; font-weight: 300 !important; line-height: 32.4px !important; color: var(--pc-text) !important; margin: 0 !important; padding: 5px !important; }
.pc-faq-antwoord ul { font-size: 16px; font-weight: 300; line-height: 28.8px; color: var(--pc-text); margin: 0; padding: 0 0 12.8px 40px; list-style: disc; }
.pc-faq-antwoord li { font-size: 16px; font-weight: 300; line-height: 28.8px; color: var(--pc-text); margin: 0; padding: 0; }
.pc-faq-antwoord strong { font-weight: 400; }
.pc-faq-antwoord a { color: var(--pc-text); text-decoration: underline; }
/* Wijzerpagina's (/pannenwijzer... en /messenwijzer): de opmaak van het origineel, afgeschermd onder .pc-wijzer */
.pc-sec--wijzer { max-width: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
.pc-sec--wijzer > .elementor-widget { width: 100%; max-width: none; }
.pc-wijzer { font-family: Roboto, sans-serif; font-size: 16px; line-height: normal; color: var(--pc-text); }
.pc-wijzer p { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 300; font-size: 18px; margin: 0; line-height: 180%; }
.pc-wijzer li { line-height: 180%; }
.pc-wijzer img { max-width: 100%; height: auto; }
.pc-wijzer .container-div { position: relative; box-sizing: border-box; }
.pc-wijzer .greenbackground { background: var(--pc-green); }
.pc-wijzer .website-row { position: relative; margin: 0 auto; box-sizing: border-box; display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); }
.pc-wijzer .contentcontainer { max-width: 1080px; width: 95%; margin: 0 auto; }
.pc-wijzer .paddingbox { box-sizing: border-box; padding: 4% 1%; }
.pc-wijzer .paddingboxtop { box-sizing: border-box; padding: 4% 1% 0; }
.pc-wijzer .paddingboxmiddle { box-sizing: border-box; padding: 0 1%; }
.pc-wijzer .paddingboxbottom { box-sizing: border-box; padding: 0 1% 4%; }
.pc-wijzer .inner-row-col { position: relative; }
.pc-wijzer [class*="row-col-"] { position: relative; min-height: 1px; box-sizing: border-box; min-width: 0; }
.pc-wijzer .row-col-xl-4 { grid-column: span 4; }
.pc-wijzer .row-col-xl-6 { grid-column: span 6; }
.pc-wijzer .row-col-xl-8 { grid-column: span 8; }
.pc-wijzer .row-col-xl-12 { grid-column: span 12; }
.pc-wijzer .subkop { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 500; font-size: 24px; margin: 0; line-height: 180%; padding: 0 0 0.6em; text-align: center; }
.pc-wijzer .tekst { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 300; font-size: 18px; margin: 0; line-height: 180%; padding: 0 0 0.8em; }
.pc-wijzer .tekstkop { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 500; font-size: 18px; margin: 0; line-height: 180%; padding: 0 0 0.8em; }
.pc-wijzer .centertekst { text-align: center; }
.pc-wijzer ul.listtekst { padding-left: 40px; list-style: disc; }
.pc-wijzer ol.listtekst { padding-left: 40px; list-style: decimal; }
.pc-wijzer ol.listtekst li { margin: 0; padding: 0; list-style: decimal; }
.pc-wijzer ul.listtekst li { margin: 0; padding: 0; list-style: disc; }
.pc-wijzer .link { color: var(--pc-text); font-weight: 300; font-size: 18px; text-decoration: underline; }
.pc-wijzer .link:hover { color: var(--pc-green); }
.pc-wijzer a { color: var(--pc-text); text-decoration: underline; }
.pc-wijzer .paginaafbeeldingrechts { margin: 0 0 15px 5%; display: block; border-radius: 5px; width: 95% !important; }
.pc-wijzer .paginaafbeeldinglinks { margin: 0 5% 15px 0; display: block; border-radius: 5px; width: 95% !important; }
.pc-wijzer .slider { overflow: hidden; }
.pc-wijzer .sizesWrapper::after { content: ""; clear: both; display: block; }
.pc-wijzer .panSizeItem { float: left; width: 25%; box-sizing: border-box; text-align: center; }
.pc-wijzer .panSizeItem img { display: block; width: 100%; }
.pc-wijzer .pansizetexticon { font-size: 30px; color: var(--pc-green); }
.pc-wijzer .pansizetexticon svg { display: inline-block; width: 0.625em; height: 1em; vertical-align: -0.125em; }
.pc-wijzer .pansizetext { color: #ffffff; font-family: Roboto, sans-serif; font-weight: 300; font-size: 18px; margin: 0; line-height: 180%; padding: 0 0 0.8em; }
.pc-wijzer .pannenwijzerblok { box-sizing: border-box; padding-right: 15px; }
.pc-wijzer .pannenwijzerbloktext { min-height: 260px; }
.pc-wijzer .shopnowbuttton { color: #ffffff; background: var(--pc-green); border: 1px solid var(--pc-green); font-size: 18px; padding: 0.625rem 1rem; font-family: Roboto, sans-serif; font-weight: 300; line-height: normal; text-decoration: none; cursor: pointer; border-radius: 3px; display: block; width: fit-content; transition: background .2s; }
.pc-wijzer .shopnowbuttton:hover { background: var(--pc-green); color: #ffffff; }
@media only screen and (max-width: 1199px) {
	.pc-wijzer .row-col-lg-4 { grid-column: span 4; }
	.pc-wijzer .row-col-lg-6 { grid-column: span 6; }
	.pc-wijzer .row-col-lg-8 { grid-column: span 8; }
	.pc-wijzer .row-col-lg-12 { grid-column: span 12; }
	.pc-wijzer .paginaafbeeldingrechts, .pc-wijzer .paginaafbeeldinglinks { display: block; border-radius: 5px; width: 95% !important; margin: 0 auto 15px !important; }
}
@media only screen and (max-width: 991px) {
	.pc-wijzer .row-col-md-4 { grid-column: span 4; }
	.pc-wijzer .row-col-md-6 { grid-column: span 6; }
	.pc-wijzer .row-col-md-8 { grid-column: span 8; }
	.pc-wijzer .row-col-md-12 { grid-column: span 12; }
	.pc-wijzer .shopnowbuttton { margin: 0 auto 25px; }
}
@media only screen and (max-width: 770px) {
	.pc-wijzer .pannenwijzerbloktext { min-height: 0; }
}
@media only screen and (max-width: 767px) {
	.pc-wijzer .row-col-sm-4 { grid-column: span 4; }
	.pc-wijzer .row-col-sm-6 { grid-column: span 6; }
	.pc-wijzer .row-col-sm-8 { grid-column: span 8; }
	.pc-wijzer .row-col-sm-12 { grid-column: span 12; }
}
@media only screen and (max-width: 580px) {
	.pc-wijzer .subkop { font-size: 20px; }
	.pc-wijzer .panSizeItem { width: 100%; float: none; margin: 10px auto; }
}
@media only screen and (max-width: 575px) {
	.pc-wijzer .row-col-xs-4 { grid-column: span 4; }
	.pc-wijzer .row-col-xs-6 { grid-column: span 6; }
	.pc-wijzer .row-col-xs-8 { grid-column: span 8; }
	.pc-wijzer .row-col-xs-12 { grid-column: span 12; }
}
.pc-wijzer .shopnowbuttton { line-height: normal; }
.pc-wijzer iframe { width: 99%; max-width: 99%; }
/* extra onderdelen voor /ecoshield-antiaanbaklaag en /wie-en-wat-is-primecook */
.pc-wijzer .kop { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 500; font-size: 24px; margin: 0; line-height: 140%; padding: 0 0 0.6em; }
.pc-wijzer .paginakop { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 500; font-size: 19px; margin: 0; line-height: 180%; padding: 0; }
.pc-wijzer .itemwrap { text-align: center; box-sizing: border-box; padding: 10px; }
.pc-wijzer .itemwrapimage { display: block; margin: 0 auto; width: 80px; }
.pc-wijzer .ecoshieldheader { width: 100%; margin: 0 auto; display: block; }
.pc-wijzer .wie-is-afbeelding { display: block; border-radius: 5px; width: 90% !important; margin-left: 10% !important; }
.pc-wijzer .sliderwrapper { position: relative; margin: 0 0 60px; padding: 0; background: #ffffff; border: 5px solid #ffffff; box-shadow: 0 0 5px #cccccc; }
.pc-wijzer ul.bxslidersingle, .pc-wijzer ul.bxslidersingle li { margin: 0; padding: 0; list-style: none; }
.pc-wijzer ul.bxslidersingle img { display: block; width: 100%; height: auto; }
@media only screen and (max-width: 580px) {
	.pc-wijzer .kop { font-size: 24px; }
}/* extra onderdelen voor /smeralda-en-elite en de onderhoudpagina's */
.pc-wijzer h1 { color: var(--pc-text); font-family: Roboto, sans-serif; font-size: 24px; line-height: 140%; font-weight: 700; margin: 0; }
.pc-wijzer h2 { color: var(--pc-text); font-family: Roboto, sans-serif; font-size: 18px; line-height: 140%; font-weight: 700; margin: 0; }
.pc-wijzer ul, .pc-wijzer ol { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 300; font-size: 16px; margin: 0; line-height: 180%; padding: 0 0 0.8em 40px; list-style: disc; }
.pc-wijzer ol { list-style: decimal; }
.pc-wijzer li { list-style: inherit; margin: 0; }
.pc-wijzer strong, .pc-wijzer b { font-weight: 400; }
.pc-wijzer hr { height: 0; margin: 8px 0; padding: 0; }
.pc-wijzer .youtubeIframe { position: relative; height: 100%; width: 98%; box-sizing: border-box; padding-top: 56%; margin: 0 auto; }
.pc-wijzer .youtubeIframe iframe { position: absolute; inset: 0; width: 100% !important; height: 100% !important; }
.pc-wijzer .smeraldaIconWrap { margin-top: 20px; }
.pc-wijzer .smeraldaIconWrap::after { clear: both; content: ""; display: block; }
.pc-wijzer .smeraldaIcon { float: left; width: 23%; margin: 1%; text-align: center; box-sizing: border-box; padding: 10px; }
.pc-wijzer .smeraldaIcon img { width: 100%; display: block; max-width: 90px; margin: 0 auto; }
/* de koptekst-slider draait bij ons met css in plaats van met swiper (10s per beeld, fade) */
.pc-wijzer .slider .swiper-wrapper { position: relative; }
.pc-wijzer .slider .swiper-slide { position: absolute; top: 0; left: 0; right: 0; opacity: 0; animation: pc-wdia 30s linear infinite backwards; }
.pc-wijzer .slider .swiper-slide:first-child { position: relative; animation-delay: -0.3s; }
.pc-wijzer .slider .swiper-slide:nth-child(2) { animation-delay: 9.7s; }
.pc-wijzer .slider .swiper-slide:nth-child(3) { animation-delay: 19.7s; }
.pc-wijzer .slider .swiper-slide:only-child { position: relative; opacity: 1; animation: none; }
@keyframes pc-wdia { 0% { opacity: 0; } 1% { opacity: 1; } 33.33% { opacity: 1; } 34.33% { opacity: 0; } 100% { opacity: 0; } }
@media only screen and (max-width: 991px) {
	.pc-wijzer .smeraldaIcon { width: 31%; min-height: 230px; }
}
@media only screen and (max-width: 580px) {
	.pc-wijzer .smeraldaIcon { width: 100%; float: none; margin: 10px auto; min-height: 0; }
}/* blogtegels voor /nieuws, /inspiratie en /wetenswaardigheden */
.pc-wijzer .qs_blog_container { width: 100%; box-sizing: border-box; }
.pc-wijzer .qs_blog_container::after { clear: both; display: block; content: ""; }
.pc-wijzer .qs_blog_item { box-sizing: content-box; width: 28%; margin: 1%; float: left; border: 1px solid #eeeeee; min-height: 498px; }
.pc-wijzer .qs_blog_image { min-height: 180px; height: 100%; }
.pc-wijzer .qs_blog_image img { width: 100%; display: block; max-width: 100%; margin: 0 auto; min-height: 100px; }
.pc-wijzer .qs_blog_publishcontents { box-sizing: border-box; padding: 10px; }
.pc-wijzer .qs_blog_contents { box-sizing: border-box; padding: 10px; min-height: 222px; }
.pc-wijzer .qs_blog_tile_head { font-family: Roboto, sans-serif; color: var(--pc-text); font-weight: 400; font-size: 24px; margin: 0; padding: 0 0 1em; line-height: normal; }
.pc-wijzer .qs_blog_tile_text { font-family: Roboto, sans-serif; color: var(--pc-text); font-weight: 300; font-size: 18px; margin: 0; padding: 0 0 0.5em; line-height: 150%; box-sizing: border-box; }
.pc-wijzer .qs_blog_readmore { box-sizing: border-box; text-align: center; background: var(--pc-green); padding: 1px; }
.pc-wijzer .qs_blog_readmore .qs_blog_tile_text { line-height: 40px; padding: 0; }
.pc-wijzer .qs_blog_link { display: block; font-family: Roboto, sans-serif; color: #ffffff; font-weight: 300; font-size: 18px; margin: 0; padding: 20px; line-height: 150%; text-decoration: none; }
.pc-wijzer .qs_blog_date_text { display: inline-block; width: 98%; font-size: 14px; }
.pc-wijzer .qs_blog_general_info { display: none; }
.pc-wijzer .qs_blog_index { max-width: 40%; border: 1px solid #dddddd; float: left; }
.pc-wijzer .qs_blog_index_set { padding: 25px; }
.pc-wijzer .qs_blog_index_link { color: #000000; text-decoration: none; }
.pc-wijzer .qs_blog_index_link:hover { text-decoration: underline; }
.pc-wijzer .qs_blog_date { font-weight: 700; }
.pc-wijzer .clear { clear: both; }
.pc-wijzer .blog_button_wrap { padding: 30px 0 25px; box-sizing: border-box; }
.pc-wijzer .blog-button { font-family: Arial, sans-serif; font-size: 13.3333px; font-weight: 400; line-height: normal; display: block; margin: 0 auto; border: none; background: none; box-sizing: border-box; padding: 10px; border-radius: 4px; cursor: pointer; }
.pc-wijzer .blog-loadmore-button { background: #ffffff; color: #33b5e5; border: 1px solid #33b5e5; }
.pc-wijzer .blog-loadmore-button:hover { background: #33b5e5; color: #ffffff; }
.pc-wijzer .paginaAfbeelding { border-radius: 10px; display: block; margin: 10px auto; width: 95% !important; }
.pc-wijzer .alignImageRight { max-width: 365px; margin-bottom: 40px; }
/* reviewtegels */
.pc-wijzer .reviewtegel { background: #eeeeee; box-sizing: border-box; padding: 25px 15px 15px; border-radius: 5px; margin: 10% 10% 10% 0; width: 90%; }
.pc-wijzer .reviewName { color: var(--pc-green); font-family: Roboto, sans-serif; font-weight: 300; font-size: 16px; margin: 0; text-align: right; line-height: 180%; padding-top: 0.8em; }
/* verkoopvoorwaarden en privacy */
.pc-wijzer .voorwaardentekst { font-size: 16px; padding-bottom: 0.4em; line-height: 160%; }
.pc-wijzer .voorwaardenlink { font-size: 16px; }
.pc-wijzer .inhoudverkoopvoorwaarden { table-layout: fixed; border-collapse: collapse; }
.pc-wijzer .inhoudverkoopvoorwaarden tr td { font-size: 16px; padding-bottom: 0.4em; line-height: 160%; color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 300; min-width: 150px; }
/* cookiepagina */
.pc-wijzer .qs_cookie_page_wrap, .pc-wijzer .qs_cookie_table_head, .pc-wijzer .qs_cookie_table_text, .pc-wijzer .qs_cookiepage_text, .pc-wijzer .qs_cookiepage_subhead, .pc-wijzer .qs_cookiepage_acceptbtn { font-family: Verdana, Geneva, Tahoma, sans-serif; }
.pc-wijzer .qs_edit_cookies::after { clear: both; display: block; content: ""; }
.pc-wijzer .qs_edit_cookies_wrap { background: #eeeeee; box-sizing: border-box; padding: 10px; border-radius: 10px; }
.pc-wijzer .qs_cookiepage_editable { width: 50%; margin: 10px auto; text-align: left; float: left; }
.pc-wijzer .qs_cookiepage_editable input, .pc-wijzer .qs_cookiepage_editable label { display: inline; width: auto; min-width: 0; text-align: left; }
.pc-wijzer .qs_cookiepage_editable p { display: block; }
.pc-wijzer .qs_cookiepage_acceptbtn { display: block; color: #283752; font-size: 15px; margin: 0 auto; padding: 10px; text-decoration: none; border: 2px solid #283752; background: #ffffff; border-radius: 5px; cursor: pointer; transition: 500ms ease-out; }
.pc-wijzer .qs_cookiepage_acceptbtn:hover { background: #283752; color: #ffffff; }
.pc-wijzer .qs_cookie_table { table-layout: fixed; width: 100%; border-collapse: collapse; }
.pc-wijzer .qs_cookie_table, .pc-wijzer .qs_cookie_table tr, .pc-wijzer .qs_cookie_table td { border: 1px solid #eeeeee; }
.pc-wijzer .qs_cookie_table td { padding: 10px; }
.pc-wijzer .qs_cookie_table_head { margin: 0; padding: 0; }
@media only screen and (max-width: 991px) {
	.pc-wijzer .qs_blog_item { width: 47%; min-height: 605px; }
}
@media only screen and (max-width: 770px) {
	.pc-wijzer .qs_blog_item { max-width: 400px; width: 100%; float: none; margin: 10px auto; }
	.pc-wijzer .qs_blog_contents { min-height: 0; }
}/* correcties na meting tegen het origineel */
.pc-wijzer .qs_blog_date_text { font-size: 18px; }
.pc-wijzer .kop.tekst { font-size: 18px; font-weight: 300; line-height: 180%; }
.pc-wijzer table { font-size: inherit; }
.pc-wijzer .inhoudverkoopvoorwaarden { width: auto; }
.pc-wijzer .inhoudverkoopvoorwaarden tr td { padding: 1px 1px 0.4em; }
.pc-wijzer .qs_cookie_page_wrap, .pc-wijzer .qs_cookie_table_head, .pc-wijzer .qs_cookie_table_text, .pc-wijzer .qs_cookiepage_text, .pc-wijzer .qs_cookiepage_subhead, .pc-wijzer .qs_cookiepage_acceptbtn { font-family: Roboto, sans-serif; }
.pc-wijzer .qs_cookiepage_head { color: var(--pc-text); font-weight: 400; font-size: 24px; margin: 0; line-height: 180%; padding-bottom: 0.8em; }
.pc-wijzer .qs_cookie_table_head, .pc-wijzer .qs_cookiepage_subhead { color: var(--pc-text); font-weight: 400; font-size: 22px; margin: 0; line-height: 180%; padding-bottom: 0.8em; }
.pc-wijzer .qs_cookie_table_text, .pc-wijzer .qs_cookiepage_text { color: var(--pc-text); font-weight: 300; font-size: 18px; margin: 0; line-height: 180%; padding-bottom: 0.8em; }
.pc-wijzer .qs_cookie_table tr td { vertical-align: top; line-height: normal; }
.pc-wijzer .qs_cookiepage_acceptbtn { line-height: normal; }
@media only screen and (max-width: 770px) {
	.pc-wijzer .reviewtegel { margin: 20px auto 0; width: 100%; }
}/* knoppen en tweekoloms-blokken voor /personalisatie en de merkcategorieen */
.pc-wijzer .bannerbutton { box-sizing: content-box; color: #ffffff; background: var(--pc-green); border: 1px solid var(--pc-green); font-size: 18px; padding: 0.625rem 1rem; font-family: Roboto, sans-serif; font-weight: 400; line-height: 180%; text-decoration: none; cursor: pointer; border-radius: 3px; display: block; margin: 30px auto; transition: background-color .2s; }
.pc-wijzer .linkbutton, .pc-wijzer .brochurebutton, .pc-wijzer .buttonwit { display: block; width: 250px; margin: 10px auto 30px; text-align: center; }
.pc-wijzer .bannerbutton:hover, .pc-wijzer .brochurebutton:hover, .pc-wijzer .linkasbutton:hover { background: var(--pc-green); color: #ffffff; }
.pc-wijzer .linkasbutton { box-sizing: content-box; color: #ffffff; background: var(--pc-green); border: 1px solid var(--pc-green); font-size: 16px; padding: 0.125rem 1rem; font-family: Roboto, sans-serif; font-weight: 400; text-decoration: none; cursor: pointer; border-radius: 3px; display: inline-block; transition: background-color .2s; }
.pc-wijzer .categoriekop { color: var(--pc-text); font-family: Roboto, sans-serif; font-weight: 500; font-size: 24px; margin: 0; line-height: 110%; }
.pc-wijzer .category-page-header { display: block; margin: 0 auto 30px; width: 100%; }
.pc-wijzer .categorie-2columns { width: 47%; float: left; padding: 15px; box-sizing: border-box; }
@media only screen and (max-width: 580px) {
	.pc-wijzer .categorie-2columns { width: 100%; float: left; padding: 15px; }
}.pc-cat-kruimel-link { color: #333333; text-decoration: none; }
.pc-cat-kruimel-link:hover { text-decoration: underline; }
/* merkbeschrijving in een categorie: het categoriesjabloon zet li op 18px en beelden op 100% */
.pc-merkdesc li { font-size: 16px; line-height: 180%; }
.pc-merkdesc img { width: auto; max-width: 100%; height: auto; }
/* het categoriesjabloon zet beelden op block en 100%; in de merkbeschrijving staan ze inline op eigen maat */
.pc-merkdesc p > img { display: inline; }
.pc-merkdesc img[src*="all-black-elite"] { width: 349px; height: 114px; }
/* winkelwagenicoon: overleeft de ajax-verversing zonder webfont (zelfde maat als de inline svg) */
.pc-cartwrap .elementor-menu-cart__toggle i.fa-shopping-cart,
.pc-cartwrap .elementor-menu-cart__toggle i.fa-cart-shopping {
	display: inline-block;
	width: 18px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M0 24C0 10.7 10.7 0 24 0L69.5 0c22 0 41.5 12.8 50.6 32l411 0c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3l-288.5 0 5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5L488 336c13.3 0 24 10.7 24 24s-10.7 24-24 24l-288.3 0c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5L24 48C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E") no-repeat center / contain;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 576 512'%3E%3Cpath d='M0 24C0 10.7 10.7 0 24 0L69.5 0c22 0 41.5 12.8 50.6 32l411 0c26.3 0 45.5 25 38.6 50.4l-41 152.3c-8.5 31.4-37 53.3-69.5 53.3l-288.5 0 5.4 28.5c2.2 11.3 12.1 19.5 23.6 19.5L488 336c13.3 0 24 10.7 24 24s-10.7 24-24 24l-288.3 0c-34.6 0-64.3-24.6-70.7-58.5L77.4 54.5c-.7-3.8-4-6.5-7.9-6.5L24 48C10.7 48 0 37.3 0 24zM128 464a48 48 0 1 1 96 0 48 48 0 1 1 -96 0zm336-48a48 48 0 1 1 0 96 48 48 0 1 1 0-96z'/%3E%3C/svg%3E") no-repeat center / contain;
}/* badge mag overal uitsteken */
.pc-kaart-beeld { overflow: visible !important; }
/* videoblok /shop: het origineel gebruikt 57,6% i.p.v. 16:9 */
.pc-sec--groen-licht .elementor-widget-video .elementor-wrapper { aspect-ratio: auto; height: 0; padding-bottom: 57.6%; }
/* kaart in een swiper-slide: altijd de volle slide, nooit een eigen breedte */
/* de kaartregels met vaste 239px en calc(25% - 20px) zijn voor het raster bedoeld;
   in de carrousel bepaalt swiper de slidebreedte en moet de kaart die gewoon vullen. */
.swiper-slide .pc-kaart, .elementor-widget-loop-carousel .pc-kaart {
	flex: 0 0 auto !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}
/* woocommerce zet na het toevoegen een extra link achter de knop; het origineel doet dat niet */
.pc-kaart .added_to_cart, .pc-kaart-knop .added_to_cart, .pc-kaarten .added_to_cart { display: none !important; }
/* ==== PRIMECOOK WIJZER IN ELEMENTOR ==== */
/* De wijzerpaginas staan in echte Elementor-containers; deze regels halen de
   standaardopmaak van die containers weg zodat de overgenomen css blijft kloppen. */
.pc-wijzer .e-con.e-flex, .pc-wijzer.e-con.e-flex { display: block; }
.pc-wijzer .e-con.website-row { display: grid; }
.pc-wijzer .e-con, .pc-wijzer.e-con {
    --gap: 0px; --row-gap: 0px; --column-gap: 0px;
    --padding-block-start: 0px; --padding-block-end: 0px;
    --padding-inline-start: 0px; --padding-inline-end: 0px;
    --margin-block-start: 0px; --margin-block-end: 0px;
    --margin-inline-start: 0px; --margin-inline-end: 0px;
    --width: auto; --min-height: 0px;
}
/* Elementor nult de ondermarge van widgets in containers; deze klassen krijgen hem terug */
.pc-wijzer .elementor-widget.paginaafbeeldingrechts,
.pc-wijzer .elementor-widget.paginaafbeeldinglinks { margin-bottom: 15px; }
.pc-wijzer .elementor-widget.paginaAfbeelding { margin-bottom: 10px; }
.pc-wijzer .elementor-widget.alignImageRight { margin-bottom: 40px; }
/* Elementor zet max-width:100% op elke widget in een container */
.pc-wijzer .e-con > .elementor-widget.alignImageRight { max-width: 365px; }
/* kop-widget: de originele klasse staat op de wikkel, dus erft de kop alles */
.pc-wijzer .elementor-widget-heading .elementor-heading-title {
    font: inherit; color: inherit; letter-spacing: inherit;
    text-align: inherit; margin: 0; padding: 0;
}
/* beeld-widget: de originele klassen staan op de wikkel, het beeld vult die */
.pc-wijzer .elementor-widget-image .elementor-widget-container { border-radius: inherit; }
.pc-wijzer .elementor-widget-image img { display: block; max-width: 100%; height: auto; border-radius: inherit; }
/* ==== PRIMECOOK WIJZER IN ELEMENTOR EINDE ==== */

/* ==== PRIMECOOK MENU ACTIEF ==== */
/* de huidige categorie licht groen op, ook in het mobiele uitklapmenu */
.elementor-location-header .elementor-nav-menu a.elementor-item.elementor-item-active,
.elementor-location-header .elementor-nav-menu a.elementor-sub-item.elementor-item-active {
	color: #19C55D !important;
	background-color: transparent !important;
}
/* ==== PRIMECOOK MENU ACTIEF EINDE ==== */

/* ==== PRIMECOOK CATEGORIE EXTRA EINDE ==== */

/* ==== PRIMECOOK PRODUCT KAART EN PIJLEN ==== */
/* Gerelateerde producten hebben op het origineel een eigen kaart van 257x433, */
/* niet de categoriekaart van 239x560. */
.pc-prod-blok .pc-kaarten { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.pc-prod-blok .pc-kaarten .pc-kaart { flex: 0 0 257px !important; width: 257px !important; max-width: 257px !important; min-height: 433px !important; padding: 10px !important; margin: 10.69px 10px 10.69px 0 !important; }
.pc-prod-blok .pc-kaarten .pc-kaart-beeld { width: 100% !important; height: auto !important; aspect-ratio: 1 !important; margin: 0 0 20px !important; }
.pc-prod-blok .pc-kaarten .pc-kaart-naam, .pc-prod-blok .pc-kaarten .pc-kaart-naam a { font-size: 16px !important; font-weight: 300 !important; line-height: 24px !important; }
.pc-prod-blok .pc-kaarten .pc-kaart-naam { min-height: 48px !important; margin: 0 10px 16px !important; }
/* De knop is 170x40 en staat gecentreerd, net als op het origineel. */
.pc-prod-blok .pc-kaarten .pc-kaart-knop { text-align: center !important; }
.pc-prod-blok .pc-kaarten .pc-kaart-knop a { width: 170px !important; }
.pc-prod-blok .pc-kaarten .pc-kaart-prijs { margin: 0 10px 10px !important; }
.pc-prod-blok .pc-kaarten .pc-kaart-knop { margin: 0 10px 10px !important; }
/* Galerijpijlen: witte rondjes van 40px met een chevron, zoals het origineel. */
.pc-prod-pijl { width: 40px; height: 40px; padding: 0; border: 0; border-radius: 50px;
  background: #ffffff; opacity: 0.6; z-index: 10; font-size: 0; line-height: 0;
  display: flex; align-items: center; justify-content: center;
  top: 50%; transform: translateY(-20px); }
.pc-prod-pijl:hover { opacity: 0.6; }
.pc-prod-vorige { left: 10px; right: auto; }
.pc-prod-volgende { right: 10px; left: auto; }
.pc-prod-pijl::before { content: ""; display: block; width: 10px; height: 16px;
  background-color: #333333;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 320 512%27%3E%3Cpath d=%27M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z%27/%3E%3C/svg%3E") no-repeat center / 10px 16px;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 320 512%27%3E%3Cpath d=%27M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z%27/%3E%3C/svg%3E") no-repeat center / 10px 16px; }
.pc-prod-vorige::before { transform: scaleX(-1); }
/* /extra-sales-pagina: kop even breed als de inhoud, 24/700/33.6 zoals het origineel. */
.pc-extra.e-con { max-width: 1070px !important; margin-left: auto !important; margin-right: auto !important; }
.pc-extra-kop .elementor-heading-title { font-size: 24px; font-weight: 700; line-height: 33.6px; color: var(--pc-text); margin: 16.08px 0; }
.pc-extra-kop a { color: inherit; text-decoration: underline; }
/* Kassakoopjes: tweede foto bij hover, net als in het categorieraster. */
.pc-kassakoopjes .pc-kaart .pc-beeld--dubbel { position: relative; }
.pc-kassakoopjes .pc-kaart:hover .pc-beeld--dubbel .pc-beeld-eerste { opacity: 0 !important; }
.pc-kassakoopjes .pc-kaart:hover .pc-beeld--dubbel .pc-beeld-tweede { opacity: 1 !important; }
/* Informatieblok van de productpagina: het origineel gebruikt 18/180% voor tekst,
   18/140%/700 met marge 14.94px voor de tussenkoppen en 16/180% voor lijsten. */
.pc-prod-tekst p { font-size: 18px !important; font-weight: 300 !important; line-height: 180% !important; margin: 0 !important; }
.pc-prod-tekst ul, .pc-prod-tekst ol { font-size: 16px !important; font-weight: 300 !important; line-height: 180% !important; padding-bottom: 0.8em !important; }
.pc-prod-tekst li { font-size: 16px !important; line-height: 180% !important; }
.pc-prod-lang p { font-size: 18px !important; font-weight: 300 !important; line-height: 180% !important; margin: 0 !important; }
.pc-prod-lang h2 { font-size: 18px !important; font-weight: 700 !important; line-height: 140% !important; margin: 14.94px 0 !important; }
.pc-prod-lang ul, .pc-prod-lang ol { font-size: 16px !important; font-weight: 300 !important; line-height: 180% !important; padding-bottom: 0.8em !important; }
.pc-prod-lang li { font-size: 16px !important; line-height: 180% !important; }
.pc-prod-subkop { margin: 0 !important; }
/* Het origineel laat de tekstwikkel de ruimte maken (marge 45, padding 10),
   niet het omliggende blok. */
.pc-prod-lang { margin: 0 !important; padding: 10px 0 !important; }
.pc-prod-blok { margin-top: 45px !important; }
.pc-prod-specs { margin-bottom: 20px !important; }
/* De titel heeft op het origineel boven en onder 16.08px ruimte. */
.pc-prod-kop { margin: 16.08px 0 !important; }
/* Boven het product hoort 75px wit (op het origineel zit daar het kruimelpad). */
/* Die 75px bootste de ruimte na waar het origineel zijn kruimelpad heeft. Dat pad
   staat er bij ons niet meer, dus het was letterlijk loze ruimte die de prijs omlaag
   duwde. Op verzoek terug naar 30px; op de telefoon staat hij verderop al op 20px. */
.pc-prod-top { padding-top: 30px !important; }
/* Het origineel zet strong/b op gewicht 400, niet 700. */
.pc-prod-tekst strong, .pc-prod-tekst b, .pc-prod-lang strong, .pc-prod-lang b { font-weight: 400 !important; font-size: inherit !important; }
/* Het origineel zet lege regels met <br><br> in een alinea; wpautop maakt daar
   losse alineas van. Een lege regel is 32.4px (18px op 180%). */
.pc-prod-tekst p + p, .pc-prod-lang p + p { margin-top: 32.4px !important; }
/* Reviewvideo op de productpagina: op het origineel 1008x576 (verhouding 1.75). */
.pc-prod-reviews .video-container { width: 1008px; max-width: 100%; margin: 0 auto; }
.pc-prod-reviews .video-container iframe { display: block; width: 100%; height: auto; aspect-ratio: 1.75; border: 0; }
/* Prijzen op de productpagina, maten uit de css van het origineel: */
/* wikkel 30/500 in groen, oude prijs 16 in #888, actieprijs 21/500, btw-tekst 12. */
.pc-prod-prijs { font-size: 30px !important; font-weight: 500 !important; color: var(--pc-green) !important; }
.pc-prod-prijs del { font-size: 16px !important; color: #888888 !important; }
.pc-prod-prijs ins { font-size: 21px !important; font-weight: 500 !important; text-decoration: none !important; }
.pc-prod-prijs .pc-prod-btw, .pc-prod-prijs small, .pc-prod-prijs .woocommerce-Price-taxLabel { font-size: 12px !important; font-weight: 300 !important; }
/* Sale-label boven de prijs; het origineel zet het alleen bij korting, en
   korting herkennen we aan de doorgehaalde oude prijs. */
.pc-prod-prijs:has(del)::before { content: "Sale"; display: block; width: fit-content;
  background: var(--pc-green); color: #ffffff; font-size: 14px; line-height: 21px;
  font-weight: 300; padding: 3px 6px; border-radius: 5px; margin-bottom: 10px; }
/* Aantalveld: 90x40 met de rand en het lettertype van het origineel. */
.pc-prod-bestel input[type="text"], .pc-prod-bestel input[type="number"] {
  width: 90px !important; height: 40px !important; padding: 6px 12px !important;
  border: 1px solid #c2cad8 !important; border-radius: 4px !important;
  font-size: 16px !important; line-height: 26px !important; color: #555555 !important;
  box-sizing: border-box !important; }
/* De twee knopjes van 20x20 rechts in het aantalveld, zoals het origineel. */
.pc-prod-aantalwrap { position: relative; display: inline-block; width: 90px; height: 40px; vertical-align: middle; }
.pc-prod-aantalwrap .pc-prod-aantal { -moz-appearance: textfield; }
.pc-prod-aantalwrap .pc-prod-aantal::-webkit-outer-spin-button,
.pc-prod-aantalwrap .pc-prod-aantal::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pc-prod-aantalknop { position: absolute; right: 10px; width: 20px; height: 20px; padding: 0; border: 0; background: none; cursor: pointer; }
.pc-prod-aantal-op { top: 0; }
.pc-prod-aantal-neer { bottom: 0; }
.pc-prod-aantalknop:hover { background: none !important; }
.pc-prod-aantalknop::before { content: ""; display: block; width: 10px; height: 10px; margin: 0 auto;
  background-color: #555555;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 512 512%27%3E%3Cpath d=%27M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z%27/%3E%3C/svg%3E") no-repeat center / 10px 10px;
  mask: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 512 512%27%3E%3Cpath d=%27M233.4 105.4c12.5-12.5 32.8-12.5 45.3 0l192 192c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L256 173.3 86.6 342.6c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3l192-192z%27/%3E%3C/svg%3E") no-repeat center / 10px 10px; }
.pc-prod-aantal-neer::before { transform: rotate(180deg); }
/* Het thema geeft elke <button> een roze hover; galerij en pijlen mogen dat niet. */
/* Hello Elementor kleurt ELKE knop bij hover/focus roze (#c36). Bij knoppen
   zonder eigen achtergrond valt dat op; daar zetten we het uit. Globaal
   uitschakelen kan niet: dan verliezen de groene knoppen hun kleur. */
.pc-prod-thumb:hover, .pc-prod-thumb:focus { background-color: transparent !important; color: inherit !important; }
.pc-prod-pijl:hover, .pc-prod-pijl:focus { background-color: #ffffff !important; color: inherit !important; }
.pc-prod-aantalknop:hover, .pc-prod-aantalknop:focus { background-color: transparent !important; color: inherit !important; }
/* Het origineel laat de bestelknop bij hover ongewijzigd. */
.pc-prod-knop:hover { background-color: var(--pc-green) !important; border-color: var(--pc-green) !important; }
/* Op mobiel pakt de kaart de volle kolombreedte, net als het origineel. */
@media (max-width: 990px) {
  .pc-prod-blok .pc-kaarten .pc-kaart { max-width: none !important; flex-basis: 100% !important; width: 100% !important; }
  .pc-prod-top { padding-left: 14px !important; padding-right: 14px !important; }
}
/* ==== PRIMECOOK PRODUCT KAART EN PIJLEN EINDE ==== */

/* ==== PRIMECOOK BLOGARTIKEL ==== */
/* Maten uit de css van het origineel: kop 24/700/33.6, alinea 18/300/180%,
   lijsten 16/180%, kolom 1080 breed, terugknop 250px binnenbreedte. */
body.single-post .page-content { max-width: 1080px; margin-left: auto; margin-right: auto; }
body.single-post .entry-title { font-size: 24px; font-weight: 700; line-height: 33.6px; color: var(--pc-text); margin: 16.08px 0; }
body.single-post .page-content p, body.single-post .page-content .tekst {
  font-size: 18px; font-weight: 300; line-height: 180%; color: var(--pc-text);
  margin: 0; padding-bottom: 0.8em; }
body.single-post .page-content h2 { font-size: 18px; font-weight: 700; line-height: 140%; color: var(--pc-text); margin: 14.94px 0; }
body.single-post .page-content h3 { font-size: 18px; font-weight: 700; line-height: 140%; color: var(--pc-text); margin: 14.94px 0; }
body.single-post .page-content ul, body.single-post .page-content ol {
  font-size: 16px; font-weight: 300; line-height: 180%; color: var(--pc-text); padding-bottom: 0.8em; }
body.single-post .page-content li { font-size: 16px; line-height: 180%; }
/* De terugknop is een blok-link van 250px binnenbreedte; het thema zet border-box. */
body.single-post .qs_blog_post_backlink { margin: 20px 0; }
body.single-post .qs_blog_post_backlink_a {
  box-sizing: content-box;
  color: #ffffff !important; background-color: var(--pc-green); border: 1px solid var(--pc-green);
  font-size: 18px; font-weight: 400; line-height: normal; padding: 10px 16px;
  border-radius: 3px; text-decoration: none !important; }
body.single-post .qs_blog_post_backlink_a:hover { background-color: var(--pc-green-hover); color: #ffffff !important; }
/* De titel staat nu IN het artikel (div.blog-header); het themablok erboven uit. */
body.single-post .page-header { display: none; }
body.single-post .page-content .blog-header h1 {
  font-size: 24px; font-weight: 700; line-height: 33.6px; color: var(--pc-text); margin: 16.08px 0; }
/* Het introblok brengt zijn eigen kolom van 1080 mee; niet nog eens inperken. */
body.single-post .pc-blogintro .contentcontainer { width: 100%; }
/* Op het origineel komt de ruimte onder de intro van de padding (4%) van de
   artikelsectie; die sectie hebben wij niet, dus hier als marge. */
body.single-post .pc-blogintro { margin-bottom: 0px; }
/* ==== PRIMECOOK BLOGARTIKEL EINDE ==== */

/* ==== PRIMECOOK KOPBALK ==== */
/* De teller bij het winkelwagentje rekent tegen de knop (16px hoog), niet tegen
   de hoge menu-li van het origineel. Daardoor zakte hij onder het icoon.
   Op het origineel staat het rondje 21px boven de bovenkant van het icoon. */
/* Alleen de desktop-widget (3251657) zit fout; de mobiele (fc4e6bb) staat goed.
   top/inset halen het niet: die waarde komt ergens vandaan die niet via de
   cssom te vinden is en negeert zelfs een inline !important. margin-top werkt
   wel. -41px brengt het rondje van 20px onder naar 21px boven de icoonrand,
   gelijk aan het origineel. Wijzigt de kopbalk, controleer dan dit id. */
.elementor-element-3251657 .elementor-button-icon-qty { margin-top: -43px; }
/* ==== PRIMECOOK KOPBALK EINDE ==== */


/* ==== PRIMECOOK BLOGINTRO START ==== */
/* De intro-kop staat bij ons als p.kop in de inhoud; het origineel gebruikt h1.kop (24/500/33.6). */
body.single-post .page-content .kop {
	font-size: 24px;
	font-weight: 500;
	line-height: 33.6px;
	padding-bottom: 14.4px;
}
body.single-post .page-content .kop strong {
	font-weight: 500;
}
/* Het origineel geeft alinea's in een blogartikel geen onderruimte. */
body.single-post .page-content p {
	padding-bottom: 0;
}
/* Promoblok onder een artikel; klassen van het origineel. */
body.single-post .page-content .pc-blogpromo .contentcontainer {
	width: 100%;
}
body.single-post .page-content .pc-blogpromo .subkop {
	font-size: 24px;
	font-weight: 500;
	line-height: 43.2px;
	padding-bottom: 14.4px;
}
body.single-post .page-content .pc-blogpromo .tekst {
	font-size: 18px;
	font-weight: 300;
	line-height: 32.4px;
	padding-bottom: 14.4px;
}
body.single-post .page-content .pc-blogpromo .brochurebutton {
	display: inline-block;
	width: 284px;
	padding: 10px 16px;
	border: 1px solid var(--pc-green, #7F9C90);
	border-radius: 3px;
	background: var(--pc-green, #7F9C90);
	color: #fff;
	font-size: 18px;
	font-weight: 400;
	line-height: 32.4px;
	text-decoration: none;
}
body.single-post .page-content .pc-blogpromo .brochurebutton:hover {
	background: var(--pc-green-hover, #19C55D);
	color: #fff;
}
/* ==== PRIMECOOK BLOGINTRO EINDE ==== */


/* ==== PRIMECOOK FEESTDAGEN START ==== */
/* Klassen die alleen op /prettigedagen voorkomen; maten van het origineel. */
.pc-wijzer .grotekop {
	font-size: 32px;
	font-weight: 500;
	line-height: 57.6px;
	padding-bottom: 19.2px;
}
.pc-wijzer .opsomming {
	font-size: 18px;
	line-height: 27px;
	padding-bottom: 14.4px;
}
.pc-wijzer .opsomming li {
	font-size: 18px;
	line-height: 27px;
}
.pc-wijzer .paginaafbeeldingcenter {
	text-align: center;
}
/* Zichtbaarheidsklassen van het origineel (breekpunt 768px). */
.pc-wijzer .noshowdesktop {
	display: none;
}
@media (max-width: 767px) {
	.pc-wijzer .showmobile {
		display: block;
	}
	.pc-wijzer .noshowmobile {
		display: none;
	}
}
/* ==== PRIMECOOK FEESTDAGEN EINDE ==== */


/* ==== PRIMECOOK ARTIKELBLOKKEN START ==== */
/* Productgroeptegels en blogtegels uit het origineel (QSMainWebsiteCSS). */
.pc-wijzer .home-webshop-productgroepen:after {
	clear: both;
	content: '';
	display: block;
}
.pc-wijzer .groepitem {
	box-sizing: border-box;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center center;
	border-radius: 3px;
	cursor: pointer;
}
.pc-wijzer .pannengroep {
	float: left;
	width: 60%;
	height: 520px;
	background-image: url(https://primecook.up.agency/wp-content/uploads/2026/07/tegel-home-pannen.jpg);
}
.pc-wijzer .personalisatiegroep {
	float: right;
	width: 38%;
	height: 250px;
	margin-bottom: 2%;
	background-image: url(https://primecook.up.agency/wp-content/uploads/2026/07/test-afbeelding.jpg);
}
.pc-wijzer .accessoiresgroep {
	float: right;
	width: 38%;
	height: 250px;
	background-image: url(https://primecook.up.agency/wp-content/uploads/2026/07/tegel-home-accessoires.jpg);
}
.pc-wijzer .messengroep {
	float: left;
	width: 100%;
	height: 250px;
	margin-top: 20px;
	background-image: url(https://primecook.up.agency/wp-content/uploads/2026/07/primecook-messen-banner-home.jpg);
}
.pc-wijzer .productgroepkop {
	color: #3d3d3c;
	font-weight: 500;
	font-size: 28px;
	margin: 15px;
	line-height: 180%;
	padding-bottom: 0;
}
.pc-wijzer .personalisatiegroep .productgroepkop,
.pc-wijzer .messengroep .productgroepkop {
	color: #fff;
}
/* In een artikel is de kolom 48px smaller dan op het origineel; zonder dit passen er 3 i.p.v. 4 tegels op een rij. */
body.single-post .page-content .pc-shoptegels {
	margin-left: -24px;
	margin-right: -24px;
	width: auto;
	max-width: none;
}
body.single-post .page-content .pc-shoptegels .pc-subcat {
	flex: 0 0 calc(25% - 21px);
}
/* Secties met een achtergrond lopen op het origineel over de volle paginabreedte. */
.pc-wijzer .pc-volbreed {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}
body.single-post {
	overflow-x: clip;
}
.pc-wijzer .qs_blog_container_latestitems {
	width: 100%;
	box-sizing: border-box;
}
.pc-wijzer .qs_blog_container_latestitems:after {
	clear: both;
	display: block;
	content: '';
}
.pc-wijzer .qs_blog_item_latestitems {
	box-sizing: border-box;
	width: 28%;
	margin: 1%;
	float: left;
	border: 1px solid #eee;
	min-height: 498px;
}
.pc-wijzer .qs_blog_image_latestitems {
	min-height: 180px;
}
.pc-wijzer .qs_blog_image_latestitems img {
	width: 100%;
	display: block;
	max-width: 100%;
	margin: 0 auto;
}
.pc-wijzer .qs_blog_publishcontents_latestitems,
.pc-wijzer .qs_blog_contents_latestitems {
	box-sizing: border-box;
	padding: 10px;
}
.pc-wijzer .qs_blog_readmore_latestitems {
	box-sizing: border-box;
	padding: 1px;
	text-align: center;
	background: #7F9C90;
}
.pc-wijzer .qs_blog_link_latestitems {
	display: block;
	color: #fff;
	font-weight: 300;
	font-size: 18px;
	margin: 0;
	padding: 20px;
	text-decoration: none;
}
@media (max-width: 1024px) {
	.pc-wijzer .qs_blog_item_latestitems {
		width: 47%;
		min-height: 605px;
	}
	.pc-wijzer .pannengroep {
		width: 50%;
	}
	.pc-wijzer .personalisatiegroep,
	.pc-wijzer .accessoiresgroep {
		width: 48%;
	}
}
@media (max-width: 767px) {
	.pc-wijzer .qs_blog_item_latestitems {
		width: 98%;
	}
	.pc-wijzer .pannengroep,
	.pc-wijzer .accessoiresgroep,
	.pc-wijzer .personalisatiegroep {
		width: 100%;
		float: none;
		height: 250px;
		margin: 10px 0;
	}
}
/* ==== PRIMECOOK ARTIKELBLOKKEN EINDE ==== */


/* ==== PRIMECOOK CATEGORIE FAQ START ==== */
.pc-cat-faq {
	margin-top: 32px;
}
.pc-cat-faq .pc-faq-kop {
	margin-bottom: 14.4px;
}
.pc-cat-slottekst {
	margin-top: 15px;
}
/* ==== PRIMECOOK CATEGORIE FAQ EINDE ==== */


/* ==== PRIMECOOK KASSAKOOPJES KNOPPEN START ==== */
.pc-kassa-knoppen {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 10px;
}
.pc-kassa-knop {
	display: inline-block;
	padding: 10px 15px;
	background: var(--pc-green, #7F9C90);
	color: #fff;
	font-size: 14px;
	font-weight: 400;
	line-height: 19px;
	border-radius: 0;
	text-decoration: none;
}
.pc-kassa-knop:hover,
.pc-kassa-knop:focus {
	background: var(--pc-green-hover, #19C55D);
	color: #fff;
}
/* De video-widget krijgt de 16:9-ruimte via .pc-vid, maar de iframe zelf bleef 0 hoog. */
.pc-video .elementor-wrapper {
	position: relative;
}
.pc-video iframe.elementor-video,
.pc-video .elementor-wrapper iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
/* ==== PRIMECOOK KASSAKOOPJES KNOPPEN EINDE ==== */


/* ==== PRIMECOOK AFREKENEN START ==== */
/* Maten en kleuren uit pluginlive_min.css van het origineel. */
body.woocommerce-checkout form.checkout.woocommerce-checkout, body.woocommerce-checkout .woocommerce-notices-wrapper, body.woocommerce-checkout .woocommerce-form-coupon-toggle, .pc-af-titel { max-width: 1080px; margin-left: auto; margin-right: auto; }
/* De selector heet bewust body.woocommerce-checkout h1.pc-af-titel en niet .pc-af-titel:
   .elementor-kit-8 h1 zet font-size 40px / font-weight 500 op (0,1,1) en verslaat daarmee
   een losse klasse (0,1,0). De kop stond daardoor op 40px/500 met een regelhoogte van
   33.6px - te groot en te krap - terwijl het origineel 24/700/33.6 heeft.
   De zijpadding van 10px lijnt de kop uit met de velden: .col-1 en .col-2 hebben
   padding: 10px (regel 2685), dus zonder deze padding begon de kop 10px links van de
   inhoud, en op de telefoon plakte hij tegen de schermrand. */
body.woocommerce-checkout h1.pc-af-titel { padding: 0 10px 10px; font-size: 24px; font-weight: 700; line-height: 33.6px; color: var(--pc-text, #3D3D3C); }
body.woocommerce-checkout form.checkout.woocommerce-checkout { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4%; align-items: start; }
body.woocommerce-checkout form.checkout #customer_details { display: contents; }
body.woocommerce-checkout form.checkout .col2-set .col-1, body.woocommerce-checkout form.checkout .col2-set .col-2 { width: auto !important; float: none !important; grid-column: 1; padding: 10px; border-radius: 10px; }
body.woocommerce-checkout form.checkout #order_review { grid-column: 2; grid-row: 1 / span 3; padding: 10px; background: #eee; border-radius: 10px; }
/* vaste rijen: zonder deze regels zet de browser de linkerkolom een rij lager en ontstaat er bovenaan een gat */
body.woocommerce-checkout form.checkout .col2-set .col-1 { grid-row: 1; }
body.woocommerce-checkout form.checkout .col2-set .col-2 { grid-row: 2; }
body.woocommerce-checkout form.checkout .pc-af-bestelblok { grid-row: 4; }
/* telefoon hoort naast het e-mailadres; de landen-javascript maakt het veld anders breed */
body.woocommerce-checkout form.checkout #billing_phone_field { grid-column: 2; }
body.woocommerce-checkout form.checkout #order_review_heading, body.woocommerce-checkout .woocommerce-billing-fields > h3, body.woocommerce-checkout form.checkout .optional { display: none; }
.pc-af-kop { display: flex; align-items: center; gap: 8px; clear: both; margin: 0 0 15px; padding: 20px 0 10px; border-bottom: 1px solid #c2cad8; font-size: 18px; font-weight: 700; line-height: 25.2px; color: var(--pc-text, #3D3D3C); }
.pc-af-icoon { width: 17px; height: 17px; flex: 0 0 17px; }
.woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4%; }
body.woocommerce-checkout form.checkout .form-row { float: none; width: auto; margin: 0 0 10px; padding: 0; }
body.woocommerce-checkout form.checkout .form-row-wide, body.woocommerce-checkout form.checkout .pc-af-kop, body.woocommerce-checkout form.checkout .pc-af-klanttype, body.woocommerce-checkout form.checkout .woocommerce-shipping-fields, body.woocommerce-checkout form.checkout .woocommerce-additional-fields { grid-column: 1 / -1; }
body.woocommerce-checkout form.checkout .form-row-first { grid-column: 1; }
body.woocommerce-checkout form.checkout .form-row-last { grid-column: 2; }
.woocommerce form.checkout .form-row label { display: inline-block; min-width: 100%; margin: 0 0 5px; font-size: 14px; font-weight: 400; line-height: 24px; color: var(--pc-text, #3D3D3C); }
.woocommerce form.checkout .form-row .input-text, .woocommerce form.checkout .form-row select, .woocommerce form.checkout .form-row .select2-selection { box-sizing: border-box; display: block; width: 100%; height: 40px; padding: 6px 12px; font-size: 14px; font-weight: 400; line-height: 26px; color: #555; background: #fff; border: 1px solid #c2cad8; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); }
.woocommerce form.checkout .form-row textarea.input-text { height: auto; min-height: 90px; line-height: 20px; }
body.woocommerce-checkout form.checkout .pc-af-klanttype { box-sizing: border-box; padding: 10px; margin: 10px 0; border: 1px solid #c2cad8; border-radius: 4px; }
body.woocommerce-checkout form.checkout .pc-af-klanttype .woocommerce-input-wrapper { display: flex; align-items: center; flex-wrap: wrap; }
body.woocommerce-checkout form.checkout .pc-af-klanttype .woocommerce-input-wrapper label.radio { display: inline-flex; align-items: center; min-width: 0; width: auto; margin: 0 20px 0 5px; }
body.woocommerce-checkout form.checkout .pc-af-klanttype .woocommerce-input-wrapper input.input-radio { margin: 0; }
body.woocommerce-checkout form.checkout .pc-af-zakelijk { box-sizing: border-box; padding: 20px 10px; margin: 0 0 10px; background: #e5dfdd; border-radius: 5px; }
body.woocommerce-checkout #payment { background: none; border-radius: 0; }
body.woocommerce-checkout #payment ul.wc_payment_methods { list-style: none; margin: 0 0 20px; padding: 0; background: #fff; border: 1px solid #ddd; }
body.woocommerce-checkout #payment ul.wc_payment_methods li { display: flex; align-items: center; gap: 12px; min-height: 51px; margin: 0; padding: 10px 12px; background: #fff; border: 0; border-bottom: 1px solid #ddd; border-radius: 0; }
body.woocommerce-checkout #payment ul.wc_payment_methods li:last-child { border-bottom: 0; }
body.woocommerce-checkout .woocommerce #payment ul.wc_payment_methods li label { display: flex; align-items: center; gap: 12px; flex: 1 1 auto; min-width: 0; margin: 0; font-size: 16px; font-weight: 500; }
body.woocommerce-checkout #payment ul.wc_payment_methods li img { order: -1; max-width: 40px; max-height: 32px; width: auto; height: auto; margin: 0; object-fit: contain; }
.pc-af-gratis { margin-left: auto; font-size: 14px; font-weight: 600; color: #333; }
body.woocommerce-checkout #payment .payment_box { flex: 1 1 100%; margin: 6px 0 0; padding: 10px; font-size: 14px; background: #f6f6f6; border-radius: 6px; }
body.woocommerce-checkout #payment .payment_box::before { display: none; }
.pc-af-verzending { margin: 0 0 20px; }
.pc-af-verzendrij { display: flex; align-items: center; gap: 12px; margin: 0 0 6px; padding: 8px 12px; background: #fff; border: 1px solid #ddd; border-radius: 8px; font-size: 14px; }
.pc-af-verzendnaam { flex: 1 1 auto; }
.pc-af-verzendprijs { font-weight: 600; color: #333; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table { width: 100%; border-collapse: collapse; border: 1px solid #c2cad8; background: #fff; font-size: 14px; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th { padding: 10px; background: #c2cad8; font-weight: 700; text-align: left; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table th, body.woocommerce-checkout .woocommerce-checkout-review-order-table td { padding: 10px; border: 0; border-bottom: 1px solid #c2cad8; vertical-align: top; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child, body.woocommerce-checkout .woocommerce-checkout-review-order-table th:last-child { text-align: right; }
/* bestelknop in een eigen blok onder beide kolommen, zoals het origineel */
/* het oorspronkelijke knopblok blijft staan voor het nonce-veld, maar wordt verborgen.
   Zodra WooCommerce daar algemene voorwaarden in zet, wordt het weer zichtbaar,
   anders zou het verplichte vinkje onbereikbaar zijn. */
body.woocommerce-checkout #payment .place-order:not(:has(.woocommerce-terms-and-conditions-wrapper)) { display: none; }
body.woocommerce-checkout form.checkout .pc-af-bestelblok { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 20px; margin: 10px 0 0; padding: 10px; }
body.woocommerce-checkout .pc-af-legaal { font-size: 11px; font-weight: 300; font-style: italic; line-height: 24px; color: var(--pc-text, #3D3D3C); }
body.woocommerce-checkout form.checkout #place_order { float: none; display: inline-flex; align-items: center; justify-content: center; height: 38px; margin: 0; padding: 10px 15px; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 1; color: #fff; background: var(--pc-green, #7F9C90); border: 1px solid var(--pc-green, #7F9C90); border-radius: 0; }
body.woocommerce-checkout form.checkout #place_order:hover { background: var(--pc-green-hover, #19C55D); border-color: var(--pc-green-hover, #19C55D); }

/* overzichtstabel: witte regels met productfoto en aantal ervoor */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td, body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody th, body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td, body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th { background: #fff; }
body.woocommerce-checkout .woocommerce-checkout-review-order-table tbody td { font-size: 16px; font-weight: 300; line-height: 24px; vertical-align: middle; }
body.woocommerce-checkout .pc-af-artikel { display: flex; align-items: center; gap: 10px; }
body.woocommerce-checkout .pc-af-beeld { flex: 0 0 auto; }
body.woocommerce-checkout .pc-af-beeld img { display: block; width: 75px; height: 75px; margin: 0; object-fit: contain; }
body.woocommerce-checkout .pc-af-naam { font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text, #3D3D3C); }

/* keuzevakjes en keuzerondjes zoals op primecook.nl: licht vierkant, donker vinkje */
body.woocommerce-checkout form.checkout input[type="checkbox"] { appearance: none; -webkit-appearance: none; box-sizing: border-box; width: 18px; height: 18px; margin: 0 8px 0 0; padding: 0; vertical-align: -4px; background: #e5e3ef; border: 0; border-radius: 2px; cursor: pointer; }
body.woocommerce-checkout form.checkout input[type="checkbox"]:checked { background-color: var(--pc-text, #3D3D3C); background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4.5 12.5l5 5L19.5 7'/></svg>"); background-repeat: no-repeat; background-position: center; background-size: 12px 12px; }
body.woocommerce-checkout form.checkout .pc-af-zelfdeadres { margin: 0 0 10px; }
body.woocommerce-checkout form.checkout .pc-af-zelfdeadres label { display: inline-flex; align-items: center; min-width: 0; margin: 0; font-size: 14px; font-weight: 300; line-height: 24px; color: var(--pc-text, #3D3D3C); cursor: pointer; }

body.woocommerce-checkout form.checkout input.input-radio { appearance: none; -webkit-appearance: none; box-sizing: border-box; flex: 0 0 auto; width: 20px; height: 20px; padding: 0; background: transparent; border: 1.5px solid var(--pc-text, #3D3D3C); border-radius: 50%; cursor: pointer; }
body.woocommerce-checkout form.checkout input.input-radio:checked { background-color: var(--pc-text, #3D3D3C); background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M5.5 12.5l4.5 4.5L18.5 8'/></svg>"); background-repeat: no-repeat; background-position: center; background-size: 12px 12px; border-color: var(--pc-text, #3D3D3C); }
body.woocommerce-checkout form.checkout .pc-af-klanttype input.input-radio { margin: 0 8px 0 0; }

/* de kopregels doen mee in de veldvolgorde en houden hun eigen marges */
body.woocommerce-checkout form.checkout .pc-af-kopwrap { margin: 0; }
.pc-af-verzendnoot { color: #666; font-weight: 400; }
.pc-af-coupon { margin: 15px 0 0; }
.pc-af-coupon p { margin: 0; font-size: 14px; }
.pc-af-couponveld { box-sizing: border-box; display: inline-block; height: 40px; padding: 6px 12px; font-size: 14px; line-height: 26px; color: #555; background: #fff; border: 1px solid #c2cad8; border-radius: 4px; }
.pc-af-couponknop { display: inline-block; height: 40px; padding: 0 15px; font-size: 14px; color: #fff; background: #00695c; border: 1px solid #00695c; border-radius: 5px; cursor: pointer; }
.pc-af-couponmelding { display: block; margin-top: 6px; font-size: 13px; }
/* De terugkoppeling na het toepassen van een coupon is de HTML die WooCommerce zelf
   terugstuurt via het ajax-eindpunt apply_coupon: een div.woocommerce-message bij succes
   en een ul.woocommerce-error bij een fout. WooCommerce hangt daar een ::before aan met
   een icoon uit zijn eigen lettertype, absoluut op left 19.5px, en rekent op een
   linkerpadding van 3.5em om daar ruimte voor te maken. Met de krappe padding hieronder
   landde dat icoon bovenop de tekst; daarom zetten we het icoon uit in plaats van de
   padding op te rekken. De bovenrand van 3px in #8fae1b die WooCommerce erbij zet gaat
   ook weg. Kleuren zoals elders op de site (alert-success en alert-danger van het
   origineel). */
.pc-af-couponmelding .woocommerce-message,
.pc-af-couponmelding .woocommerce-error,
.pc-af-couponmelding .woocommerce-info {
	margin: 8px 0 0;
	padding: 10px 12px;
	border: 1px solid;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 300;
	line-height: 21px;
	list-style: none;
}
.pc-af-couponmelding .woocommerce-message::before,
.pc-af-couponmelding .woocommerce-error::before,
.pc-af-couponmelding .woocommerce-info::before { content: none; display: none; }
.pc-af-couponmelding .woocommerce-message { background: #d4edda; border-color: #c3e6cb; color: #155724; }
.pc-af-couponmelding .woocommerce-error { background: #f8d7da; border-color: #f5c6cb; color: #721c24; }
.pc-af-couponmelding .woocommerce-info { background: #d1ecf1; border-color: #bee5eb; color: #0c5460; }
.pc-af-couponmelding li { margin: 0; padding: 0; list-style: none; }
body.woocommerce-checkout #order_review #order_comments { min-height: 90px; }
.pc-af-voorwaarden { clear: both; margin: 0; font-size: 13px; font-style: italic; color: #999; line-height: 40px; }
@media only screen and (max-width: 1110px) { body.woocommerce-checkout form.checkout.woocommerce-checkout { grid-template-columns: 1fr; } body.woocommerce-checkout form.checkout #order_review, body.woocommerce-checkout form.checkout .col2-set .col-1, body.woocommerce-checkout form.checkout .col2-set .col-2, body.woocommerce-checkout form.checkout .pc-af-bestelblok { grid-column: 1; grid-row: auto; } }
@media only screen and (max-width: 580px) { .woocommerce-billing-fields__field-wrapper, .woocommerce-shipping-fields__field-wrapper { grid-template-columns: 1fr; } body.woocommerce-checkout form.checkout .form-row-first, body.woocommerce-checkout form.checkout .form-row-last, body.woocommerce-checkout form.checkout #billing_phone_field { grid-column: 1; } body.woocommerce-checkout form.checkout .pc-af-bestelblok { flex-wrap: wrap; } }
/* ==== PRIMECOOK AFREKENEN EINDE ==== */

/* ==== PRIMECOOK ACCOUNT START ==== */
/* Account en inloggen - 1:1 met primecook.nl/inloggen-webshop (gemeten 2-9-2026) */
body.woocommerce-account .site-main { box-sizing: border-box; max-width: 1070px; margin: 0 auto; padding: 0 20px 40px; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; line-height: 24px; color: var(--pc-text); }
body.woocommerce-account .page-header h1.entry-title { font-size: 24px; font-weight: 700; line-height: 33.6px; color: var(--pc-text); margin: 25px 0 10px; }
body.woocommerce-account.pc-uitgelogd .page-header { display: none; }

/* ---- inlogkaart ---- */
.pc-inlog { box-sizing: border-box; border: 1px solid #eee; border-radius: 4px; padding: 20px; margin: 25px 0 20px; }
.pc-inlog h1.pc-inlog-kop, .pc-inlog h2.pc-inlog-kop { font-size: 24px; font-weight: 700; line-height: 33.6px; text-align: center; color: var(--pc-text); margin: 0 0 10px !important; padding: 0; }
.pc-inlog form.pc-inlog-form { margin: 0; padding: 0; border: 0; }
.pc-inlog .pc-inlog-veld { position: relative; max-width: 487px; margin: 0 auto 10px; padding: 0; }
.pc-inlog .pc-inlog-veld input.input-text { box-sizing: border-box; display: block; width: 100%; height: 40px; margin: 0; padding: 6px 12px; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 26px; color: #555; background: #fff; border: 1px solid #c2cad8; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); }
.pc-inlog .pc-inlog-veld input.input-text::placeholder { color: #999; opacity: 1; }
.pc-inlog .pc-inlog-veld input.input-text:focus { border-color: var(--pc-green); outline: none; }
.pc-inlog .password-input { display: block; position: relative; }
.pc-inlog button.show-password-input { position: absolute; top: 50%; right: 0; transform: translateY(-50%); width: 44px; height: 40px; margin: 0; padding: 0; border: 0; cursor: pointer; background-color: transparent; background-repeat: no-repeat; background-position: center; background-size: 20px 20px; background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3d3c' stroke-width='1.6' stroke-linecap='round'><path d='M2.5 12S6 6.5 12 6.5 21.5 12 21.5 12 18 17.5 12 17.5 2.5 12 2.5 12z'/><circle cx='12' cy='12' r='3'/></svg>"); }
.pc-inlog button.show-password-input::after, .pc-inlog button.show-password-input::before { display: none; content: none; }
.pc-inlog button.show-password-input.display-password { background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%233d3d3c' stroke-width='1.6' stroke-linecap='round'><path d='M2.5 12S6 6.5 12 6.5 21.5 12 21.5 12 18 17.5 12 17.5 2.5 12 2.5 12z'/><circle cx='12' cy='12' r='3'/><path d='M3.5 3.5l17 17'/></svg>"); }
.pc-inlog .pc-inlog-onthouden { text-align: center; margin: 10px 0 0; font-size: 16px; font-weight: 300; }
.pc-inlog .pc-inlog-onthouden label { display: inline-flex; align-items: center; gap: 8px; margin: 0; font-size: 16px; font-weight: 300; color: var(--pc-text); }
.pc-inlog .pc-inlog-onthouden input { margin: 0; }
.pc-inlog .pc-inlog-knoprij { text-align: center; margin: 10px 0 0; }
body.woocommerce-account .pc-inlog button.pc-inlog-knop, body.woocommerce-account .pc-inlog a.pc-inlog-knop { float: none; display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 10px 15px; background-color: var(--pc-green); border: 1px solid var(--pc-green); border-radius: 0; color: #fff; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 1; text-decoration: none; cursor: pointer; }
body.woocommerce-account .pc-inlog button.pc-inlog-knop:hover, body.woocommerce-account .pc-inlog a.pc-inlog-knop:hover { background-color: var(--pc-green-hover); border-color: var(--pc-green-hover); color: #fff; }
.pc-inlog .pc-inlog-scheiding { height: 1px; margin: 20px 10px; padding: 0; background: #eee; }
.pc-inlog .pc-inlog-vergeten { text-align: center; margin: 0; font-size: 16px; font-weight: 300; }
.pc-inlog .pc-inlog-vergeten a { color: var(--pc-text); text-decoration: none; }
.pc-inlog .pc-inlog-vergeten a:hover { color: var(--pc-green); }

/* ---- accountomgeving (ingelogd) ---- */
body.woocommerce-account .woocommerce-MyAccount-navigation { width: 26%; }
body.woocommerce-account .woocommerce-MyAccount-content { width: 70%; font-size: 16px; font-weight: 300; line-height: 24px; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; border: 1px solid #c2cad8; }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border-bottom: 1px solid #c2cad8; }
body.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 10px 15px; font-size: 16px; font-weight: 300; color: var(--pc-text); text-decoration: none; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:hover { background: #f5f5f5; color: var(--pc-green); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #c2cad8; font-weight: 700; color: var(--pc-text); }
body.woocommerce-account .woocommerce-MyAccount-content h2, body.woocommerce-account .woocommerce-MyAccount-content h3 { font-size: 18px; font-weight: 700; line-height: 26px; color: var(--pc-text); margin: 0 0 10px; }
body.woocommerce-account .woocommerce-MyAccount-content a { color: var(--pc-green); }
body.woocommerce-account .woocommerce-MyAccount-content a:hover { color: var(--pc-green-hover); }
body.woocommerce-account .woocommerce a.button, body.woocommerce-account .woocommerce .woocommerce-Button, body.woocommerce-account .woocommerce button[type="submit"] { float: none; display: inline-flex; align-items: center; justify-content: center; height: 38px; padding: 10px 15px; background-color: var(--pc-green); border: 1px solid var(--pc-green); border-radius: 0; color: #fff; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 1; text-decoration: none; cursor: pointer; }
body.woocommerce-account .woocommerce a.button:hover, body.woocommerce-account .woocommerce .woocommerce-Button:hover, body.woocommerce-account .woocommerce button[type="submit"]:hover { background-color: var(--pc-green-hover); border-color: var(--pc-green-hover); color: #fff; }
body.woocommerce-account .woocommerce table.shop_table { width: 100%; border-collapse: collapse; border: 1px solid #c2cad8; border-radius: 0; font-size: 16px; }
body.woocommerce-account .woocommerce table.shop_table th, body.woocommerce-account .woocommerce table.shop_table td { padding: 10px; border: 1px solid #c2cad8; font-weight: 300; color: var(--pc-text); }
body.woocommerce-account .woocommerce table.shop_table thead th { background: #c2cad8; font-weight: 700; text-align: left; }
body.woocommerce-account .woocommerce .woocommerce-Addresses .woocommerce-Address { margin-bottom: 20px; }
body.woocommerce-account .woocommerce .woocommerce-Address address { font-style: normal; font-weight: 300; line-height: 24px; }
body.woocommerce-account .woocommerce .woocommerce-info, body.woocommerce-account .woocommerce .woocommerce-message, body.woocommerce-account .woocommerce .woocommerce-error { background: #d1ecf1; border: 1px solid #bee5eb; border-radius: 10px; color: #0c5460; font-size: 15px; font-weight: 300; line-height: 24px; padding: 10px 15px; margin: 0 0 20px; list-style: none; }
body.woocommerce-account .woocommerce .woocommerce-error { background: #f8d7da; border-color: #f5c6cb; color: #721c24; }
body.woocommerce-account .woocommerce .woocommerce-info::before, body.woocommerce-account .woocommerce .woocommerce-message::before, body.woocommerce-account .woocommerce .woocommerce-error::before { display: none; }
body.woocommerce-account .woocommerce .woocommerce-info, body.woocommerce-account .woocommerce .woocommerce-message { display: flex; align-items: center; justify-content: space-between; gap: 15px; flex-wrap: wrap; }
body.woocommerce-account .woocommerce .woocommerce-info .button, body.woocommerce-account .woocommerce .woocommerce-message .button { order: 2; flex: 0 0 auto; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .form-row, body.woocommerce-account .woocommerce form.woocommerce-ResetPassword .form-row { float: none; width: auto; margin: 0 0 10px; padding: 0; }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content label, body.woocommerce-account .woocommerce form.woocommerce-ResetPassword label { display: block; min-width: 100%; margin: 0 0 5px; font-size: 14px; font-weight: 400; line-height: 24px; color: var(--pc-text); }
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .input-text, body.woocommerce-account .woocommerce .woocommerce-MyAccount-content select, body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .select2-selection, body.woocommerce-account .woocommerce form.woocommerce-ResetPassword .input-text { box-sizing: border-box; display: block; width: 100%; height: 40px; padding: 6px 12px; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 400; line-height: 26px; color: #555; background: #fff; border: 1px solid #c2cad8; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); }
body.woocommerce-account .woocommerce form.woocommerce-ResetPassword, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm { max-width: 640px; }
/* Het verborgen land-veld van select2 staat absoluut en 100% breed. Zonder positiecontext
   rekent het tegen het venster en steekt het op mobiel 14px buiten de pagina. */
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content .form-row { position: relative; }
body.woocommerce-account .woocommerce fieldset { margin: 20px 0 10px; padding: 0; border: 0; }
body.woocommerce-account .woocommerce fieldset legend { font-size: 18px; font-weight: 700; padding: 0; }

/* velden naast elkaar zoals op de afrekenpagina */
body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm { display: grid; grid-template-columns: 1fr 1fr; column-gap: 4%; align-items: start; }
body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > *, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > * { grid-column: 1 / -1; }
body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-first, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > .form-row-first { grid-column: 1; }
body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-last, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > .form-row-last { grid-column: 2; }

@media only screen and (max-width: 580px) {
	body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm { grid-template-columns: 1fr; }
	body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-first, body.woocommerce-account .woocommerce .woocommerce-address-fields__field-wrapper > .form-row-last, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > .form-row-first, body.woocommerce-account .woocommerce form.woocommerce-EditAccountForm > .form-row-last { grid-column: 1 / -1; }
}

@media only screen and (max-width: 700px) {
	body.woocommerce-account .site-main { padding: 0 14px 30px; }
	body.woocommerce-account .page-header h1.entry-title { font-size: 20px; line-height: 28px; margin: 20px 0 10px; }
	body.woocommerce-account .woocommerce-MyAccount-navigation, body.woocommerce-account .woocommerce-MyAccount-content { float: none; width: 100%; }
	body.woocommerce-account .woocommerce-MyAccount-navigation { margin: 0 0 20px; }
	.pc-inlog { padding: 15px; margin: 20px 0; }
	.pc-inlog h1.pc-inlog-kop, .pc-inlog h2.pc-inlog-kop { font-size: 20px; line-height: 28px; }
}
/* ==== PRIMECOOK ACCOUNT EINDE ==== */

/* ==== PRIMECOOK KLIKBARE KAART START ==== */
/* --- 1. De hele productkaart is klikbaar naar de productpagina.
       Er komt geen extra link bij: de bestaande link op de productnaam wordt met
       een pseudo-element over de hele kaart gerekt. Daarom mag geen enkele laag
       tussen kaart en naamlink gepositioneerd zijn, anders rekt hij alleen over
       de naam (Elementor zet standaard position: relative op zijn widgets). --- */
.pc-kaart { position: relative; }
.pc-kaart .pc-kaart-naam,
.pc-kaart .pc-kaart-naam .elementor-widget-container,
.pc-kaart .pc-kaart-naam h3,
.pc-kaart .pc-kaart-naam a { position: static; }
.pc-kaart .pc-kaart-naam a::after { content: ""; position: absolute; top: 0; right: 0; bottom: 0; left: 0; z-index: 1; }
/* de bestelknop ligt erboven en houdt zijn eigen werking: ajax in de winkelmand */
.pc-kaart .pc-kaart-knop a, .pc-kaart .pc-kaart-knop button { position: relative; z-index: 2; }
/* het kortingslabel is versiering; een klik gaat er doorheen naar de kaartlink */
.pc-kaart .pc-salebadge { pointer-events: none; }

/* --- 2. Carrouselpijlen hoger zodra ze binnen de carrousel staan (onder 1200px).
       Op 50% lagen ze dwars over de productnaam, nu staan ze over de foto.
       !important is nodig omdat Elementor de hoogte via eigen variabelen zet. --- */
@media only screen and (max-width: 1199px) {
	.pc-carrousel .elementor-swiper-button-prev, .pc-carrousel .elementor-swiper-button-next { bottom: -3% !important;
        top: auto !important; }
	
.pc-cartwrap-mobile .elementor-button-icon-qty {
    top: -15px !important;
    left: 25px !important;
    width: 20px !important;
    height: 20px !important;
    font-size: 12px !important;
    font-weight: bold !important;
    line-height: 21px !important;
}
	
}
/* ==== PRIMECOOK KLIKBARE KAART EINDE ==== */

/* ==== PRIMECOOK MOBIEL MENU INKLAPPEN START ==== */
/* Submenu's in het uitschuifpaneel staan dicht en gaan open bij een tik op het
   item of op het pijltje. Let op: Elementor geeft zowel het paneel als elk
   submenu de klasse .elementor-nav-menu--dropdown, daarom staat hier overal
   nav. of ul. voor - anders raakt een paneelregel ook de submenu's.
   De regel hierboven die submenu's altijd open zette (naar het origineel)
   wordt hiermee overruled; die blijft staan omdat hij ook de paneelopmaak
   van de submenu's afhaalt. */
.pc-mobilemenu nav.elementor-nav-menu--dropdown li.menu-item-has-children > ul.sub-menu { display: none !important; }
.pc-mobilemenu nav.elementor-nav-menu--dropdown li.menu-item-has-children.pc-menu-open > ul.sub-menu { display: block !important; }
.pc-mobilemenu nav.elementor-nav-menu--dropdown li.menu-item-has-children > a { cursor: pointer; }
.pc-mobilemenu nav.elementor-nav-menu--dropdown li.menu-item-has-children > a .sub-arrow { transition: transform .2s ease-out; }
.pc-mobilemenu nav.elementor-nav-menu--dropdown li.menu-item-has-children.pc-menu-open > a .sub-arrow { transform: rotate(180deg); }
/* ==== PRIMECOOK MOBIEL MENU INKLAPPEN EINDE ==== */

/* ==== PRIMECOOK TEGELS MOBIEL START ==== */
/* Categorietegels op de telefoon: twee per rij, een grote gecentreerde foto en
   de titel er direct onder. Het origineel zet hier een miniatuur van 80x60 naast
   de titel in een tegel van 315px hoog; dat gaf veel lege ruimte, vandaar deze
   afwijking op verzoek van de klant.

   Let op de vaste hoogte van .pc-tegel-beeld: Elementor geeft de widget en zijn
   container height:100%, dus zonder hoogte op het blok zelf klapt de hele keten
   naar 0 en verdwijnt de foto. */
@media only screen and (max-width: 580px) {
	.pc-tegels { padding: 0 !important; }
	.pc-tegel {
		width: calc(50% - 8px) !important;
		margin: 0 4px 8px !important;
		min-height: 0 !important;
		padding: 10px !important;
	}
	.pc-tegel .pc-tegel-beeld {
		float: none !important;
		width: auto !important;
		height: 150px !important;
		/* zichtbaar houden: de uitgerekte ::after die de hele tegel klikbaar maakt
		   zit op deze link en zou anders afgeknipt worden */
		overflow: visible !important;
	}
	.pc-tegel img {
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		/* zonder deze grens rekt de foto met de tegelbreedte mee en loopt hij op
		   bredere telefoons over de titel heen */
		max-height: 150px !important;
		margin: 0 !important;
		object-fit: contain !important;
	}
	.pc-tegelkop { min-height: 0 !important; padding-top: 8px !important; }
}
/* ==== PRIMECOOK TEGELS MOBIEL EINDE ==== */

/* ==== PRIMECOOK PERSONALISATIE START ==== */
/* Personalisatievelden op de productpagina, nagemeten op primecook.nl:
   kaderblok 1px #ddd met radius 4, veld 80% breed en 38px hoog, teller 20% rechts. */
.pc-pers-wrap { margin: 10px 0; padding: 10px 0; border-radius: 10px; }
.pc-pers-wrap .pc-pers-kop { margin: 0; padding: 0; font-family: 'Roboto', sans-serif; font-size: 24px; font-weight: 500; line-height: 180%; color: var(--pc-text); }
.pc-pers-wrap .pc-pers-tekst { margin: 0; padding: 0; font-family: 'Roboto', sans-serif; font-size: 16px; font-weight: 300; line-height: 150%; color: var(--pc-text); }
.pc-pers-wrap .product-personalisation-main { padding: 0; }
.pc-pers-wrap .product-personalisation-group { margin: 10px 0; padding: 0 5px; background: #fff; border: 1px solid #ddd; border-radius: 4px; }
.pc-pers-wrap .product-personalisation { display: block; padding: 8px 0; }
.pc-pers-wrap .product-personalisation::after { content: ""; display: block; clear: both; }
.pc-pers-wrap .product-personalisation label { display: inline-block; min-width: 100%; margin: 0 0 5px; font-family: 'Roboto', sans-serif; font-size: 14px; font-weight: 300; line-height: 24px; color: var(--pc-text); }
.pc-pers-wrap .personalisation-input { box-sizing: border-box; display: inline-block; width: 80%; height: 38px; padding: 6px 12px; font-family: 'Roboto', sans-serif; font-size: 13.3333px; color: var(--pc-text); background: #fff; border: 1px solid #c2cad8; border-radius: 4px; box-shadow: inset 0 1px 1px rgba(0,0,0,.075); resize: both; }
.pc-pers-wrap .personalisation-input:focus { border-color: var(--pc-green); outline: none; }
.pc-pers-wrap .countdown { display: block; float: right; width: 20%; font-family: 'Roboto', sans-serif; font-size: 16px; line-height: 38px; text-align: center; color: var(--pc-text); }

/* De regel onder het product in de winkelmand met de ingevoerde teksten. */
.pc-mand-persrij .pc-mand-pers { font-size: 14px; font-weight: 300; line-height: 22px; color: var(--pc-text); }
.pc-mand-persrij .pc-mand-c4 { font-size: 14px; font-weight: 300; }
@media only screen and (max-width: 700px) {
	.pc-mand-persrij { margin-top: -10px !important; border-top: 0 !important; text-align: left !important; }
	.pc-mand-persrij .pc-mand-cel { text-align: left !important; }
	.pc-mand-persrij .pc-mand-c2, .pc-mand-persrij .pc-mand-c3 { display: none !important; }
}
/* ==== PRIMECOOK PERSONALISATIE EINDE ==== */

/* ==== PRIMECOOK CATEGORIERASTER MOBIEL START ==== */
/* Productkaarten in de categorierasters op de telefoon: twee per rij, compact,
   alles gecentreerd. Het origineel toont er een per rij met een tegel van 560px
   hoog; dat gaf veel lege ruimte, vandaar deze afwijking op verzoek.

   Alleen de kassakoopjes (.pc-kassakoopjes) blijven een per rij. Het productblok
   onder blogartikelen (.pc-blogprod) en de gerelateerde producten op de
   productpagina (.pc-prod-blok) gebruiken dezelfde .pc-kaarten en gaan dus mee.

   Let op de drie resets bij het fotoblok: zonder min-height 0 blijft het blok
   200px hoog, en zonder expliciete breedte krimpt het naar 0 omdat de foto
   erbinnen op 100% van datzelfde blok rekent. */
@media only screen and (max-width: 580px) {
	.pc-kaarten { gap: 0 !important; }
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart {
		flex: 0 0 calc(50% - 8px) !important;
		width: calc(50% - 8px) !important;
		max-width: none !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 4px 8px !important;
		padding: 10px !important;
		text-align: center !important;
	}
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-beeld {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 1 / 1;
		margin: 0 auto 8px !important;
		overflow: hidden !important;
	}
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-beeld img {
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		max-height: none !important;
		margin: 0 !important;
		object-fit: contain !important;
	}
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-naam { min-height: 0 !important; margin: 0 0 6px !important; text-align: center !important; }
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-naam a { font-size: 15px !important; line-height: 140% !important; }
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-prijs { margin: auto 0 8px !important; text-align: center !important; }
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-knop { text-align: center !important; }
	/* smallere knop: de tekst moet naast het karretje passen */
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-knop a { width: 100% !important; margin: 0 !important; padding: 10px 26px 10px 8px !important; font-size: 13px !important; }
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-kar { right: 8px !important; }
}
/* ==== PRIMECOOK CATEGORIERASTER MOBIEL EINDE ==== */

/* ==== PRIMECOOK EXTRA SALES MOBIEL START ==== */
/* De kassakoopjes op /extra-sales-pagina stonden op de telefoon een per rij in een
   kaart van 332x560 met veel lege ruimte. Ze krijgen nu hetzelfde compacte raster
   als de categoriepaginas (zie PRIMECOOK CATEGORIERASTER MOBIEL), maar in een eigen
   blok: het raster daar sluit .pc-kassakoopjes bewust uit en die uitsluiting kost
   een klasse specificiteit die .pc-prod-blok nodig heeft om niet te winnen.

   Drie dingen die hier niet vanzelf goed gaan:
   - het fotoblok heeft min-height 0 EN een expliciete breedte nodig, anders blijft
     het 200px hoog of krimpt het naar 0 (de foto erbinnen rekent op 100% van
     datzelfde blok);
   - height auto op de kaart, anders rekt hij niet mee met de hoogste van de rij en
     staan de onderranden ongelijk;
   - overflow visible bij het fotoblok, want het kortingslabel (.pc-salebadge) hangt
     10px onder de foto en werd anders afgeknipt. .pc-beeld houdt zijn eigen
     overflow hidden, dus de hover-wissel blijft netjes binnen het vierkant. Die
     overhang is ook de reden voor 18px ondermarge (10px overhang + 8px lucht):
     met 8px lag het label 2px over de productnaam heen. */
@media only screen and (max-width: 580px) {
	.pc-kaarten.pc-kassakoopjes .pc-kaart {
		flex: 0 0 calc(50% - 8px) !important;
		width: calc(50% - 8px) !important;
		max-width: none !important;
		min-height: 0 !important;
		height: auto !important;
		margin: 0 4px 8px !important;
		padding: 10px !important;
		text-align: center !important;
	}
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-beeld {
		width: 100% !important;
		height: auto !important;
		min-height: 0 !important;
		aspect-ratio: 1 / 1;
		margin: 0 auto 18px !important;
		overflow: visible !important;
	}
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-beeld img {
		width: 100% !important;
		height: 100% !important;
		max-width: none !important;
		max-height: none !important;
		margin: 0 !important;
		object-fit: contain !important;
	}
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-naam { min-height: 0 !important; margin: 0 0 6px !important; text-align: center !important; }
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-naam a { font-size: 15px !important; line-height: 140% !important; }
	/* margin-top auto duwt prijs en knop naar de onderrand, zodat ze in beide
	   kaarten van een rij op dezelfde hoogte staan */
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-prijs { margin: auto 0 8px !important; text-align: center !important; }
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-knop { text-align: center !important; }
	/* smallere knop: de tekst moet naast het karretje passen */
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-knop a { width: 100% !important; margin: 0 !important; padding: 10px 26px 10px 8px !important; font-size: 13px !important; }
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-kar { right: 8px !important; }
}
/* De Elementor-container van deze pagina heeft geen zijmarge, waardoor de h1 en de
   knoppenrij tegen beide schermranden plakten terwijl de kaarten wel 14px vrij
   houden (9px rasterpadding + 5px kaartmarge). Onder 990px - daar schakelt de
   pagina naar de gestapelde weergave - krijgen kop en knoppen diezelfde 14px, zodat
   alles op een lijn staat. */
@media only screen and (max-width: 990px) {
	.pc-extra-kop .elementor-widget-container,
	.pc-kassa-knoppen {
		padding-left: 14px !important;
		padding-right: 14px !important;
	}
}
/* ==== PRIMECOOK EXTRA SALES MOBIEL EINDE ==== */

/* ==== PRIMECOOK KAARTKNOP SMALLE TELEFOON START ==== */
/* Onder 360px (iPhone SE en vergelijkbaar) is de kaart in het 2-per-rij-raster nog
   maar 110-121px breed. "Direct bestellen" is daar op 13px Roboto 90px breed terwijl
   er na de padding 76-87px overblijft, en white-space: nowrap (regel 1570) laat de
   tekst niet afbreken: hij liep onder het winkelwagentje door. Een stap kleiner
   lettertype met krappere padding lost dat op. text-overflow is het vangnet: een
   langer label kapt netjes af in plaats van tegen het karretje te botsen.
   Geldt voor beide rasters, want ze delen dezelfde knopregels. */
@media only screen and (max-width: 360px) {
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-knop a,
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-knop a {
		padding: 10px 20px 10px 4px !important;
		font-size: 12px !important;
		overflow: hidden !important;
		text-overflow: ellipsis !important;
	}
	.pc-kaarten:not(.pc-kassakoopjes) .pc-kaart .pc-kaart-kar,
	.pc-kaarten.pc-kassakoopjes .pc-kaart .pc-kaart-kar { right: 4px !important; }
}
/* ==== PRIMECOOK KAARTKNOP SMALLE TELEFOON EINDE ==== */

/* ==== PRIMECOOK FEEDBACK RONDE 1 START ==== */
/* Punten uit de reviewlijst van de klant (8 sep 2026). Elk punt staat hieronder met
   zijn nummer, zodat een enkel punt terug te draaien is zonder de rest te raken. */

/* 2a. De producttitel stond op 40px/500 terwijl het origineel 24px/700/33.6 heeft
   (nagemeten, zie primecook-productpagina). Oorzaak: .elementor-kit-N h1 is (0,1,1)
   en wint van .pc-prod-kop (0,1,0) op regel 1619, ook al staat die later. Door het
   element mee te selecteren komt onze regel op (0,2,1) en wint hij weer.
   Gold op desktop net zo goed als op de telefoon. */
.pc-prod-info h1.pc-prod-kop { font-size: 24px; font-weight: 700; line-height: 33.6px; }

/* 2b. De 75px wit boven de foto (regel 2293) bootst de ruimte na waar het origineel
   zijn kruimelpad heeft. Op de telefoon is dat een leeg scherm; daar 20px. */
@media only screen and (max-width: 990px) {
	.pc-prod-top { padding-top: 20px !important; }
}

/* 4. Bij het aantikken van een productkaart kleurde de kaart op: dat is de
   standaard tap-highlight van de browser, rgba(0,0,0,.18).
   Het is niet genoeg om alleen de naamlink en de knop transparant te zetten. In de
   carrousel op de homepage is de kaart een Elementor-container (div.pc-kaart) met
   een eigen fotolink a.pc-beeldlink erin, en juist die twee lichtten nog op. Nu de
   kaart plus alles wat erin klikbaar is. De :hover-schaduw op de kaart blijft als
   terugkoppeling, dus er gaat geen signaal verloren. */
.pc-kaart,
.pc-kaart a,
.pc-kaart button { -webkit-tap-highlight-color: transparent; }

/* 5. De bolletjes van de productcarrousel stonden absoluut op bottom:8px en lagen
   daarmee 16px over de onderkant van de kaarten heen (zowel mobiel als op desktop
   gemeten). Nu in de flow, dus onder het blok en boven "Koken met Kelly". */
.elementor-element-d5e98ba .swiper-pagination.swiper-pagination-bullets {
	/* Elementor zet deze bolletjes op position:absolute MET !important, dus zonder
	   !important verandert er niets - specificiteit alleen is hier niet genoeg. */
	position: static !important;
	height: auto !important;
	margin: 14px 0 0 !important;
}

/* 7. Wijzerpagina: onder 767px staat alles in een kolom (daarboven twee, gemeten op
   .row-col-xl-6). De knoppen stonden al gecentreerd via margin auto, de tekst niet. */
@media only screen and (max-width: 767px) {
	.pc-wijzer .tekst,
	.pc-wijzer .tekstkop { text-align: center; }
}

/* 9. Het vinkje "Bezorgadres is gelijk aan factuuradres" hing 309px onder de
   adresvelden. Oorzaak: #order_review spande drie rasterrijen en zijn hoogte werd
   over die rijen verdeeld, waardoor rij 1 (de factuurkolom) tot 1016px oprekte en
   .col-2 pas daaronder begon. Opgelost door de linkerkolom weer een gewoon blok te
   maken: #customer_details is dan een rasteritem met beide kolommen erin gestapeld,
   en er valt niets meer te spannen. */
body.woocommerce-checkout form.checkout #customer_details { display: block; grid-column: 1; grid-row: 1; }
body.woocommerce-checkout form.checkout .col2-set .col-1,
body.woocommerce-checkout form.checkout .col2-set .col-2 { grid-column: auto; grid-row: auto; }
body.woocommerce-checkout form.checkout #order_review { grid-row: 1; }
body.woocommerce-checkout form.checkout .pc-af-bestelblok { grid-row: 2; }
/* Onder 1110px een kolom. Alle drie de blokken moeten hier op grid-row: auto, anders
   houden #order_review (rij 1) en .pc-af-bestelblok (rij 2) hun vaste rij en belandt
   #customer_details in rij 3 - dan staat de Betalen-knop dus BOVEN de klantgegevens en
   moet de klant terug omhoog scrollen. Met alles op auto volgt de DOM-volgorde:
   klantgegevens, overzicht, bestelblok. */
@media only screen and (max-width: 1110px) {
	body.woocommerce-checkout form.checkout #customer_details,
	body.woocommerce-checkout form.checkout #order_review,
	body.woocommerce-checkout form.checkout .pc-af-bestelblok { grid-column: 1; grid-row: auto; }
}
/* ==== PRIMECOOK FEEDBACK RONDE 1 EINDE ==== */

/* ==== PRIMECOOK VENSTER TOEGEVOEGD START ==== */
/* Punt 8a: het eigen venster na "in winkelmand" vanaf de productpagina (snippet 204).
   Maten en kleuren komen uit het overlay-systeem van het origineel zelf
   (pluginlive_min.css: .overlaycontainer / .innercontainer / .closeoverlay), zodat dit
   venster dezelfde vorm heeft als de andere overlays daar. */
.pc-toegevoegd {
	position: fixed;
	top: 0; right: 0; bottom: 0; left: 0;
	z-index: 10000000;
	height: 100%;
	overflow-y: auto;
	background: rgba(50, 50, 50, .75);
}
.pc-toegevoegd-venster {
	position: relative;
	box-sizing: border-box;
	width: 60%;
	max-width: 560px;
	min-height: 150px;
	top: 2%;
	margin: 0 auto;
	padding: 10px;
	background: #fff;
	border-radius: 5px;
	animation: pc-toegevoegd-in .3s ease 1, pc-toegevoegd-omhoog .3s ease-out 1;
}
@keyframes pc-toegevoegd-in { from { opacity: 0; } to { opacity: 1; } }
@keyframes pc-toegevoegd-omhoog { from { transform: translateY(20px); } to { transform: translateY(0); } }
.pc-toegevoegd-sluit {
	float: right;
	margin: 0 20px 0 0;
	padding: 0;
	background: none;
	border: 0;
	font-family: inherit;
	font-size: 20px;
	line-height: 1;
	color: #721c24;
	cursor: pointer;
}
.pc-toegevoegd-tekst {
	clear: both;
	margin: 25px 0 20px;
	padding: 0 10px;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	color: var(--pc-text, #3D3D3C);
}
.pc-toegevoegd-knoppen {
	display: flex;
	justify-content: space-between;
	gap: 10px;
	padding: 0 10px 10px;
}
.pc-toegevoegd-knop {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: 38px;
	padding: 10px 15px;
	background-color: var(--pc-green, #7F9C90);
	border: 1px solid var(--pc-green, #7F9C90);
	border-radius: 0;
	color: #fff;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1;
	text-decoration: none;
	cursor: pointer;
}
.pc-toegevoegd-knop:hover,
.pc-toegevoegd-knop:focus {
	background-color: var(--pc-green-hover, #19C55D);
	border-color: var(--pc-green-hover, #19C55D);
	color: #fff;
}
/* dezelfde trapjes als het origineel voor .innercontainer */
@media only screen and (max-width: 991px) {
	.pc-toegevoegd-venster { width: 75%; top: 20%; }
}
@media only screen and (max-width: 580px) {
	.pc-toegevoegd-venster { width: 90%; }
	.pc-toegevoegd-knoppen { flex-wrap: wrap; }
	.pc-toegevoegd-knop { flex: 1 1 0; }
}
/* ==== PRIMECOOK VENSTER TOEGEVOEGD EINDE ==== */

/* ==== PRIMECOOK FEEDBACK RONDE 2 START ==== */
/* Tweede reviewronde van de klant (8 sep 2026). Per punt staat erbij welke bestaande
   regel verslagen moet worden, want op verschillende plekken wint specificiteit van
   volgorde. */

/* 1. /extra-sales-pagina: de knoppenrij raakte het groene reviewblok eronder (gemeten
   0px ertussen). .pc-kassa-knoppen heeft alleen margin-top (regel 2646), dus een
   ondermarge erbij is genoeg. */
.pc-kassa-knoppen { margin-bottom: 30px; }

/* 2. De lichtgrijze voorwaardentekst stond op line-height 40px (regel 2764). Die 40px
   komt uit .legal-text van het origineel, waar het EEN regel is die verticaal moet
   uitlijnen met een knop van 40px. Bij ons wikkelt de tekst: op desktop over 2 regels
   (80px hoog) en op 375px over 3 (120px), met grote gaten ertussen. Met een normale
   regelhoogte plus min-height blijft het blok 40px hoog en staat de tekst netjes
   gecentreerd - geen nieuw breekpunt nodig. */
.pc-af-voorwaarden {
	display: flex;
	align-items: center;
	min-height: 40px;
	line-height: 20px;
}

/* 3a. Het couponveld is altijd vol-breed, dus de knop Toepassen valt altijd op de
   volgende regel en plakte tegen het veld. */
.pc-af-coupon .pc-af-couponknop { display: block; margin-top: 8px; }

/* 3b. Er stonden twee koppen "Opmerkingen": onze h2.pc-af-kop en het standaardlabel van
   WooCommerce. Dat label moet weg, maar regel 2701
   (.woocommerce form.checkout .form-row label) is (0,3,2) en wint van een gewone
   label-selector, hoe ver achteraan ook. Via het id komen we op (1,0,1) en winnen we. */
#order_comments_field label { display: none; }

/* 7. Succes-animatie op de bestelknop, overgenomen uit het origineel
   (origineel-pluginlive.css 1892-1931: .showAddSuccess wisselt het winkelwagentje voor
   een vinkje, transition top .2s ease-out).

   Twee dingen wijken bewust af van die spec:
   - Het origineel animeert top op een icoon zonder transform. Ons wagentje staat op
     top:50% MET transform: translateY(-50%) (regel 1831). Zou je top animeren, dan
     blijft die -50% staan en klopt de eindpositie niet. Daarom animeren we transform;
     de centrering blijft dan intact. Op regel 1831 staan position/width/height/margin
     wel op !important, maar transform NIET - dus dit mag zonder !important.
   - De productkaart bestaat in twee vormen. In het handmatige raster heet het wagentje
     .pc-kaart-kar; in de Elementor-loopkaart van de homepagecarrousel bestaat die klasse
     NIET en heet het .elementor-button-icon (regel 1064, door Elementor zelf gemaakt).
     Beide moeten hieronder dus altijd samen genoemd worden.
   Het vinkje krijgt dezelfde klasse als het wagentje plus een modifier, zodat het
   automatisch de mobiele right-correcties op 580px en 360px meepakt (regels 3004, 3061,
   3094) - die staan op !important en zouden een eigen klasse niet raken.
   De knop had nergens overflow: hidden (regel 1570 en 1048), waardoor de iconen buiten de
   knop zichtbaar zouden blijven tijdens het schuiven. */
.pc-kaart-knop a,
.pc-kaart-knop .elementor-button { overflow: hidden; }

.pc-kaart-knop .pc-kaart-kar,
.pc-kaart-knop .elementor-button-icon { transition: transform .2s ease-out; }

/* het vinkje wacht boven de knop tot het aan de beurt is */
.pc-kaart-knop .pc-kaart-vink { transform: translateY(-250%); }

/* tijdens de twee seconden: wagentje eruit, vinkje erin */
.pc-toegevoegd-ok .pc-kaart-kar:not(.pc-kaart-vink),
.pc-toegevoegd-ok .elementor-button-icon:not(.pc-kaart-vink) { transform: translateY(150%); }
.pc-toegevoegd-ok .pc-kaart-vink { transform: translateY(-50%); }

/* Het vinkje wordt als SVG getekend en niet als teken. Op de kaartknop staat namelijk
   font-size 0 (dat verbergt de alt-tekst van de emoji in het wagentje), waardoor een
   tekstvinkje onzichtbaar blijft. Een achtergrond-SVG is daar niet van afhankelijk;
   dezelfde aanpak gebruikt het wachtwoord-oogje op de inlogpagina. */
.pc-kaart-knop .pc-kaart-vink {
	display: block;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><path d='M4 12.5l5.5 5.5L20 7'/></svg>");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 14px 14px;
}
.pc-kaart-knop .pc-kaart-vink svg,
.pc-kaart-knop .pc-kaart-vink img { display: none; }
/* ==== PRIMECOOK FEEDBACK RONDE 2 EINDE ==== */

/* ==== PRIMECOOK BEDANKPAGINA START ==== */
/* Punt 4 en 5 uit reviewronde 2: /checkout/order-received/ was kale WooCommerce.
   Afbakening: WooCommerce zet op dat endpoint de bodyklassen woocommerce-checkout,
   woocommerce-page EN woocommerce-order-received. Alles hieronder hangt aan die laatste,
   zodat de afrekenpagina zelf niets merkt. Andersom geldt ook: bijna alle regels uit het
   blok PRIMECOOK AFREKENEN eisen form.checkout of #payment, en die bestaan hier niet -
   daarom is de pagina nu onopgemaakt.
   De waarden komen uit de al 1:1 nagemeten blokken: tabel als de accounttabel
   (regels 2812-2814), kop als .pc-af-kop (regel 2694), infomelding als op de
   accountpagina (regel 2817), succesmelding als .alert-success van het origineel. */

/* 1. Er was geen omhulsel: .woocommerce-order hangt rechtstreeks onder body, zonder
   max-width of marge, dus alles liep van rand tot rand. Dezelfde 1080 als de
   afrekenpagina (regel 2681). */
body.woocommerce-order-received div.woocommerce {
	box-sizing: border-box;
	max-width: 1080px;
	margin: 0 auto;
	padding: 30px 20px 50px;
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 24px;
	color: var(--pc-text, #3D3D3C);
}

/* 2. De bevestigingsregel als groene melding (alert-success van het origineel). */
body.woocommerce-order-received .woocommerce-notice--success {
	margin: 0 0 25px;
	padding: 12px 15px;
	background: #d4edda;
	border: 1px solid #c3e6cb;
	border-radius: 5px;
	color: #155724;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

/* 3. De koppen stonden op 32px: dat is .elementor-kit-8 h2, en een kale h2-selector
   (0,0,1) verliest daarvan. Met de klasse erbij komen we op (0,3,2) en winnen we. */
body.woocommerce-order-received div.woocommerce h2 {
	margin: 0 0 15px;
	padding: 20px 0 10px;
	border-bottom: 1px solid #c2cad8;
	font-family: 'Roboto', sans-serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 25.2px;
	color: var(--pc-text, #3D3D3C);
}

/* 4. De vier bestelgegevens stonden als opsomming met de standaard 40px lijstindent en
   op 11.44px. Nu een rij nette blokjes zonder indent. */
body.woocommerce-order-received ul.order_details {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin: 0 0 30px;
	padding: 0;
	border: 0;
	list-style: none;
	box-shadow: none;
}
body.woocommerce-order-received ul.order_details li {
	flex: 1 1 170px;
	margin: 0;
	padding: 10px 12px;
	border: 1px solid #c2cad8;
	border-right: 1px solid #c2cad8;
	border-radius: 4px;
	background: #fff;
	font-size: 12px;
	font-weight: 300;
	line-height: 18px;
	color: #555;
	text-transform: none;
}
body.woocommerce-order-received ul.order_details li strong {
	display: block;
	margin-top: 4px;
	font-size: 16px;
	font-weight: 500;
	line-height: 24px;
	color: var(--pc-text, #3D3D3C);
}

/* 5. De besteltabel: zelfde opmaak als de accounttabel, die ook op table.shop_table
   mikt. Zonder deze regels wint de kale WooCommerce-opmaak (0,2,2) uit
   woocommerce-general.css van een selector met minder specificiteit. */
body.woocommerce-order-received .woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 30px;
	border: 1px solid #c2cad8;
	border-collapse: collapse;
	border-radius: 0;
	font-size: 16px;
}
body.woocommerce-order-received .woocommerce table.shop_table th,
body.woocommerce-order-received .woocommerce table.shop_table td {
	padding: 10px;
	border: 1px solid #c2cad8;
	font-size: 14px;
	font-weight: 300;
	line-height: 21px;
	color: var(--pc-text, #3D3D3C);
	vertical-align: top;
}
body.woocommerce-order-received .woocommerce table.shop_table thead th {
	background: #c2cad8;
	font-weight: 700;
	text-align: left;
}
body.woocommerce-order-received .woocommerce table.shop_table tfoot th {
	font-weight: 700;
	text-align: left;
}
body.woocommerce-order-received .woocommerce table.shop_table td:last-child,
body.woocommerce-order-received .woocommerce table.shop_table tfoot td {
	text-align: right;
}
body.woocommerce-order-received .woocommerce table.shop_table .product-purchase-note { font-style: italic; }

/* 6. De adresblokken stonden helemaal links. Let op: WooCommerce gebruikt hier PRECIES
   dezelfde klassen als op de afrekenpagina (.col2-set, .col-1, .col-2), maar die regels
   zijn daar met form.checkout afgebakend en landen hier dus niet. Daarom mikken we op de
   order-received-eigen klassen en niet op .col-1/.col-2. */
body.woocommerce-order-received .woocommerce-customer-details { margin: 0; }
body.woocommerce-order-received .woocommerce-columns--addresses {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 0;
}
/* WooCommerce zet op .col2-set een clearfix met ::before en ::after (content: " ";
   display: table). In een grid worden die twee PSEUDO-ELEMENTEN GEWOON GRIDITEMS: ze
   bezetten rij 1 kolom 1, waardoor het factuuradres naar kolom 2 schuift en het
   verzendadres naar de tweede rij. Zonder deze regel staan de adressen dus verwisseld
   en onder elkaar. */
body.woocommerce-order-received .woocommerce-columns--addresses::before,
body.woocommerce-order-received .woocommerce-columns--addresses::after { content: none; display: none; }
body.woocommerce-order-received .woocommerce-columns--addresses .woocommerce-column {
	box-sizing: border-box;
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
}
body.woocommerce-order-received .woocommerce-customer-details address {
	margin: 0;
	padding: 12px 14px;
	border: 1px solid #c2cad8;
	border-radius: 4px;
	background: #fff;
	font-style: normal;
	font-size: 14px;
	font-weight: 300;
	line-height: 24px;
	color: var(--pc-text, #3D3D3C);
}
body.woocommerce-order-received .woocommerce-customer-details address p { margin: 0; }

/* 7. Meldingen en betaalinstructies (Mollie zet zijn uitleg in een .woocommerce-info),
   zelfde blauwe kader als op de accountpagina. */
body.woocommerce-order-received .woocommerce .woocommerce-info,
body.woocommerce-order-received .woocommerce .woocommerce-message {
	margin: 0 0 20px;
	padding: 10px 15px;
	background: #d1ecf1;
	border: 1px solid #bee5eb;
	border-radius: 10px;
	color: #0c5460;
	font-size: 15px;
	font-weight: 300;
	line-height: 24px;
	list-style: none;
}
body.woocommerce-order-received .woocommerce .woocommerce-info::before,
body.woocommerce-order-received .woocommerce .woocommerce-message::before { content: none; }

@media only screen and (max-width: 700px) {
	body.woocommerce-order-received div.woocommerce { padding: 20px 14px 40px; }
	body.woocommerce-order-received .woocommerce-columns--addresses { grid-template-columns: 1fr; }
	body.woocommerce-order-received ul.order_details li { flex: 1 1 100%; }
}
/* ==== PRIMECOOK BEDANKPAGINA EINDE ==== */

/* ==== PRIMECOOK NIEUWSRASTER START ==== */
/* De tegels stonden op floats (28% breed, 1% marge, float left). Zodra een tegel
   hoger uitviel dan min-height haakten de volgende floats achter de vorige aan:
   bij acht items schoof de laatste rij naar kolom 2 en 3 met kolom 1 leeg, en
   binnen een rij liepen de hoogtes uiteen (498 / 541 / 509 px).
   Nu een echt raster dat altijd links begint en waarin elke tegel de volle
   rijhoogte vult. De maten van het origineel blijven exact: tegel 28% van de rij,
   tussenruimte 2%, buitenrand 1%. Percentages van tracks rekenen tegen de content
   box en de houder heeft 1% padding, dus staat er 28/98 = 28.5714% en
   2/98 = 2.0408%.
   row-gap staat bewust in px: een procentuele row-gap rekent tegen de HOOGTE van
   de houder, wat hier 33px opleverde in plaats van de bedoelde 21.6px (2% van
   1080). height 100% op de tegel is nodig omdat de Elementor-container anders op
   zijn eigen hoogte blijft staan en niet met de rij meegroeit. */
.pc-nieuws .elementor-loop-container {
	display: grid !important;
	grid-template-columns: repeat(3, 28.5714%) !important;
	grid-auto-rows: 1fr !important;
	align-items: stretch !important;
	justify-content: start !important;
	column-gap: 2.0408% !important;
	row-gap: 21.6px !important;
	padding: 1% !important;
	box-sizing: border-box;
}
/* De clearfix van de floatversie zou als extra rastercel meetellen. */
.pc-nieuws .elementor-loop-container::after {
	content: none !important;
	display: none !important;
}
.pc-nieuws .pc-nieuwsitem {
	float: none !important;
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	align-self: stretch !important;
	height: 100% !important;
}

@media only screen and (max-width: 991px) {
	/* twee kolommen: tegel 47% van de rij, zelfde tussenruimte */
	.pc-nieuws .elementor-loop-container {
		grid-template-columns: repeat(2, 47.9592%) !important;
	}
}

@media only screen and (max-width: 770px) {
	/* een kolom, gecentreerd, op natuurlijke hoogte */
	.pc-nieuws .elementor-loop-container {
		grid-template-columns: minmax(0, 400px) !important;
		grid-auto-rows: auto !important;
		justify-content: center !important;
		row-gap: 20px !important;
		padding: 10px 0 !important;
	}
	.pc-nieuws .pc-nieuwsitem { height: auto !important; }
}
/* ==== PRIMECOOK NIEUWSRASTER EINDE ==== */

/* ==== PRIMECOOK WIJZERRASTER START ==== */
/* Zelfde ingreep als bij het nieuwsblok op de voorpagina (blok PRIMECOOK
   NIEUWSRASTER). De tegels op de vier overzichtspagina's stonden op floats
   (28% breed, 1% marge, min-height 498px). Hier zijn de hoogtes toevallig al
   gelijk (545px), maar zodra een tegel hoger uitvalt haken de volgende erachter
   aan - precies wat op de voorpagina de laatste rij naar rechts duwde. Nu
   hetzelfde raster: gelijke rijhoogtes en altijd links beginnen.
   Tracks 28/98 = 28.5714% en kolomgat 2/98 = 2.0408% omdat de houder 1% padding
   heeft; row-gap in px omdat een procentuele row-gap tegen de HOOGTE van de
   houder rekent in plaats van tegen de breedte. */
.pc-wijzer .qs_blog_items {
	display: grid;
	grid-template-columns: repeat(3, 28.5714%);
	grid-auto-rows: 1fr;
	align-items: stretch;
	justify-content: start;
	column-gap: 2.0408%;
	row-gap: 21.6px;
	padding: 1%;
	box-sizing: border-box;
}
.pc-wijzer .qs_blog_item {
	float: none;
	width: auto;
	max-width: none;
	margin: 0;
	align-self: stretch;
	height: 100%;
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}
/* De readmore-balk blijft op de onderrand zitten als de rij hoger is. */
.pc-wijzer .qs_blog_readmore { margin-top: auto; }
/* Het beeld heeft height 100%; met een tegel van vaste hoogte zou het beeld
   anders de volle tegelhoogte pakken. */
.pc-wijzer .qs_blog_image { height: auto; }
/* Vangnet tegen een ontbrekende thumbnail. De tegels gebruiken per pagina een
   eigen thumbnailformaat (nieuws en inspiratie 435x250 -> 168px hoog,
   wetenswaardigheden 376x250 -> 195px, koken-met-kelly 500x400 -> 234px). Bij
   'Makkelijk wokgerecht met gamba's' op /inspiratie ontbreekt de thumbnail en
   valt het volledige beeld van 1000x1500 in de tegel: dat werd 439px hoog en
   trok de hele rij mee. 240px laat elk echt thumbnailformaat ongemoeid en snijdt
   alleen zulke uitschieters af. */
.pc-wijzer .qs_blog_image img { max-height: 240px; object-fit: cover; }

@media only screen and (max-width: 991px) {
	/* twee kolommen: tegel 47% van de rij */
	.pc-wijzer .qs_blog_items {
		grid-template-columns: repeat(2, 47.9592%);
	}
}

@media only screen and (max-width: 770px) {
	/* een kolom, gecentreerd, op natuurlijke hoogte */
	.pc-wijzer .qs_blog_items {
		grid-template-columns: minmax(0, 400px);
		grid-auto-rows: auto;
		justify-content: center;
		row-gap: 20px;
		padding: 10px 0;
	}
	.pc-wijzer .qs_blog_item { height: auto; }
}
/* ==== PRIMECOOK WIJZERRASTER EINDE ==== */

/* ==== PRIMECOOK FEEDBACK RONDE 3 START ==== */

/* 1. Het vinkje "Een account aanmaken?" leek te ontbreken op de afrekenpagina.
   Er waren twee oorzaken. Ten eerste rekent de browser display voor dit vinkje
   uit als 'inline', en op een inline-element doet een opgegeven width niets:
   het vakje kromp tot 2px breed (gemeten 2x20 in plaats van 18x18). Onze eigen
   vinkjes, zoals bij "Bezorgadres is gelijk aan factuuradres", zitten in een
   label met inline-flex en komen daardoor wel goed uit. Ten tweede zet onze
   eigen stijl appearance op none met een bijna wit vlak (#e5e3ef) en border 0,
   waardoor een leeg vakje ook met de juiste maat nauwelijks te zien is op wit;
   aangevinkt wordt het donker en valt het wel op. Dus: display goedzetten en
   een rand geven, net als bij de tekstvelden. */
body.woocommerce-checkout form.checkout input[type="checkbox"] {
	display: inline-block;
	border: 1px solid #c2cad8;
}
body.woocommerce-checkout form.checkout input[type="checkbox"]:checked {
	border-color: var(--pc-text, #3D3D3C);
}
body.woocommerce-checkout form.checkout .woocommerce-account-fields label.checkbox {
	display: inline-flex;
	align-items: center;
}

/* 2. In de productkaarten stonden de oude en de nieuwe prijs tegen elkaar aan,
   waardoor de doorhaling in het nieuwe bedrag leek door te lopen. */
.pc-prijsregel .pc-oudprijs {
	margin-right: 6px;
}

/* 4. Meer lucht tussen het bestelblok en de omschrijving eronder op de
   productpagina. De alinea's staan zelf op margin 0 !important, dus de ruimte
   komt van de houder. */
.pc-prod-info .pc-prod-tekst {
	margin-top: 24px;
}

/* 6. Tussen 992px en ongeveer 1135px verdween de knop "Naar de webwinkel"
   deels. De hoogte van de hero komt van het beeld, terwijl de tekst met de
   knop in een absoluut geplaatste overlay staat en dus niet meerekent. Bij
   1000px breed is het beeld 246px hoog terwijl de knop pas op 270px eindigt:
   die 24px stak onder de hero uit en werd door de volgende sectie overdekt.
   Een ondergrens op het beeld lost het op; boven ~1135px is het beeld van
   zichzelf hoger en doet de regel niets, onder 992px staat dit beeld op
   display none (dan is .pc-hero-mob aan het werk). */
.pc-hero .pc-hero-desk img {
	min-height: 280px;
	object-fit: cover;
}

/* 8. Het vaste blok boven de footer (kop, tekst en de boom) zit in het globale
   footersjabloon 90 en staat daardoor op elke pagina. Op de winkelmand (19),
   de extra-sales-pagina (11308) en het afrekenen (20) hoort het eraf. */
body.page-id-19 .pc-bomenbordertop,
body.page-id-11308 .pc-bomenbordertop,
body.page-id-20 .pc-bomenbordertop {
	display: none !important;
}
/* Op de extra-sales-pagina gaat de videobanner erboven ook weg. */
body.page-id-11308 .elementor-element-6120981 {
	display: none !important;
}
/* ==== PRIMECOOK FEEDBACK RONDE 3 EINDE ==== */

/* ==== PRIMECOOK GRAVUURTEKST START ==== */
/* De gravuretekst liep in de mand als één doorlopende regel: "Eerste regel:
   test Tweede regel: test". Oorzaak was de vlakke uitvoer van
   wc_get_formatted_cart_item_data( $regel, true ): die zet de regels achter
   elkaar met \n, en een regeleinde is in html een spatie. Zonder die parameter
   geeft WooCommerce een <dl class="variation"> met <dt> voor het label en <dd>
   voor de tekst van de klant (aangepast in snippet 120). Hier zetten we die
   twee visueel uit elkaar: het label gedempt en lichter, de ingevoerde tekst
   nadrukkelijk in de tekstkleur van de winkel.
   display is inline-grid en niet grid: daardoor volgt het blok de text-align
   van zijn omgeving - links in de tabel op de desktop, gecentreerd in de
   mandkaart op mobiel - zonder dat er een media query bij hoeft. De regels
   gelden ook op de afrekenpagina en de bedankpagina, waar WooCommerce dezelfde
   dl neerzet. */
.pc-mand-pers dl.variation,
body.woocommerce-checkout dl.variation {
	display: inline-grid;
	grid-template-columns: auto minmax(0, 1fr);
	column-gap: 6px;
	row-gap: 2px;
	margin: 6px 0 0;
	padding: 0;
	text-align: left;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	line-height: 20px;
}
.pc-mand-pers dl.variation dt,
body.woocommerce-checkout dl.variation dt {
	grid-column: 1;
	float: none;
	clear: none;
	margin: 0;
	padding: 0;
	font-weight: 400;
	color: #8a8a89;
}
.pc-mand-pers dl.variation dd,
body.woocommerce-checkout dl.variation dd {
	grid-column: 2;
	margin: 0;
	padding: 0;
	font-weight: 500;
	color: var(--pc-text, #3D3D3C);
}
.pc-mand-pers dl.variation dd p,
body.woocommerce-checkout dl.variation dd p {
	margin: 0;
	padding: 0;
	font-size: inherit;
	line-height: inherit;
}
/* Dezelfde behandeling in de mini-mand in de kop. Elementor zet die dl daar al
   in twee kolommen (max-content auto), dus daar liep de tekst niet aan elkaar;
   alleen stonden label en ingevoerde tekst in dezelfde kleur en hetzelfde
   gewicht. */
.elementor-menu-cart__main dl.variation dt,
.widget_shopping_cart dl.variation dt {
	font-weight: 400;
	color: #8a8a89;
}
.elementor-menu-cart__main dl.variation dd,
.widget_shopping_cart dl.variation dd {
	font-weight: 500;
	color: var(--pc-text, #3D3D3C);
}
/* Uitleg onder de twee velden op de productpagina: de eerste regel is
   verplicht, de tweede mag leeg blijven (vierde feedbackronde). */
.pc-pers-wrap .pc-pers-hint {
	margin: 8px 0 0;
	padding: 0;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 20px;
	color: #8a8a89;
}
/* ==== PRIMECOOK GRAVUURTEKST EINDE ==== */

/* ==== PRIMECOOK FEEDBACK RONDE 4 START ==== */

/* 1. Kassakoopjes: meer ruimte tussen de knoppen "Naar winkelmand" en
   "AFREKENEN", zoals op de oude site. Op desktop stond er al meer ruimte dan
   op het origineel (gemeten 818px tegen 799px), dus daar valt niets te winnen;
   het verschil zat op smalle schermen. Op primecook.nl stonden de twee knoppen
   onder 580px vol-breed onder elkaar met 10px ertussen
   (.webshop-cart-button-wrap button { float: none; display: block; width: 100%;
   margin: 10px auto }), terwijl ze hier op een regel bleven met 96px ertussen
   bij 375px. Dat zetten we terug. De onderkant krijgt ook meer lucht: op het
   origineel volgde er nog een hele sectie na de knoppen, nu direct de footer. */
.pc-kassa-knoppen {
	margin-bottom: 50px;
}
@media only screen and (max-width: 580px) {
	.pc-kassa-knoppen {
		flex-wrap: wrap;
	}
	.pc-kassa-knop {
		flex: 1 1 100%;
		margin: 10px 0 0;
		text-align: center;
	}
}

/* 4. "Dit vind je misschien ook leuk...": de kaarten in een rij waren niet
   even hoog, waardoor de knoppen niet uitlijnden. De houder is al een
   flexrij met align-items: stretch, maar .pc-kaart krijgt elders
   height: 100%, en daardoor deed dat stretchen niets. height: auto geeft het
   terug; margin-top: auto op de prijs duwt prijs en knop naar de onderkant.
   Alleen gescopeerd op dit blok, zodat de categorierasters en de
   kassakoopjes ongemoeid blijven. */
.pc-prod-blok .pc-kaarten .pc-kaart {
	height: auto !important;
	align-self: stretch !important;
}
.pc-prod-blok .pc-kaarten .pc-kaart-prijs {
	margin-top: auto !important;
}

/* 5. De zin "Alle genoemde prijzen zijn inclusief BTW" is uit het bestelblok
   gehaald (snippet 198). Dat blok is display: flex met space-between, dus met
   maar een kind zou de bestelknop naar links schuiven; flex-end houdt hem
   rechts waar hij stond. */
body.woocommerce-checkout form.checkout .pc-af-bestelblok {
	justify-content: flex-end;
}

/* 10. "Koken met Kelly": tekstkolom en foto raakten elkaar. De rij staat op
   gap: 0 !important (specificiteit 0,1,0); deze selector is 0,2,0 en wint
   daarom voor de twee losse gap-properties. De foto wordt er 20px smaller van,
   dat is op 525px niet te zien. */
.pc-row--pad.elementor-element-f2ff786 {
	column-gap: 40px !important;
	row-gap: 32px !important;
}

/* 11. De topbalk: tussen Facebook en Instagram zat 40px en tussen Instagram en
   het keurmerk 24px. De 40px was dubbel gedeclareerd (Elementor "Space
   Between" 20px plus onze eigen gap) en de icoonwidget was breder dan de
   iconen door een lege tekstspan en een marge naast het icoon. Die dode ruimte
   eruit en de gap naar 11px maakt alle vijf de gaten in de balk gelijk
   (gemeten uitkomst: 31.00px tegen 31.28px). */
.pc-headersocials .elementor-icon-list-icon svg {
	width: 18px;
	height: 18px;
	margin-right: 0;
}
.pc-headersocials .elementor-icon-list-text {
	display: none;
}
.pc-headersocials .elementor-icon-list-items {
	gap: 11px;
}

/* 12. De knoppen "Direct bestellen" in de carrousel op de voorpagina stonden
   op verschillende hoogtes: de kaarten zijn wel alle twaalf 589px, maar bij
   vier kaarten met een sale-prijs is de prijsregel tweeregelig, waardoor de
   knop lager begint. De kaarten zijn zelf wel alle 589px hoog, want de
   carrousel trekt ze gelijk. Eerst geprobeerd met de kaart als flexkolom en
   margin-top: auto op de knop: dat lijnt de knoppen wel uit, maar dan klappen
   de marges binnen de kaart niet meer samen en werd de kaart 649px in plaats
   van 589px, dus de hele carrousel 60px hoger (gemeten). Daarom nu de knop
   absoluut onderaan: de kaart houdt zijn hoogte en de knop staat op elke kaart
   op dezelfde plek. .pc-kaart heeft al position: relative, en de kliklaag van
   de titellink blijft werken omdat de knoplink zelf z-index 2 heeft. */
.pc-carrousel .pc-kaart {
	display: flex !important;
	flex-direction: column;
}
.pc-carrousel .pc-kaart .pc-kaart-beeld {
	margin-bottom: 0 !important;
}
.pc-carrousel .pc-kaart .pc-kaart-knop {
	margin-top: auto !important;
}
/* Elementor geeft elke widget in de kaart margin-bottom: 20px. Bij display:
   block klapten die samen met de marges van .pc-kaart-naam en .pc-kaart-prijs;
   in een flexkolom klappen ze niet meer en kwamen er 2 x 20px bij. Nul zetten
   herstelt precies het oude gedrag. */
.pc-carrousel .pc-kaart .elementor-widget {
	margin-bottom: 0 !important;
}

/* 14, 15, 16. De tekst onder het raster op categoriepagina's zoals
   /rvs-pannen. Drie klachten in een blok:
   - het lettertype week af: er stond geen font-family, dus de systeemstack
     werd gebruikt in plaats van Roboto. Een declaratie op de houder herstelt
     p, h2, ul, li, a en strong in een keer via overerving. De kleur gaat
     mee van #333333 naar de tekstkleur van de winkel;
   - de koppen plakten tegen de tekst erboven: ze stonden op margin 0. Nu
     32.4px erboven, gelijk aan het alinearitme dat elders al gebruikt wordt,
     met de eerste kop uitgezonderd zodat die niet bij de 30px van de houder
     komt. De alinea's krijgen onderling dezelfde ruimte, anders valt de lucht
     boven de koppen op als enige uitzondering;
   - de opsomming stond kleiner dan de rest. Nu 18px, gelijk aan de alinea's.
     font-weight moet met !important, omdat de gemigreerde html een inline
     style="font-weight: 400" op de li's heeft staan. */
.pc-cat-ondertekst {
	font-family: 'Roboto', sans-serif;
	color: var(--pc-text, #3D3D3C);
}
.pc-cat-ondertekst h2 {
	margin: 32.4px 0 0 !important;
	padding: 0 0 14.4px !important;
}
.pc-cat-ondertekst h2:first-child {
	margin-top: 0 !important;
}
.pc-cat-ondertekst p + p {
	margin-top: 32.4px !important;
}
.pc-cat-ondertekst ul,
.pc-cat-ondertekst ol {
	margin: 0 0 14.4px !important;
	padding-left: 40px;
	font-size: 18px !important;
	font-weight: 300 !important;
	line-height: 32.4px !important;
	list-style: disc;
}
.pc-cat-ondertekst li {
	margin: 0;
	font-size: 18px !important;
	font-weight: 300 !important;
	line-height: 32.4px !important;
}
/* Dezelfde ontbrekende fontstack zit in de lange omschrijving op de
   productpagina's; het is een en hetzelfde gebrek. */
.pc-prod-lang {
	font-family: 'Roboto', sans-serif;
}

/* 18. De FAQ-accordeon. De vraag is nu een echte h3 binnen de summary
   (snippets 156 en 195); die krijgt hier zijn eigen typografie, groter dan het
   antwoord (20px tegen 18px) en met koppengewicht. De rij krijgt verticale
   lucht en het antwoord onderaan wat meer, want het geheel stond te compact.
   De pijl stond met een vaste top: 7px tegen de summary; met de hogere rij
   moet hij mee naar het midden, en de rotatie bij openen moet die
   verschuiving meenemen, anders springt hij. */
.pc-faq-vraag {
	padding: 8px 30px 8px 0;
}
.pc-faq-vraag .pc-faq-vraagtekst {
	margin: 0 !important;
	padding: 0 !important;
	font-family: 'Roboto', sans-serif;
	font-size: 20px;
	font-weight: 400;
	line-height: 30.6px;
	color: #ffffff;
}
.pc-faq-pijl {
	top: 50%;
	transform: translateY(-50%);
}
.pc-faq-item[open] > .pc-faq-vraag .pc-faq-pijl {
	transform: translateY(-50%) rotate(180deg);
}
.pc-faq-antwoord {
	padding: 4px 5px 14px !important;
}
/* ==== PRIMECOOK FEEDBACK RONDE 4 EINDE ==== */

/* ==== PRIMECOOK AFREKENEN ACCOUNTBLOK START ==== */
/* Het blok "Maak een account aan" staat nu tussen de persoonsgegevens en de
   kop Factuuradres, zoals op de oude site. Zie het sjabloon
   woocommerce/checkout/form-billing.php in dit thema. De veldenwikkel is een
   raster van twee kolommen, dus het blok moet over de volle breedte lopen. */
body.woocommerce-checkout form.checkout .woocommerce-billing-fields__field-wrapper > .pc-af-account {
	grid-column: 1 / -1;
}
body.woocommerce-checkout form.checkout .pc-af-account > p.create-account {
	margin: 0 0 16px;
}
/* De twee wachtwoordvelden naast elkaar. Deze houder zit binnen
   div.create-account, die WooCommerce zelf open- en dichtschuift; daarom
   staat de uitlijning op een eigen element dat dat script niet aanraakt. */
body.woocommerce-checkout form.checkout .pc-af-wachtwoorden {
	display: flex;
	flex-wrap: wrap;
	column-gap: 4%;
}
body.woocommerce-checkout form.checkout .pc-af-wachtwoorden > .pc-af-ww {
	flex: 1 1 0;
	min-width: 0;
}
@media only screen and (max-width: 580px) {
	body.woocommerce-checkout form.checkout .pc-af-wachtwoorden > .pc-af-ww {
		flex: 1 1 100%;
	}
}
/* ==== PRIMECOOK AFREKENEN ACCOUNTBLOK EINDE ==== */

/* ==== PRIMECOOK CATEGORIE FAQ WITRUIMTE START ==== */
/* Het FAQ-blok op een categoriepagina is daar altijd het laatste blok, dus
   erfde het de voetruimte die voor de losse /faq-pagina bedoeld is:
   calc(50px + 4vw), oftewel 91px bij 1024 en 127px bij 1920 - hoe breder het
   scherm, hoe groter het gat. Daardoor stond de slotregel met de verwijzing
   naar de FAQ-pagina ver onder de vragen, en op de pagina's zonder slotregel
   gaapte het gat tot aan de footer. Alleen /faq heeft die ruimte nodig. Op een
   categorie valt het blok nu terug in het ritme van 32px dat ook boven de FAQ
   staat; daaronder blijft de 4% onderruimte van de rij over, gelijk aan de
   circa 45px die het origineel onder zijn laatste blok heeft. */
.pc-cat-faq .pc-faq-blok,
.pc-cat-faq .pc-faq-blok:last-child {
	margin-bottom: 0;
}
/* ==== PRIMECOOK CATEGORIE FAQ WITRUIMTE EINDE ==== */

/* ==== PRIMECOOK BLOGSJABLOON START ==== */
/* De blogartikelen hadden geen sjabloon: het kale bestand van hello-elementor
   zette de artikelinhoud in een kolom van 1080px en verder niets. Alinea's
   plakten aan elkaar (margin 0 en padding-bottom 0), tussenkoppen waren even
   groot als de lopende tekst en links waren karmijnrood uit reset.css. Serge
   koos op 11-9-2026 voor een leeskolom: geen bannerbeeld, beelden gewoon in de
   tekst. Dit blok wijkt dus bewust af van 1:1 met primecook.nl - daar is het
   artikel een onbewerkte Word-plak. Zet dit blok uit en de oude toestand is
   terug. Snippet 214 levert de kop, het kruimelpad en de datum. */

/* 1. Leeskolom van 720px binnen de bestaande 1080. */
body.single-post .page-content {
	max-width: 720px;
	margin-left: auto;
	margin-right: auto;
	font-size: 18px;
	line-height: 32.4px;
}
/* Bericht 1170 is geen artikel maar een landingspagina met secties over de
   volle vensterbreedte; die rekenen tegen de breedte van hun ouder. */
body.single-post.postid-1170 .page-content {
	max-width: none;
}

/* 2. De kop boven het artikel. */
.pc-blog-kop {
	margin: 0 0 33px;
}
body.single-post .pc-blog-kruimel {
	font-family: 'Roboto', sans-serif;
	font-size: 16px !important;
	font-weight: 300 !important;
	line-height: 24px !important;
	color: var(--pc-text) !important;
	margin: 0 0 10px !important;
	padding: 0 !important;
}
.pc-blog-kruimel a {
	color: var(--pc-text);
	text-decoration: none;
}
.pc-blog-kruimel a:hover {
	color: var(--pc-green);
	text-decoration: underline;
}
body.single-post h1.pc-blog-titel {
	font-family: 'Roboto', sans-serif;
	font-size: 24px !important;
	font-weight: 500 !important;
	line-height: 33.6px !important;
	color: var(--pc-text) !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
}
body.single-post .pc-blog-datum {
	font-size: 16px !important;
	font-weight: 300 !important;
	line-height: 24px !important;
	color: #8a8a89 !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 3. Typografie in het artikel zelf. De !important is nodig omdat de import
   uit Word op bijna elke alinea een inline line-height zet. */
body.single-post .page-content p {
	font-family: 'Roboto', sans-serif;
	font-size: 18px !important;
	font-weight: 300 !important;
	line-height: 32.4px !important;
	color: var(--pc-text);
	margin: 0 0 24px !important;
	padding-bottom: 0 !important;
}
body.single-post .page-content h2 {
	font-family: 'Roboto', sans-serif;
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 28px !important;
	color: var(--pc-text) !important;
	margin: 32px 0 12px !important;
	padding: 0 !important;
}
body.single-post .page-content h3,
body.single-post .page-content h4 {
	font-family: 'Roboto', sans-serif;
	font-size: 18px !important;
	font-weight: 500 !important;
	line-height: 26px !important;
	color: var(--pc-text) !important;
	margin: 28px 0 10px !important;
	padding: 0 !important;
}
/* De rubriekkop uit het introblok was met 24/500 de grootste tekst op de
   pagina, groter dan de titel van het artikel zelf. Nu een rustig label. */
body.single-post .page-content .kop {
	font-size: 20px !important;
	font-weight: 500 !important;
	line-height: 28px !important;
	margin: 0 0 12px !important;
	padding: 0 !important;
}
body.single-post .page-content ul,
body.single-post .page-content ol {
	font-size: 18px;
	font-weight: 300;
	line-height: 32.4px;
	margin: 0 0 24px;
	padding-left: 24px;
}
body.single-post .page-content li {
	margin-bottom: 6px;
}
body.single-post .page-content a {
	color: var(--pc-text);
	text-decoration: underline;
}
body.single-post .page-content a:hover {
	color: var(--pc-green);
}
body.single-post .page-content img {
	max-width: 100%;
	height: auto;
	border-radius: 5px;
	margin: 8px 0 24px;
}
body.single-post .page-content hr {
	border: 0;
	border-top: 1px solid var(--pc-border);
	margin: 32px 0;
}
body.single-post .page-content blockquote {
	margin: 0 0 24px;
	padding: 12px 18px;
	border-left: 3px solid var(--pc-green);
	background: #f6f8f6;
}
body.single-post .page-content table {
	width: 100%;
	border-collapse: collapse;
	margin: 0 0 24px;
}
body.single-post .page-content th,
body.single-post .page-content td {
	border: 1px solid var(--pc-border);
	padding: 8px 10px;
	font-size: 16px;
	font-weight: 300;
}

/* 4. De opmaak die uit Word is meegekomen onschadelijk maken: 120 spans met
   font-size 12.0pt (16px) maakten de artikeltitel kleiner dan de lopende tekst.
   Bericht 1170 is met de hand gebouwd en houdt zijn eigen inline opmaak. */
body.single-post:not(.postid-1170) .page-content span[style],
body.single-post:not(.postid-1170) .page-content font {
	font-size: inherit !important;
	line-height: inherit !important;
	font-family: inherit !important;
}

/* 5. Afsluiting: verwijzing naar de collectie, boven de terugknop. */
.pc-blog-slot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	background: #C1D1C4;
	border-radius: 5px;
	padding: 18px 20px;
	margin: 0px 0 24px;
}
body.single-post .pc-blog-slot-tekst {
	font-size: 18px !important;
	font-weight: 300 !important;
	line-height: 28px !important;
	color: var(--pc-text) !important;
	margin: 0 !important;
	padding: 0 !important;
}
.pc-blog-slot-knop {
	flex: 0 0 auto;
	display: inline-block;
	background: var(--pc-green);
	border: 1px solid var(--pc-green);
	border-radius: 3px;
	padding: 10px 18px;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	color: var(--pc-white) !important;
	text-decoration: none !important;
	white-space: nowrap;
}
.pc-blog-slot-knop:hover {
	background: var(--pc-green-hover);
	border-color: var(--pc-green-hover);
	color: var(--pc-white) !important;
}

@media only screen and (max-width: 580px) {
	.pc-blog-slot {
		flex-direction: column;
		align-items: flex-start;
	}
}
/* ==== PRIMECOOK BLOGSJABLOON EINDE ==== */

/* ==== PRIMECOOK MEGAMENU SHOP START ==== */
/* De Shop-dropdown toont sinds 14-9-2026 drie kolommen naast elkaar: Pannen,
   Keukengerei & Accessoires en Sale. Dat is geen plugin maar gewoon een derde
   niveau in het menu: de drie kolomkoppen zijn menu-items met url # en de
   categorieen hangen daaronder. Het item Shop draagt de klasse pc-mega.

   Twee dingen om te weten voor je hier iets wijzigt:

   1. SmartMenus (het menuscript van Elementor) zet bij openen en sluiten een
      INLINE display op ul.sub-menu. Daarom staat er hier nergens display op de
      dropdown zelf - dan zou hij of altijd open of altijd dicht staan. De
      kolommen komen van inline-block op de li's, wat ook binnen een blok werkt.
      Het derde niveau krijgt wel display: block !important, want dat moet juist
      altijd zichtbaar zijn.
   2. SmartMenus zet ook inline top en left, gemeten vanaf het li van Shop. Een
      panel van circa 770px liep daardoor rechts het scherm uit en de kolom Sale
      viel weg. Daarom staat li.pc-mega op position: static en de nav op
      relative: het panel richt zich nu op de menubalk en wordt met right: 0
      rechts uitgelijnd, zodat het op elke schermbreedte binnen beeld blijft.
   3. De breedte staat vast op 770px en niet op auto. Een absoluut geplaatst
      element met auto krimpt namelijk tot de breedte van zijn houder, en die
      menubalk is maar circa 715px breed - dan valt de derde kolom naar een
      tweede regel. Met een vaste breedte mag het panel links buiten de balk
      uitsteken, wat precies de bedoeling is. */

.pc-mainmenu nav.elementor-nav-menu--main {
	position: relative;
}
.pc-mainmenu li.pc-mega {
	position: static;
}
.pc-mainmenu li.pc-mega > ul.sub-menu {
	left: auto !important;
	right: -65px !important;
	top: 100% !important;
	width: 1120px;
	max-width: calc(100vw - 40px);
	min-width: 0;
	overflow: hidden;
	padding: 20px 26px 22px;
	border: 1px solid #eeeeee;
}
/* float en niet inline-block: tussen inline-blocks zit de witruimte uit de html,
   en die paar pixels duwden de kolom Sale naar een tweede regel.

   En de breedte in PROCENTEN, niet in pixels. Drie kolommen van 33.33% kunnen
   samen nooit boven de 100% van hun houder uitkomen; met 3x220 + 2x28 tegen een
   binnenruimte van precies 716px was er nul speling, en dan is een halve pixel
   afronding genoeg om Sale naar een tweede regel te duwen. De tussenruimte zit
   nu in de padding, dus binnen die 33.33%, en de kolommen schalen mee zodra het
   panel smaller wordt. */
.pc-mainmenu li.pc-mega > ul.sub-menu > li {
	float: left;
	box-sizing: border-box;
	width: 206px;
	padding-right: 0;
	margin: 0 32px 0 0;
}
/* Elke kolom zijn eigen breedte, op verzoek van Serge: Keukengerei heeft de
   langste namen en Sale maar een item, dus gelijke delen is daar zonde van de
   ruimte. De drie percentages tellen op tot 99,99% - onder de 100%, dus er kan
   nooit een kolom omslaan.

   Let op: dit werkt op VOLGORDE, niet op naam. Verander je de volgorde van de
   kolommen in het menu, of komt er een kolom bij, pas dan ook deze regels aan;
   de 33,33% hierboven blijft de terugval voor elke kolom die hier niet staat. */
/* Vijf kolommen achter elkaar, op verzoek van Serge (9-10-2026). Daarvoor is
   het panel van 880 naar 1060px gegaan. Die maat is niet gegokt maar gemeten:
   met canvas measureText is per kolom de breedste tekst opgemeten - Pannen 180,
   Keukengerei 321 ("Ovenschalen, braadsledes, pizza- en taartvormen"), Messen
   158, Cadeau 175 en Sale 90 - samen 924px, plus vier tussenruimten van 20px en
   52px binnenruimte en 2px rand. Daarmee breekt geen enkel label meer af.

   De breedtes staan in procenten van de binnenruimte en tellen op tot 99,8%,
   dus onder de 100%: een kolom kan nooit omslaan. Ze volgen de VOLGORDE van het
   menu (Pannen, Keukengerei, Messen & Snijplanken, Cadeau-ideeen, Sale); zet je
   de kolommen in een andere volgorde, pas dan ook deze vijf regels aan.

   Past 1060px nog? Het panel hangt met right: 0 aan de menubalk. Die eindigt
   bij een venster van 1200px op x=1095, dus het panel begint dan op x=35 - net
   binnen beeld. Onder circa 1160px bestaat deze dropdown niet meer. */
/* De kolombreedtes zijn gemeten aan de echte opmaak - white-space: nowrap plus
   width: max-content op de links zelf, daarna weer terug - en niet berekend met
   canvas measureText, dat 8 tot 16px te lage waarden gaf. Gemeten behoefte:
   Pannen 196, Keukengerei 337 ("Ovenschalen, braadsledes, pizza- en
   taartvormen"), Messen 196 (daar is de kop breder dan de items), Cadeau 191,
   Sale 106. Elke kolom heeft circa 10px speling.

   De tussenruimte zit in margin-right en is daardoor overal exact even groot.
   Met procentbreedtes viel de speling per kolom anders uit en oogden de
   tussenruimtes ongelijk.

   Onder 1360px staat Sale onder Cadeau-ideeen: kolom 4 en 5 zweven allebei
   rechts en kolom 5 krijgt clear: right. Clear: right kijkt alleen naar eerdere
   rechter zwevers, dus alleen naar kolom 4, en zet Sale er meteen onder.
   Clear: left zou onder de lange Pannen-kolom uitkomen en een gat van ruim
   150px laten. */
.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(2) {
	width: 345px;
}
.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(4) {
	width: 211px;
	float: right;
	margin-right: 0;
}
.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(5) {
	width: 211px;
	float: right;
	clear: right;
	margin: 18px 0 0 0;
}
.pc-mainmenu li.pc-mega > ul.sub-menu > li:last-child {
	margin-right: 0;
}

/* Het paneel hangt aan ul.elementor-nav-menu. De rechterrand daarvan ligt altijd
   op 50vw + 495px: de inhoudskolom is 1080px breed en gecentreerd, en rechts
   daarvan blijft 45px over voor het winkelwagentje. Gemeten bij een venster van
   1676px: rechterrand 1333, en 1333 - 838 = 495. Met
   right: 495px - halve paneelbreedte staat het paneel dus precies midden op het
   scherm, zonder dat er iets aan de DOM of aan de plaatsing van de andere
   submenus verandert. Het hoofdmenu bestaat alleen vanaf 1200px - daaronder
   neemt .pc-mobilemenu het over - dus 1120px houdt daar nog 40px over, en de
   brede variant van 1300px schakelt in vanaf 1360px. */
@media (min-width: 1360px) {
	.pc-mainmenu li.pc-mega > ul.sub-menu {
		right: -155px !important;
		width: 1300px;
	}
	.pc-mainmenu li.pc-mega > ul.sub-menu > li {
		margin-right: 40px;
	}
	.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(4) {
		float: left;
		margin-right: 40px;
	}
	.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(5) {
		width: 116px;
		float: left;
		clear: none;
		margin: 0;
	}
	.pc-mainmenu li.pc-mega > ul.sub-menu > li:last-child {
		margin-right: 0;
	}
}

/* De kolomkop. De url is #, dus klikken heeft geen zin; pointer-events houdt
   de sprong naar boven tegen. Alleen op desktop - in het mobiele paneel moet
   je er juist wel op kunnen tikken om de groep open te klappen. */
.pc-mainmenu li.pc-mega > ul.sub-menu > li > a {
	display: block;
	padding: 0 0 8px;
	margin-bottom: 8px;
	/* Deze twee met !important, anders wint de Elementor-regel voor deze widget
	   (.elementor-81 .elementor-element-316ee93d .elementor-nav-menu--dropdown
	   .elementor-sub-item, specificiteit 0-5-0) van de onze (0-3-3) en staat de
	   kop gewoon op 15px/300 - dus even licht als de items eronder. */
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 24px;
	color: var(--pc-text);
	border-bottom: 1px solid var(--pc-border);
	white-space: normal;
	pointer-events: none;
}
.pc-mainmenu li.pc-mega > ul.sub-menu > li > a:hover {
	color: var(--pc-text);
}
.pc-mainmenu li.pc-mega > ul.sub-menu > li > a .sub-arrow {
	display: none !important;
}

/* Het derde niveau staat altijd open en in de stroom, niet als uitklapper. */
.pc-mainmenu li.pc-mega > ul.sub-menu ul.sub-menu {
	display: block !important;
	position: static !important;
	left: auto !important;
	top: auto !important;
	right: auto !important;
	transform: none !important;
	width: auto;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
	box-shadow: none;
	background: transparent;
}
.pc-mainmenu li.pc-mega > ul.sub-menu ul.sub-menu a {
	padding: 3px 0;
	line-height: 24px;
	font-size: 15px;
	white-space: normal;
}
/* Geen aparte breedte voor smallere schermen meer. Een panel van 880px past
   ook bij 1200px nog ruim binnen beeld (het begint dan op x=215), en onder
   circa 1160px bestaat deze dropdown sowieso niet meer - daar neemt de mobiele
   balk met het uitschuifpaneel het over. Een smaller panel op 1200px maakte de
   kolom Keukengerei net te krap voor "Ovenschalen, braadsledes, pizza- en
   taartvormen", en dan viel die naam alsnog over twee regels. */
/* ==== PRIMECOOK MEGAMENU SHOP EINDE ==== */

/* ==== PRIMECOOK MOBIEL MENU SUBITEM ACHTERGROND START ==== */
/* In het uitschuifpaneel kreeg een geopende groep een donkere balk over de
   volle breedte, waardoor de tekst onleesbaar werd. Dat is de STANDAARD van
   Elementor Pro (widget-nav-menu.min.css):

     .elementor-nav-menu--dropdown .elementor-item.highlighted,
     .elementor-sub-item:hover, .elementor-sub-item:focus,
     .elementor-sub-item.elementor-item-active { background-color: #3f444b; color: #fff }

   Voor de desktopwidget zet de Elementor-instelling die achtergrond op wit,
   maar voor de mobiele widget staat die instelling niet, dus gold de donkere
   standaard. Hierboven stond al een blok dat dit rechtzet - maar alleen voor
   .elementor-item, en dat is de klasse van de HOOFDitems. Alles in een submenu
   draagt .elementor-sub-item en viel er dus buiten.

   Het viel nu pas op omdat een item van het tweede niveau sinds de drie
   kolommen onder Shop blijft staan terwijl het openklapt; op een aanraakscherm
   blijft :hover na een tik bovendien hangen. Ook .elementor-item-active zit er
   hier bij: anders krijgt bijvoorbeeld RVS pannen een zwarte balk zodra je op
   die categoriepagina staat. */
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-sub-item,
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-sub-item.elementor-item-active,
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-item.highlighted,
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-sub-item.highlighted {
	background: transparent !important;
	color: var(--pc-text) !important;
}
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-sub-item:hover,
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-sub-item:focus,
.pc-mobilemenu .elementor-nav-menu--dropdown .elementor-sub-item:active {
	background: transparent !important;
	color: var(--pc-green-hover) !important;
}
/* ==== PRIMECOOK MOBIEL MENU SUBITEM ACHTERGROND EINDE ==== */

/* ==== PRIMECOOK MAND PERSONALISATIETOESLAG START ==== */
/* De kolommen Prijs en Totaal tonen in de winkelmand de BASISprijs van een
   gepersonaliseerd artikel - net als op het origineel - terwijl het mandtotaal
   de toeslag van EUR 12 per stuk wel meetelt. De klant zag daardoor 65,98 op de
   regel en 77,98 als totaal, zonder dat ergens stond waar dat verschil vandaan
   kwam. Onder het regeltotaal staat nu een regel met die toeslag; die wordt
   opgebouwd in pc_pers_subtotaal_html in snippet 202. */
.pc-mand-c4 .pc-mand-toeslag {
	display: block;
	margin-top: 4px;
	font-size: 14px;
	font-weight: 300;
	line-height: 20px;
	color: #8a8a89;
}
.pc-mand-c4 .pc-mand-toeslag .woocommerce-Price-amount {
	white-space: nowrap;
}
/* ==== PRIMECOOK MAND PERSONALISATIETOESLAG EINDE ==== */

/* ==== PRIMECOOK FOOTER BEDRIJFSGEGEVENS START ==== */
/* KvK- en BTW-nummer onder Contact in de tweede voettekstkolom (widget pc6bedr
   in sjabloon 90). Zelfde typografie als de lijsten erboven: wit, 16px, gewicht
   300, regelhoogte 150%. Het BTW-nummer staat hier zonder punten, de officiele
   schrijfwijze. Let op: op /contact en in de verkoopvoorwaarden staan nog twee
   andere schrijfwijzen; die zijn op verzoek van Serge niet aangepast. */
.pc-footerbedrijf {
	padding-top: 1em;
}
.pc-footerbedrijf .elementor-widget-container,
.pc-footerbedrijf p {
	color: var(--pc-white);
	font-size: 16px;
	font-weight: 300;
	line-height: 150%;
	margin: 0;
}
/* ==== PRIMECOOK FOOTER BEDRIJFSGEGEVENS EINDE ==== */

/* ==== PRIMECOOK ONTBINDINGSFORMULIER START ==== */
/* Het formulier op /overeenkomst-ontbinden (snippet 217). Maten en kleuren uit
   de rest van de site: veldrand #c2cad8 met radius 4 zoals op de afrekenpagina,
   knop groen met radius 3 zoals alle knoppen, meldingen in dezelfde kleuren als
   de couponmeldingen. */
.pc-herroep-val {
	position: absolute;
	left: -9999px;
}
.pc-herroep-formulier {
	max-width: 520px;
	margin: 24px 0 0;
}
.pc-herroep-rij {
	margin: 0 0 16px;
}
.pc-herroep-rij label {
	display: block;
	font-size: 14px;
	font-weight: 300;
	line-height: 22px;
	color: var(--pc-text);
	margin-bottom: 5px;
}
.pc-herroep-rij input,
.pc-herroep-rij textarea {
	width: 100%;
	box-sizing: border-box;
	border: 1px solid #c2cad8;
	border-radius: 4px;
	padding: 6px 12px;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 300;
	line-height: 26px;
	color: #555555;
}
.pc-herroep-ster {
	color: #c0392b;
}
.pc-herroep-knop {
	background: var(--pc-green);
	border: 1px solid var(--pc-green);
	border-radius: 3px;
	color: var(--pc-white);
	font-family: 'Roboto', sans-serif;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
	padding: 9px 22px;
	cursor: pointer;
}
.pc-herroep-knop:hover {
	background: var(--pc-green-hover);
	border-color: var(--pc-green-hover);
}
.pc-herroep-fout {
	background: #f8d7da;
	border: 1px solid #f5c6cb;
	color: #721c24;
	border-radius: 10px;
	padding: 10px 14px;
	margin: 0 0 18px;
}
.pc-herroep-fout ul {
	margin: 0;
	padding-left: 18px;
}
.pc-herroep-klaar {
	background: #d4edda;
	border: 1px solid #c3e6cb;
	color: #155724;
	border-radius: 10px;
	padding: 14px 18px;
}
.pc-herroep-klaar p {
	margin: 0 0 8px;
}
.pc-herroep-klaar p:last-child {
	margin: 0;
}
/* ==== PRIMECOOK ONTBINDINGSFORMULIER EINDE ==== */

/* ==== PRIMECOOK BLOGTEGEL AFBEELDINGEN START ==== */
/* De tegelrasters staan op /nieuws, /inspiratie, /wetenswaardigheden en
   /koken-met-kelly. Elke img draagt daar width="376" height="250", maar de
   bestanden zelf lopen uiteen: 450x175, 500x400, 1000x1000, 1350x531,
   2000x600, 2048x1152. De berekende waarde was aspect-ratio: auto 376 / 250,
   en het sleutelwoord auto betekent "neem de eigen verhouding van de
   afbeelding zodra die bekend is". Zolang de afbeelding nog niet geladen was
   stond elke tegel keurig op 291x194; zodra hij binnen was sprong de hoogte
   naar 100, 113, 163, 232 of 240px. Daarom was het probleem pas na het laden
   zichtbaar en meet je het niet als je te vroeg kijkt.

   De vaste verhouding staat nu op .qs_blog_image, als padding-top in plaats
   van aspect-ratio, zodat hij ook werkt waar aspect-ratio niet ondersteund
   wordt - met aspect-ratio zou de afbeelding daar naar hoogte 0 klappen.
   250 / 376 = 66.489%. Dat is de geregistreerde miniatuurmaat, dus de
   uitsnede blijft gelijk aan wat de opmaak altijd al bedoelde. */
/* height: 0 en min-height: 0 zijn nodig omdat de oude opmaak .qs_blog_image een
   min-height van 180px geeft. Bij een venster van 1024px is de kolom 261px breed
   en vraagt de verhouding 173px, waardoor die 180px het vakje 7px te hoog maakte.
   font-size en line-height op 0 voorkomen dat witruimte in de opmaak nog een
   regelvakje opent; de afbeelding zelf staat absoluut en telt niet mee. */
.qs_blog_item .qs_blog_image {
	position: relative;
	display: block;
	flex: 0 0 auto;
	width: 100%;
	height: 0;
	min-height: 0;
	padding-top: 66.489%;
	overflow: hidden;
	font-size: 0;
	line-height: 0;
}
.qs_blog_item .qs_blog_image > a,
.qs_blog_item .qs_blog_image picture.main-picture-element {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
}
/* max-height moet uit: de oude opmaak zet de afbeelding op max-height 240px,
   waardoor er bij een venster van 768px een witte strook van 25px onder de
   afbeelding bleef staan - het vakje is daar 265px hoog. */
.qs_blog_item .qs_blog_image img {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 0;
	max-height: none;
	max-width: none;
	object-fit: cover;
	object-position: center;
}
/* ==== PRIMECOOK BLOGTEGEL AFBEELDINGEN EINDE ==== */

/* ==== PRIMECOOK KASSAKOOPJES CARROUSEL START ==== */
/* De zes kassakoopjes vielen uiteen in een rij van vier en een rij van twee.
   Daardoor stond de afrekenknop op 1447px terwijl het venster 1265px hoog is:
   de knop viel onder de vouw. De rij staat nu op een regel en schuift
   horizontaal, zoals de carrousel op de voorpagina. De kaarten houden hun
   breedte van 239px, dus er staan er vier in beeld en de rest schuift mee -
   een smallere kaart zou de productnamen laten afbreken. */
.pc-kassa-carrousel {
	position: relative;
}
.pc-kaarten.pc-kassakoopjes {
	flex-wrap: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-ms-overflow-style: none;
}
.pc-kaarten.pc-kassakoopjes::-webkit-scrollbar {
	display: none;
}
/* Hier staat bewust geen scroll-behavior: smooth en geen scroll-snap.

   Scroll-snap trok elke tussenstap naar het dichtstbijzijnde vastpunt, zodat
   een eigen animatie zou schokken: scrollLeft = 300 kwam met snap uit op 269
   en zonder snap op 300. Snap had bovendien een zijeffect, want de eerste
   kaart heeft 10px marge: het rustpunt lag op scrollLeft 10 in plaats van 0,
   waardoor de pijl terug nooit uitgeschakeld werd.

   De kaarten hebben een vaste breedte en de knoppen schuiven precies een
   kaartbreedte op, dus de uitlijning klopt ook zonder snap. Het soepele
   schuiven doet snippet 218 zelf met requestAnimationFrame, zodat het niet
   uitmaakt of de browser scroll-behavior ondersteunt. */
/* De pijlen volgen de carrousel op de voorpagina: rondje van 40px in #dddddd,
   46px buiten de rij. Daar is ruimte voor: de kolom is 1070px breed en de
   pagina 1917px. */
.pc-kassa-pijl {
	position: absolute;
	top: 50%;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	margin: 0;
	padding: 0;
	transform: translateY(-50%);
	border: 0;
	border-radius: 50%;
	background: #dddddd;
	color: #ffffff;
	cursor: pointer;
}
.pc-kassa-pijl svg {
	width: 16px;
	height: 16px;
	fill: currentColor;
}
.pc-kassa-pijl-vorige {
	left: -46px;
}
.pc-kassa-pijl-volgende {
	right: -46px;
}
.pc-kassa-pijl[disabled] {
	opacity: 0.3;
	cursor: default;
}
/* Onder 1200px is er naast de kolom geen ruimte meer, dus komen de pijlen
   over de rand van de rij te liggen. */
@media (max-width: 1200px) {
	.pc-kassa-pijl-vorige {
		left: 0;
	}
	.pc-kassa-pijl-volgende {
		right: 0;
	}
}
/* De afrekenknop plakt onderin beeld zolang je langs het blok scrollt. */
.pc-kassa-knoppen {
	position: sticky;
	bottom: 0;
	z-index: 3;
	padding: 14px 0;
	background: #ffffff;
}
/* ==== PRIMECOOK KASSAKOOPJES CARROUSEL EINDE ==== */

/* ==== PRIMECOOK BETAALPAGINA NA MISLUKTE BETALING START ==== */
/* Mislukt een betaling, dan stuurt Mollie de klant terug naar
   /checkout/order-pay/<id>. Die pagina heeft precies dezelfde body-klassen als
   /checkout - alleen woocommerce-order-pay komt erbij - maar een andere
   opmaak. De gewone afrekenpagina wordt op breedte gehouden door
   form.checkout { max-width: 1080px; margin: 0 auto }, en juist die form staat
   hier niet: WooCommerce geeft op dit eindpunt alleen form#order_review.
   Daardoor liep de tabel van rand tot rand over de volle 1917px, viel de knop
   terug op het paarse standaardblauw van WooCommerce en stond er geen
   witruimte onder de koptekst.

   Hieronder krijgt de pagina dezelfde maatvoering, knop, tabel en
   betaalmethodenlijst als /checkout. De waarden zijn van die pagina
   overgenomen: tabelrand #c2cad8, kop #c2cad8, knop #7f9c90, lijstrand
   #dddddd, icoon 32x24. */
body.woocommerce-order-pay div.woocommerce {
	box-sizing: border-box;
	max-width: 1080px;
	margin: 0 auto;
	padding: 40px 20px 60px;
}
body.woocommerce-order-pay form#order_review {
	margin: 0;
}
body.woocommerce-order-pay table.shop_table {
	width: 100%;
	margin-bottom: 24px;
	border: 1px solid #c2cad8;
	border-collapse: collapse;
	background: #ffffff;
	font-size: 14px;
}
body.woocommerce-order-pay table.shop_table th {
	padding: 10px;
	border-bottom: 1px solid #c2cad8;
	background: #c2cad8;
	font-size: 14px;
	font-weight: 700;
	text-align: left;
}
body.woocommerce-order-pay table.shop_table td {
	padding: 10px;
	border-bottom: 1px solid #c2cad8;
	font-size: 14px;
}
body.woocommerce-order-pay ul.wc_payment_methods {
	margin: 0 0 20px;
	padding: 0;
	border: 1px solid #dddddd;
	background: #ffffff;
	list-style: none;
}
body.woocommerce-order-pay ul.wc_payment_methods > li {
	display: flex;
	align-items: center;
	margin: 0;
	padding: 10px 12px;
	border-bottom: 1px solid #dddddd;
}
body.woocommerce-order-pay ul.wc_payment_methods > li:last-child {
	border-bottom: 0;
}
body.woocommerce-order-pay ul.wc_payment_methods > li label {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0;
	color: #333333;
	font-size: 16px;
	font-weight: 500;
}
body.woocommerce-order-pay ul.wc_payment_methods > li img {
	width: 32px;
	height: 24px;
	max-width: 40px;
	margin: 0;
	object-fit: contain;
	vertical-align: middle;
}
/* De knop heet hier niet place_order maar is de enige verzendknop in het
   formulier, dus hij wordt op het formulier zelf aangewezen. */
body.woocommerce-order-pay form#order_review .button,
body.woocommerce-order-pay form#order_review input[type="submit"],
body.woocommerce-order-pay form#order_review button[type="submit"] {
	padding: 10px 15px;
	border: 1px solid #7f9c90;
	border-radius: 0;
	background: #7f9c90;
	color: #ffffff;
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
}
body.woocommerce-order-pay form#order_review .button:hover,
body.woocommerce-order-pay form#order_review input[type="submit"]:hover,
body.woocommerce-order-pay form#order_review button[type="submit"]:hover {
	border-color: #6d8a7e;
	background: #6d8a7e;
}
/* ==== PRIMECOOK BETAALPAGINA NA MISLUKTE BETALING EINDE ==== */

/* ==== PRIMECOOK EIGEN OPDRUK START ==== */
/* Hoort bij snippet 219: de uploader en de kijkdoos op producten in de
   categorie bedrukte-items. Staat los van .pc-pers, de tekstpersonalisatie
   van de pannen - die twee mogen elkaar niet raken. */
.pc-bedruk {
	margin: 24px 0;
	padding: 20px;
	border: 1px solid #c2cad8;
	background: #ffffff;
}
.pc-bedruk-kop {
	margin: 0 0 6px;
	font-size: 18px;
	font-weight: 500;
	line-height: 1.3;
}
.pc-bedruk-tekst {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 300;
	line-height: 1.5;
	color: #333333;
}
.pc-bedruk-kies {
	display: inline-block;
	cursor: pointer;
}
.pc-bedruk-kies-knop {
	display: inline-block;
	padding: 10px 15px;
	background: #7f9c90;
	color: #ffffff;
	font-size: 14px;
}
.pc-bedruk-kies:hover .pc-bedruk-kies-knop {
	background: #6d8a7e;
}
/* Het echte invoerveld blijft bereikbaar voor toetsenbord en schermlezer,
   maar wordt niet getoond; de span erboven is de zichtbare knop. */
.pc-bedruk-invoer {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	white-space: nowrap;
	border: 0;
}
.pc-bedruk-melding {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1.4;
	min-height: 20px;
}
.pc-bedruk-melding.is-fout {
	color: #b32d2e;
}
.pc-bedruk-melding.is-let-op {
	color: #b26200;
}
.pc-bedruk-melding.is-goed {
	color: #1d7a46;
}
/* De kijkdoos: de productfoto met daarop het drukvlak. */
.pc-bedruk-doek {
	position: relative;
	margin: 14px 0;
	max-width: 420px;
	line-height: 0;
}
.pc-bedruk-product {
	display: block;
	width: 100%;
	height: auto;
}
.pc-bedruk-vlak {
	position: absolute;
	overflow: hidden;
	border: 1px dashed #7f9c90;
	background: rgba(127, 156, 144, 0.06);
}
.pc-bedruk-opdruk {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 60%;
	height: auto;
	transform: translate(-50%, -50%);
	cursor: grab;
	touch-action: none;
	user-select: none;
}
.pc-bedruk-opdruk:active {
	cursor: grabbing;
}
.pc-bedruk:not(.heeft-opdruk) .pc-bedruk-opdruk {
	display: none;
}
/* Zolang er niets gekozen is, hebben de schaalknop en de wisknop geen doel. */
.pc-bedruk:not(.heeft-opdruk) .pc-bedruk-knoppen,
.pc-bedruk:not(.heeft-opdruk) .pc-bedruk-hint {
	display: none;
}
.pc-bedruk-knoppen {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}
.pc-bedruk-schaal-regel {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 14px;
}
.pc-bedruk-schaal {
	width: 180px;
}
.pc-bedruk-wissen {
	padding: 0;
	border: 0;
	background: none;
	color: #8a8a89;
	font-size: 14px;
	text-decoration: underline;
	cursor: pointer;
}
.pc-bedruk-hint {
	margin: 10px 0 0;
	font-size: 13px;
	font-weight: 300;
	line-height: 1.4;
	color: #8a8a89;
}
/* Het miniatuurtje bij de regel in de winkelmand. */
.pc-bedruk-mand-beeld {
	display: inline-block;
	width: 34px;
	height: 34px;
	margin-right: 6px;
	object-fit: cover;
	vertical-align: middle;
	border: 1px solid #c2cad8;
}
/* ==== PRIMECOOK EIGEN OPDRUK EINDE ==== */

/* ==== PRIMECOOK MEGAMENU VANGNET START ==== */
/* De kolommen hierboven hebben vaste breedtes in pixels. Dat geeft overal even
   grote tussenruimtes, maar het werkt alleen zolang het paneel breed genoeg
   is: 206 + 32 + 345 + 32 + 206 links, plus 211 rechts, plus 54 voor rand en
   binnenmarge is 1086px. Knijpt max-width: calc(100vw - 40px) het paneel
   daaronder, dan past Messen & Snijplanken niet meer naast de eerste twee en
   valt die kolom omlaag - met Cadeau-ideeen ernaast en Sale daar weer onder.
   Precies de rommelige drietrapsindeling die gemeld werd.

   Het hoofdmenu hoort onder 1200px helemaal te verdwijnen ten gunste van
   .pc-mobilemenu, en in de metingen gebeurt dat ook. Maar als het menu daar om
   welke reden dan ook toch verschijnt - een smal venster, een zijpaneel in de
   browser, een afwijkende zoomstand - dan mag de indeling niet uit elkaar
   vallen. Daarom hier breedtes in procenten: vijf keer 20 procent is altijd
   precies vol, dus de rij kan niet meer afbreken. Een lang label loopt dan
   over twee regels, en dat is netter dan kolommen die omlaag vallen. */
@media (max-width: 1199px) {
	.pc-mainmenu li.pc-mega > ul.sub-menu > li,
	.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(2),
	.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(4),
	.pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(5) {
		box-sizing: border-box;
		float: left;
		clear: none;
		width: 20%;
		margin: 0;
		padding-right: 16px;
	}
	.pc-mainmenu li.pc-mega > ul.sub-menu > li:last-child {
		padding-right: 0;
	}
}
/* ==== PRIMECOOK MEGAMENU VANGNET EINDE ==== */

@media (min-width: 1200px) {
  .pc-mainmenu li.pc-mega > ul.sub-menu {
    box-sizing: border-box;
    width: 1120px !important;
    max-width: calc(100vw - 80px) !important;
    right: -40px !important;
  }

  .pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(n) {
    float: left !important;
    clear: none !important;
    box-sizing: border-box;
    width: 20% !important;
    margin: 0 !important;
    padding: 0 18px 0 0 !important;
  }

  .pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(2) {
    width: 30% !important;
  }

  .pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(4) {
    width: 18% !important;
  }

  .pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(5) {
    width: 12% !important;
    padding-right: 0 !important;
  }

  .pc-mainmenu li.pc-mega > ul.sub-menu > li > a,
  .pc-mainmenu li.pc-mega > ul.sub-menu ul.sub-menu a {
    white-space: normal !important;
  }
}
@media (min-width: 1200px) {
  .pc-mainmenu li.pc-mega > ul.sub-menu > li:nth-child(2) {
    width: 22% !important;
  }
}
/* ==== PRIMECOOK VOETTEKST AFSTAND VOORWAARDEN START ==== */
/* In de voettekst sluiten de blokken naadloos op elkaar aan: gemeten zit er
   nul pixel tussen het laatste lijstitem en de volgende kop, zowel bij
   Informatie naar Partners als bij Shop naar Voorwaarden. Met twee blokken
   onder elkaar viel dat niet op, maar sinds Shop erboven staat loopt de lijst
   met categorieen zonder pauze over in Voorwaarden. Een regelhoogte ruimte
   zet de twee uit elkaar.

   Alleen deze kop krijgt de ruimte, zoals gevraagd. Wil je hetzelfde bij
   Partners, dan kan .elementor-element-18e1d214 erbij. */
.elementor-element-a88798c {
	margin-top: 24px;
}
/* ==== PRIMECOOK VOETTEKST AFSTAND VOORWAARDEN EINDE ==== */

/* ==== PRIMECOOK REVIEWSLIDER HOOGTE START ==== */
/* De slider had een vaste hoogte van 196px (style.css regel 1394) terwijl de
   inhoud 223px nodig heeft: naam, sterren, datum, drie regels tekst en de
   link naar Google. De laatste regel viel daardoor weg, midden in de zin.

   De reviews staan absoluut binnen de slider, dus de slider kon niet
   meegroeien - een absoluut kind telt niet mee voor de hoogte van de ouder.
   In plaats van een nieuwe vaste hoogte te kiezen, die per breekpunt weer
   anders uitvalt, komt de actieve review terug in de normale stroom. Daarmee
   bepaalt hij zelf de hoogte van de slider, op elke schermbreedte. De
   inactieve reviews blijven absoluut en liggen er onzichtbaar overheen.

   De tekst blijft op drie regels staan (-webkit-line-clamp), zoals hij al
   bedoeld was; nu is die derde regel ook echt te zien. */
.pc-reviews-slider {
	height: auto;
	min-height: 0;
}
.pc-review.is-actief {
	position: relative;
	inset: auto;
}
/* ==== PRIMECOOK REVIEWSLIDER HOOGTE EINDE ==== */

/* ==== PRIMECOOK CATEGORIE FAQ LETTERTYPE START ==== */
/* Het FAQ-blok op categoriepagina's stond in een ander lettertype dan de
   tekst eromheen. Op primecook.up.agency/grillpan-pfas-vrij viel dat op:

     .pc-cat-ondertekst  h2/p  = Roboto         24/500 en 18/300
     .pc-cat-faq         h2    = -apple-system  24/500
     .pc-cat-faq         summary = -apple-system 17/300
     .pc-cat-faq         p     = -apple-system  18/300
     .pc-cat-faq         h3    = Roboto         20/400

   Het lettertype van de site komt niet uit body - die staat op de
   systeemstapel - maar uit de typografie van de Elementor-container. Bij de
   container met de ondertekst is die ingesteld, bij de container met het
   FAQ-blok niet. Alles daarbinnen viel daardoor terug op de systeemstapel.
   Alleen de vraagtekst in h3 ontsnapte, want die heeft een eigen regel.

   Een regel op het blok is genoeg: de rest erft mee. */
.pc-cat-faq {
	font-family: 'Roboto', sans-serif;
}
/* ==== PRIMECOOK CATEGORIE FAQ LETTERTYPE EINDE ==== */

/* ==== PRIMECOOK CATEGORIE INTROKOP START ==== */
/* De kop boven een categoriebeschrijving is op de ene pagina een h1 en op de
   andere een h2. Dat komt niet uit het sjabloon maar uit de beschrijving van
   de categorie zelf, die een-op-een is overgenomen van de oude site: zes
   categorieen beginnen met een h1, acht met een h2.

   Lettertype, grootte en gewicht waren al gelijk - een proefstring rendert op
   beide pagina's exact 262,89px breed - maar de regelafstand en de ondermarge
   verschilden, en dat zie je:

     h1  24px / 43.2px   marge onder 9.6px
     h2  24px / 33.6px   marge onder 0

   Hieronder krijgen beide dezelfde maatvoering, die van de h1. Welke tag het
   is blijft onaangeroerd; dat is een inhoudelijke keuze, geen opmaakkwestie. */
/* !important is hier nodig, niet uit gemakzucht: de bestaande regel die de
   h2 op 33.6px zet, is zelf als !important geschreven. Een gewone regel
   verliest daar altijd van, ook als hij later in het bestand staat - getest:
   dezelfde selector achteraan toegevoegd liet 33.6px staan, met !important
   werd het 43.2px. */
.pc-cat-desc-inner h1,
.pc-cat-desc-inner h2 {
	line-height: 43.2px !important;
	margin: 0 0 9.6px !important;
}
/* ==== PRIMECOOK CATEGORIE INTROKOP EINDE ==== */

/* ==== PRIMECOOK FAQ VORMGEVING START ==== */
/* De vragenlijst was een doorlopend groen vlak met haarlijnen ertussen: het
   groen zat op .pc-faq-blok en elke vraag had alleen een border-bottom. Dat
   las als onderstreping en liet de lijst als een blok ogen in plaats van als
   losse vragen. Verder stond het antwoord in #333 op groen, begon het 5px
   verder dan de vraag, en was de vraagtekst (20px) groter dan het klikbare
   kopje eromheen (17px).

   Nu: het groen verhuist naar de vraag zelf, dus elke vraag is een eigen
   kaart met ruimte ertussen. De haarlijn is weg, de binnenmarges zijn ruimer,
   vraag en antwoord beginnen allebei op 22px en het antwoord is wit.
   De pijl volgt de nieuwe rechtermarge; zijn verticale centrering en de
   180-graden draai bij openen blijven zoals ze waren. */
.pc-faq-blok {
	padding: 0;
	border-radius: 0;
	background: none;
}
.pc-faq-item {
	margin: 0 0 10px;
	border: 0;
	border-radius: 5px;
	background: #7f9c90;
	overflow: hidden;
}
.pc-faq-item:last-child {
	margin-bottom: 0;
}
.pc-faq-vraag {
	padding: 16px 52px 16px 22px;
	transition: background 0.15s ease-out;
	cursor: pointer;
}
.pc-faq-vraag:hover {
	background: rgba(255, 255, 255, 0.07);
}
/* Ook hier !important, en om dezelfde reden als bij het antwoord: het
   blogsjabloon zet in artikelen body.single-post .page-content h3 op 18px
   met !important. De vraag is een h3, dus zonder tegenwicht werd hij in
   artikelen 18px terwijl hij op /faq 17px is. */
.pc-faq-blok .pc-faq-item .pc-faq-vraag .pc-faq-vraagtekst {
	margin: 0 !important;
	font-size: 17px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: #ffffff !important;
}
.pc-faq-pijl {
	right: 22px;
}
/* Zelfde linkermarge als de vraag, zodat de tekst doorloopt op een lijn.

   Hier staat !important op een handvol eigenschappen, en wel omdat de
   bestaande regels in dit bestand dat zelf ook doen: .pc-faq-antwoord heeft
   padding !important, en .pc-faq-antwoord p heeft kleur, grootte en padding
   alle drie !important. Zonder tegengewicht blijft het antwoord donker, 18px
   en 5px ingesprongen. Alleen die eigenschappen krijgen het, de rest niet. */
.pc-faq-antwoord {
	padding: 0 52px 18px 22px !important;
	color: #ffffff;
	font-size: 16px;
	line-height: 1.65;
}
.pc-faq-antwoord p,
.pc-faq-antwoord li,
.pc-faq-antwoord strong {
	color: #ffffff !important;
}
.pc-faq-blok .pc-faq-item .pc-faq-antwoord p {
	margin: 0 0 10px;
	padding: 0 !important;
	font-size: 16px !important;
	line-height: 1.65 !important;
}
.pc-faq-antwoord ul {
	margin: 0 0 10px;
	padding-left: 20px;
}
.pc-faq-antwoord p:last-child,
.pc-faq-antwoord ul:last-child {
	margin-bottom: 0;
}
.pc-faq-antwoord a {
	color: #ffffff;
	text-decoration: underline;
}
/* ==== PRIMECOOK FAQ VORMGEVING EINDE ==== */

/* ==== PRIMECOOK PRODUCT VARIANTVERWIJZING START ==== */
/* Knop onder de bestelknop die heen en weer linkt tussen de gewone
   en de personaliseerbare uitvoering van hetzelfde product. */
.pc-prod-variant {
	margin: 16px 0 0;
}
.pc-prod-variant-tekst {
	margin: 0 0 8px !important;
	padding: 0 !important;
	font-family: 'Roboto', sans-serif;
	font-size: 15px !important;
	font-weight: 400 !important;
	line-height: 1.45 !important;
	color: #3d3d3c !important;
}
.pc-prod-variant-knop {
	display: block;
	box-sizing: border-box;
	width: 100%;
	padding: 10px 15px;
	border: 1px solid #7f9c90;
	background: #ffffff;
	color: #7f9c90 !important;
	font-family: 'Roboto', sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 1.2;
	text-align: center;
	text-decoration: none !important;
	transition: background-color .15s ease-out, color .15s ease-out;
}
.pc-prod-variant-knop::after {
	content: ' \2192';
}
.pc-prod-variant-knop:hover,
.pc-prod-variant-knop:focus {
	background: #7f9c90;
	color: #ffffff !important;
}
/* ==== PRIMECOOK PRODUCT VARIANTVERWIJZING EINDE ==== */

/* ==== PRIMECOOK EIGEN OPDRUK DRAAIEN START ==== */
/* Regel onder 'Grootte' waarmee de klant de opdruk kan draaien. */
.pc-bedruk-hoek {
	width: 140px;
}
.pc-bedruk-hoek-waarde {
	min-width: 44px;
	font-size: 14px;
	font-variant-numeric: tabular-nums;
	color: #3d3d3c;
}
.pc-bedruk-recht {
	padding: 0;
	border: 0;
	background: none;
	color: #8a8a89;
	font-size: 14px;
	text-decoration: underline;
	cursor: pointer;
}
.pc-bedruk:not(.heeft-opdruk) .pc-bedruk-hoek,
.pc-bedruk:not(.heeft-opdruk) .pc-bedruk-recht {
	opacity: .45;
	pointer-events: none;
}
/* ==== PRIMECOOK EIGEN OPDRUK DRAAIEN EINDE ==== */

/* ==== PRIMECOOK STANDAARDONTWERPEN START ==== */
/* Blok op de productpagina waarin de klant een kant-en-klaar ontwerp kiest
   en alleen de tekst aanpast. Zie snippet 227. */
.pc-ontwerp {
	margin: 0 0 20px;
	padding: 18px 20px 16px;
	border: 1px solid #e3e6e4;
	border-radius: 5px;
	background: #ffffff;
	font-family: 'Roboto', sans-serif;
}
.pc-ontwerp-doek {
	position: relative;
	margin: 0 0 18px;
	background: #f6f8f7;
	border-radius: 4px;
	overflow: hidden;
}
.pc-ontwerp-product {
	display: block;
	width: 100%;
	height: auto;
}
.pc-ontwerp-vlak {
	position: absolute;
	border: 1px dashed rgba(127, 156, 144, .75);
}
.pc-ontwerp-beeld {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
}
.pc-ontwerp-regel {
	position: absolute;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	line-height: 1.15;
	letter-spacing: .02em;
}
.pc-ontwerp-stap {
	margin: 0 0 14px;
}
.pc-ontwerp-stapkop {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 10px !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	color: #3d3d3c !important;
}
.pc-ontwerp-nummer {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	background: #7f9c90;
	color: #ffffff;
	font-size: 14px;
}
.pc-ontwerp-keuze {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
.pc-ontwerp-tegel {
	display: block;
	width: 129px;
	padding: 8px;
	border: 1px solid #e3e6e4;
	border-radius: 4px;
	background: #ffffff;
	cursor: pointer;
	text-align: center;
	transition: border-color .15s ease-out, box-shadow .15s ease-out;
}
.pc-ontwerp-tegel:hover {
	border-color: #7f9c90;
}
.pc-ontwerp-tegel.is-gekozen {
	border-color: #7f9c90;
	box-shadow: 0 0 0 1px #7f9c90;
}
.pc-ontwerp-tegelbeeld {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 90px;
	padding: 0 4px;
	background: #f6f8f7;
	border-radius: 3px;
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	overflow: hidden;
}
.pc-ontwerp-tegelnaam {
	display: block;
	margin: 6px 0 0;
	font-size: 12px;
	color: #3d3d3c;
}
.pc-ontwerp-veld {
	display: block;
	margin: 0 0 10px;
}
.pc-ontwerp-veldnaam {
	display: block;
	margin: 0 0 4px;
	font-size: 14px;
	color: #3d3d3c;
}
.pc-ontwerp-invoerrij {
	display: flex;
	align-items: stretch;
	border: 1px solid #d8dcda;
	border-radius: 4px;
	overflow: hidden;
}
.pc-ontwerp-invoer {
	flex: 1 1 auto;
	min-width: 0;
	padding: 9px 12px;
	border: 0;
	font-size: 15px;
	font-family: inherit;
	color: #3d3d3c;
}
.pc-ontwerp-invoer:focus {
	outline: none;
}
.pc-ontwerp-teller {
	display: flex;
	align-items: center;
	padding: 0 12px;
	border-left: 1px solid #d8dcda;
	background: #f6f8f7;
	font-size: 13px;
	color: #8a8a89;
	font-variant-numeric: tabular-nums;
}
.pc-ontwerp-leeg,
.pc-ontwerp-kosten,
.pc-ontwerp-logo {
	margin: 0 0 6px !important;
	font-size: 13px !important;
	line-height: 1.5 !important;
	color: #8a8a89 !important;
}
.pc-ontwerp-logo a {
	color: #7f9c90;
}
@media (max-width: 520px) {
	.pc-ontwerp-tegel { width: calc(50% - 5px); }
}
/* ==== PRIMECOOK STANDAARDONTWERPEN EINDE ==== */

/* ==== PRIMECOOK STANDAARDONTWERPEN OP DE FOTO START ==== */
/* Het voorbeeld staat niet meer in het keuzeblok maar over de eerste foto
   van de productgalerij. De laag volgt precies de afmetingen van die foto. */
.pc-ontwerp-laag {
	position: absolute;
	pointer-events: none;
	z-index: 2;
}
.pc-ontwerp-laag[hidden] {
	display: none;
}
.pc-ontwerp-laag .pc-ontwerp-vlak {
	position: absolute;
	border: 1px dashed rgba(255, 255, 255, .95);
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(61, 61, 60, .14);
}
.pc-ontwerp-laag .pc-ontwerp-beeld {
	position: absolute;
	transform: translate(-50%, -50%);
	object-fit: contain;
}
.pc-ontwerp-laag .pc-ontwerp-regel {
	position: absolute;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	line-height: 1.15;
	letter-spacing: .02em;
}
/* Kleurkeuze onder de tekstvelden. */
.pc-ontwerp-kleurrij {
	display: block;
	margin: 12px 0 0;
}
.pc-ontwerp-kleurrij[hidden] {
	display: none;
}
.pc-ontwerp-kleurnaam {
	font-weight: 400;
	color: #8a8a89;
}
.pc-ontwerp-stalen {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 6px 0 0;
}
.pc-ontwerp-staal {
	width: 26px;
	height: 26px;
	padding: 0;
	border: 1px solid #d8dcda;
	border-radius: 4px;
	cursor: pointer;
	transition: box-shadow .15s ease-out, border-color .15s ease-out;
}
.pc-ontwerp-staal:hover {
	border-color: #7f9c90;
}
.pc-ontwerp-staal.is-gekozen {
	border-color: #7f9c90;
	box-shadow: 0 0 0 2px #ffffff inset, 0 0 0 1px #7f9c90;
}
.pc-ontwerp-tegelicoon {
	display: block;
	width: 129px;
	height: auto;
	max-height: 100%;
	margin: 0 auto;
	object-fit: contain;
	filter: drop-shadow(0 0 1px rgba(61, 61, 60, .45));
}
/* ==== PRIMECOOK STANDAARDONTWERPEN OP DE FOTO EINDE ==== */

/* ==== PRIMECOOK ONTWERPEN KLEINE CORRECTIES START ==== */
/* Het tekentellertje past niet in twee regels; hij hoort op een lijn. */
.pc-ontwerp-teller {
	white-space: nowrap;
	flex: 0 0 auto;
}
/* Een wit ontwerp valt weg op een lichte tegel. Daarom krijgt de miniatuur
   dan een doek in de kleur van het textiel, net als in het echt. */
.pc-ontwerp-tegelbeeld.op-stof {
	background-color: #9db0a6;
}
.pc-ontwerp-tegelbeeld.op-stof .pc-ontwerp-tegelicoon {
	filter: none;
}
/* ==== PRIMECOOK ONTWERPEN KLEINE CORRECTIES EINDE ==== */


/* ==== PRIMECOOK RICHTING VAN DE OPDRUK START ==== */
.pc-ontwerp-draairij { display: block; margin: 10px 0 0; }
.pc-ontwerp-draaiknoppen { display: flex; gap: 6px; margin: 4px 0 0; }
.pc-ontwerp-draai { flex: 1 1 0; padding: 7px 6px; border: 1px solid #e3e6e4; border-radius: 4px; background: #ffffff; font-size: 13px; color: #3d3d3c; cursor: pointer; }
.pc-ontwerp-draai:hover { border-color: #7f9c90; }
.pc-ontwerp-draai.is-gekozen { border-color: #7f9c90; box-shadow: 0 0 0 1px #7f9c90; font-weight: 600; }
/* ==== PRIMECOOK RICHTING VAN DE OPDRUK EINDE ==== */


/* ==== PRIMECOOK FOOTER: KEURINGSDIENST OVER DE VOLLE BREEDTE START ====
De banner hangt in een container van 1080px. Met negatieve marges loopt hij
door tot de randen van het venster. De footer krijgt overflow-x: clip, zodat
de paar pixels verschil met de schuifbalk geen horizontale balk opleveren.
Clip en niet hidden: hidden zou van de footer een scrollcontainer maken. */
.elementor-location-footer { overflow-x: clip; }

.pc-boom.elementor-widget-image {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	margin-top: 40px !important;
	margin-bottom: 40px !important;
}
.pc-boom.elementor-widget-image > .elementor-widget-container,
.pc-boom.elementor-widget-image a { display: block; }
.pc-boom.elementor-widget-image img {
	display: block;
	width: 100%;
	max-width: 100%;
	height: auto;
	margin: 0;
}
/* Het blok eronder brengt zelf 50px mee. Die vervalt hier, anders staat de
banner niet gelijk tussen zijn twee buren in. */
.pc-boom.elementor-widget-image + .pc-logobox-images { margin-top: 0 !important; }

@media only screen and (max-width: 1024px) {
	.pc-boom.elementor-widget-image { margin-top: 32px !important; margin-bottom: 32px !important; }
}

/* Binnen deze breedte staan er al maten op elke afbeeldingswidget in de
witte footer (95% breed, 150px max). Die gelden hier niet. */
@media only screen and (max-width: 770px) {
	.pc-footerwhite .pc-boom.elementor-widget-image,
	.pc-boom.elementor-widget-image {
		width: 100vw !important;
		max-width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		margin-top: 24px !important;
		margin-bottom: 24px !important;
	}
	.pc-footerwhite .pc-boom.elementor-widget-image img,
	.pc-boom.elementor-widget-image img {
		width: 100% !important;
		max-width: 100% !important;
		height: auto !important;
		margin: 0 !important;
	}
	.pc-boom.elementor-widget-image + .pc-logobox-images { margin-top: 0 !important; }
	/* De badge erboven heeft op deze breedte een eigen marge van 5 procent.
	   Die telt op bij de ruimte boven de banner en maakt het beeld scheef. */
	.pc-footerwhite .pc-bomenlink.elementor-widget-image { margin-bottom: 0 !important; }
}
/* ==== PRIMECOOK FOOTER: KEURINGSDIENST OVER DE VOLLE BREEDTE EINDE ==== */
