/*
 Theme Name:   Astra Child - Patricks Koihuis
 Template:     astra
 Version:      4.8.6
*/

/* ============================================================
   PATRICKS KOIHUIS - COMPLEET DESIGN SYSTEEM
============================================================ */

/* ============================================================
   CSS VARIABELEN
   Eigen PK-variabelen. Astra global colors blijven uit de Customizer komen.
============================================================ */
:root {
  --pk-red: #b03020;
  --pk-red-dark: #8a1810;
  --pk-nav: #a9d2d7;
  --pk-bg: #f5f2ee;
  --pk-surface: #ffffff;
  --pk-border: #e4dfd8;
  --pk-text: #1c2b28;
  --pk-muted: #7a8c88;
  --pk-black: #080808;
  --pk-font-heading: 'Poppins', sans-serif;
  --pk-font-body: 'Poppins', sans-serif;
}

/*
   Belangrijk:
   De Astra global colors worden hier bewust niet overschreven.
   Daardoor blijft de Customizer bruikbaar en werken Astra, WooCommerce
   en het child theme elkaar minder snel tegen.
*/

/* ============================================================
   ANIMATIES
============================================================ */
@keyframes redStreak {
  0% { left: -10%; }
  100% { left: 110%; }
}

@keyframes fadeUp {
  from {
    opacity: 0;
    transform: translateY(18px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* ============================================================
   BASIS
============================================================ */
html {
  background: var(--pk-black);
}

body {
  font-family: 'Poppins', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.85 !important;
  color: var(--pk-text) !important;
  background: var(--pk-bg) !important;
}

body,
p,
li,
td,
th,
input,
select,
textarea {
  font-family: 'Poppins', sans-serif !important;
  color: var(--pk-text);
}

h1,
h2,
h3,
h4,
h5,
h6,
.entry-title,
.page-title {
  font-family: 'Poppins', sans-serif !important;
  font-weight: 700 !important;
  color: var(--pk-text);
  line-height: 1.2;
  border-bottom: none;
}

/* ============================================================
   CONTENT ACHTERGRONDEN
============================================================ */
#content,
.site-content,
.site-main,
.ast-plain-container,
.ast-plain-container .site-content {
  background-color: var(--pk-bg) !important;
}

body:not(.woocommerce-page) .ast-article-single,
body:not(.woocommerce-page) .ast-article-post,
body:not(.woocommerce-page) .ast-article-inner {
  background-color: var(--pk-bg) !important;
}

/* ============================================================
   HEADER
============================================================ */
#masthead,
.ast-primary-header-bar,
#ast-desktop-header,
.main-header-bar,
.site-primary-header-wrap,
.ast-main-header-wrap,
.site-primary-header-wrap.ast-builder-grid-row-container,
.site-primary-header-wrap.ast-builder-grid-row-container.site-header-focus-item,
.site-primary-header-wrap.ast-builder-grid-row-container.site-header-focus-item.ast-container {
  background-color: var(--pk-black) !important;
  background-image: none !important;
}

.ast-primary-header-bar {
  position: relative !important;
  overflow: visible !important;
}

.ast-primary-header-bar::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--pk-nav);
  opacity: 0.55;
  z-index: 1;
}

.ast-primary-header-bar::before {
  content: '';
  position: absolute;
  bottom: 0;
  left: -10%;
  width: 8%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--pk-red) 30%, var(--pk-red) 70%, transparent);
  z-index: 2;
  animation: redStreak 5s linear infinite;
}

/* ============================================================
   LOGO EN SITENAAM
============================================================ */
.ast-site-identity .site-title a,
.site-title a,
.site-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.28em !important;
  text-transform: uppercase !important;
  color: var(--pk-nav) !important;
}

/* ============================================================
   NAVIGATIE
============================================================ */
.main-header-menu .menu-item > .menu-link,
.ast-builder-menu-1 .menu-item > .menu-link,
#ast-hf-menu-1 .menu-item > .menu-link,
#ast-hf-menu-1-sticky .menu-item > .menu-link,
.main-header-menu .menu-item > .menu-link .menu-text,
.ast-builder-menu-1 .menu-item > .menu-link .menu-text,
#ast-hf-menu-1 .menu-item > .menu-link .menu-text,
#ast-hf-menu-1-sticky .menu-item > .menu-link .menu-text {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--pk-nav) !important;
  opacity: 1 !important;
  text-shadow: none !important;
  transition: color 0.2s ease !important;
}

.main-header-menu .menu-item:hover > .menu-link,
.main-header-menu .menu-item:hover > .menu-link .menu-text,
.main-header-menu .current-menu-item > .menu-link,
.main-header-menu .current-menu-item > .menu-link .menu-text,
.main-header-menu .current_page_item > .menu-link,
.main-header-menu .current_page_parent > .menu-link {
  opacity: 1 !important;
  color: var(--pk-surface) !important;
}

/* ============================================================
   WINKELWAGEN ICOON HEADER
============================================================ */
.ast-site-header-cart {
  overflow: visible !important;
  z-index: 9999 !important;
}

.ast-site-header-cart .ast-cart-menu-wrap,
.ast-site-header-cart .ast-addon-cart-wrap,
.ast-site-header-cart a.cart-container,
.ast-site-header-cart i.astra-icon,
.ast-site-header-cart .ast-icon,
.ast-menu-cart-outline .ast-addon-cart-wrap,
.ast-menu-cart-outline .ast-cart-menu-wrap .count {
  color: var(--pk-nav) !important;
  border-color: var(--pk-nav) !important;
}

.ast-site-header-cart svg,
.ast-site-header-cart svg path {
  fill: var(--pk-nav) !important;
  color: var(--pk-nav) !important;
}

.ast-site-header-cart i.astra-icon::after,
.ast-site-header-cart .ast-addon-cart-wrap i.astra-icon::after {
  background-color: var(--pk-red) !important;
  color: var(--pk-surface) !important;
}

/* ============================================================
   HOMEPAGE HERO
   Alleen homepage, zodat WooCommerce hero en gewone content niet geraakt worden.
============================================================ */
body.home .entry-content > .wp-block-group.alignfull,
body.front-page .entry-content > .wp-block-group.alignfull {
  padding: 0 !important;
  margin: 0 !important;
}

body.home .entry-content > .wp-block-cover,
body.home .entry-content > .wp-block-cover-image,
body.home .wp-block-group.alignfull .wp-block-cover,
body.front-page .entry-content > .wp-block-cover,
body.front-page .entry-content > .wp-block-cover-image,
body.front-page .wp-block-group.alignfull .wp-block-cover {
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 5rem !important;
  min-height: 680px !important;
  animation: none !important;
  position: relative !important;
  overflow: hidden !important;
}

body.home .wp-block-cover h1,
body.home .wp-block-cover h2,
body.home .wp-block-cover h3,
body.home .wp-block-cover p,
body.home .wp-block-cover span:not(.ast-icon):not(.menu-text),
body.home .wp-block-cover__inner-container h1,
body.home .wp-block-cover__inner-container h2,
body.home .wp-block-cover__inner-container h3,
body.home .wp-block-cover__inner-container p,
body.home .wp-block-cover .has-text-color,
body.home .wp-block-cover .has-white-color,
body.front-page .wp-block-cover h1,
body.front-page .wp-block-cover h2,
body.front-page .wp-block-cover h3,
body.front-page .wp-block-cover p,
body.front-page .wp-block-cover span:not(.ast-icon):not(.menu-text),
body.front-page .wp-block-cover__inner-container h1,
body.front-page .wp-block-cover__inner-container h2,
body.front-page .wp-block-cover__inner-container h3,
body.front-page .wp-block-cover__inner-container p,
body.front-page .wp-block-cover .has-text-color,
body.front-page .wp-block-cover .has-white-color {
  color: var(--pk-surface) !important;
}

body.home .pk-koi-hi-shape,
body.front-page .pk-koi-hi-shape {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  z-index: 2;
  pointer-events: none;
}

body.home .wp-block-cover .wp-block-cover__inner-container,
body.front-page .wp-block-cover .wp-block-cover__inner-container {
  position: relative !important;
  z-index: 5 !important;
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
  padding: 3rem 5rem !important;
}

body.home .wp-block-cover__inner-container h1,
body.home .wp-block-cover__inner-container h2,
body.home .wp-block-cover__inner-container .wp-block-heading,
body.front-page .wp-block-cover__inner-container h1,
body.front-page .wp-block-cover__inner-container h2,
body.front-page .wp-block-cover__inner-container .wp-block-heading {
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(2.4rem, 5vw, 4rem) !important;
  font-weight: 700 !important;
  line-height: 1.05 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 1rem !important;
  text-align: left !important;
  max-width: 600px !important;
}

body.home .wp-block-cover__inner-container p,
body.front-page .wp-block-cover__inner-container p {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.35em !important;
  text-transform: uppercase !important;
  margin: 0 0 1.5rem !important;
  text-align: left !important;
}

/* ============================================================
   CONTENT KADERS
============================================================ */
.entry-content > .wp-block-group:not(.wp-block-cover):not(.alignfull):not(.alignwide) {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  padding: 2.5rem 3rem !important;
  margin-bottom: 2rem !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
  animation: fadeUp 0.5s ease both;
}

/* ============================================================
   WOOCOMMERCE ALGEMEEN
============================================================ */
.woocommerce,
.woocommerce-page,
.woocommerce .site-content,
.woocommerce-page .site-content,
.woocommerce-page #primary,
.woocommerce-page #content,
.woocommerce-page main,
.woocommerce ul.products,
.woocommerce-page ul.products,
.ast-woocommerce-container,
.woocommerce.ast-separate-container .ast-woocommerce-container {
  background: var(--pk-bg) !important;
}

.woocommerce-products-header .page-description {
  display: none !important;
}

.woocommerce-shop .entry-title,
.tax-product_cat .entry-title,
.tax-product_tag .entry-title,
.post-type-archive-product .entry-title,
.single-product .entry-title,
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title {
  display: none !important;
}

/* ============================================================
   WOOCOMMERCE CONTENTBREEDTE
============================================================ */
.woocommerce-shop .site-content > .ast-container,
.tax-product_cat .site-content > .ast-container,
.tax-product_tag .site-content > .ast-container,
.post-type-archive-product .site-content > .ast-container,
.single-product .site-content > .ast-container,
.woocommerce-cart .site-content > .ast-container,
.woocommerce-checkout .site-content > .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.post-type-archive-product #primary,
.single-product #primary,
.woocommerce-cart #primary,
.woocommerce-checkout #primary {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

.woocommerce-shop .ast-woocommerce-container,
.tax-product_cat .ast-woocommerce-container,
.tax-product_tag .ast-woocommerce-container,
.post-type-archive-product .ast-woocommerce-container,
.single-product .ast-woocommerce-container,
.woocommerce-cart .ast-woocommerce-container,
.woocommerce-checkout .ast-woocommerce-container {
  display: block !important;
  max-width: 1240px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 20px !important;
  padding-right: 20px !important;
  clear: both !important;
}

