/*
Theme Name: Petio Child
Theme URI: http://www.wpbingosite.com/petio
Author: wpbingo
Description: This is a child theme for Petio
Version: 1.0
Author URI: http://wpbingosite.com
Template: petio
Text Domain: petio-child
*/
/*************** ADD YOUR CUSTOM CSS HERE  ***************/

/* ===== Voertopper (Digital Scratch) ===== */

/* Logo: de 600px-afbeelding niet op volle breedte tonen, anders loopt het menu over twee regels. */
.bwp-header .wpbingoLogo img {
  max-width: 230px;
  height: auto;
}
@media (max-width: 767px) {
  .bwp-header .wpbingoLogo img {
    max-width: 180px;
  }
}

/* Hero: de golf ligt óver het beeld, zodat de hond er netjes achter wegloopt
   (geen recht afgesneden poot of schaduw op het wit). */
.vt-hero > .elementor-shape-bottom {
  z-index: 3;
}
.vt-hero > .elementor-container {
  z-index: 2;
}

/* Vertrouwensblokken: iconen even hoog, titels op één lijn. */
.vt-trust .elementor-icon-box-icon {
  height: 52px;
  display: flex;
  align-items: flex-end;
  justify-content: center;
}
.vt-trust .elementor-icon-box-title {
  margin-top: 12px;
}

/* Hoofdmenu op één regel: thema gebruikt 20px per kant; met 4 items + logo net te breed. */
@media (min-width: 992px) {
  .bwp-header .wpbingo-menu-mobile li.level-0 {
    padding: 0 14px;
  }
}

/* Mobiel: snel naar de producten. */
@media (max-width: 767px) {
  /* Vertrouwensblokken 2x2, alleen icoon + titel. */
  .vt-trust {
    padding-bottom: 10px !important;
  }
  .vt-trust .elementor-icon-box-icon {
    height: 34px;
  }
  .vt-trust .elementor-icon-box-title {
    margin-top: 6px;
  }
  .vt-trust .elementor-icon-box-description {
    display: none;
  }
  .vt-trust.elementor-section
    .elementor-column
    > .elementor-widget-wrap.elementor-element-populated {
    padding: 6px 4px !important;
    margin: 0 !important;
  } /* demo gaf 3 van de 4 blokken 50px ondermarge */
  .vt-trust .elementor-icon-box-title,
  .vt-trust .elementor-icon-box-title a {
    font-size: 15px !important;
    line-height: 1.3;
  }
  .vt-trust .elementor-column {
    min-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
  }
  .vt-trust .elementor-widget {
    margin-bottom: 0 !important;
  }
  .vt-trust .elementor-icon-box-title {
    margin-bottom: 0 !important;
  }
  /* Container had een minimale hoogte uit de demo die over de rijen werd verdeeld. */
  .vt-trust,
  .vt-trust > .elementor-container {
    min-height: 0 !important;
    height: auto !important;
  }
  .vt-trust > .elementor-container {
    flex-wrap: wrap;
    align-content: flex-start;
    align-items: flex-start;
  }
  /* Volgorde mobiel: [Champ-dealer][Vandaag verzonden] / [Persoonlijk advies][Gratis vanaf] */
  .vt-trust > .elementor-container > .elementor-column:nth-child(3) {
    order: 4;
  }
  .vt-trust > .elementor-container > .elementor-column:nth-child(4) {
    order: 3;
  }
  .vt-trust .elementor-icon-box-content {
    margin: 0 !important;
  }
  /* Hero compacter. */
  .vt-hero .elementor-widget-button {
    margin-top: 4px !important;
    margin-bottom: 4px !important;
  }
  .vt-hero .elementor-widget-image img {
    max-width: 86%;
  }
}

/* Geen lege sterren zolang er geen reviews zijn (lege sterren wekken wantrouwen).
   Weghalen zodra er echte, gecontroleerde reviews zijn (zie wetgeving-checklist 3.9). */
.star-rating,
.woocommerce .products .rating,
.bwp-products .rating,
.product-rating,
.products-content .rating,
.products-content .review-count {
  display: none !important;
}

/* Productkaarten: titels altijd 2 regels hoog, zodat kaarten naast elkaar op één lijn staan. */
.products-content h3.product-title {
  line-height: 1.3;
  min-height: 2.6em;
}
@media (max-width: 767px) {
  .products-content h3.product-title,
  .products-content h3.product-title a {
    font-size: 14px !important;
    line-height: 1.3 !important;
  }
}

/* Keuzehulp: fototegels (4 naast elkaar op desktop, 2 op mobiel). Honden zijn transparante
   borstbeelden; de onderrand van de foto valt samen met de onderrand van de tegel. */
