/** Shopify CDN: Minification failed

Line 480:2 Unexpected "}"

**/
/*
 * Productpagina uit "Productpagina.dc.html".
 * Alles hangt onder .pp, zodat base.css van het thema ongemoeid blijft.
 */

/* De CTA-sectie en de vaste balk staan buiten .pp — een sectie kan nu eenmaal
   niet in een andere sectie staan — maar gebruiken wel dezelfde kleuren. */
.pp,
.pp-cta,
.pp-sticky {
  --pp-sage: oklch(84% 0.065 18);
  --pp-sage-deep: oklch(68% 0.12 18);
  --pp-sage-dark: oklch(38% 0.09 18);
  --pp-cream: oklch(97% 0.014 85);
  --pp-ink: oklch(23% 0.012 60);
  --pp-gray: oklch(45% 0.01 60);
  --pp-line: oklch(88% 0.01 70);
  --pp-panel: oklch(91% 0.028 296);
  --pp-red: oklch(56% 0.17 30);

  background: var(--pp-cream);
  color: var(--pp-ink);
  font-family: 'Baskervville', Georgia, serif;
}

.pp__icon-sm {
  width: 16px;
  height: 16px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
}

.pp__icon-md {
  width: 22px;
  height: 22px;
  stroke: currentColor;
  fill: none;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
  flex: none;
}

.pp__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border-radius: 999px;
  padding: 18px 28px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: 'Baskervville', Georgia, serif;
  font-weight: 400;
  border: 1.5px solid var(--pp-ink);
  background: var(--pp-sage);
  color: var(--pp-ink);
  cursor: pointer;
  transition: transform 0.12s ease, background 0.12s ease;
  white-space: nowrap;
  text-decoration: none;
}

.pp__btn:hover:not([disabled]) {
  background: var(--pp-sage-deep);
  color: var(--pp-ink);
  transform: translateY(-1px);
}

.pp__btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

/* De productpagina brengt zijn eigen aankondigingsbalk én navigatie mee.
   De vaste kop van het thema wordt hier verborgen — die heeft losse tekstlinks
   en een knop die niet bij dit ontwerp horen. Op alle andere pagina's blijft
   de kop van het thema gewoon staan. */
body.template-product .announcement-bar,
body.template-product .site-header {
  display: none;
}

/* De navigatie staat gewoon in de flow, met de roze balk er direct onder. */
.pp-nav .hn-nav {
  position: relative;
  z-index: 55;
}

/* --- Aankondigingsbalk --- */
.pp-announce {
  background: var(--pp-sage);
  color: var(--pp-ink);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 10px 16px;
  font-size: 13px;
  font-weight: 600;
  text-align: center;
  flex-wrap: wrap;
}

/* --- Hoofdblok: galerij en koopkolom --- */
.pp-hero {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 56px;
  max-width: 1280px;
  margin: 0 auto;
  padding: 48px 40px 20px;
}

.pp-hero button:focus-visible,
.pp-hero a:focus-visible,
.pp-hero [tabindex]:focus-visible {
  outline: 2px solid var(--pp-sage-dark);
  outline-offset: 2px;
}

.pp-gallery__main {
  aspect-ratio: 1 / 1;
  border-radius: 6px;
  overflow: hidden;
  background: var(--pp-panel);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.04), 0 12px 30px -14px rgba(60, 40, 30, 0.2);
}

.pp-gallery__main img,
.pp-gallery__main video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pp-gallery__thumbs {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 10px;
  margin-top: 12px;
}

.pp-gallery__thumb {
  aspect-ratio: 1 / 1;
  border-radius: 4px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  opacity: 0.6;
  transition: opacity 0.15s, border-color 0.15s;
  background: var(--pp-panel);
  position: relative;
  padding: 0;
}

.pp-gallery__thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.pp-gallery__thumb.is-active {
  opacity: 1;
  border-color: var(--pp-sage-dark);
}

.pp-buy__rating-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
}

.pp-buy__stars {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  color: var(--pp-sage-dark);
}

.pp-buy__star {
  width: 14px;
  height: 14px;
  fill: currentColor;
  display: block;
}

.pp-buy__rating-text {
  font-size: 13px;
  color: var(--pp-gray);
  font-weight: 600;
}

.pp-buy__title {
  font-size: 36px;
  font-weight: 400;
  margin: 0 0 8px;
  line-height: 1.15;
  font-family: 'Baskervville', Georgia, serif;
  color: var(--pp-ink);
  letter-spacing: normal;
  text-transform: none;
}