/* ============================================================
   SMALLE SHOP HERO MET FOTO EN BREDE RODE SVG
============================================================ */
.pkh-hero-wrap {
  display: block !important;
  clear: both !important;
  width: 100% !important;
}

.pk-shop-hero {
  display: block !important;
  position: relative !important;
  clear: both !important;
  float: none !important;
  width: 100vw !important;
  max-width: 100vw !important;
  height: 220px !important;
  min-height: 220px !important;
  max-height: 220px !important;
  margin: 0 0 4.5rem calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow: hidden !important;
  background-image:
    linear-gradient(90deg, rgba(8,8,8,0.08), rgba(8,8,8,0.68)),
    url(https://www.patrickskoihuis.nl/wp-content/uploads/2026/05/header-home-optimized.webp) !important;
  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;
  z-index: 1 !important;
}

.pk-shop-hero-shapes {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 220px !important;
  display: block !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

.pk-shop-hero-content {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  max-width: 1240px !important;
  height: 220px !important;
  min-height: 220px !important;
  margin: 0 auto !important;
  padding: 0 20px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: flex-start !important;
}

.pk-shop-hero-content p {
  margin: 0 0 0.45rem 0 !important;
  max-width: 470px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.34em !important;
  text-transform: uppercase !important;
  color: var(--pk-surface) !important;
}

.pk-shop-hero-content h1 {
  margin: 0 !important;
  max-width: 470px !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: clamp(1.9rem, 3vw, 2.75rem) !important;
  font-weight: 700 !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: var(--pk-surface) !important;
}

/* ============================================================
   BREADCRUMB
============================================================ */
.woocommerce-breadcrumb {
  max-width: 1240px !important;
  margin: 0 auto 1.5rem auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--pk-muted) !important;
}

.woocommerce-breadcrumb a {
  color: var(--pk-muted) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

/* ============================================================
   WINKELPAGINA TOOLBAR
   Resultaat links, dropdowns rechts netjes op één lijn.
============================================================ */

.woocommerce .ast-shop-toolbar-container:not(:has(.pkh-shop-toolbar)),
.woocommerce .ast-shop-toolbar-aside-wrap:not(:has(.pkh-shop-toolbar)) {
  display: none !important;
}

.pkh-shop-toolbar {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 1.5rem !important;
  width: 100% !important;
  margin: 0 0 3rem 0 !important;
  clear: both !important;
}

.pkh-shop-toolbar-left {
  display: flex !important;
  align-items: center !important;
  min-width: 0 !important;
}

.pkh-shop-toolbar-right {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 1rem !important;
  flex-wrap: nowrap !important;
}

.pkh-shop-toolbar .woocommerce-result-count {
  float: none !important;
  margin: 0 !important;
  color: var(--pk-muted) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.75rem !important;
  font-weight: 400 !important;
  line-height: 42px !important;
}

.pkh-shop-toolbar .woocommerce-ordering,
.pkh-shop-toolbar .pkh-product-category-filter,
.pkh-shop-toolbar .pkh-per-page-form {
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  display: block !important;
}

.pkh-shop-toolbar select,
.pkh-shop-toolbar .woocommerce-ordering select.orderby,
.pkh-shop-toolbar .pkh-product-category-filter select,
.pkh-shop-toolbar .pkh-per-page-select {
  width: 220px !important;
  min-width: 220px !important;
  max-width: 220px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 6px 38px 6px 14px !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 0 !important;
  background-color: var(--pk-surface) !important;
  color: var(--pk-text) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  outline: none !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--pk-text) 50%),
    linear-gradient(135deg, var(--pk-text) 50%, transparent 50%) !important;
  background-position:
    calc(100% - 17px) 18px,
    calc(100% - 12px) 18px !important;
  background-size:
    5px 5px,
    5px 5px !important;
  background-repeat: no-repeat !important;
}

.pkh-shop-toolbar select:hover,
.pkh-shop-toolbar .woocommerce-ordering select.orderby:hover,
.pkh-shop-toolbar .pkh-product-category-filter select:hover,
.pkh-shop-toolbar .pkh-per-page-select:hover {
  border-color: var(--pk-red) !important;
  color: var(--pk-red) !important;
  background-image:
    linear-gradient(45deg, transparent 50%, var(--pk-red) 50%),
    linear-gradient(135deg, var(--pk-red) 50%, transparent 50%) !important;
}

.pkh-shop-toolbar select:focus,
.pkh-shop-toolbar .woocommerce-ordering select.orderby:focus,
.pkh-shop-toolbar .pkh-product-category-filter select:focus,
.pkh-shop-toolbar .pkh-per-page-select:focus {
  border-color: var(--pk-red) !important;
  color: var(--pk-text) !important;
  box-shadow: 0 0 0 1px var(--pk-red) inset !important;
}

/* Beperkte styling voor opengeklapte browser-options */
.pkh-shop-toolbar select option {
  background: #ffffff !important;
  color: var(--pk-text) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.82rem !important;
  font-weight: 600 !important;
}

.pkh-shop-toolbar select option:checked {
  background: var(--pk-red) !important;
  color: #ffffff !important;
}

.woocommerce ul.products {
  clear: both !important;
  padding-top: 0 !important;
}

/* Mobiel */
@media (max-width: 921px) {
  .pkh-shop-toolbar {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .pkh-shop-toolbar-right {
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
}

@media (max-width: 768px) {
  .pkh-shop-toolbar,
  .pkh-shop-toolbar-left,
  .pkh-shop-toolbar-right {
    display: block !important;
  }

  .pkh-shop-toolbar .woocommerce-result-count,
  .pkh-shop-toolbar .woocommerce-ordering,
  .pkh-shop-toolbar .pkh-product-category-filter,
  .pkh-shop-toolbar .pkh-per-page-form {
    width: 100% !important;
    margin: 0 0 1rem 0 !important;
  }

  .pkh-shop-toolbar select,
  .pkh-shop-toolbar .woocommerce-ordering select.orderby,
  .pkh-shop-toolbar .pkh-product-category-filter select,
  .pkh-shop-toolbar .pkh-per-page-select {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }
}

/* ============================================================
   PRODUCTGRID EN PRODUCTKAARTEN
============================================================ */
.woocommerce ul.products {
  clear: both !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  border-radius: 0 !important;
  overflow: hidden !important;
  padding: 0 !important;
  box-shadow: 0 2px 12px rgba(0,0,0,0.06) !important;
  transition: transform 0.25s ease, box-shadow 0.25s ease !important;
  animation: fadeUp 0.4s ease both !important;
}

.woocommerce ul.products li.product:hover,
.woocommerce-page ul.products li.product:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.1) !important;
}

.woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
  background: var(--pk-surface) !important;
  padding: 1.8rem !important;
  overflow: hidden !important;
}

.woocommerce ul.products li.product img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  transition: transform 0.4s ease !important;
}

.woocommerce ul.products li.product:hover img {
  transform: scale(1.04) !important;
}

.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce-page ul.products li.product .ast-woo-product-category {
  font-size: 0.58rem !important;
  letter-spacing: 0.22em !important;
  color: var(--pk-red) !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  display: block !important;
  padding: 1rem 1rem 0.2rem !important;
  opacity: 1 !important;
}

.woocommerce ul.products li.product .ast-woo-product-category a,
.woocommerce-page ul.products li.product .ast-woo-product-category a {
  color: var(--pk-red) !important;
  text-decoration: none !important;
  border-bottom: none !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap {
  background: var(--pk-surface) !important;
  padding: 0.3rem 1rem 0 !important;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 0.85rem !important;
  font-weight: 700 !important;
  color: var(--pk-text) !important;
  padding: 0 !important;
  margin: 0 0 0.5rem !important;
  line-height: 1.35 !important;
}

.woocommerce ul.products li.product .price,
.woocommerce ul.products li.product .price .amount {
  font-size: 1.05rem !important;
  font-weight: 700 !important;
  color: var(--pk-red) !important;
  background: none !important;
  padding: 0 !important;
}

.woocommerce ul.products li.product .price del .amount {
  color: var(--pk-muted) !important;
  font-size: 0.82rem !important;
  font-weight: 400 !important;
}

.woocommerce ul.products li.product .astra-shop-summary-wrap::after {
  content: '';
  display: block;
  height: 0px;
  background: var(--pk-border);
  margin: 0.75rem 0 0;
}

.woocommerce ul.products li.product .ast-woo-card-action {
  background: var(--pk-surface) !important;
  padding: 0.75rem 1rem 1rem !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.6rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  background: transparent !important;
  color: var(--pk-text) !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 0 !important;
  padding: 9px 16px !important;
  margin: 0 !important;
  display: block !important;
  width: 100% !important;
  text-align: center !important;
  transition: all 0.2s !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
  border-color: var(--pk-red) !important;
}

.woocommerce span.onsale {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.58rem !important;
  font-weight: 700 !important;
  border-radius: 0 !important;
  padding: 4px 10px !important;
  min-height: unset !important;
  min-width: unset !important;
}

/* ============================================================
   KNOPPEN
============================================================ */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce input[type="submit"],
.woocommerce #respond input#submit {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  background: var(--pk-text) !important;
  color: var(--pk-surface) !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 12px 24px !important;
  transition: background 0.2s !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce input[type="submit"]:hover {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
}

.woocommerce a.checkout-button,
.woocommerce .wc-proceed-to-checkout a {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
  width: 100% !important;
  display: block !important;
  text-align: center !important;
  padding: 14px !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
}

.woocommerce a.checkout-button:hover {
  background: var(--pk-red-dark) !important;
}

/* ============================================================
   PAGINERING
============================================================ */
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
  background: transparent !important;
  color: var(--pk-text) !important;
  border-color: var(--pk-border) !important;
  border-radius: 0 !important;
}

.woocommerce nav.woocommerce-pagination ul li a:hover,
.woocommerce nav.woocommerce-pagination ul li span.current {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
  border-color: var(--pk-red) !important;
}






/* ============================================================
   SINGLE PRODUCT
============================================================ */
.single-product .ast-woocommerce-container {
  max-width: 1240px !important;
}

.woocommerce div.product {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  padding: 2rem !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
  margin-bottom: 2rem !important;
}

.woocommerce div.product div.images {
  margin-bottom: 0 !important;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper {
  background: var(--pk-surface) !important;
}

.woocommerce div.product .woocommerce-product-gallery__image,
.single-product .ast-article-single figure,
.single-product .ast-article-single img {
    box-shadow: none !important;
    -webkit-box-shadow: none !important;
    -moz-box-shadow: none !important;
}

.woocommerce div.product .woocommerce-product-gallery__image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
}

.woocommerce div.product .summary {
  padding-left: 2rem !important;
}

.woocommerce div.product .product_title {
  color: var(--pk-text) !important;
  font-weight: 700 !important;
  font-size: 1.45rem !important;
  margin-bottom: 0.75rem !important;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
  color: var(--pk-red) !important;
  font-weight: 700 !important;
  font-size: 1.35rem !important;
}