.vt-keuze {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  max-width: 1140px;
  margin: 28px auto 0;
}
.vt-keuze__tegel {
  display: block;
  text-align: center;
  color: #1a1a1a;
  text-decoration: none;
}
.vt-keuze__foto {
  display: block;
  position: relative;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 18px;
  background: #feeede;
  transition: background-color 0.25s ease;
}
.vt-keuze__foto img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform-origin: 50% 100%;
  transition: transform 0.3s ease;
}
.vt-keuze__label {
  display: block;
  margin-top: 12px;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.3;
}
.vt-keuze__tegel:hover .vt-keuze__foto {
  background: #fcddbe;
}
.vt-keuze__tegel:hover .vt-keuze__foto img {
  transform: scale(1.04);
}
.vt-keuze__tegel:hover .vt-keuze__label {
  color: #ed6436;
}
.vt-keuze__tegel:focus-visible {
  outline: 3px solid #ed6436;
  outline-offset: 4px;
  border-radius: 18px;
}
.vt-keuze__alles .vt-keuze__foto {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 16px;
  background: #f9942a;
}
.vt-keuze__alles:hover .vt-keuze__foto {
  background: #ed6436;
}
.vt-keuze__alles-tekst {
  color: #ffffff;
  font-size: 22px;
  font-weight: 700;
  line-height: 1.3;
}
@media (max-width: 767px) {
  .vt-keuze {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin-top: 20px;
  }
  .vt-keuze__foto {
    border-radius: 14px;
  }
  .vt-keuze__label {
    margin-top: 8px;
    font-size: 15px;
  }
  .vt-keuze__alles-tekst {
    font-size: 17px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .vt-keuze__foto img,
  .vt-keuze__foto {
    transition: none;
  }
}

/* Advies-blok ("Twijfel je welk voer past?"): brokjesfoto als lage band in plaats van een vierkant,
   zodat het blok in verhouding blijft met de tekst. Bijsnijden, niet uitrekken. */
.vt-advies .elementor-widget-text-editor h2 {
  margin-top: 0;
}
.vt-advies .bwp-image img {
  width: 100%;
  height: 440px;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 1024px) {
  .vt-advies .bwp-image img {
    height: 360px;
  }
}
@media (max-width: 767px) {
  .vt-advies .bwp-image img {
    height: 220px;
  }
}

/* Mini-winkelwagen: geen hoofdletters (leesbaarheid). */
.free-order,
a.go-shop {
  text-transform: none !important;
}

/* Productpagina: één rij met aantal-kiezer (- 1 +) en één duidelijke knop, zelfde vorm als de
   knoppen op de homepage. "Buy Now" staat uit via de thema-optie show-quick-buy. */
.single-product form.cart .variations_button,
.single-product form.cart:not(.variations_form) {
  display: flex !important;
  align-items: stretch;
  gap: 12px;
  flex-wrap: nowrap;
}
.single-product form.cart .quantity {
  display: inline-flex !important;
  align-items: center;
  flex: none;
  position: static !important;
  width: 138px !important;
  height: 54px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 30px !important;
  background: #fff;
}
.single-product form.cart .quantity .minus {
  order: 0;
}
.single-product form.cart .quantity input.qty {
  order: 1;
}
.single-product form.cart .quantity .plus {
  order: 2;
}
.single-product form.cart .quantity .minus,
.single-product form.cart .quantity .plus {
  position: static !important;
  flex: none;
  width: 44px !important;
  height: 52px !important;
  line-height: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  color: #1a1a1a !important;
  font-size: 0 !important; /* Thema toont een icoon via ::before; de tekst (+/-) blijft verborgen. */
  cursor: pointer;
}
.single-product form.cart .quantity .minus::before,
.single-product form.cart .quantity .plus::before {
  font-size: 16px !important;
  line-height: 52px !important;
}
.single-product form.cart .quantity .minus:hover,
.single-product form.cart .quantity .plus:hover {
  color: #ed6436 !important;
}
.single-product form.cart .quantity input.qty {
  width: 48px !important;
  height: 52px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center;
  font-size: 17px !important;
  font-weight: 700;
  -moz-appearance: textfield;
}
.single-product form.cart .quantity input.qty::-webkit-outer-spin-button,
.single-product form.cart .quantity input.qty::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.single-product form.cart .single_add_to_cart_button {
  flex: 1 1 auto;
  width: auto !important;
  height: 54px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: #ed6436 !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 54px !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
}
.single-product form.cart .single_add_to_cart_button:hover {
  background: #1a1a1a !important;
}
.single-product form.cart .single_add_to_cart_button.disabled {
  opacity: 0.5;
}

/* Mini-winkelwagen: Afrekenen is de hoofdknop (oranje), Bekijk winkelwagen secundair (omlijnd). */
.cart-popup .buttons .checkout {
  background: #ed6436 !important;
  border-color: #ed6436 !important;
  color: #fff !important;
}
.cart-popup .buttons .checkout:hover {
  background: #1a1a1a !important;
  border-color: #1a1a1a !important;
}
.cart-popup .buttons .view-cart {
  background: #fff !important;
  border: 1px solid #1a1a1a !important;
  color: #1a1a1a !important;
}
.cart-popup .buttons .view-cart:hover {
  background: #1a1a1a !important;
  color: #fff !important;
}

/* WooCommerce-meldingen ("... is toegevoegd aan je winkelwagen"): gewone zinsopbouw, geen
   Hoofdletters Per Woord of KAPITALEN (thema zet capitalize/uppercase). */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button {
  text-transform: none !important;
  letter-spacing: 0 !important;
}

/* Productpagina: tabbladen Voedingsadvies en Samenstelling (voertopper-core/includes/productinfo.php).
   Tabel zoals op de Champ-site: kopregel in de kleur van de zak, tweede regel licht. */
.vt-tab-kop {
  margin: 0 0 8px;
  font-size: 24px;
}
.vt-tab-intro,
.vt-tab-noot {
  margin: 0 0 16px;
  color: #555;
}
.vt-tab-noot {
  margin-top: 10px;
  font-size: 14px;
}
.vt-voeding {
  --vt-kleur: #ed6436;
  margin: 0 0 18px;
}
.vt-voeding table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 14px;
  overflow: hidden;
  margin: 0;
  font-size: 16px;
}
.vt-voeding th,
.vt-voeding td {
  padding: 12px 14px;
  border: 0 !important;
  text-align: left;
  white-space: nowrap;
}
.vt-voeding--breed .vt-voeding__kop th,
.vt-voeding--breed .vt-voeding__kop td,
.vt-voeding thead th {
  background: var(--vt-kleur);
  color: #fff;
  font-weight: 600;
}
.vt-voeding--breed .vt-voeding__rij th,
.vt-voeding--breed .vt-voeding__rij td {
  background: color-mix(in srgb, var(--vt-kleur) 16%, #fff);
  color: #1a1a1a;
}
.vt-voeding--lijst {
  display: none;
}
.vt-voeding--lijst tbody tr:nth-child(odd) td,
.vt-voeding--raster tbody tr:nth-child(odd) td,
.vt-voeding--raster tbody tr:nth-child(odd) th {
  background: color-mix(in srgb, var(--vt-kleur) 12%, #fff);
}
.vt-voeding--lijst tbody td,
.vt-voeding--raster tbody td,
.vt-voeding--raster tbody th {
  background: #fff;
  color: #1a1a1a;
}
.vt-voeding--raster {
  overflow-x: auto;
  border-radius: 14px;
}
.vt-voeding--raster table {
  min-width: 560px;
}
.vt-voeding--raster tbody th {
  font-weight: 600;
  position: sticky;
  left: 0;
}
.vt-voeding--raster thead th:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
}
.vt-tab-tips {
  margin: 18px 0 0;
  padding-left: 20px;
}
.vt-tab-tips li {
  margin: 4px 0;
}
.vt-samenstelling section {
  margin: 0 0 22px;
}
.vt-samenstelling h3 {
  margin: 0 0 8px;
  font-size: 18px;
}
.vt-waarden {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 32px;
  margin: 0;
  max-width: 720px;
}
.vt-waarden > div {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 0;
  border-bottom: 1px solid #eee;
}
.vt-waarden dt {
  font-weight: 400;
  color: #444;
}
.vt-waarden dd {
  margin: 0;
  font-weight: 600;
  text-align: right;
}
.vt-energie {
  font-size: 18px;
  font-weight: 600;
}
@media (max-width: 767px) {
  .vt-voeding--breed {
    display: none;
  }
  .vt-voeding--lijst {
    display: block;
  }
  .vt-voeding th,
  .vt-voeding td {
    padding: 10px 12px;
    font-size: 15px;
  }
  .vt-waarden {
    grid-template-columns: 1fr;
  }
}

.vt-tab-tips {
  list-style: none;
  padding-left: 0;
}
.vt-tab-tips li {
  position: relative;
  padding-left: 26px;
  color: #1a1a1a;
}
.vt-tab-tips li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: #ed6436;
  font-weight: 700;
}
.vt-waarden dd {
  color: #1a1a1a;
}
.vt-samenstelling p {
  color: #333;
}

/* Paginatitels zoals geschreven (thema zet elke titel in Hoofdletters Per Woord). */
h1.text-title-heading {
  text-transform: none !important;
}

/* Tekstpagina's (voorwaarden, privacy, retourneren, herroepen): leesbaar. Donkere tekst, grotere
   letter, prettige regelbreedte. Niet voor winkelwagen/afrekenen (zelfde sjabloon, moeten breed). */
body.page-id-100069 .entry-content,
body.page-id-3 .entry-content,
body.page-id-14 .entry-content,
body.page-id-100073 .entry-content {
  max-width: 760px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.7;
  color: #333;
}
body.page-id-100069 .entry-content :is(p, li, td),
body.page-id-3 .entry-content :is(p, li, td),
body.page-id-14 .entry-content :is(p, li, td),
body.page-id-100073 .entry-content :is(p, li, td) {
  color: #333;
  font-size: 17px;
  line-height: 1.7;
}
body.page-id-100069 .entry-content h2,
body.page-id-3 .entry-content h2,
body.page-id-14 .entry-content h2,
body.page-id-100073 .entry-content h2 {
  margin: 36px 0 12px;
  font-size: 24px;
  line-height: 1.3;
}
body.page-id-100069 .entry-content :is(ol, ul),
body.page-id-3 .entry-content :is(ol, ul),
body.page-id-14 .entry-content :is(ol, ul) {
  padding-left: 22px;
  margin: 0 0 16px;
}
body.page-id-100069 .entry-content li,
body.page-id-3 .entry-content li,
body.page-id-14 .entry-content li {
  margin: 0 0 8px;
}
body.page-id-100069 .entry-content strong,
body.page-id-3 .entry-content strong,
body.page-id-14 .entry-content strong {
  color: #1a1a1a;
  font-weight: 700;
}
@media (max-width: 767px) {
  body.page-id-100069 .entry-content :is(p, li, td),
  body.page-id-3 .entry-content :is(p, li, td),
  body.page-id-14 .entry-content :is(p, li, td),
  body.page-id-100073 .entry-content :is(p, li, td) {
    font-size: 16px;
  }
  h1.text-title-heading {
    font-size: 34px !important;
    line-height: 1.2;
  }
}