.pp-buy__sub {
  font-size: 17px;
  font-style: italic;
  color: var(--pp-gray);
  margin: 0 0 22px;
  line-height: 1.5;
  max-width: 460px;
}

.pp-buy__price-row {
  display: flex;
  align-items: baseline;
  gap: 12px;
  margin-bottom: 6px;
  flex-wrap: wrap;
}

.pp-buy__price-now { font-size: 28px; font-weight: 400; }
.pp-buy__price-was { font-size: 18px; color: var(--pp-gray); text-decoration: line-through; }

.pp-buy__price-badge {
  background: var(--pp-ink);
  color: var(--pp-cream);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 10px;
  border-radius: 999px;
}

.pp-buy__price-note {
  font-size: 13px;
  color: var(--pp-gray);
  margin: 0 0 22px;
}

.pp-buy__bullets {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 26px;
}

/* flex-start in plaats van center: breekt een kernpunt over twee regels, dan
   staat het icoon naast de eerste regel in plaats van halverwege de twee.
   Bij één regel is het verschil een halve pixel, dus verder verandert er niets. */
.pp-buy__bullet {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  font-size: 14.5px;
  line-height: 1.4;
}

.pp-buy__bullet .pp__icon-md { color: var(--pp-sage-dark); }

/* --- Voordeelpakketten --- */
.pp-bundle__label {
  font-size: 13px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--pp-gray);
  margin-bottom: 10px;
}

.pp-bundle__grid {
  display: flex;
  flex-direction: column;
  gap: 10px;
  margin-bottom: 22px;
}

.pp-bundle__card {
  position: relative;
  border: 1.5px solid var(--pp-line);
  border-radius: 16px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  cursor: pointer;
  background: var(--pp-cream);
  transition: border-color 0.15s, background 0.15s;
  width: 100%;
  text-align: left;
  font-family: 'Baskervville', Georgia, serif;
  color: var(--pp-ink);
}

.pp-bundle__card.is-selected {
  border-color: var(--pp-ink);
  border-width: 2px;
  background: var(--pp-panel);
}

.pp-bundle__radio {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  border: 2px solid var(--pp-line);
  flex: none;
  display: flex;
  align-items: center;
  justify-content: center;
}

.pp-bundle__card.is-selected .pp-bundle__radio { border-color: var(--pp-sage-dark); }

.pp-bundle__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--pp-sage-dark);
  display: none;
}

.pp-bundle__card.is-selected .pp-bundle__dot { display: block; }

.pp-bundle__left { display: flex; align-items: center; gap: 14px; }
.pp-bundle__info b { display: block; font-size: 16px; font-weight: 400; }
.pp-bundle__info span { font-size: 12.5px; color: var(--pp-gray); }
.pp-bundle__right { text-align: right; }
.pp-bundle__price-now { font-size: 16px; font-weight: 400; }
.pp-bundle__price-was { font-size: 12.5px; color: var(--pp-gray); text-decoration: line-through; }

.pp-bundle__tag {
  position: absolute;
  top: -11px;
  left: 16px;
  background: var(--pp-ink);
  color: var(--pp-cream);
  font-size: 10.5px;
  font-weight: 400;
  letter-spacing: 0.06em;
  padding: 3px 10px;
  border-radius: 999px;
  text-transform: uppercase;
}

.pp-bundle__tag--best { background: var(--pp-red); }

.pp-bundle__info .pp-bundle__gift {
  font-size: 12px;
  color: var(--pp-sage-dark);
  font-weight: 700;
  margin-top: 4px;
}

/* Besparing: opvallend genoeg om te zien, rustig genoeg om niet te schreeuwen.
   De selector noemt .pp-bundle__info mee, anders wint de algemene regel
   ".pp-bundle__info span" en wordt de tekst grijs in plaats van roze. */
.pp-bundle__info .pp-bundle__save {
  display: inline-block;
  margin-top: 5px;
  padding: 2px 8px;
  border-radius: 999px;
  background: oklch(96% 0.018 18);
  color: var(--pp-sage-dark);
  font-size: 11.5px;
  font-weight: 700;
  letter-spacing: 0.01em;
  width: fit-content;
}
/* --- "Wat ontvang ik?": compacte uitklapregel ONDER de bestelknop --- */
.pp-incl {
  border-top: 1px solid var(--pp-line);
  border-bottom: 1px solid var(--pp-line);
  margin-top: 16px;
}

.pp-incl__summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 13px 2px;
  cursor: pointer;
  list-style: none;
}