.woocommerce div.product .woocommerce-product-details__short-description p {
  color: var(--pk-text) !important;
}

.woocommerce div.product .variations {
  margin-bottom: 1.25rem !important;
}

.woocommerce div.product .variations label {
  color: var(--pk-nav) !important;
  font-size: 0.78rem !important;
  font-weight: 700 !important;
}

.woocommerce div.product .variations select,
.woocommerce div.product form.cart .qty {
  background: var(--pk-surface) !important;
  color: var(--pk-text) !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 0 !important;
  min-height: 42px !important;
  box-shadow: none !important;
}

.woocommerce div.product form.cart {
  border-top: 1px solid var(--pk-border) !important;
  border-bottom: 1px solid var(--pk-border) !important;
  padding: 1.2rem 0 !important;
}

.woocommerce div.product .single_add_to_cart_button {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 14px 28px !important;
}

.woocommerce div.product .single_add_to_cart_button:hover {
  background: var(--pk-red-dark) !important;
}

.woocommerce div.product .product_meta {
  font-size: 0.85rem !important;
  color: var(--pk-text) !important;
}

.woocommerce div.product .product_meta a {
  color: var(--pk-nav) !important;
  border-bottom: none !important;
}
/* ============================================================
   SINGLE PRODUCT TABS
============================================================ */

.woocommerce div.product .woocommerce-tabs {
  margin-top: 3rem !important;
}

/* Tabrij zelf geen lijn laten tekenen */
.woocommerce div.product .woocommerce-tabs ul.tabs {
  display: flex !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: visible !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after {
  display: none !important;
}

/* Standaard tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: #e7f3f5 !important;
  border: 1px solid var(--pk-nav) !important;
  border-bottom: 1px solid var(--pk-nav) !important;
  border-radius: 0 !important;
  margin: 0 -1px 0 0 !important;
  padding: 0 !important;
  position: relative !important;
  z-index: 1 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
  display: none !important;
}

/* Actieve tab: wit vlak, rode lijn boven, GEEN onderlijn */
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--pk-surface) !important;
  border-top: 3px solid var(--pk-red) !important;
  border-left: 1px solid var(--pk-border) !important;
  border-right: 1px solid var(--pk-border) !important;
  border-bottom: 1px solid var(--pk-surface) !important;
  margin-bottom: -1px !important;
  z-index: 3 !important;
}

/* Links in tabs */
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  display: block !important;
  padding: 1rem 1.45rem !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--pk-text) !important;
}

/* Venster sluit direct aan op actieve tab */
.woocommerce div.product .woocommerce-tabs .panel {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  margin: 0 0 4rem 0 !important;
  padding: 2.5rem !important;
  position: relative !important;
  z-index: 2 !important;
}

/* ============================================================
   GERELATEERDE PRODUCTEN
============================================================ */
.woocommerce .related.products > h2,
.woocommerce .upsells.products > h2 {
  color: var(--pk-text) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  margin: 0 0 1rem !important;
}

.single-product .related.products,
.single-product .upsells.products {
  background: #f4f1ec !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  box-shadow: 0 12px 28px rgba(0,0,0,0.06) !important;
  padding: 2rem 1.6rem 2.4rem !important;
  margin-top: 3rem !important;
}

.single-product .related.products ul.products li.product,
.single-product .upsells.products ul.products li.product {
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  box-shadow: 0 10px 22px rgba(0,0,0,0.06) !important;
}

.single-product .related.products ul.products li.product .astra-shop-thumbnail-wrap,
.single-product .upsells.products ul.products li.product .astra-shop-thumbnail-wrap {
  background: #ffffff !important;
}

/* ============================================================
   WINKELWAGEN
============================================================ */
.woocommerce-cart .ast-woocommerce-container {
  max-width: 1240px !important;
}

.woocommerce-cart .woocommerce {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  padding: 2rem !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.woocommerce-cart .woocommerce-cart-form {
  background: var(--pk-surface) !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
  margin-bottom: 2rem !important;
}

.woocommerce-cart table.cart {
  border-collapse: collapse !important;
  background: var(--pk-surface) !important;
}

.woocommerce-cart table.cart th {
  color: var(--pk-text) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  border-color: var(--pk-border) !important;
}

.woocommerce-cart table.cart td {
  color: var(--pk-text) !important;
  border-color: var(--pk-border) !important;
  background: var(--pk-surface) !important;
  vertical-align: top !important;
}

.woocommerce-cart table.cart .product-name a {
  color: var(--pk-nav) !important;
  font-weight: 700 !important;
  border-bottom: none !important;
}

.woocommerce-cart table.cart .product-thumbnail {
  width: 92px !important;
}

.woocommerce-cart table.cart .product-thumbnail img,
.woocommerce-cart table.cart img {
  width: 68px !important;
  max-width: 68px !important;
  height: auto !important;
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  padding: 0.55rem !important;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal {
  font-weight: 600 !important;
}

.woocommerce-cart .quantity .qty {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  color: var(--pk-text) !important;
  min-height: 38px !important;
}

.woocommerce .cart-collaterals {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  padding: 1.8rem !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05) !important;
}

.woocommerce .cart-collaterals .cart_totals {
  background: transparent !important;
  border: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.woocommerce .cart_totals h2 {
  color: var(--pk-text) !important;
  font-size: 0.8rem !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
}

.woocommerce .cart_totals .order-total td {
  color: var(--pk-red) !important;
  font-weight: 700 !important;
  font-size: 1.2rem !important;
}

.woocommerce-message {
  background: #fff8f6 !important;
  border-top-color: var(--pk-red) !important;
  color: var(--pk-text) !important;
}

/* ============================================================
   CHECKOUT BLOCKS
============================================================ */
.wc-block-components-form .wc-block-components-text-input input,
.wc-block-components-address-form input,
.wc-block-checkout input[type="text"],
.wc-block-checkout input[type="email"],
.wc-block-checkout input[type="tel"],
.wc-block-checkout select {
  background: var(--pk-surface) !important;
  color: var(--pk-text) !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 2px !important;
}

.wc-block-components-form .wc-block-components-text-input input:focus {
  border-color: var(--pk-red) !important;
  box-shadow: none !important;
}

.wc-block-components-form label,
.wc-block-checkout label {
  color: var(--pk-muted) !important;
  font-size: 0.65rem !important;
  letter-spacing: 0.1em !important;
  text-transform: uppercase !important;
}

.wc-block-components-radio-control__option {
  display: grid !important;
  grid-template-columns: 20px 1fr !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 12px 14px !important;
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 2px !important;
  margin-bottom: 4px !important;
  color: var(--pk-text) !important;
}

.wc-block-components-radio-control__input {
  position: static !important;
  width: 18px !important;
  height: 18px !important;
  margin: 0 !important;
  accent-color: var(--pk-red) !important;
}

.wc-block-components-checkout-step__title {
  color: var(--pk-text) !important;
  font-size: 0.85rem !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
}

.wc-block-components-totals-wrapper,
.wc-block-components-order-summary {
  background: var(--pk-surface) !important;
  border-color: var(--pk-border) !important;
}

.wc-block-components-totals-item {
  color: var(--pk-text) !important;
  border-color: var(--pk-border) !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  color: var(--pk-red) !important;
  font-weight: 700 !important;
}

.wc-block-components-checkout-place-order-button {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
  border: none !important;
  border-radius: 0 !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  width: 100% !important;
  padding: 14px !important;
}

.wc-block-components-checkout-place-order-button:hover {
  background: var(--pk-red-dark) !important;
}

/* ============================================================
   FOOTER
============================================================ */
.site-primary-footer-wrap,
.site-below-footer-wrap,
.site-above-footer-wrap,
#colophon {
  background: var(--pk-black) !important;
  background-image: none !important;
  position: relative;
  overflow: hidden;
}

.site-primary-footer-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 2px;
  background: var(--pk-nav);
  opacity: 0.35;
  z-index: 1;
}

.site-primary-footer-wrap::before {
  content: '';
  position: absolute;
  top: 0;
  left: -10%;
  width: 8%;
  height: 2px;
  background: linear-gradient(90deg, transparent, var(--pk-red) 30%, var(--pk-red) 70%, transparent);
  z-index: 2;
  animation: redStreak 5s linear infinite;
}

.ast-footer-copyright,
.site-primary-footer-wrap p,
.site-below-footer-wrap p,
.site-primary-footer-wrap a,
.site-below-footer-wrap a {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.62rem !important;
  letter-spacing: 0.16em !important;
  color: var(--pk-nav) !important;
  text-transform: uppercase !important;
}

.site-below-footer-wrap nav {
  display: flex;
  justify-content: center;
  gap: 2rem;
  flex-wrap: wrap;
}

/* ============================================================
   LINKS
============================================================ */
.entry-content a,
.page-content a {
  color: var(--pk-red);
  text-decoration: none;
  border-bottom: 1px solid rgba(176,48,32,0.25);
  padding-bottom: 1px;
  transition: color 0.2s;
}

.entry-content a:hover {
  color: var(--pk-red-dark);
}

::selection {
  background: var(--pk-red);
  color: var(--pk-surface);
}

/* ============================================================
   RESPONSIVE
============================================================ */
@media (max-width: 921px) {
  .pk-shop-hero {
    height: 200px !important;
    min-height: 200px !important;
    max-height: 200px !important;
    margin-bottom: 3rem !important;
  }

  .pk-shop-hero-shapes {
    height: 200px !important;
  }

  .pk-shop-hero-content {
    height: 200px !important;
    min-height: 200px !important;
  }

  .pk-shop-hero-content h1 {
    max-width: 390px !important;
    font-size: 2.15rem !important;
  }

  .pkh-shop-toolbar {
    grid-template-columns: 1fr !important;
    gap: 1rem !important;
  }

  .pkh-shop-toolbar-right {
    justify-content: flex-start !important;
  }

  .woocommerce div.product .summary {
    padding-left: 0 !important;
  }
}