/* Tabel in het privacybeleid: lichte kop, rustige lijnen; op mobiel per rij een kaartje met labels. */
.vt-tabel {
  margin: 12px 0 24px;
}
.vt-tabel table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid #eee !important;
  border-radius: 14px;
  overflow: hidden;
}
.vt-tabel th,
.vt-tabel td {
  padding: 12px 14px !important;
  border: 0 !important;
  border-bottom: 1px solid #eee !important;
  text-align: left;
  vertical-align: top;
  font-size: 15px !important;
  line-height: 1.5 !important;
}
.vt-tabel th {
  background: #feeede;
  color: #1a1a1a;
  font-weight: 700;
}
.vt-tabel tbody tr:last-child td {
  border-bottom: 0 !important;
}
.vt-tabel td:first-child {
  font-weight: 600;
  color: #1a1a1a !important;
}
@media (max-width: 767px) {
  .vt-tabel table,
  .vt-tabel tbody,
  .vt-tabel tr,
  .vt-tabel td {
    display: block;
    width: 100%;
  }
  .vt-tabel table {
    border: 0 !important;
    border-radius: 0;
    overflow: visible;
  }
  .vt-tabel thead {
    display: none;
  }
  .vt-tabel tr {
    margin: 0 0 12px;
    border: 1px solid #eee;
    border-radius: 12px;
    overflow: hidden;
  }
  .vt-tabel td {
    border-bottom: 1px solid #f3f3f3 !important;
    padding: 10px 14px !important;
  }
  .vt-tabel td::before {
    content: attr(data-label);
    display: block;
    font-size: 13px;
    font-weight: 700;
    color: #ed6436;
    text-transform: none;
  }
  .vt-tabel td:first-child {
    background: #feeede;
  }
  .vt-tabel td:first-child::before {
    display: none;
  }
}

/* Herroepformulier (voertopper-core/includes/herroeping.php): labels boven de velden, volle breedte,
   16px (geen inzoomen op iPhone), knop in huisstijl, in een licht kader. */
.vt-herroeping {
  max-width: 560px;
  margin: 24px 0;
  padding: 24px;
  border: 1px solid #eee;
  border-radius: 16px;
  background: #fff;
}
.vt-herroeping .form-row {
  margin: 0 0 18px;
}
.vt-herroeping label {
  display: block;
  margin: 0 0 6px;
  font-weight: 700;
  color: #1a1a1a;
  font-size: 16px;
}
.vt-herroeping input[type="text"],
.vt-herroeping input[type="email"],
.vt-herroeping textarea {
  display: block;
  width: 100% !important;
  padding: 12px 14px !important;
  border: 1px solid #d9d9d9 !important;
  border-radius: 10px !important;
  background: #fff !important;
  font-size: 16px !important;
  line-height: 1.4;
  color: #1a1a1a;
  box-shadow: none !important;
}
.vt-herroeping input:focus,
.vt-herroeping textarea:focus {
  outline: none;
  border-color: #ed6436 !important;
  box-shadow: 0 0 0 3px rgba(237, 100, 54, 0.15) !important;
}
.vt-herroeping .description {
  display: block;
  margin-top: 6px;
  font-size: 14px;
  color: #666;
}
.vt-herroeping button,
.vt-herroeping .button {
  display: inline-block;
  height: 52px;
  padding: 0 28px !important;
  border: 0 !important;
  border-radius: 30px !important;
  background: #ed6436 !important;
  color: #fff !important;
  font-size: 17px !important;
  font-weight: 700 !important;
  line-height: 52px !important;
  text-transform: none !important;
  cursor: pointer;
}
.vt-herroeping button:hover,
.vt-herroeping .button:hover {
  background: #1a1a1a !important;
}
@media (max-width: 767px) {
  .vt-herroeping {
    padding: 18px;
  }
  .vt-herroeping button,
  .vt-herroeping .button {
    width: 100%;
  }
}

/* Modelformulier (Retourneren): rustig kader in de gewone letter, regels blijven te kopiëren. */
body.page-id-14 .entry-content pre {
  margin: 12px 0 24px;
  padding: 20px 22px;
  border: 1px solid #eee;
  border-radius: 14px;
  background: #fffaf5;
  font-family: inherit;
  font-size: 16px;
  line-height: 1.7;
  color: #333;
  white-space: pre-wrap;
  word-break: normal;
}

/* Contactpagina: drie blokken (bellen, mailen, gegevens); bellen valt op, dat is het sterke punt. */
.vt-contact {
  max-width: 1040px;
  margin: 0 auto;
}
.vt-contact__intro {
  max-width: 680px;
  margin: 0 auto 28px;
  text-align: center;
  font-size: 18px;
  line-height: 1.6;
  color: #333;
}
.vt-contact__blokken {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 20px;
}
.vt-contact__blok {
  padding: 26px 24px;
  border: 1px solid #eee;
  border-radius: 18px;
  background: #fff;
}
.vt-contact__blok--bellen {
  background: #feeede;
  border-color: #feeede;
}
.vt-contact__blok h2 {
  margin: 0 0 8px !important;
  font-size: 22px !important;
  line-height: 1.3;
}
.vt-contact__blok p {
  margin: 0 0 14px;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}
.vt-contact__klein {
  font-size: 14px !important;
  color: #666 !important;
  margin: 10px 0 0 !important;
}
.vt-contact__knop {
  display: inline-block;
  padding: 0 22px;
  height: 50px;
  line-height: 50px;
  border-radius: 30px;
  background: #ed6436;
  color: #fff !important;
  font-size: 17px;
  font-weight: 700;
  text-decoration: none;
}
.vt-contact__knop:hover {
  background: #1a1a1a;
}
.vt-contact__knop--licht {
  background: #fff;
  color: #1a1a1a !important;
  border: 1px solid #1a1a1a;
  line-height: 48px;
}
.vt-contact__knop--licht:hover {
  background: #1a1a1a;
  color: #fff !important;
}
.vt-contact__retour {
  margin: 28px 0 0;
  text-align: center;
  font-size: 16px;
  color: #333;
}
@media (max-width: 900px) {
  .vt-contact__blokken {
    grid-template-columns: 1fr;
    gap: 14px;
  }
  .vt-contact__intro {
    font-size: 17px;
    text-align: left;
  }
  .vt-contact__knop {
    display: block;
    text-align: center;
  }
  .vt-contact__retour {
    text-align: left;
  }
}

/* Prijs per kg/liter (voertopper-core/includes/eenheidsprijs.php): eigen regel, rustig. */
.vt-eenheidsprijs {
  display: block;
  margin-top: 4px;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.4;
  color: #666;
}
.products-content .vt-eenheidsprijs {
  font-size: 13px;
  margin-top: 2px;
}

/* Rekenhulp "Wat kost het per dag?" (voertopper-core/includes/kosten-per-dag.php). */
.vt-kosten {
  margin: 18px 0 8px;
  padding: 18px 20px;
  border-radius: 16px;
  background: #feeede;
}
.vt-kosten__kop {
  margin: 0 0 10px;
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
}
.vt-kosten__velden {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin-bottom: 10px;
}
.vt-kosten__velden label {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  font-size: 15px;
  color: #1a1a1a;
}
.vt-kosten__velden select {
  min-width: 120px;
  height: 40px;
  padding: 0 10px;
  border: 1px solid #e3c9ae;
  border-radius: 10px;
  background: #fff;
  font-size: 16px;
}
.vt-kosten__uitkomst {
  margin: 0;
  font-size: 15px;
  line-height: 1.6;
  color: #333;
}
.vt-kosten__uitkomst strong {
  font-size: 17px;
  color: #1a1a1a;
}
.vt-kosten__noot {
  margin: 8px 0 0;
  font-size: 13px;
  color: #6b5a4a;
}

.vt-kosten__velden label {
  white-space: nowrap;
}