/* Het standaard driehoekje van <details> weg; wij tekenen zelf een teken. */
.pp-incl__summary::-webkit-details-marker { display: none; }

.pp-incl__label {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--pp-gray);
}

/* Plusje dat een minnetje wordt zodra het blok openstaat. */
.pp-incl__sign {
  position: relative;
  flex: none;
  width: 11px;
  height: 11px;
  color: var(--pp-gray);
}

.pp-incl__sign::before,
.pp-incl__sign::after {
  content: '';
  position: absolute;
  background: currentColor;
  transition: transform 0.15s ease, opacity 0.15s ease;
}

.pp-incl__sign::before {
  top: 5px;
  left: 0;
  width: 11px;
  height: 1.5px;
}

.pp-incl__sign::after {
  top: 0;
  left: 5px;
  width: 1.5px;
  height: 11px;
}

.pp-incl[open] .pp-incl__sign::after {
  transform: scaleY(0);
  opacity: 0;
}

.pp-incl__list {
  list-style: none;
  margin: 0;
  padding: 0 2px 14px;
  display: flex;
  flex-direction: column;
  gap: 7px;
}

.pp-incl__item {
  display: flex;
  align-items: flex-start;
  gap: 9px;
  font-size: 13.5px;
  line-height: 1.4;
  color: var(--pp-ink);
}

.pp-incl__check {
  flex: none;
  color: var(--pp-sage-dark);
  font-size: 12px;
  line-height: 1.55;
}

.pp-incl__qty {
  font-weight: 700;
}

@media (max-width: 900px) {
  .pp-incl__summary { padding: 12px 2px; }
  .pp-incl__item { font-size: 13px; }
}
  }
}

.pp-buy__scarcity {
  font-size: 12.5px;
  color: var(--pp-sage-dark);
  font-weight: 600;
  margin-bottom: 18px;
  display: flex;
  align-items: center;
  gap: 6px;
}

/* Het gedeelde koopformulier van het thema in de vorm van het ontwerp.
   Het aantalveld blijft in het formulier staan (de pakketkeuze schrijft
   erin), maar is verborgen: het ontwerp toont alleen de knop. */
.pp-hero .qty {
  display: none;
}

.pp-hero .hero__buy {
  display: block;
}

.pp-hero .hero__buy .btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  border-radius: 999px;
  padding: 18px 28px;
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-family: 'Baskervville', Georgia, serif;
  font-weight: 400;
  border: 1.5px solid var(--pp-ink);
  background: var(--pp-sage);
  color: var(--pp-ink);
  cursor: pointer;
  transition: transform 0.12s ease, background 0.12s ease;
}

.pp-hero .hero__buy .btn:hover:not([disabled]) {
  background: var(--pp-sage-deep);
  transform: translateY(-1px);
}

.pp-hero .hero__buy .btn[disabled] {
  opacity: 0.55;
  cursor: not-allowed;
}

.pp-buy__pay-icons {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}

.pp-buy__pay-chip {
  border: 1px solid var(--pp-line);
  border-radius: 999px;
  padding: 6px 11px;
  font-size: 11px;
  font-weight: 700;
  color: var(--pp-gray);
}

.pp-buy__trust-mini {
  display: flex;
  flex-wrap: wrap;
  gap: 14px 22px;
  margin-top: 20px;
  font-size: 12.5px;
  color: var(--pp-gray);
}

.pp-buy__trust-mini span { display: flex; align-items: center; gap: 6px; }

/* --- Balk met drie kernpunten --- */
.pp-usp {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
  max-width: 1000px;
  margin: 20px auto 0;
  padding: 30px 40px;
  text-align: center;
}

.pp-usp__item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.pp-usp__item .pp__icon-md {
  width: 30px;
  height: 30px;
  color: var(--pp-sage-dark);
}

.pp-usp__item span { font-size: 13.5px; font-weight: 700; }

/* --- Gedeelde blokopmaak --- */
.pp-block {
  max-width: 1200px;
  margin: 0 auto;
  padding: 70px 40px;
}

.pp-block--tight { padding-top: 0; }

.pp-block__eyebrow {
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--pp-sage-dark);
  margin-bottom: 10px;
  text-align: center;
}

.pp-block__title {
  font-size: 34px;
  font-weight: 400;
  text-align: center;
  margin: 0 0 44px;
  font-family: 'Baskervville', Georgia, serif;
  color: var(--pp-ink);
  letter-spacing: normal;
  text-transform: none;
}

/* --- Stappen --- */
.pp-steps__row {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 30px;
}

.pp-steps__card { text-align: center; }