@media (max-width: 768px) {
  .wp-block-cover .wp-block-cover__inner-container {
    padding: 2rem !important;
  }

  .entry-content > .wp-block-cover,
  .entry-content > .wp-block-cover-image,
  .wp-block-group.alignfull .wp-block-cover {
    min-height: 520px !important;
  }

  .entry-content > .wp-block-group:not(.wp-block-cover):not(.alignfull):not(.alignwide) {
    padding: 2rem !important;
  }

  .pk-shop-hero {
    height: 185px !important;
    min-height: 185px !important;
    max-height: 185px !important;
    margin-bottom: 2.5rem !important;
  }

  .pk-shop-hero-shapes {
    height: 185px !important;
  }

  .pk-shop-hero-content {
    height: 185px !important;
    min-height: 185px !important;
  }

  .pk-shop-hero-content h1 {
    max-width: 300px !important;
    font-size: 1.75rem !important;
  }

  .pk-shop-hero-content p {
    max-width: 300px !important;
    font-size: 0.52rem !important;
  }

  .pkh-shop-toolbar,
  .pkh-shop-toolbar-left,
  .pkh-shop-toolbar-right {
    display: block !important;
  }

  .pkh-shop-toolbar .woocommerce-result-count,
  .pkh-shop-toolbar .woocommerce-ordering,
  .pkh-shop-toolbar .pkh-product-category-filter {
    width: 100% !important;
    margin: 0 0 1rem 0 !important;
  }

  .pkh-shop-toolbar select {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  .woocommerce ul.products li.product .astra-shop-thumbnail-wrap {
    padding: 1.2rem !important;
  }

  .woocommerce div.product {
    padding: 1.25rem !important;
  }

  .woocommerce div.product .woocommerce-product-gallery__image {
    padding: 1.25rem !important;
  }

  .woocommerce-cart .woocommerce {
    padding: 1.25rem !important;
  }

  .woocommerce .cart-collaterals {
    padding: 1.25rem !important;
  }
}


/* ============================================================
   FIX HOMEPAGE HERO FULL WIDTH
   Alleen homepage, raakt shop/product/cart hero niet
============================================================ */

body.home .entry-content > .wp-block-cover,
body.home .entry-content > .wp-block-cover-image,
body.home .entry-content > .wp-block-group.alignfull,
body.front-page .entry-content > .wp-block-cover,
body.front-page .entry-content > .wp-block-cover-image,
body.front-page .entry-content > .wp-block-group.alignfull {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
}

body.home .entry-content > .wp-block-group.alignfull > .wp-block-cover,
body.front-page .entry-content > .wp-block-group.alignfull > .wp-block-cover {
  width: 100vw !important;
  max-width: 100vw !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.home .wp-block-cover,
body.front-page .wp-block-cover {
  min-height: 680px !important;
  background-size: cover !important;
  background-position: center center !important;
  overflow: hidden !important;
}

body.home .wp-block-cover__image-background,
body.home .wp-block-cover img.wp-block-cover__image-background,
body.front-page .wp-block-cover__image-background,
body.front-page .wp-block-cover img.wp-block-cover__image-background {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

body.home .pk-koi-hi-shape,
body.front-page .pk-koi-hi-shape {
  width: 100% !important;
  height: 100% !important;
}
/* ============================================================
   V4.4.0 CORRECTIE TYPOGRAFIE, PRODUCT, WINKELWAGEN, AFREKENEN
   Toegevoegd na V4.3.0. Scope bewust beperkt tot homepage en WooCommerce.
============================================================ */

/* ------------------------------------------------------------
   1. TYPOGRAFIE: niet alles bold
------------------------------------------------------------ */
body,
.entry-content,
.entry-content p,
.entry-content li,
.woocommerce,
.woocommerce p,
.woocommerce li,
.woocommerce td,
.woocommerce th,
.wc-block-components-text,
.wc-block-components-product-metadata,
.wc-block-components-formatted-money-amount {
  font-weight: 400 !important;
}

strong,
b,
.woocommerce strong,
.woocommerce b {
  font-weight: 700 !important;
}

body.home .wp-block-cover__inner-container p,
body.front-page .wp-block-cover__inner-container p {
  font-weight: 600 !important;
  letter-spacing: 0.24em !important;
}

body.home .wp-block-cover__inner-container h1,
body.home .wp-block-cover__inner-container h2,
body.front-page .wp-block-cover__inner-container h1,
body.front-page .wp-block-cover__inner-container h2 {
  font-weight: 700 !important;
}

body.home .entry-content p:not(.wp-block-cover p),
body.front-page .entry-content p:not(.wp-block-cover p) {
  font-weight: 400 !important;
}

/* ------------------------------------------------------------
   2. WOOCOMMERCE PAGINA-STRUCTUUR
------------------------------------------------------------ */
.woocommerce-page #content,
.single-product #content,
.woocommerce-cart #content,
.woocommerce-checkout #content {
  background: var(--pk-bg) !important;
}

.single-product .ast-woocommerce-container,
.woocommerce-cart .ast-woocommerce-container,
.woocommerce-checkout .ast-woocommerce-container {
  max-width: 1240px !important;
  margin: 0 auto !important;
  padding: 0 20px 4rem !important;
}

.single-product .pk-shop-hero,
.woocommerce-cart .pk-shop-hero,
.woocommerce-checkout .pk-shop-hero {
  margin-bottom: 3.5rem !important;
}

/* ------------------------------------------------------------
   3. PRODUCTPAGINA
------------------------------------------------------------ */
.single-product div.product {
  display: grid !important;
  grid-template-columns: minmax(0, 48%) minmax(0, 1fr) !important;
  column-gap: 3rem !important;
  row-gap: 2rem !important;
  align-items: start !important;
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 4px solid var(--pk-red) !important;
  padding: 2.25rem !important;
  box-shadow: 0 16px 38px rgba(8,8,8,0.08) !important;
}

.single-product div.product .woocommerce-product-gallery {
  width: 100% !important;
  float: none !important;
  margin: 0 !important;
}

.single-product div.product .summary {
  width: 100% !important;
  float: none !important;
  padding: 0 !important;
  margin: 0 !important;
}

.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery figure {
  background: #ffffff !important;
}

.single-product .woocommerce-product-gallery__image {
  border: 1px solid var(--pk-border) !important;
  padding: 2.5rem !important;
  box-shadow: none !important;
}

.single-product .woocommerce-product-gallery__image img {
  max-height: 520px !important;
  object-fit: contain !important;
}

.single-product .single-product-category,
.single-product .posted_in,
.single-product .sku_wrapper {
  font-size: 0.68rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  color: var(--pk-muted) !important;
}

.single-product .single-product-category a,
.single-product .posted_in a {
  color: var(--pk-red) !important;
  text-decoration: none !important;
  border: none !important;
}

.single-product div.product .product_title {
  display: block !important;
  font-size: clamp(1.8rem, 3vw, 2.8rem) !important;
  line-height: 1.08 !important;
  letter-spacing: -0.03em !important;
  color: var(--pk-text) !important;
  margin: 0.75rem 0 1rem !important;
}

.single-product div.product p.price,
.single-product div.product span.price {
  display: block !important;
  color: var(--pk-red) !important;
  font-size: 1.45rem !important;
  font-weight: 700 !important;
  margin: 0 0 1.5rem !important;
}

.single-product div.product form.cart,
.single-product div.product form.variations_form {
  background: #faf8f5 !important;
  border: 1px solid var(--pk-border) !important;
  border-left: 4px solid var(--pk-red) !important;
  padding: 1.35rem !important;
  margin: 1.25rem 0 !important;
}

.single-product div.product table.variations,
.single-product div.product table.variations tbody,
.single-product div.product table.variations tr,
.single-product div.product table.variations th,
.single-product div.product table.variations td {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  border: 0 !important;
}

.single-product div.product table.variations label {
  display: block !important;
  color: var(--pk-text) !important;
  font-size: 0.7rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.16em !important;
  text-transform: uppercase !important;
  margin: 0 0 0.45rem !important;
}

.single-product div.product table.variations select {
  width: 100% !important;
  height: 46px !important;
  background-color: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 0 !important;
  color: var(--pk-text) !important;
  font-size: 0.85rem !important;
  font-weight: 500 !important;
}

.single-product div.product .reset_variations {
  display: inline-block !important;
  margin-top: 0.65rem !important;
  color: var(--pk-muted) !important;
  font-size: 0.72rem !important;
  border: 0 !important;
}

.single-product div.product .woocommerce-variation-description p {
  margin: 0.75rem 0 !important;
  font-size: 0.95rem !important;
  color: var(--pk-text) !important;
}

.single-product div.product .woocommerce-variation-price .price {
  font-size: 1.25rem !important;
  margin: 0.75rem 0 !important;
}

.single-product div.product .woocommerce-variation-add-to-cart {
  display: flex !important;
  align-items: stretch !important;
  gap: 0.75rem !important;
  margin-top: 1rem !important;
}

.single-product div.product .quantity {
  flex: 0 0 auto !important;
  height: 46px !important;
}

.single-product div.product .quantity .qty,
.single-product div.product .quantity .plus,
.single-product div.product .quantity .minus {
  height: 46px !important;
  min-height: 46px !important;
  background: #ffffff !important;
  border-color: var(--pk-border) !important;
  color: var(--pk-text) !important;
}

.single-product div.product .single_add_to_cart_button {
  flex: 1 1 auto !important;
  min-height: 46px !important;
  background: var(--pk-red) !important;
  color: #ffffff !important;
  font-size: 0.7rem !important;
  letter-spacing: 0.14em !important;
}

.single-product div.product .product_meta {
  background: #ffffff !important;
  border-top: 1px solid var(--pk-border) !important;
  padding-top: 1rem !important;
  margin-top: 1rem !important;
}

.single-product div.product .woocommerce-tabs,
.single-product div.product .related.products,
.single-product div.product .upsells.products {
  grid-column: 1 / -1 !important;
}

.single-product div.product .woocommerce-tabs .panel h2,
.single-product #reviews .woocommerce-Reviews-title,
.single-product #reply-title {
  font-size: 1.15rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
}

/* ------------------------------------------------------------
   4. WINKELWAGEN: classic cart en block cart
------------------------------------------------------------ */
/* Buitenste winkelwagenkader */
.woocommerce-cart .woocommerce,
.woocommerce-cart .wp-block-woocommerce-cart {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 4px solid var(--pk-red) !important;
  padding: 2rem !important;
  box-shadow: 0 16px 38px rgba(8,8,8,0.08) !important;
}

/* Binnenste block-cart layout: geen extra kader/schaduw */
.woocommerce-cart .wc-block-cart,
.woocommerce-cart .wc-block-components-sidebar-layout {
  background: transparent !important;
  border: none !important;
  border-top: none !important;
  padding: 0 !important;
  box-shadow: none !important;
}

.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .wc-block-cart-items,
.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-cart .wc-block-cart__totals-container,
.woocommerce-cart .wc-block-components-sidebar {
  background: #ffffff !important;
}

.woocommerce-cart table.cart,
.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td {
  border-color: var(--pk-border) !important;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-name a {
  display: block !important;
  color: var(--pk-text) !important;
  font-size: 0.92rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border: 0 !important;
}

.woocommerce-cart .wc-block-cart-items__row .wc-block-components-product-name {
  max-width: 420px !important;
}

.woocommerce-cart .product-price,
.woocommerce-cart .product-subtotal,
.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-components-product-price__value,
.woocommerce-cart .wc-block-components-totals-item__value {
  color: var(--pk-red) !important;
  font-size: 0.95rem !important;
  font-weight: 700 !important;
}

.woocommerce-cart .product-thumbnail img,
.woocommerce-cart .wc-block-cart-item__image img,
.woocommerce-cart .wc-block-components-product-image img {
  width: 74px !important;
  height: 74px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  padding: 0.55rem !important;
}

.woocommerce-cart .cart_totals,
.woocommerce-cart .wc-block-cart__totals-container,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 4px solid var(--pk-red) !important;
  padding: 1.5rem !important;
}

.woocommerce-cart .cart_totals h2,
.woocommerce-cart .wc-block-cart__totals-title,
.woocommerce-cart .wp-block-woocommerce-cart-order-summary-heading-block {
  color: var(--pk-text) !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin: 0 0 1rem !important;
}

.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-cart .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-cart .order-total th,
.woocommerce-cart .order-total td {
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: var(--pk-red) !important;
}

.woocommerce-cart .wc-block-cart__submit-button,
.woocommerce-cart .wc-proceed-to-checkout .checkout-button {
  background: var(--pk-red) !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  border: 0 !important;
  min-height: 48px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}

/* ------------------------------------------------------------
   5. AFREKENEN: classic checkout en block checkout
------------------------------------------------------------ */
.woocommerce-checkout .woocommerce,
.woocommerce-checkout .wc-block-checkout,
.woocommerce-checkout .wp-block-woocommerce-checkout {
  background: transparent !important;
}

.woocommerce-checkout form.checkout,
.woocommerce-checkout .wc-block-components-main,
.woocommerce-checkout .wc-block-checkout__main {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 4px solid var(--pk-red) !important;
  padding: 2rem !important;
  box-shadow: 0 16px 38px rgba(8,8,8,0.08) !important;
}

.woocommerce-checkout .wc-block-components-sidebar,
.woocommerce-checkout .wc-block-checkout__sidebar,
.woocommerce-checkout #order_review,
.woocommerce-checkout #order_review_heading {
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 4px solid var(--pk-red) !important;
  padding: 1.5rem !important;
  box-shadow: 0 16px 38px rgba(8,8,8,0.08) !important;
}