/* Productpagina onder de knop: zekerheden en "Bel Berry" (voertopper-core/includes/productpagina-extra.php). */
.vt-zekerheden {
  list-style: none;
  margin: 16px 0 0;
  padding: 0;
}
.vt-zekerheden li {
  position: relative;
  margin: 0 0 6px;
  padding-left: 26px;
  font-size: 15px;
  line-height: 1.5;
  color: #1a1a1a;
}
.vt-zekerheden li::before {
  content: "\2713";
  position: absolute;
  left: 0;
  top: 0;
  color: #ed6436;
  font-weight: 700;
}
.vt-zekerheden a {
  color: #1a1a1a;
  text-decoration: underline;
}
.vt-belberry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin: 12px 0 8px;
  padding: 16px 20px;
  border: 1px solid #eee;
  border-radius: 16px;
  background: #fff;
}
.vt-belberry__tekst p {
  margin: 0;
  font-size: 15px;
  line-height: 1.5;
  color: #333;
}
.vt-belberry__kop {
  margin: 0 0 2px !important;
  font-size: 17px !important;
  font-weight: 700;
  color: #1a1a1a !important;
}
.vt-belberry__knop {
  flex: none;
  display: inline-block;
  height: 46px;
  padding: 0 20px;
  border-radius: 30px;
  background: #1a1a1a;
  color: #fff !important;
  font-size: 16px;
  font-weight: 700;
  line-height: 46px;
  text-decoration: none;
  white-space: nowrap;
}
.vt-belberry__knop:hover {
  background: #ed6436;
}
.vt-belberry__knoppen {
  display: flex;
  flex: none;
  gap: 10px;
}
.vt-belberry__knop--licht {
  background: #fff;
  border: 2px solid #1a1a1a;
  color: #1a1a1a !important;
  line-height: 42px;
}
.vt-belberry__knop--licht:hover {
  background: #fff;
  border-color: #ed6436;
  color: #ed6436 !important;
}
@media (max-width: 767px) {
  .vt-belberry {
    flex-direction: column;
    align-items: stretch;
  }
  .vt-belberry__knoppen {
    flex-direction: column;
  }
  .vt-belberry__knop {
    text-align: center;
  }
}

/* Kop op laptop: logo + menu kregen maar 58% (menu viel naar een tweede regel); rechts staan alleen
   drie icoontjes. Vanaf 992px: links 78%, rechts 22%. */
@media (min-width: 992px) {
  .bwp-header.header-v1 .header-wrapper .header-left {
    flex: 0 0 78%;
    max-width: 78%;
  }
  .bwp-header.header-v1 .header-wrapper .header-right {
    flex: 0 0 22%;
    max-width: 22%;
  }
}

/* Footer: leesbare tekst op donker, betaallogo's rechts in de onderste balk, maker-link. */
.bwp-footer .elementor-widget-text-editor,
.bwp-footer .elementor-widget-text-editor p,
.bwp-footer .elementor-widget-text-editor a,
.bwp-footer .elementor-icon-box-description {
  color: #cfcfcf !important;
}
.bwp-footer .elementor-widget-text-editor a:hover {
  color: #ed6436 !important;
}
.bwp-footer .elementor-icon-box-title,
.bwp-footer .elementor-icon-box-title a {
  color: #fff !important;
}
.bwp-footer .elementor-icon-box-title a:hover {
  color: #ed6436 !important;
}
.vt-betaal {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
}
.vt-betaal img {
  display: block;
  width: 40px;
  height: 30px;
  border-radius: 5px;
  background: #fff;
}
.bwp-footer a[href*="digitalscratch"] {
  text-decoration: underline;
  text-underline-offset: 2px;
}
@media (max-width: 767px) {
  .vt-betaal {
    justify-content: flex-start;
    margin-top: 10px;
  }
}
.bwp-footer .elementor-element-af3a23d img {
  width: 230px !important;
  max-width: 100% !important;
}
/* Adres en telefoon: icoon naast de tekst in plaats van erboven (compacter). */
.bwp-footer .elementor-icon-box-wrapper {
  display: flex !important;
  align-items: center;
  gap: 12px;
  text-align: left !important;
}
.bwp-footer .elementor-icon-box-icon {
  margin: 0 !important;
  flex: none;
}
.bwp-footer .elementor-icon-box-icon .elementor-icon {
  font-size: 20px !important;
}
.bwp-footer .elementor-icon-box-title {
  margin: 0 !important;
}
/* Onderste regel footer: link "Digital Scratch" even groot als de rest; op mobiel op een eigen regel. */
.bwp-footer .elementor-element-da8f10e a {
  font-size: inherit !important;
  font-family: inherit !important;
  line-height: inherit !important;
}
@media (max-width: 767px) {
  .vt-credit-sep {
    display: none;
  }
  .vt-credit {
    display: block;
  }
}
/* Kolomkoppen in de footer wit (ook de tekst-widgets met Klantenservice/Assortiment/Informatie). */
.bwp-footer .elementor-element-d2db834 *,
.bwp-footer .elementor-element-1a34d04 *,
.bwp-footer .elementor-element-f33a16e * {
  color: #fff !important;
}
.bwp-footer .elementor-icon-box-icon {
  margin-right: 4px !important;
}
@media (max-width: 767px) {
  .bwp-footer .elementor-element-d2db834,
  .bwp-footer .elementor-element-1a34d04,
  .bwp-footer .elementor-element-f33a16e {
    margin-bottom: 6px !important;
  }
  .bwp-footer .elementor-element-d2db834 p,
  .bwp-footer .elementor-element-1a34d04 p,
  .bwp-footer .elementor-element-f33a16e p {
    margin: 0 !important;
  }
  .vt-betaal {
    justify-content: center;
  }
  /* ruimte voor de vaste menubalk onderin (mobiel) */
  #bwp-footer {
    padding-bottom: 70px;
  }
}

/* ============================================================
   Bedankpagina en Mijn account (voertopper-core/includes/account.php,
   petio-child/woocommerce/myaccount/dashboard.php)
   ============================================================ */

/* Gedeeld: knoppen en statuslabels */
.woocommerce-order .button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-form-login .button {
  display: inline-block;
  height: auto;
  padding: 12px 22px;
  border: 1px solid #1a1a1a;
  border-radius: 30px;
  background: #1a1a1a;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: none;
  letter-spacing: 0;
  text-decoration: none;
}
.woocommerce-order .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-form-login .button:hover {
  border-color: #ed6436;
  background: #ed6436;
}
.woocommerce-order .button.vt-knop-licht,
.woocommerce-order .button.invoice,
.woocommerce-account .woocommerce-MyAccount-content .button.vt-knop-licht,
.woocommerce-account .woocommerce-MyAccount-content .button.invoice {
  background: #fff;
  color: #1a1a1a !important;
}
.woocommerce-order .button.vt-knop-licht:hover,
.woocommerce-order .button.invoice:hover,
.woocommerce-account .woocommerce-MyAccount-content .button.vt-knop-licht:hover,
.woocommerce-account .woocommerce-MyAccount-content .button.invoice:hover {
  border-color: #ed6436;
  background: #fff;
  color: #ed6436 !important;
}
.vt-status,
.woocommerce-account mark.order-status {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  background: #fdeee4;
  color: #b8461f;
  font-size: 14px;
  font-weight: 700;
  white-space: nowrap;
}
.vt-status--completed {
  background: #e6f4ea;
  color: #1e7a3c;
}
.vt-status--on-hold,
.vt-status--pending {
  background: #fff5d6;
  color: #8a6a00;
}
.vt-status--cancelled,
.vt-status--refunded,
.vt-status--failed {
  background: #f0f0f0;
  color: #555;
}

