/* === Structure / layout / resets (move out of Elementor) === */

/* Sitemap: list reset + spacing */
.pf-sitemap,
.pf-sitemap ul,
.pf-sitemap li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pf-sitemap li { margin-bottom: 6px; }
.pf-sitemap ul { margin-top: 6px; }

/* Links: behavior (non-brand) */
.pf-sitemap a { text-decoration: none; }
.pf-sitemap a:hover { opacity: 1; transition-duration: 0.3s; }

/* Lists block */
.ff-list-block ul { list-style-type: none; padding: 0; margin: 0; }
.ff-list-block ul li { padding: 15px; background-color: #f0f0f0; margin-bottom: 10px; }
.ff-list-block ul li:last-child { border-bottom: 0; }

/* Figure captions */
figcaption.widget-image-caption.wp-caption-text {
  text-align: left;
  background: #fff;
  font-size: 14px;
  font-style: normal;
  padding: 5px 15px;
  border-radius: 5px;
  margin-top: 15px;
}
.wp-caption img { border-radius: 5px; }

/* Woo stock / cart */
.outofstock .quantity { display: none; }
.elementor-add-to-cart p.stock { display: none; }

/* Page specific */
.page-id-11162 .ff-stage-image-container { min-height: 250px; }
.page-id-10857 .ff-nieuwsbrief-module { display: none; }

/* Quicklinks */
.ff-quicklinks a {
  background: #F0F0F0;
  padding: 8px 12px;
  border-radius: 5px;
  display: inline-block;
  float: left;
  margin-right: 10px;
  margin-bottom: 10px;
}
.ff-quicklinks a:hover {
  transition-duration: 0.3s;
  background: #FF7676;
}

/* Zelfpluk circles layout */
.ff-zelfpluk-cirkels .elementor-shortcode {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  overflow: visible;
  margin-left: -15px;
}
.ff-zelfpluk-cirkels .ff-label-circle {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  display: inline-block;
  flex-shrink: 0;
  box-sizing: border-box;
}

/* Loop nothing found */
.e-loop-nothing-found-message__text {
  background-color: #F0F0F0;
  padding: 20px;
  border-radius: 5px;
}

/* Product price typography (structure + size; leave font/color in Elementor if you prefer) */
.ff-product-prijs {
  font-family: peridot-pe-variable, sans-serif;
  font-variation-settings: 'wdth' 70, 'wght' 600 !important;
  font-size: 20px;
}

/* Boxes */
.ff-pluk-en-bewaartips { background-color: #f0f0f0; border-radius: 5px; }
.ff-pluktips, .ff-bewaartips { text-align: center; }

/* Labels structure */
.ff-label,
.ff-label-detail {
  border-radius: 25px;
  font-size: 14px;
  display: inline-block;
}
.ff-label { padding: 5px 20px; margin-right: 5px; }
.ff-label-detail { padding: 5px 20px; margin: 5px 5px 5px 0; }

/* Circle labels */
.ff-label-circle {
  display: inline-block;
  width: 20px;
  height: 20px;
  border-radius: 50%;
  margin-right: 5px;
  border: 1px solid #000;
}

/* Month pills */
.month {
  display: inline-block;
  padding: 10px;
  min-width: 50px;
  text-align: center;
  margin: 5px 10px 5px 0;
  background-color: #ededed;
  border-radius: 5px;
  transition: 0.3s;
  font-size: 14px;
  color: #B6B6B6;
}
.month.active { background-color: #7fffd4; color: #000; }

/* Transparency utility */
.ff-transparency { filter: grayscale(80%); opacity: 0.5; }

/* Anchors */
:target { scroll-margin-top: 100px; }

/* Misc */
.ff-floating-button-scroll { z-index: 999; }
.ff-prijs-en-voorraad p.price,
.ff-prijs-en-voorraad p.stock { margin-block-end: 0; }

.ff-menu-links p { margin-block-end: 0; }
.e-off-canvas__content { margin-top: 15px; }
.woocommerce-additional-fields h3 { display: none; }

.e--pointer-background .elementor-item:before { border-radius: 5px; }
.elementor-carousel-image { border-radius: 5px; }

.ff-container { margin-top: 40px; margin-bottom: 40px; }
.ff-rounded { padding: 40px 20px; border-radius: 5px; }
.ff-p-no-margin p { margin-bottom: 0; }
span.elementor-field-option { margin-bottom: 7px; }

.ff-offcanvas-content h2 { margin-bottom: 30px; margin-top: 30px; }

/* Shadows */
.ff-shadow, .sub-menu {
  box-shadow: 0 0 2px rgba(0,0,0,0.1), 0 1px 0 rgba(0,0,0,0.15), 0 0 6px rgba(0,0,0,0.1);
}
.ff-shadow-hover:hover {
  box-shadow: 0 0 2px rgba(0,0,0,0.1), 0 1px 0 rgba(0,0,0,0.15), 0 0 6px rgba(0,0,0,0.1);
}

/* Content spacing */
h2.wp-block-heading { margin: 30px 0; }
.elementor-widget-theme-post-content p a { text-decoration: underline !important; }
.standaard-bericht-inhoud p { margin-block-end: 1.2em; }
.standaard-bericht-inhoud h1, h2, h3 { margin-block-start: 0.6em; }

/* Headings sizing + hyphenation */
h3 { word-break: break-word; hyphens: auto; }
h1 { font-size: 52px; }
h2 { font-size: 42px; }
h3 { font-size: 32px; }

/* Menu cart padding by breakpoint */
@media (min-width: 1024px) {
  a#elementor-menu-cart__toggle_button { padding: 8px 15px 0 0; }
}
@media (max-width: 767px) {
  a#elementor-menu-cart__toggle_button { padding: 2px 10px 0 0; }
}
@media (min-width: 768px) and (max-width: 1023px) {
  a#elementor-menu-cart__toggle_button {
    padding-top: 4px;
    padding-bottom: 0;
    padding-right: 12px;
  }
}