.woocommerce-checkout .wc-block-components-title,
.woocommerce-checkout .wc-block-components-checkout-step__title,
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout .wp-block-woocommerce-checkout-order-summary-block h2,
.woocommerce-checkout .wc-block-components-sidebar h2 {
  color: var(--pk-text) !important;
  font-size: 1rem !important;
  line-height: 1.25 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin: 0 0 1rem !important;
}

.woocommerce-checkout .wc-block-components-product-name,
.woocommerce-checkout .wc-block-components-product-name a,
.woocommerce-checkout .wc-block-components-order-summary-item__description,
.woocommerce-checkout .product-name {
  color: var(--pk-text) !important;
  font-size: 0.86rem !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
  border: 0 !important;
}

.woocommerce-checkout .wc-block-components-order-summary-item__description .wc-block-components-product-name {
  max-width: 280px !important;
}

.woocommerce-checkout .wc-block-components-product-image img,
.woocommerce-checkout .wc-block-components-order-summary-item__image img {
  width: 64px !important;
  height: 64px !important;
  object-fit: contain !important;
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  padding: 0.45rem !important;
}

.woocommerce-checkout input[type="text"],
.woocommerce-checkout input[type="email"],
.woocommerce-checkout input[type="tel"],
.woocommerce-checkout input[type="number"],
.woocommerce-checkout input[type="password"],
.woocommerce-checkout select,
.woocommerce-checkout textarea,
.woocommerce-checkout .wc-block-components-text-input input,
.woocommerce-checkout .wc-block-components-combobox .wc-block-components-combobox-control input,
.woocommerce-checkout .wc-block-components-country-input input {
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  color: var(--pk-text) !important;
  min-height: 46px !important;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
}

.woocommerce-checkout label,
.woocommerce-checkout .wc-block-components-text-input label,
.woocommerce-checkout .wc-block-components-checkbox label,
.woocommerce-checkout .wc-block-components-radio-control__label {
  color: var(--pk-text) !important;
  font-size: 0.7rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.08em !important;
  text-transform: uppercase !important;
}

.woocommerce-checkout .wc-block-components-radio-control__option,
.woocommerce-checkout .wc-block-components-checkbox,
.woocommerce-checkout .wc-block-components-address-card,
.woocommerce-checkout .wc-block-components-panel {
  background: #ffffff !important;
  border-color: var(--pk-border) !important;
  color: var(--pk-text) !important;
}

.woocommerce-checkout .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-item__value,
.woocommerce-checkout .wc-block-components-formatted-money-amount,
.woocommerce-checkout .cart-subtotal td,
.woocommerce-checkout .order-total td {
  font-size: 0.95rem !important;
  color: var(--pk-text) !important;
}

.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.woocommerce-checkout .wc-block-components-totals-footer-item .wc-block-components-totals-item__value,
.woocommerce-checkout .order-total th,
.woocommerce-checkout .order-total td {
  color: var(--pk-red) !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
}

.woocommerce-checkout .wc-block-components-checkout-place-order-button,
.woocommerce-checkout #place_order {
  background: var(--pk-red) !important;
  color: #ffffff !important;
  border-radius: 0 !important;
  border: 0 !important;
  min-height: 50px !important;
  font-size: 0.75rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
}
/* ============================================================
   CHECKOUT - kolommen correct naast elkaar
============================================================ */

.woocommerce-checkout .wc-block-components-sidebar-layout {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 360px !important;
  gap: 3rem !important;
  align-items: start !important;
}

.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    padding-right: 2rem !important;
    box-sizing: border-box !important;
}

.woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
}