.pp-steps__img {
  aspect-ratio: 4 / 3;
  border-radius: 4px;
  background: var(--pp-panel);
  overflow: hidden;
  margin-bottom: 18px;
  border: 6px solid var(--pp-sage-dark);
}

.pp-steps__img img { width: 100%; height: 100%; object-fit: cover; }

.pp-steps__num {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  color: var(--pp-sage-dark);
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: 'Alex Brush', cursive;
  font-size: 26px;
  margin: 0 auto 6px;
}

.pp-steps__card h4 { margin: 0 0 6px; font-size: 16px; font-weight: 400; }
.pp-steps__card p { margin: 0; font-size: 13.5px; color: var(--pp-gray); line-height: 1.55; }

/* --- Voordelen --- */
.pp-benefits__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 22px;
}

.pp-benefits__tile {
  background: var(--pp-cream);
  border: 1.5px solid var(--pp-ink);
  border-radius: 16px;
  padding: 26px 20px;
  text-align: center;
}

.pp-benefits__tile .pp__icon-md {
  width: 30px;
  height: 30px;
  color: var(--pp-sage-dark);
  margin: 0 auto 14px;
}

.pp-benefits__tile h4 { margin: 0 0 6px; font-size: 15px; font-weight: 400; }
.pp-benefits__tile p { margin: 0; font-size: 12.5px; color: var(--pp-gray); line-height: 1.5; }

/* --- Reviews --- */
.pp-reviews__summary {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  margin-bottom: 36px;
  flex-wrap: wrap;
}

.pp-reviews__big-num {
  font-family: 'Alex Brush', cursive;
  font-size: 56px;
  color: var(--pp-sage-dark);
}

.pp-reviews__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 22px;
}

.pp-reviews__card {
  background: var(--pp-cream);
  border: 1.5px solid var(--pp-ink);
  border-radius: 16px;
  padding: 22px;
}

.pp-reviews__stars { color: var(--pp-sage-dark); font-size: 13px; margin-bottom: 8px; }
.pp-reviews__quote { font-size: 14px; line-height: 1.55; margin-bottom: 10px; }
.pp-reviews__by { font-size: 12px; color: var(--pp-gray); font-weight: 700; }

.pp-reviews__note {
  max-width: 640px;
  margin: 30px auto 0;
  text-align: center;
  font-size: 13px;
  font-style: italic;
  color: var(--pp-gray);
}

/* --- FAQ --- */
.pp-faq__list { max-width: 760px; margin: 0 auto; }

.pp-faq__item {
  border-bottom: 1px solid var(--pp-line);
  padding: 18px 0;
}

.pp-faq__q {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 20px;
  font-size: 16px;
  font-weight: 400;
  font-family: 'Baskervville', Georgia, serif;
  cursor: pointer;
  text-align: left;
  color: var(--pp-ink);
  padding: 0;
  list-style: none;
}

.pp-faq__q::-webkit-details-marker { display: none; }

.pp-faq__sign {
  flex: none;
  font-size: 18px;
  line-height: 1;
  transition: transform 0.2s ease;
}

.pp-faq__item[open] .pp-faq__sign { transform: rotate(45deg); }

.pp-faq__a {
  font-size: 14px;
  color: var(--pp-gray);
  line-height: 1.6;
  margin-top: 12px;
  max-width: 760px;
}

.pp-faq__a p { margin: 0 0 10px; }
.pp-faq__a p:last-child { margin-bottom: 0; }

/* --- Garantieblok --- */
.pp-guarantee {
  background: var(--pp-ink);
  color: var(--pp-cream);
  border-radius: 24px;
  max-width: 1200px;
  margin: 0 auto 70px;
  padding: 64px 40px;
  text-align: center;
}

.pp-guarantee h2 {
  font-family: 'Alex Brush', cursive;
  font-size: 40px;
  margin: 0 0 32px;
  font-weight: 400;
  color: var(--pp-cream);
  letter-spacing: normal;
  text-transform: none;
}

/* Blijft beschikbaar voor het geval er ooit tóch een regel onder de kop moet,
   maar staat standaard leeg. */
.pp-guarantee p {
  font-size: 15px;
  opacity: 0.9;
  max-width: 560px;
  margin: -18px auto 32px;
}

/* De knop krijgt bewust dezelfde vulling als de bestelknoppen hoger op de
   pagina, zodat het overal dezelfde knop is. */
.pp-guarantee__note {
  margin-top: 20px;
  font-size: 12.5px;
  opacity: 0.65;
}