/* Bedankpagina: alles in één leesbare kolom */
.woocommerce-order-received .woocommerce-order {
  max-width: 860px;
  margin: 0 auto;
}
.vt-bedankt ~ .woocommerce-thankyou-order-received,
.vt-bedankt--betaald ~ .mollie-instructions {
  display: none;
}
.vt-bedankt {
  margin: 40px 0 32px;
  text-align: center;
}
.vt-bedankt__vink {
  display: inline-block;
  width: 64px;
  height: 64px;
  margin-bottom: 16px;
  border-radius: 50%;
  background: #ed6436;
  position: relative;
}
.vt-bedankt__vink::after {
  content: "";
  position: absolute;
  left: 23px;
  top: 14px;
  width: 16px;
  height: 28px;
  border: solid #fff;
  border-width: 0 5px 5px 0;
  transform: rotate(45deg);
}
.vt-bedankt__kop {
  margin: 0 0 10px;
  font-size: 32px;
  line-height: 1.2;
  color: #1a1a1a;
}
.vt-bedankt__tekst {
  max-width: 560px;
  margin: 0 auto;
  font-size: 17px;
  line-height: 1.6;
  color: #333;
}
.vt-stappen-site {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  margin: 32px 0 0;
  padding: 0;
  list-style: none;
  counter-reset: vt-stap;
  text-align: left;
}
.vt-stappen-site li {
  position: relative;
  padding: 20px 20px 20px 64px;
  border-radius: 16px;
  background: #fffaf5;
  counter-increment: vt-stap;
}
.vt-stappen-site li::before {
  content: counter(vt-stap);
  position: absolute;
  left: 20px;
  top: 18px;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  background: #ed6436;
  color: #fff;
  font-weight: 700;
  line-height: 30px;
  text-align: center;
}
.vt-stappen-site strong {
  display: block;
  margin-bottom: 4px;
  font-size: 16px;
  color: #1a1a1a;
}
.vt-stappen-site span {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: #555;
}

/* Kerngegevens (bestelnummer, datum, ...) als rij kaartjes */
.woocommerce-order ul.woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  gap: 12px;
  margin: 0 0 40px;
  padding: 0;
  list-style: none;
}
.woocommerce-order ul.woocommerce-order-overview li {
  margin: 0;
  padding: 14px 16px;
  border: 1px solid #eee !important;
  border-radius: 12px;
  font-size: 13px;
  line-height: 1.4;
  color: #6b6b6b;
  text-align: left;
  float: none;
  width: auto;
}
.woocommerce-order ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 4px;
  font-size: 15px;
  color: #1a1a1a;
  word-break: break-word;
}

/* Besteloverzicht (bedankpagina en "Bestelling bekijken") */
.woocommerce-order-details__title,
.woocommerce-column__title,
.woocommerce-order-received h2,
.woocommerce-view-order .woocommerce-MyAccount-content h2 {
  margin: 0 0 16px;
  font-size: 22px;
  color: #1a1a1a;
}
.woocommerce table.woocommerce-table--order-details {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}
.woocommerce table.woocommerce-table--order-details th,
.woocommerce table.woocommerce-table--order-details td {
  padding: 14px 0;
  border: 0;
  border-bottom: 1px solid #eee;
  background: none;
  font-size: 16px;
  line-height: 1.5;
  color: #1a1a1a;
  vertical-align: middle;
}
.woocommerce table.woocommerce-table--order-details thead th {
  padding-top: 0;
  font-size: 14px;
  font-weight: 400;
  color: #6b6b6b;
}
.woocommerce table.woocommerce-table--order-details .product-total,
.woocommerce table.woocommerce-table--order-details tfoot td {
  text-align: right;
}
.woocommerce table.woocommerce-table--order-details tfoot th {
  font-weight: 400;
}
.woocommerce table.woocommerce-table--order-details tr:has(.vt-totaal) th,
.woocommerce table.woocommerce-table--order-details .vt-totaal {
  font-size: 18px;
  font-weight: 700;
}
.woocommerce table.woocommerce-table--order-details .includes_tax {
  display: block;
  font-size: 13px;
  font-weight: 400;
  color: #6b6b6b;
}
.woocommerce table.woocommerce-table--order-details .product-name a {
  color: #1a1a1a;
  font-weight: 700;
  text-decoration: none;
}
.woocommerce table.woocommerce-table--order-details .product-name a:hover {
  color: #ed6436;
}
.woocommerce table.woocommerce-table--order-details .product-quantity {
  font-weight: 400;
  color: #6b6b6b;
}
.vt-item-foto {
  float: left;
  width: 64px;
  height: 64px;
  margin: 0 16px 0 0;
  border-radius: 10px;
  background: #fff;
  overflow: hidden;
}
.vt-item-foto img {
  width: 64px;
  height: 64px;
  object-fit: contain;
}
.woocommerce-table--order-details ul.wc-item-meta {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
}
.woocommerce-table--order-details ul.wc-item-meta li,
.woocommerce-table--order-details .email-order-item-meta {
  display: block;
  margin: 4px 0 0;
  font-size: 14px;
  color: #6b6b6b;
}
.woocommerce-table--order-details ul.wc-item-meta li strong,
.woocommerce-table--order-details ul.wc-item-meta li p {
  display: inline;
  float: none;
  margin: 0;
  font-weight: 400;
  font-size: 14px;
  color: #6b6b6b;
}
.woocommerce-table--order-details .order-actions--heading {
  vertical-align: middle;
}
.woocommerce-table--order-details .order-actions-button {
  margin: 4px 0 4px 8px;
  padding: 10px 18px;
  font-size: 14px;
}

/* Adressen */
.woocommerce-customer-details {
  margin-top: 40px;
}
.woocommerce .woocommerce-customer-details address,
.woocommerce-account .woocommerce-Address address {
  padding: 20px 24px;
  border: 0;
  border-radius: 16px;
  background: #fffaf5;
  font-size: 15px;
  font-style: normal;
  line-height: 1.6;
  color: #333;
}
.woocommerce .woocommerce-customer-details address p {
  margin: 8px 0 0;
  padding: 0;
  font-size: 15px;
  color: #333;
}
.woocommerce .woocommerce-customer-details address p::before {
  display: none;
}

/* Slot bedankpagina */
.vt-bedankt-slot {
  margin: 40px 0 56px;
}
.vt-bedankt-slot__verder {
  margin: 20px 0 0;
  text-align: center;
}