/* ------------------------------------------------------------
   6. RESPONSIVE CORRECTIES
------------------------------------------------------------ */
@media (max-width: 921px) {
  .single-product div.product {
    display: block !important;
    padding: 1.5rem !important;
  }

  .single-product div.product .summary {
    margin-top: 1.5rem !important;
  }

  .single-product div.product .woocommerce-variation-add-to-cart {
    display: block !important;
  }

  .single-product div.product .quantity,
  .single-product div.product .single_add_to_cart_button {
    width: 100% !important;
    margin: 0 0 0.75rem !important;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-cart .wc-block-cart,
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-checkout form.checkout,
  .woocommerce-checkout .wc-block-components-main,
  .woocommerce-checkout .wc-block-checkout__main,
  .woocommerce-checkout .wc-block-components-sidebar,
  .woocommerce-checkout .wc-block-checkout__sidebar {
    padding: 1.25rem !important;
  }

   .woocommerce-checkout .wc-block-components-sidebar-layout {
    display: block !important;
  }

  .woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-sidebar {
    margin-top: 2rem !important;
  }

  .woocommerce-checkout .wc-block-components-sidebar-layout .wc-block-components-main {
        padding-right: 0 !important;
    }


}

@media (max-width: 544px) {
  .woocommerce-cart .wc-block-components-product-name,
  .woocommerce-checkout .wc-block-components-product-name,
  .woocommerce-cart table.cart .product-name a {
    font-size: 0.82rem !important;
  }

  .woocommerce-cart .product-thumbnail img,
  .woocommerce-cart .wc-block-cart-item__image img,
  .woocommerce-checkout .wc-block-components-product-image img {
    width: 58px !important;
    height: 58px !important;
  }
}
/* Basis body tekst definitief normaal */
body,
body p,
body .entry-content,
body .entry-content p,
body .wp-block-paragraph {
  font-family: 'Noto Sans', sans-serif !important;
  font-weight: 400 !important;
  font-style: normal !important;
  letter-spacing: 0 !important;
}

/* ============================================================
   PRODUCTPAGINA - ASTRA AFBEELDING SCHADUW UIT
   Alleen productpagina, raakt homepage en winkelpagina niet
============================================================ */

.single-product .ast-article-single figure,
.single-product .ast-article-single img,
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__image img {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
}

/* ============================================================
   FAQ PAGINA
   Scope: alleen /veel-gestelde-vragen/
   Raakt home, winkel, product, winkelwagen en afrekenen niet.
============================================================ */

body.page-slug-veel-gestelde-vragen,
body.page-id-834 {
  background: var(--pk-bg) !important;
}

body.page-slug-veel-gestelde-vragen #content,
body.page-slug-veel-gestelde-vragen .site-content,
body.page-slug-veel-gestelde-vragen .site-main,
body.page-id-834 #content,
body.page-id-834 .site-content,
body.page-id-834 .site-main {
  background: var(--pk-bg) !important;
}

body.page-slug-veel-gestelde-vragen .site-content > .ast-container,
body.page-id-834 .site-content > .ast-container {
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-slug-veel-gestelde-vragen #primary,
body.page-id-834 #primary {
  width: 100% !important;
  max-width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

body.page-slug-veel-gestelde-vragen .entry-header,
body.page-id-834 .entry-header {
  display: none !important;
}

body.page-slug-veel-gestelde-vragen .entry-content,
body.page-id-834 .entry-content {
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 5rem auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
}

body.page-slug-veel-gestelde-vragen .entry-content > .pk-faq-page,
body.page-id-834 .entry-content > .pk-faq-page {
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 4px solid var(--pk-red) !important;
  box-shadow: 0 16px 38px rgba(8,8,8,0.08) !important;
  padding: 3rem !important;
  margin: 0 0 4rem 0 !important;
  font-family: var(--pk-font-body) !important;
  color: var(--pk-text) !important;
}

.pk-faq-page h1,
.pk-faq-page h2,
.pk-faq-page h3 {
  font-family: var(--pk-font-heading) !important;
  color: var(--pk-text) !important;
  font-weight: 700 !important;
}

.pk-faq-page h1 {
  font-size: clamp(2rem, 4vw, 3rem) !important;
  line-height: 1.12 !important;
  letter-spacing: -0.03em !important;
  margin: 0 0 1rem 0 !important;
}

.pk-faq-page h2 {
  font-size: clamp(1.45rem, 2.5vw, 2rem) !important;
  line-height: 1.2 !important;
  letter-spacing: -0.02em !important;
  margin: 0 0 0.85rem 0 !important;
}

.pk-faq-page p,
.pk-faq-page li {
  font-family: 'Noto Sans', sans-serif !important;
  font-size: 1rem !important;
  line-height: 1.8 !important;
  font-weight: 400 !important;
  color: var(--pk-text) !important;
}

.pk-faq-intro {
  margin: 0 0 2.5rem 0 !important;
}

.pk-faq-intro p {
  max-width: 900px !important;
  margin: 0 !important;
}

.pk-faq-nav {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.75rem !important;
  margin: 0 0 3rem 0 !important;
  padding: 1.25rem !important;
  background: #f4f1ec !important;
  border: 1px solid var(--pk-border) !important;
}

.pk-faq-nav a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.65rem 0.9rem !important;
  background: #e7f3f5 !important;
  border: 1px solid var(--pk-nav) !important;
  color: var(--pk-text) !important;
  font-family: var(--pk-font-heading) !important;
  font-size: 0.68rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  text-decoration: none !important;
  box-shadow: none !important;
}

.pk-faq-nav a:hover {
  background: var(--pk-red) !important;
  border-color: var(--pk-red) !important;
  color: #ffffff !important;
}

.pk-faq-category {
  margin: 3rem 0 0 0 !important;
  padding: 2rem 0 0 0 !important;
  border-top: 3px solid var(--pk-red) !important;
}

.pk-faq-category:first-of-type {
  margin-top: 0 !important;
}

.pk-faq-category > p {
  max-width: 900px !important;
  margin: 0 0 1.5rem 0 !important;
}

.pk-faq-item {
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  margin: 0 0 0.75rem 0 !important;
  box-shadow: none !important;
}

.pk-faq-item summary {
  cursor: pointer !important;
  list-style: none !important;
  position: relative !important;
  padding: 1.1rem 3.25rem 1.1rem 1.25rem !important;
  font-family: var(--pk-font-heading) !important;
  font-size: 0.95rem !important;
  line-height: 1.45 !important;
  font-weight: 700 !important;
  color: var(--pk-text) !important;
}

.pk-faq-item summary::-webkit-details-marker {
  display: none !important;
}

.pk-faq-item summary::after {
  content: "+" !important;
  position: absolute !important;
  right: 1.25rem !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  width: 1.8rem !important;
  height: 1.8rem !important;
  display: grid !important;
  place-items: center !important;
  background: #e7f3f5 !important;
  border: 1px solid var(--pk-nav) !important;
  color: var(--pk-text) !important;
  font-size: 1.1rem !important;
  line-height: 1 !important;
}

.pk-faq-item[open] {
  border-color: var(--pk-nav) !important;
}

.pk-faq-item[open] summary {
  border-bottom: 1px solid var(--pk-border) !important;
}

.pk-faq-item[open] summary::after {
  content: "−" !important;
  background: var(--pk-red) !important;
  border-color: var(--pk-red) !important;
  color: #ffffff !important;
}

.pk-faq-item > div {
  padding: 1.25rem !important;
  background: #ffffff !important;
}

.pk-faq-item > div p {
  max-width: 900px !important;
  margin: 0 !important;
}

/* Oude losse details zonder pk-class toch netjes tonen op FAQ */
body.page-slug-veel-gestelde-vragen .entry-content details:not(.pk-faq-item),
body.page-id-834 .entry-content details:not(.pk-faq-item) {
  background: #ffffff !important;
  border: 1px solid var(--pk-border) !important;
  margin: 0 0 0.75rem 0 !important;
}

body.page-slug-veel-gestelde-vragen .entry-content details:not(.pk-faq-item) summary,
body.page-id-834 .entry-content details:not(.pk-faq-item) summary {
  cursor: pointer !important;
  padding: 1rem 1.25rem !important;
  font-weight: 700 !important;
}

/* Mobiel */
@media (max-width: 921px) {
  body.page-slug-veel-gestelde-vragen .entry-content > .pk-faq-page,
  body.page-id-834 .entry-content > .pk-faq-page {
    padding: 2rem !important;
  }
}

@media (max-width: 768px) {
  body.page-slug-veel-gestelde-vragen .entry-content,
  body.page-id-834 .entry-content {
    padding: 0 16px !important;
    margin-bottom: 3rem !important;
  }

  body.page-slug-veel-gestelde-vragen .entry-content > .pk-faq-page,
  body.page-id-834 .entry-content > .pk-faq-page {
    padding: 1.5rem !important;
  }

  .pk-faq-nav {
    display: grid !important;
    gap: 0.5rem !important;
    padding: 1rem !important;
  }

  .pk-faq-nav a {
    width: 100% !important;
  }

  .pk-faq-item summary {
    padding: 1rem 3rem 1rem 1rem !important;
  }

  .pk-faq-item > div {
    padding: 1rem !important;
  }
}

/* ============================================================
   FOOTER MENU OP ÉÉN REGEL DESKTOP
============================================================ */

.site-primary-footer-wrap .ast-builder-grid-row,
.site-below-footer-wrap .ast-builder-grid-row {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
}

.site-primary-footer-wrap .site-footer-section,
.site-below-footer-wrap .site-footer-section {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
}

.site-primary-footer-wrap nav,
.site-below-footer-wrap nav,
.site-primary-footer-wrap .menu,
.site-below-footer-wrap .menu,
.site-primary-footer-wrap ul.menu,
.site-below-footer-wrap ul.menu {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: row !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  gap: 0 !important;
  margin: 0 auto !important;
  padding: 0 !important;
  list-style: none !important;
}

.site-primary-footer-wrap .menu li,
.site-below-footer-wrap .menu li {
  display: inline-flex !important;
  align-items: center !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  white-space: nowrap !important;
}

.site-primary-footer-wrap .menu li:not(:last-child)::after,
.site-below-footer-wrap .menu li:not(:last-child)::after {
  content: "|" !important;
  display: inline-block !important;
  margin: 0 0.85rem !important;
  color: var(--pk-nav) !important;
  opacity: 0.65 !important;
}

.site-primary-footer-wrap .menu a,
.site-below-footer-wrap .menu a {
  display: inline-block !important;
  white-space: nowrap !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: var(--pk-nav) !important;
  text-decoration: none !important;
  border: 0 !important;
}

.site-primary-footer-wrap .menu a:hover,
.site-below-footer-wrap .menu a:hover {
  color: #ffffff !important;
}

/* Mobiel mag het menu wél netjes afbreken */
@media (max-width: 768px) {
  .site-primary-footer-wrap nav,
  .site-below-footer-wrap nav,
  .site-primary-footer-wrap .menu,
  .site-below-footer-wrap .menu,
  .site-primary-footer-wrap ul.menu,
  .site-below-footer-wrap ul.menu {
    flex-wrap: wrap !important;
    row-gap: 0.45rem !important;
  }

  .site-primary-footer-wrap .menu a,
  .site-below-footer-wrap .menu a {
    font-size: 0.55rem !important;
    letter-spacing: 0.1em !important;
  }
}

/* ============================================================
   HEADER SLOGAN GELIJK AAN BREEDTE WOORDMERK
============================================================ */

.ast-site-title-wrap {
  display: inline-flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: stretch !important;
  width: max-content !important;
}

.ast-site-title-wrap .site-title,
.ast-site-title-wrap .site-title a {
  display: block !important;
}

.pkh-header-slogan {
  display: block !important;
  width: 100% !important;
  margin: 0.18rem 0 0 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.64rem !important;
  font-weight: 700 !important;
  line-height: 1.2 !important;
  color: var(--pk-nav) !important;
  opacity: 0.95 !important;
  text-transform: uppercase !important;

  /* maakt de slogan visueel even breed als PATRICKS KOIHUIS */
  text-align: justify !important;
  text-align-last: justify !important;
  letter-spacing: 0.08em !important;
}
/* ============================================================
   GALERIJ LIGHTBOX + BEKIJK MEER
   Scope: Gutenberg galerij-blokken in .entry-content.
   JS voegt classes toe; styling volledig in PK-stijl.
============================================================ */

.entry-content .wp-block-gallery .pk-gallery-item {
  cursor: zoom-in !important;
}

.pk-gallery-hidden {
  display: none !important;
}

/* Bekijk meer knop */
.pk-gallery-more-wrap {
  display: flex !important;
  justify-content: center !important;
  margin: 1.75rem 0 0 0 !important;
}

.pk-gallery-more {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.18em !important;
  text-transform: uppercase !important;
  color: var(--pk-text) !important;
  background: transparent !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 0 !important;
  padding: 12px 30px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}

.pk-gallery-more:hover {
  background: var(--pk-red) !important;
  color: var(--pk-surface) !important;
  border-color: var(--pk-red) !important;
}

/* Lightbox overlay */
.pk-lightbox {
  position: fixed !important;
  inset: 0 !important;
  z-index: 100000 !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
}

.pk-lightbox.is-open {
  display: flex !important;
}

.pk-lightbox-overlay {
  position: absolute !important;
  inset: 0 !important;
  background: rgba(8, 8, 8, 0.92) !important;
  cursor: zoom-out !important;
}

.pk-lightbox-stage {
  position: relative !important;
  z-index: 2 !important;
  margin: 0 !important;
  max-width: 90vw !important;
  max-height: 88vh !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

.pk-lightbox-stage img {
  max-width: 90vw !important;
  max-height: 82vh !important;
  width: auto !important;
  height: auto !important;
  display: block !important;
  border-top: 3px solid var(--pk-red) !important;
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.5) !important;
}

.pk-lightbox-counter {
  margin: 1rem 0 0 0 !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.62rem !important;
  font-weight: 700 !important;
  letter-spacing: 0.22em !important;
  text-transform: uppercase !important;
  color: var(--pk-nav) !important;
}

.pk-lightbox-close,
.pk-lightbox-prev,
.pk-lightbox-next {
  position: absolute !important;
  z-index: 3 !important;
  background: transparent !important;
  border: none !important;
  color: var(--pk-nav) !important;
  cursor: pointer !important;
  line-height: 1 !important;
  padding: 0 !important;
  transition: color 0.2s ease !important;
}

.pk-lightbox-close {
  top: 1.4rem !important;
  right: 1.75rem !important;
  font-size: 2.4rem !important;
}

.pk-lightbox-prev,
.pk-lightbox-next {
  top: 50% !important;
  transform: translateY(-50%) !important;
  font-size: 3.5rem !important;
  padding: 0 1rem !important;
}

.pk-lightbox-prev { left: 1rem !important; }
.pk-lightbox-next { right: 1rem !important; }

.pk-lightbox-close:hover,
.pk-lightbox-prev:hover,
.pk-lightbox-next:hover {
  color: var(--pk-surface) !important;
}

@media (max-width: 768px) {
  .pk-lightbox-prev,
  .pk-lightbox-next {
    font-size: 2.5rem !important;
    padding: 0 0.5rem !important;
  }
  .pk-lightbox-close {
    font-size: 2rem !important;
    top: 1rem !important;
    right: 1rem !important;
  }
}

/* ============================================================
   V4.7.0 — HOVER CART-KNOP, ZOOM-TRIGGER EN KAART-ACTIEKNOP
   Doel: rode achtergrond + witte tekst/icoon i.p.v. zwart.
   Scope: uitsluitend WooCommerce productkaarten (winkel /
   categorie / gerelateerde producten) en de single-product
   galerij. Raakt geen header, footer, content of overige knoppen.
============================================================ */

/* ------------------------------------------------------------
   1. HOVER-KNOP "TOEVOEGEN AAN WINKELWAGEN" OP DE AFBEELDING
   Astra Pro plaatst hier een icoonknop met tooltip-label.
   Alles zit binnen de productkaart, dus veilig te overschrijven.
------------------------------------------------------------ */
.woocommerce ul.products li.product .ast-on-card-button,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a.button.add_to_cart_button,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a.button.product_type_simple,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a.button.product_type_variable {
  background-color: var(--pk-red) !important;
  color: #ffffff !important;
  border-color: var(--pk-red) !important;
}

.woocommerce ul.products li.product .ast-on-card-button:hover,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap .ast-on-card-button:hover,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a.button.add_to_cart_button:hover {
  background-color: var(--pk-red-dark) !important;
  color: #ffffff !important;
  border-color: var(--pk-red-dark) !important;
}

/* Tooltip-label tekst + pijltje */
.woocommerce ul.products li.product .ast-on-card-button .ast-card-action-tooltip,
.woocommerce ul.products li.product .ast-on-card-button::after,
.woocommerce ul.products li.product .ast-on-card-button::before {
  background-color: var(--pk-red) !important;
  color: #ffffff !important;
  border-top-color: var(--pk-red) !important;
}

/* Icoon binnen de hover-knop wit maken */
.woocommerce ul.products li.product .ast-on-card-button .ast-icon,
.woocommerce ul.products li.product .ast-on-card-button i,
.woocommerce ul.products li.product .ast-on-card-button svg,
.woocommerce ul.products li.product .ast-on-card-button svg path,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a.button svg,
.woocommerce ul.products li.product .astra-shop-thumbnail-wrap a.button svg path {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* ------------------------------------------------------------
   2. ZOOM / VERGROOT-TRIGGER OP DE PRODUCTAFBEELDING (single)
   WooCommerce: .woocommerce-product-gallery__trigger
------------------------------------------------------------ */
.single-product .woocommerce-product-gallery__trigger {
  background-color: var(--pk-red) !important;
  border-color: var(--pk-red) !important;
}

/* Astra plaatst hier een SVG-icoon: wit maken */
.single-product .woocommerce-product-gallery__trigger svg,
.single-product .woocommerce-product-gallery__trigger svg path,
.single-product .woocommerce-product-gallery__trigger i {
  color: #ffffff !important;
  fill: #ffffff !important;
}

/* Fallback: WooCommerce standaard-vergrootglas (pseudo-elementen) */
.single-product .woocommerce-product-gallery__trigger::before {
  border-color: #ffffff !important;
  background-color: transparent !important;
}
.single-product .woocommerce-product-gallery__trigger::after {
  background-color: #ffffff !important;
}

/* ------------------------------------------------------------
   3. ACTIEKNOP ONDER DE PRODUCTKAART
   bv. "Toevoegen aan winkelwagen" / "Opties selecteren".
   Was: transparante knop met donkere tekst (zag er zwart uit).
   Nu: rode vulling met witte tekst, donkerrood bij hover.
------------------------------------------------------------ */
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product a.button {
  background: var(--pk-red) !important;
  color: #ffffff !important;
  border-color: var(--pk-red) !important;
}

.woocommerce ul.products li.product .button:hover,
.woocommerce ul.products li.product a.button:hover {
  background: var(--pk-red-dark) !important;
  color: #ffffff !important;
  border-color: var(--pk-red-dark) !important;
}

/* ============================================================
   V4.7.1 — ZWARTE CIRKEL ACHTER HOVER-WINKELMANDJE WEG
   De Astra icoon-container (.ahfb-svg-iconset / .ast-icon) heeft
   een eigen ronde achtergrond. Die moet rood i.p.v. zwart zijn,
   zodat hij aansluit op het rode knopkader. Tasje blijft wit.
============================================================ */
.woocommerce ul.products li.product .ast-on-card-button .ahfb-svg-iconset,
.woocommerce ul.products li.product .ast-on-card-button .ast-icon,
.woocommerce ul.products li.product .ast-on-card-button .ast-icon.icon-bag {
  background-color: var(--pk-red) !important;
  border-color: var(--pk-red) !important;
  color: #ffffff !important;
}

.woocommerce ul.products li.product .ast-on-card-button:hover .ahfb-svg-iconset,
.woocommerce ul.products li.product .ast-on-card-button:hover .ast-icon {
  background-color: var(--pk-red-dark) !important;
  border-color: var(--pk-red-dark) !important;
}

.woocommerce ul.products li.product .ast-on-card-button .ast-icon svg,
.woocommerce ul.products li.product .ast-on-card-button .ast-icon svg path {
  fill: #ffffff !important;
  color: #ffffff !important;
}

/* ============================================================
   V4.7.4 — "ACTIE!"-BADGE ROOD
   In deze Astra-opzet is de sale-badge geen span.onsale maar
   <span class="ast-on-card-button ast-onsale-card circle">.
   Astra geeft .ast-onsale-card een zwarte achtergrond en zwarte
   tekst. Hier overschreven naar rood met witte tekst.
   (Galerij blijft volledig ongemoeid.)
============================================================ */
.ast-onsale-card,
.ast-on-card-button.ast-onsale-card,
.single-product .ast-onsale-card,
.woocommerce ul.products li.product .ast-onsale-card {
  background-color: var(--pk-red) !important;
  color: #ffffff !important;
}


/* ============================================================
   V4.8.0 — NETTE PRODUCTGALERIJ MÉT WERKENDE POP-UP
   - Nette lay-out terug: vast afbeeldingsvlak, gecentreerd,
     geen lege strook, geen afgesneden onderlijn.
   - Hover-zoom blijft intact (functions.php ongewijzigd).
   - Vergrootglas NIET verborgen, maar als net rond knopje
     rechtsboven óp de foto. Dat knopje opent de fullscreen
     pop-up (photoswipe). Klikken = vergroten.
   Scope: uitsluitend single-product galerij.
============================================================ */

/* Galerij, viewport en wrapper op volle kolombreedte.
   Viewport NIET afsnijden, anders verdwijnt de onderlijn van het kader. */
.single-product .woocommerce-product-gallery,
.single-product .woocommerce-product-gallery .flex-viewport,
.single-product .woocommerce-product-gallery__wrapper {
  width: 100% !important;
  max-width: 100% !important;
}
.single-product .woocommerce-product-gallery {
  position: relative !important;
}
.single-product .woocommerce-product-gallery .flex-viewport {
  overflow: visible !important;
  height: auto !important;
}

/* Flexslider-verschuiving uit; wrapper als normale blokcontainer */
.single-product .woocommerce-product-gallery__wrapper {
  transform: none !important;
  display: block !important;
}

/* Het afbeeldingsvlak: wit kader met VASTE hoogte, inhoud gecentreerd */
.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  box-sizing: border-box !important;
  width: 100% !important;
  height: 460px !important;
  float: none !important;
  margin: 0 !important;
  padding: 1.5rem !important;
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  box-shadow: none !important;
  align-items: center !important;
  justify-content: center !important;
}

/* Toon alleen de actieve slide (als flexbox, zodat centreren werkt) */
.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
  display: none !important;
}
.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image.flex-active-slide {
  display: flex !important;
}
/* Fallback: nog geen actieve slide (vóór init / JS uit) -> toon de eerste */
.single-product .woocommerce-product-gallery__wrapper:not(:has(.flex-active-slide)) > .woocommerce-product-gallery__image:first-child {
  display: flex !important;
}