@media (max-width: 900px) {
  .pp-hero {
    grid-template-columns: 1fr;
    gap: 26px;
    padding: 24px 20px 10px;
  }

  .pp-announce { font-size: 11.5px; padding: 8px 12px; }
  .pp-buy__title { font-size: 26px; }

  .pp-steps__row,
  .pp-benefits__grid,
  .pp-reviews__grid { grid-template-columns: 1fr; }

  .pp-usp { grid-template-columns: 1fr; gap: 18px; padding: 24px 20px; }
  .pp-block { padding: 50px 20px; }
  .pp-block__title { font-size: 24px; margin-bottom: 30px; }
  .pp-gallery__thumbs { grid-template-columns: repeat(4, 1fr); }
  .pp-guarantee { padding: 46px 22px; border-radius: 16px; }
  .pp-guarantee h2 { font-size: 34px; margin-bottom: 26px; }
  .pp-guarantee__btn { width: 100%; }
  .pp-guarantee__note { margin-top: 16px; }
}

/* --- Tweede koopmoment, na de vergelijking --- */
.pp-cta {
  padding: 64px 20px 72px;
  text-align: center;
}

.pp-cta__inner {
  max-width: 600px;
  margin: 0 auto;
}

.pp-cta__eyebrow {
  font-size: 12px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--pp-gray);
  margin-bottom: 14px;
}

.pp-cta__title {
  font-family: 'Baskervville', Georgia, serif;
  font-size: 34px;
  font-weight: 400;
  line-height: 1.15;
  margin: 0 0 14px;
  text-wrap: balance;
}

.pp-cta__text {
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--pp-gray);
  margin: 0;
  text-wrap: balance;
}

/* De knop staat alleen in deze rij — geen prijs ernaast — dus geen gap die
   een leeg vak zou achterlaten. De ruimte eromheen is bewust gelijk boven
   en onder de knop. */
.pp-cta__action {
  display: flex;
  justify-content: center;
  margin: 32px 0;
}

.pp-cta__note {
  font-size: 12.5px;
  color: var(--pp-gray);
}

/* --- Vaste bestelbalk onderaan (telefoon) --- */
.pp-sticky {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90; /* onder de winkelwagen (150), boven de pagina-inhoud */
  background: var(--pp-cream);
  border-top: 1px solid var(--pp-line);
  box-shadow: 0 -6px 20px rgba(0, 0, 0, 0.08);
  transform: translateY(110%);
  transition: transform 0.22s ease;

  /* Ruimte voor de balk van de telefoon zelf (iPhone-streepje). */
  padding-bottom: env(safe-area-inset-bottom, 0px);
}

.pp-sticky.is-visible {
  transform: translateY(0);
}

/* Staat de winkelwagen open, dan schuift de balk weg: hij zou over de
   afrekenknop heen vallen. */
body:has(#CartDrawer.is-open) .pp-sticky {
  transform: translateY(110%);
}

.pp-sticky__inner {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 16px;
  max-width: 600px;
  margin: 0 auto;
}

.pp-sticky__info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}

.pp-sticky__name {
  font-size: 13px;
  color: var(--pp-gray);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pp-sticky__price {
  font-family: 'Baskervville', Georgia, serif;
  font-size: 19px;
  color: var(--pp-ink);
}

.pp-sticky__btn {
  flex: 1 1 auto;
  padding: 14px 18px;
  font-size: 13px;
  letter-spacing: 0.06em;
}

/* Zolang de balk staat, krijgt de pagina onderaan extra ruimte. Anders valt
   de balk over de laatste regels van de footer heen. */
body:has(.pp-sticky.is-visible) {
  padding-bottom: 72px;
}

/* Breed scherm: geen vaste balk. Daar staat de koopkolom naast de foto's en
   is er halverwege de pagina al een CTA-sectie; een balk erbij zou alleen
   maar ruimte innemen. */
@media (min-width: 901px) {
  .pp-sticky {
    display: none;
  }

  body:has(.pp-sticky.is-visible) {
    padding-bottom: 0;
  }
}

@media (max-width: 900px) {
  .pp-cta {
    padding: 48px 20px 52px;
  }

  .pp-cta__title { font-size: 27px; }
  .pp-cta__text { font-size: 14.5px; }

  .pp-cta__action { margin: 26px 0; }

  .pp-cta__btn { width: 100%; }
}

@media (prefers-reduced-motion: reduce) {
  .pp__btn,
  .pp-gallery__thumb,
  .pp-bundle__card,
  .pp-faq__sign { transition: none; }

  .pp-sticky { transition: none; }
}