/* Mijn account: menu */
.woocommerce-account .woocommerce-MyAccount-navigation {
  padding: 0;
  background: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0 0 4px;
  padding: 0;
  border: 0;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block;
  padding: 12px 16px;
  border-radius: 12px;
  color: #1a1a1a;
  font-size: 16px;
  font-weight: 500;
  text-decoration: none;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover {
  background: #fffaf5;
  color: #ed6436;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a {
  background: #fdeee4;
  color: #b8461f;
  font-weight: 700;
}
.woocommerce-account .woocommerce-MyAccount-content {
  font-size: 16px;
  line-height: 1.6;
  color: #333;
}

/* Mijn account: overzicht */
.vt-account-welkom h2 {
  margin: 0 0 4px;
  font-size: 28px;
  color: #1a1a1a;
}
.vt-account-welkom p {
  margin: 0 0 24px;
  color: #555;
}
.vt-account-laatste {
  margin: 0 0 20px;
  padding: 20px 24px;
  border: 1px solid #eee;
  border-radius: 16px;
}
.vt-account-label {
  margin: 0 0 8px;
  font-size: 14px;
  color: #6b6b6b;
}
.vt-account-laatste__rij {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.vt-account-laatste__nr {
  margin: 0;
  font-size: 18px;
  font-weight: 700;
  color: #1a1a1a;
}
.vt-account-laatste__info {
  margin: 2px 0 0;
  font-size: 15px;
  color: #555;
}
.vt-account-laatste__knoppen {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 16px 0 0;
}
.vt-account-tegels {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 12px;
  margin: 0 0 20px;
}
.vt-account-tegel {
  display: block;
  padding: 18px 20px;
  border-radius: 16px;
  background: #fffaf5;
  text-decoration: none;
  transition: background 0.15s;
}
.vt-account-tegel:hover {
  background: #fdeee4;
}
.vt-account-tegel strong {
  display: block;
  margin-bottom: 4px;
  font-size: 17px;
  color: #1a1a1a;
}
.vt-account-tegel span {
  display: block;
  font-size: 14px;
  line-height: 1.5;
  color: #555;
}
.vt-account-uitloggen {
  margin: 16px 0 0;
  font-size: 14px;
  color: #6b6b6b;
}
.vt-account-uitloggen a {
  color: #1a1a1a;
  text-decoration: underline;
}

/* Mijn account: bestellingen */
.woocommerce-account table.woocommerce-orders-table {
  width: 100%;
  border: 0;
  border-collapse: collapse;
}
.woocommerce-account table.woocommerce-orders-table th,
.woocommerce-account table.woocommerce-orders-table td {
  padding: 14px 12px 14px 0;
  border: 0;
  border-bottom: 1px solid #eee;
  background: none;
  font-size: 15px;
  color: #1a1a1a;
  vertical-align: middle;
}
.woocommerce-account table.woocommerce-orders-table thead th {
  padding-top: 0;
  font-size: 14px;
  font-weight: 400;
  color: #6b6b6b;
}
.woocommerce-account table.woocommerce-orders-table a {
  color: #1a1a1a;
  font-weight: 700;
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions {
  text-align: right;
}
.woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
  margin: 3px 0 3px 6px;
  padding: 8px 14px;
  font-size: 14px;
}
.woocommerce-account .woocommerce-orders-table__cell-order-status::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  margin-right: 8px;
  border-radius: 50%;
  background: #ed6436;
  vertical-align: 1px;
}
.woocommerce-account
  .woocommerce-orders-table__row--status-completed
  .woocommerce-orders-table__cell-order-status::before {
  background: #1e7a3c;
}
.woocommerce-account
  .woocommerce-orders-table__row--status-on-hold
  .woocommerce-orders-table__cell-order-status::before,
.woocommerce-account
  .woocommerce-orders-table__row--status-pending
  .woocommerce-orders-table__cell-order-status::before {
  background: #d4a400;
}
.woocommerce-account
  .woocommerce-orders-table__row--status-cancelled
  .woocommerce-orders-table__cell-order-status::before,
.woocommerce-account
  .woocommerce-orders-table__row--status-refunded
  .woocommerce-orders-table__cell-order-status::before,
.woocommerce-account
  .woocommerce-orders-table__row--status-failed
  .woocommerce-orders-table__cell-order-status::before {
  background: #999;
}

/* Mijn account: bestelling bekijken (zin met nummer, datum en status) */
.woocommerce-view-order .woocommerce-MyAccount-content mark {
  padding: 0;
  background: none;
  color: #1a1a1a;
  font-weight: 700;
}
.woocommerce-view-order .woocommerce-MyAccount-content mark.order-status {
  padding: 3px 10px;
  background: #fdeee4;
  color: #b8461f;
}

/* Mijn account: adressen */
.woocommerce-account .woocommerce-Addresses {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after {
  display: none;
}
.woocommerce-account .woocommerce-Addresses .woocommerce-Address {
  float: none;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
  border: 0;
  background: none;
}
.woocommerce-account .woocommerce-Address-title {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  margin: 0 0 10px;
  padding: 0;
  border: 0;
  background: none;
}
.woocommerce-account .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-Address-title h3 {
  margin: 0;
  font-size: 20px;
  color: #1a1a1a;
}
.woocommerce-account .woocommerce-Address-title .edit {
  color: #ed6436;
  font-size: 15px;
  font-weight: 700;
  text-decoration: underline;
}

/* Formulieren (inloggen, gegevens, adressen): ruime velden, werkend oogje bij wachtwoorden */
.woocommerce-account .woocommerce form .form-row input.input-text,
.woocommerce-account .woocommerce form .form-row select,
.woocommerce-account .woocommerce form .form-row textarea {
  width: 100%;
  height: 48px;
  padding: 0 14px;
  border: 1px solid #d9d9d9;
  border-radius: 10px;
  background: #fff;
  font-size: 16px;
  color: #1a1a1a;
}
.woocommerce-account .woocommerce form .form-row input.input-text:focus {
  border-color: #ed6436;
  outline: 2px solid color-mix(in srgb, #ed6436 25%, transparent);
}
.woocommerce-account .woocommerce form .form-row label {
  margin-bottom: 6px;
  font-size: 15px;
  font-weight: 500;
  color: #1a1a1a;
}
.woocommerce form .password-input {
  position: relative;
  display: block;
}
.woocommerce form .password-input input.input-text {
  padding-right: 48px !important;
}
.woocommerce form .show-password-input {
  position: absolute;
  top: 50%;
  right: 12px;
  width: 28px;
  height: 28px;
  margin: 0;
  padding: 0;
  border: 0;
  transform: translateY(-50%);
  cursor: pointer;
}
.woocommerce form .show-password-input::before,
.woocommerce form .show-password-input::after {
  display: none !important;
}
.woocommerce form .show-password-input {
  background-color: #6b6b6b !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.2 1.5 12c1.2 2.8 5 7 10.5 7s9.3-4.2 10.5-7C21.3 9.2 17.5 5 12 5zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9zm0-7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E")
    center / 22px no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 5C6.5 5 2.7 9.2 1.5 12c1.2 2.8 5 7 10.5 7s9.3-4.2 10.5-7C21.3 9.2 17.5 5 12 5zm0 11.5A4.5 4.5 0 1 1 12 7.5a4.5 4.5 0 0 1 0 9zm0-7a2.5 2.5 0 1 0 0 5 2.5 2.5 0 0 0 0-5z'/%3E%3C/svg%3E")
    center / 22px no-repeat;
}
.woocommerce form .show-password-input.display-password {
  background-color: #ed6436 !important;
}
.woocommerce-account .woocommerce fieldset {
  margin: 32px 0 0;
  padding: 0;
  border: 0;
}
.woocommerce-account .woocommerce fieldset legend {
  margin-bottom: 12px;
  font-size: 20px;
  font-weight: 700;
  color: #1a1a1a;
}
.woocommerce-account .woocommerce-EditAccountForm em {
  font-size: 13px;
  font-style: normal;
  color: #6b6b6b;
}

/* Inloggen (uitgelogd): één nette kaart */
.woocommerce-account:not(.logged-in) .woocommerce > h2,
.woocommerce-account:not(.logged-in) .woocommerce-form-login {
  max-width: 460px;
  margin-right: auto;
  margin-left: auto;
}
.woocommerce-account:not(.logged-in) .woocommerce > h2 {
  margin-top: 16px;
  margin-bottom: 12px;
  font-size: 28px;
  color: #1a1a1a;
  text-align: left;
}
.woocommerce-account .woocommerce-form-login {
  padding: 28px;
  border: 1px solid #eee !important;
  border-radius: 16px;
}
.vt-login-intro {
  margin: 0 0 20px;
  font-size: 15px;
  line-height: 1.6;
  color: #555;
}
.woocommerce-account
  .woocommerce-form-login
  .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 16px;
  font-weight: 400;
}
.woocommerce-account .woocommerce-form-login .woocommerce-form-login__submit {
  width: 100%;
  margin: 0;
  padding: 14px 22px;
  font-size: 16px;
}
.woocommerce-account .woocommerce-form-login .lost_password {
  margin: 16px 0 0;
  text-align: center;
}
.woocommerce-account .woocommerce-form-login .lost_password a {
  color: #1a1a1a;
  text-decoration: underline;
}

@media (max-width: 767px) {
  .vt-bedankt {
    margin-top: 24px;
  }
  .vt-bedankt__kop {
    font-size: 26px;
  }
  .vt-stappen-site,
  .vt-account-tegels,
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
  .woocommerce-order ul.woocommerce-order-overview {
    grid-template-columns: 1fr 1fr;
  }
  .woocommerce-order ul.woocommerce-order-overview li.email {
    grid-column: 1 / -1;
  }
  .vt-item-foto {
    width: 48px;
    height: 48px;
    margin-right: 12px;
  }
  .vt-item-foto img {
    width: 48px;
    height: 48px;
  }
  .woocommerce-table--order-details .order-actions-button {
    display: block;
    margin: 6px 0 0;
    text-align: center;
  }
  /* menu als horizontale rij knopjes */
  .woocommerce-account .woocommerce-MyAccount-navigation ul {
    display: flex;
    gap: 6px;
    margin-bottom: 20px;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li {
    flex: none;
    margin: 0;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation ul li a {
    padding: 8px 14px;
    background: #fffaf5;
    font-size: 15px;
    white-space: nowrap;
  }
  .woocommerce-account .woocommerce-form-login {
    padding: 20px;
  }
}

/* Correcties na eerste controle */
.woocommerce-view-order .mollie-instructions,
.woocommerce-order ul.woocommerce-order-overview li.email {
  display: none;
}
.woocommerce-order ul.woocommerce-order-overview {
  grid-template-columns: repeat(4, 1fr);
}
.vt-stappen-site strong {
  font-weight: 700;
}
.woocommerce table.woocommerce-table--order-details thead,
.woocommerce table.woocommerce-table--order-details thead tr,
.woocommerce table.woocommerce-table--order-details thead th {
  border: 0 !important;
  background: none !important;
}
.woocommerce table.woocommerce-table--order-details thead th {
  border-bottom: 1px solid #eee !important;
}
.woocommerce-order .button,
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-form-login .button {
  border-radius: 30px !important;
}
.woocommerce-customer-details .col2-set,
.woocommerce-account .woocommerce-Addresses {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
.woocommerce-customer-details .col2-set::before,
.woocommerce-customer-details .col2-set::after {
  display: none;
}
.woocommerce-customer-details .col2-set > div,
.woocommerce-account .woocommerce-Addresses > div {
  float: none !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce-Address-title {
  background: none !important;
  padding: 0 !important;
}
.woocommerce-account .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-Address-title::after {
  display: none;
}
@media (max-width: 767px) {
  .woocommerce-order ul.woocommerce-order-overview {
    grid-template-columns: 1fr 1fr;
  }
  .woocommerce-customer-details .col2-set,
  .woocommerce-account .woocommerce-Addresses {
    grid-template-columns: 1fr;
  }
}

/* Mobiel: bestellingen als kaartjes, melding met knop, menu zonder kader, foto naast de productregel */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button {
  float: right;
  margin: -6px 0 8px 16px;
  padding: 8px 14px;
  font-size: 14px;
}
.vt-account-laatste__rij {
  flex-wrap: wrap;
}
.woocommerce
  table.woocommerce-table--order-details
  td.product-name:has(.vt-item-foto) {
  position: relative;
  padding-left: 80px;
  min-height: 64px;
}
.woocommerce
  table.woocommerce-table--order-details
  td.product-name
  .vt-item-foto {
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  float: none;
  margin: 0;
}
@media (max-width: 767px) {
  .woocommerce-account .woocommerce-MyAccount-navigation {
    border: 0 !important;
  }
  .woocommerce-account
    .woocommerce-MyAccount-content
    .woocommerce-info
    .button {
    float: none;
    display: table;
    margin: 12px 0 0;
  }
  .woocommerce
    table.woocommerce-table--order-details
    td.product-name:has(.vt-item-foto) {
    padding-left: 60px;
  }
  .woocommerce-account table.woocommerce-orders-table thead {
    display: none;
  }
  .woocommerce-account table.woocommerce-orders-table,
  .woocommerce-account table.woocommerce-orders-table tbody,
  .woocommerce-account table.woocommerce-orders-table tr {
    display: block;
    width: 100%;
  }
  .woocommerce-account table.woocommerce-orders-table tr {
    margin: 0 0 12px;
    padding: 8px 16px;
    border: 1px solid #eee;
    border-radius: 16px;
  }
  .woocommerce-account table.woocommerce-orders-table th,
  .woocommerce-account table.woocommerce-orders-table td {
    display: block;
    padding: 10px 0;
    text-align: right;
  }
  .woocommerce-account table.woocommerce-orders-table tr > :last-child {
    border-bottom: 0;
  }
  .woocommerce-account table.woocommerce-orders-table [data-title]::before {
    content: attr(data-title);
    float: left;
    display: block;
    width: auto;
    height: auto;
    margin: 0;
    border-radius: 0;
    background: none !important;
    color: #6b6b6b;
    font-weight: 400;
    text-align: left;
  }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions {
    display: flex !important;
    flex-wrap: wrap;
    gap: 8px;
    text-align: left;
  }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions::before {
    display: none !important;
  }
  .woocommerce-account .woocommerce-orders-table__cell-order-actions .button {
    margin: 0;
  }
}

/* ============================================================
   Winkel, productpagina, winkelwagen en afrekenen (audit 26-09)
   voertopper-core/includes/winkel.php, petio-child/404.php
   ============================================================ */

/* Winkel: eigen categorieknoppen, geen resultaatteller of weergaveknopjes */
.vt-shop-knoppen {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0 0 24px;
}
.vt-shop-knoppen a {
  padding: 9px 18px;
  border: 1px solid #e5e5e5;
  border-radius: 30px;
  background: #fff;
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  transition:
    border-color 0.15s,
    color 0.15s;
}
.vt-shop-knoppen a:hover {
  border-color: #ed6436;
  color: #ed6436;
}
.vt-shop-knoppen a.is-actief {
  border-color: #1a1a1a;
  background: #1a1a1a;
  color: #fff;
}
.woocommerce-product-subcategorie-content,
.woocommerce-result-count,
.bwp-top-bar ul.display,
.back-to-shop {
  display: none !important;
}
.woocommerce-ordering .pwb-dropdown-toggle {
  text-transform: none;
}

/* Productpagina: geen artikelcode, categorieën en tags voor klanten; beschrijving leesbaar */
.single-product .bwp-single-info .product_meta,
.quickview-container .bwp-single-info .product_meta {
  display: none;
}
.single-product .woocommerce-Tabs-panel--description {
  max-width: 780px;
  margin-right: auto;
  margin-left: auto;
}
.single-product .woocommerce-Tabs-panel--description p,
.single-product .woocommerce-Tabs-panel--description li {
  font-size: 16px;
  line-height: 1.7;
  color: #333;
}
.single-product .woocommerce-Tabs-panel--description ul {
  margin: 0 0 16px;
  padding-left: 20px;
}

/* Winkelwagen en afrekenen (blokken) */
.vt-pagina-kop {
  margin: 32px 0 20px;
  font-size: 32px;
  line-height: 1.2;
  color: #1a1a1a;
}
.wc-block-cart-items__header,
.wc-block-cart-items__header span,
.wc-block-cart__totals-title,
.wp-block-woocommerce-cart .wc-block-cart__totals-title {
  text-transform: none !important;
  letter-spacing: 0 !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  color: #6b6b6b !important;
}
.wc-block-components-button:not(.is-link) {
  border-radius: 30px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  min-height: 52px;
  border: 0 !important;
  background: #ed6436 !important;
  color: #fff !important;
  font-size: 16px !important;
}
.wc-block-cart__submit-button:hover,
.wc-block-components-checkout-place-order-button:hover {
  background: #1a1a1a !important;
}
.wc-block-grid__product .wp-block-button__link,
.wc-block-grid__product .add_to_cart_button {
  padding: 10px 18px !important;
  border-radius: 30px !important;
  background: #1a1a1a !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 700 !important;
  text-transform: none !important;
}
.wc-block-grid__product .wp-block-button__link:hover,
.wc-block-grid__product .add_to_cart_button:hover {
  background: #ed6436 !important;
}
.wc-block-cart__empty-cart__title {
  font-size: 24px !important;
}
.wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots {
  display: none;
}
.vt-gratis-balk {
  max-width: 560px;
  margin: 0 0 24px;
  padding: 14px 18px;
  border-radius: 14px;
  background: #fffaf5;
}
.vt-gratis-balk[hidden] {
  display: none;
}
.vt-gratis-balk__tekst {
  margin: 0 0 8px;
  font-size: 15px;
  color: #1a1a1a;
}
.vt-gratis-balk__spoor {
  height: 8px;
  border-radius: 8px;
  background: #fbe2d3;
  overflow: hidden;
}
.vt-gratis-balk__vulling {
  display: block;
  height: 100%;
  border-radius: 8px;
  background: #ed6436;
  transition: width 0.3s;
}
.vt-gratis-balk.is-gratis .vt-gratis-balk__vulling {
  background: #1e7a3c;
}

/* Wachtwoord vergeten: zelfde kaart als inloggen */
.woocommerce-account .woocommerce-ResetPassword {
  max-width: 460px;
  margin: 16px auto 0;
  padding: 28px;
  border: 1px solid #eee;
  border-radius: 16px;
}
.woocommerce-account .woocommerce-ResetPassword > p:first-child {
  font-size: 15px;
  line-height: 1.6;
  color: #555;
}
.woocommerce-account .woocommerce-ResetPassword .form-row-first {
  float: none;
  width: 100%;
}
.woocommerce-account .woocommerce-ResetPassword .button {
  width: 100%;
  padding: 14px 22px;
  border: 1px solid #1a1a1a;
  border-radius: 30px;
  background: #1a1a1a;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  text-transform: none;
}
.woocommerce-account .woocommerce-ResetPassword .button:hover {
  border-color: #ed6436;
  background: #ed6436;
}

/* 404 */
.error404 .page-title {
  display: none;
}
.vt-404 {
  max-width: 640px;
  margin: 56px auto 72px;
  padding: 0 16px;
  text-align: center;
}
.vt-404__code {
  margin: 0;
  font-size: 88px;
  font-weight: 800;
  line-height: 1;
  color: #ed6436;
}
.vt-404__kop {
  margin: 12px 0 12px;
  font-size: 30px;
  line-height: 1.25;
  color: #1a1a1a;
}
.vt-404__tekst {
  margin: 0 0 24px;
  font-size: 17px;
  line-height: 1.6;
  color: #444;
}
.vt-404__zoeken {
  display: flex;
  gap: 8px;
  max-width: 480px;
  margin: 0 auto 20px;
}
.vt-404__zoeken input[type="search"] {
  flex: 1;
  height: 48px;
  padding: 0 16px;
  border: 1px solid #d9d9d9;
  border-radius: 30px;
  font-size: 16px;
}
.vt-404__zoeken button {
  height: 48px;
  padding: 0 22px;
  border: 0;
  border-radius: 30px;
  background: #1a1a1a;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
}
.vt-404__zoeken button:hover {
  background: #ed6436;
}
.vt-404__knoppen {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin: 0 0 24px;
}
.vt-404__knoppen a {
  padding: 9px 18px;
  border: 1px solid #e5e5e5;
  border-radius: 30px;
  color: #1a1a1a;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
}
.vt-404__knoppen a:hover {
  border-color: #ed6436;
  color: #ed6436;
}
.vt-404__hulp {
  font-size: 15px;
  color: #555;
}
.vt-404__hulp a {
  color: #1a1a1a;
  font-weight: 700;
}

@media (max-width: 767px) {
  .vt-pagina-kop {
    margin-top: 20px;
    font-size: 26px;
  }
  .vt-404__code {
    font-size: 64px;
  }
  .vt-404__kop {
    font-size: 24px;
  }
  .vt-shop-knoppen {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .vt-shop-knoppen a {
    flex: none;
    white-space: nowrap;
  }
}

/* Winkel: sorteerknop op dezelfde hoogte als de categorieknoppen */
@media (min-width: 768px) {
  .vt-shop-knoppen {
    float: left;
  }
  .main-archive-product .content-products-list {
    clear: both;
  }
}

/* Mobiel menu: "Sluiten" zonder hoofdletters, extra links en Bel Berry onderaan */
.bwp-canvas-navigation .remove-megamenu {
  text-transform: none;
}
.vt-menu-extra {
  margin: 20px 0 0;
  padding-top: 20px;
  border-top: 1px solid #eee;
}
.vt-menu-extra ul {
  margin: 0 0 20px;
  padding: 0;
  list-style: none;
}
.vt-menu-extra li a {
  display: block;
  padding: 8px 0 !important;
  border: 0 !important;
  color: #444 !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  text-decoration: none;
}
.vt-menu-extra li {
  border: 0 !important;
}
.vt-menu-extra__vraag {
  margin: 0 0 8px;
  font-size: 15px;
  color: #555;
}
.vt-menu-extra__bel {
  display: block;
  padding: 12px 16px;
  border-radius: 30px;
  background: #1a1a1a;
  color: #fff !important;
  font-size: 15px;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
}

/* Productkaart: het thema zet onderin een leeg wit vakje (voor kleurstaaltjes) dat bij hover over de
   brokjesfoto valt als witte balk. Alleen tonen als er iets in staat. */
.products-thumb .product-attribute:empty {
  display: none !important;
}

/* Productpagina: geen inzoomen bij hover (elevateZoom-laag van het thema). Galerij, miniaturen en de
   vergrootknop blijven werken. */
.single-product .zoomContainer {
  display: none !important;
}
.single-product .image-additional #image,
.single-product .image-additional img {
  cursor: default !important;
}

/* Cookiemelding (voertopper-core/includes/analytics.php): alleen zichtbaar als GA aan staat en er nog
   geen keuze is. Weigeren en Accepteren zijn bewust even groot en even opvallend (AVG). */
.vt-cookie {
  position: fixed;
  left: 20px;
  bottom: 20px;
  z-index: 99999;
  max-width: 420px;
  padding: 20px 22px;
  border: 1px solid #eee;
  border-radius: 16px;
  background: #fff;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
}
.vt-cookie[hidden] {
  display: none;
}
.vt-cookie__kop {
  margin: 0 0 6px;
  font-size: 17px;
  font-weight: 700;
  color: #1a1a1a;
}
.vt-cookie__tekst {
  margin: 0 0 16px;
  font-size: 14px;
  line-height: 1.55;
  color: #444;
}
.vt-cookie__tekst a {
  color: #1a1a1a;
  text-decoration: underline;
}
.vt-cookie__knoppen {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.vt-cookie__knop {
  height: 46px;
  border: 1px solid #1a1a1a;
  border-radius: 30px;
  background: #1a1a1a;
  color: #fff;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
}
.vt-cookie__knop:hover,
.vt-cookie__knop:focus-visible {
  border-color: #ed6436;
  background: #ed6436;
}
/* Link "Cookie-instellingen" in de footer alleen als er iets te kiezen valt. */
body:not(.vt-ga-aan) .vt-cookie-open {
  display: none !important;
}
@media (max-width: 767px) {
  .vt-cookie {
    right: 12px;
    left: 12px;
    bottom: 76px;
    max-width: none;
    padding: 16px 18px;
  }
}

/* Homepage mobiel: header in hero-oranje i.p.v. zwart, zodat het logo voor oranje
   achtergrond (vt-logo-header-oranje.png, zwart "Voer") leesbaar is. 02-10-2026 */
body.home .bwp-header.header-v1 .header-mobile {
  background-color: #f9942a;
}

/* Homepage: logo 1,5x groter (144x43 -> 216x65). Mobiel max 180px breed i.v.m. menu en winkelwagen. 02-10-2026 */
body.home .bwp-header.header-v1 .wpbingoLogo img {
  max-height: 65px;
  max-width: 216px;
}
@media (max-width: 767px) {
  body.home .bwp-header.header-v1 .wpbingoLogo img {
    max-height: 54px;
    max-width: 180px;
  }
}

/* Hero homepage: ruimte onder de afbeelding zodat de golf (shape divider, 60px) niet over
   de bak, poten en zakken valt. 02-10-2026 */
body.home .elementor-section.vt-hero {
  padding-bottom: 48px;
}
@media (max-width: 767px) {
  body.home .elementor-section.vt-hero {
    padding-bottom: 56px;
  }
}