/* De link/figure binnen de slide vult het vlak zodat de afbeelding kan centreren */
.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: 100% !important;
}

/* Afbeelding past altijd binnen het vaste vlak, op verhouding, gecentreerd */
.single-product .woocommerce-product-gallery__image img,
.single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
  margin: 0 auto !important;
}

/* POP-UP TRIGGER: vergrootglas zichtbaar als net knopje rechtsboven óp de foto.
   Boven de zoom-overlay geplaatst (z-index) zodat het altijd klikbaar blijft.
   Kleur (rood + wit icoon) komt uit het bestaande trigger-kleurblok. */
.single-product .woocommerce-product-gallery__trigger {
  display: block !important;
  position: absolute !important;
  top: 1rem !important;
  right: 1rem !important;
  z-index: 99 !important;
  box-shadow: 0 2px 8px rgba(8,8,8,0.18) !important;
  opacity: 0.95 !important;
  transition: opacity 0.2s ease, transform 0.2s ease !important;
}
.single-product .woocommerce-product-gallery__trigger:hover {
  opacity: 1 !important;
  transform: scale(1.06) !important;
}

/* Thumbnails netjes onder de hoofdafbeelding, actieve in PK-rood */
.single-product .ast-single-product-thumbnails {
  margin-top: 0.75rem !important;
}
.single-product .ast-single-product-thumbnails .ast-woocommerce-product-gallery__image.flex-active-slide:after {
  border-color: var(--pk-red) !important;
}

/* Responsief: vast vlak iets lager op kleinere schermen */
@media (max-width: 921px) {
  .single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
    height: 380px !important;
  }
}
@media (max-width: 544px) {
  .single-product .woocommerce-product-gallery__wrapper > .woocommerce-product-gallery__image {
    height: 320px !important;
    padding: 1rem !important;
  }
}


/* ============================================================
   SOCIAL ICONS IN HOOFDMENU — YouTube + Facebook
   Voor handmatig toegevoegde menu-items (Aangepaste links) met
   CSS-klasse pkh-social-youtube / pkh-social-facebook.
   Het tekstlabel wordt verborgen; het icoon komt via CSS-mask,
   gekleurd in --pk-nav, wit bij hover. Geen functions.php nodig.
============================================================ */
.pkh-social-youtube > .menu-link,
.pkh-social-facebook > .menu-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important; /* verbergt het tekstlabel */
}

.pkh-social-youtube > .menu-link .menu-text,
.pkh-social-facebook > .menu-link .menu-text {
  display: none !important;
}

.pkh-social-youtube > .menu-link::before,
.pkh-social-facebook > .menu-link::before {
  content: "" !important;
  display: inline-block !important;
  width: 20px !important;
  height: 20px !important;
  background-color: var(--pk-nav) !important;
  -webkit-mask-repeat: no-repeat !important;
          mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
          mask-position: center !important;
  -webkit-mask-size: contain !important;
          mask-size: contain !important;
  transition: background-color 0.2s ease, transform 0.2s ease !important;
}

.pkh-social-youtube > .menu-link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.498%206.186a3.016%203.016%200%200%200-2.122-2.136C19.505%203.545%2012%203.545%2012%203.545s-7.505%200-9.377.505A3.017%203.017%200%200%200%20.502%206.186C0%208.07%200%2012%200%2012s0%203.93.502%205.814a3.016%203.016%200%200%200%202.122%202.136c1.871.505%209.376.505%209.376.505s7.505%200%209.377-.505a3.015%203.015%200%200%200%202.122-2.136C24%2015.93%2024%2012%2024%2012s0-3.93-.502-5.814zM9.545%2015.568V8.432L15.818%2012l-6.273%203.568z%27%2F%3E%3C%2Fsvg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M23.498%206.186a3.016%203.016%200%200%200-2.122-2.136C19.505%203.545%2012%203.545%2012%203.545s-7.505%200-9.377.505A3.017%203.017%200%200%200%20.502%206.186C0%208.07%200%2012%200%2012s0%203.93.502%205.814a3.016%203.016%200%200%200%202.122%202.136c1.871.505%209.376.505%209.376.505s7.505%200%209.377-.505a3.015%203.015%200%200%200%202.122-2.136C24%2015.93%2024%2012%2024%2012s0-3.93-.502-5.814zM9.545%2015.568V8.432L15.818%2012l-6.273%203.568z%27%2F%3E%3C%2Fsvg%3E") !important;
}

.pkh-social-facebook > .menu-link::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M24%2012.073c0-6.627-5.373-12-12-12s-12%205.373-12%2012c0%205.99%204.388%2010.954%2010.125%2011.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007%201.792-4.669%204.533-4.669%201.312%200%202.686.235%202.686.235v2.953H15.83c-1.491%200-1.956.925-1.956%201.874v2.25h3.328l-.532%203.47h-2.796v8.385C19.612%2023.027%2024%2018.062%2024%2012.073z%27%2F%3E%3C%2Fsvg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%3E%3Cpath%20d%3D%27M24%2012.073c0-6.627-5.373-12-12-12s-12%205.373-12%2012c0%205.99%204.388%2010.954%2010.125%2011.854v-8.385H7.078v-3.47h3.047V9.43c0-3.007%201.792-4.669%204.533-4.669%201.312%200%202.686.235%202.686.235v2.953H15.83c-1.491%200-1.956.925-1.956%201.874v2.25h3.328l-.532%203.47h-2.796v8.385C19.612%2023.027%2024%2018.062%2024%2012.073z%27%2F%3E%3C%2Fsvg%3E") !important;
}

.pkh-social-youtube > .menu-link:hover::before,
.pkh-social-facebook > .menu-link:hover::before {
  background-color: #ffffff !important;
  transform: scale(1.08) !important;
}

.pkh-social-facebook {
  margin-left: 0.2rem !important;
}

/* ============================================================
   KRUIMELPAD (BREADCRUMB) — EIGEN, CONSISTENTE PLEK
   Eigen bar direct onder de hero, op elke pagina identiek.
   Eventuele WooCommerce-/Astra-breadcrumb wordt verborgen.
============================================================ */

/* Verberg elke overgebleven WooCommerce/Astra breadcrumb */
.woocommerce-breadcrumb {
  display: none !important;
}

/* Onze eigen kruimelpad-bar: zelfde uitlijning als de content (1240px) */
.pkh-breadcrumb-bar {
  display: block !important;
  width: 100% !important;
  max-width: 1240px !important;
  margin: 0 auto 1.75rem auto !important;
  padding: 0 20px !important;
  box-sizing: border-box !important;
  clear: both !important;
}

.pkh-breadcrumb {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.65rem !important;
  font-weight: 600 !important;
  letter-spacing: 0.12em !important;
  text-transform: uppercase !important;
  line-height: 1.5 !important;
  color: var(--pk-muted) !important;
}

.pkh-breadcrumb a {
  color: var(--pk-muted) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  transition: color 0.2s ease !important;
}

.pkh-breadcrumb a:hover {
  color: var(--pk-red) !important;
}

.pkh-breadcrumb span {
  color: var(--pk-text) !important;
}

/* ------------------------------------------------------------
   MARGE ONDER HERO TERUGBRENGEN
   De hero stond met ~4.5rem te ver van de content af.
------------------------------------------------------------ */
.pk-shop-hero,
.single-product .pk-shop-hero,
.woocommerce-cart .pk-shop-hero,
.woocommerce-checkout .pk-shop-hero {
  margin-bottom: 1.5rem !important;
}

@media (max-width: 921px) {
  .pk-shop-hero,
  .single-product .pk-shop-hero,
  .woocommerce-cart .pk-shop-hero,
  .woocommerce-checkout .pk-shop-hero {
    margin-bottom: 1.25rem !important;
  }
}

@media (max-width: 768px) {
  .pk-shop-hero {
    margin-bottom: 1rem !important;
  }

  .pkh-breadcrumb-bar {
    padding: 0 16px !important;
    margin-bottom: 1.25rem !important;
  }
}

/* ============================================================
   V4.8.4 — WOOCOMMERCE-PAGINA'S: TE GROTE BOVENMARGE WEG
   Astra zet #primary op margin:4em 0. Met de smalle hero + het
   kruimelpad erboven valt die 4em bovenmarge te ruim uit (grote
   lege ruimte boven de content). Op alle WooCommerce-pagina's de
   bovenmarge verkleind; ondermarge en niet-Woo pagina's ongemoeid.
============================================================ */
.woocommerce-shop #primary,
.tax-product_cat #primary,
.tax-product_tag #primary,
.post-type-archive-product #primary,
.single-product #primary,
.woocommerce-cart #primary,
.woocommerce-checkout #primary {
  margin-top: 1.5rem !important;
}

/* ============================================================
   V4.8.5 — PRODUCT-ZOEKVELD MET LIVE SUGGESTIES (winkel-toolbar)
   Zoekveld naast de dropdowns; suggesties verschijnen onder het
   veld terwijl je typt. In PK-stijl.
============================================================ */

/* Rechter toolbar-groep mag afbreken als 4 controls niet passen */
.pkh-shop-toolbar-right {
  flex-wrap: wrap !important;
}

.pkh-product-search {
  position: relative !important;
}

.pkh-product-search-form {
  margin: 0 !important;
  display: block !important;
}

.pkh-product-search-input {
  width: 200px !important;
  min-width: 200px !important;
  height: 42px !important;
  margin: 0 !important;
  padding: 6px 14px !important;
  border: 1px solid var(--pk-border) !important;
  border-radius: 0 !important;
  background-color: var(--pk-surface) !important;
  color: var(--pk-text) !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 600 !important;
  line-height: 1.2 !important;
  box-shadow: none !important;
  outline: none !important;
  -webkit-appearance: none !important;
          appearance: none !important;
}

.pkh-product-search-input::placeholder {
  color: var(--pk-muted) !important;
  text-transform: uppercase !important;
  letter-spacing: 0.06em !important;
  opacity: 1 !important;
}

.pkh-product-search-input:focus {
  border-color: var(--pk-red) !important;
  color: var(--pk-text) !important;
  box-shadow: 0 0 0 1px var(--pk-red) inset !important;
}

/* Suggestielijst */
.pkh-product-search-results {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  z-index: 999 !important;
  width: 340px !important;
  max-width: 86vw !important;
  background: var(--pk-surface) !important;
  border: 1px solid var(--pk-border) !important;
  border-top: 3px solid var(--pk-red) !important;
  box-shadow: 0 12px 28px rgba(8,8,8,0.12) !important;
  max-height: 64vh !important;
  overflow-y: auto !important;
}

.pkh-product-search-results[hidden] {
  display: none !important;
}

.pkh-search-item {
  display: flex !important;
  align-items: center !important;
  gap: 0.75rem !important;
  padding: 0.6rem 0.85rem !important;
  border-bottom: 1px solid var(--pk-border) !important;
  text-decoration: none !important;
  border-radius: 0 !important;
}

.pkh-search-item:last-child {
  border-bottom: none !important;
}

.pkh-search-item:hover {
  background: #faf8f5 !important;
}

.pkh-search-thumb {
  flex: 0 0 auto !important;
  width: 46px !important;
  height: 46px !important;
  border: 1px solid var(--pk-border) !important;
  background: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

.pkh-search-thumb img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  display: block !important;
}

.pkh-search-info {
  display: flex !important;
  flex-direction: column !important;
  min-width: 0 !important;
}

.pkh-search-title {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.74rem !important;
  font-weight: 600 !important;
  color: var(--pk-text) !important;
  line-height: 1.3 !important;
}

.pkh-search-price {
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  font-weight: 700 !important;
  color: var(--pk-red) !important;
  margin-top: 2px !important;
}

.pkh-search-empty {
  padding: 0.85rem !important;
  font-family: 'Poppins', sans-serif !important;
  font-size: 0.72rem !important;
  color: var(--pk-muted) !important;
}

/* Mobiel: zoekveld en suggestielijst over volle breedte */
@media (max-width: 921px) {
  .pkh-product-search,
  .pkh-product-search-form,
  .pkh-product-search-input {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  .pkh-product-search-results {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
    right: auto !important;
  }
}

/* ============================================================
   V4.8.6 — WINKEL-TOOLBAR: NETTE VERDELING + RUIMTE BOVENAAN
   - Verborgen producten-header (titel staat al in de hero) nam
     nog verticale ruimte in -> weg, scheelt de extra bovenmarge.
   - Dropdowns + zoekveld smaller (220 -> 170px) zodat alles op
     één regel past en "Resultaat ..." niet meer afbreekt.
============================================================ */

/* Lege WooCommerce producten-header volledig verwijderen */
.woocommerce-products-header {
  display: none !important;
}

.woocommerce-shop .ast-woocommerce-container,
.tax-product_cat .ast-woocommerce-container,
.tax-product_tag .ast-woocommerce-container,
.post-type-archive-product .ast-woocommerce-container {
  padding-top: 0 !important;
}

/* Resultaattekst netjes op één regel, anders gewoon doorlopen */
.pkh-shop-toolbar .woocommerce-result-count {
  line-height: 1.35 !important;
  white-space: normal !important;
}

/* Smallere controls — alleen desktop; mobiel blijft 100% */
@media (min-width: 922px) {
  .pkh-shop-toolbar select,
  .pkh-shop-toolbar .woocommerce-ordering select.orderby,
  .pkh-shop-toolbar .pkh-product-category-filter select,
  .pkh-shop-toolbar .pkh-per-page-select,
  .pkh-product-search-input {
    width: 170px !important;
    min-width: 170px !important;
    max-width: 170px !important;
  }

  .pkh-shop-toolbar-right {
    gap: 0.75rem !important;
  }
}h1:where(.wp-block-heading).has-background,h2:where(.wp-block-heading).has-background,h3:where(.wp-block-heading).has-background,h4:where(.wp-block-heading).has-background,h5:where(.wp-block-heading).has-background,h6:where(.wp-block-heading).has-background{padding:1.25em 2.375em}h1.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h1.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h2.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h2.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h3.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h3.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h4.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h4.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h5.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h5.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]),h6.has-text-align-left[style*=writing-mode]:where([style*=vertical-lr]),h6.has-text-align-right[style*=writing-mode]:where([style*=vertical-rl]){rotate:180deg}.is-small-text{font-size:.875em}.is-regular-text{font-size:1em}.is-large-text{font-size:2.25em}.is-larger-text{font-size:3em}.has-drop-cap:not(:focus):first-letter{float:left;font-size:8.4em;font-style:normal;font-weight:100;line-height:.68;margin:.05em .1em 0 0;text-transform:uppercase}body.rtl .has-drop-cap:not(:focus):first-letter{float:none;margin-left:.1em}p.has-drop-cap.has-background{overflow:hidden}:root :where(p.has-background){padding:1.25em 2.375em}:where(p.has-text-color:not(.has-link-color)) a{color:inherit}p.has-text-align-left[style*="writing-mode:vertical-lr"],p.has-text-align-right[style*="writing-mode:vertical-rl"]{rotate:180deg}