.elementor-2247 .elementor-element.elementor-element-8819dec{--display:flex;--flex-direction:row;--container-widget-width:initial;--container-widget-height:100%;--container-widget-flex-grow:1;--container-widget-align-self:stretch;--flex-wrap-mobile:wrap;--gap:0px 0px;--row-gap:0px;--column-gap:0px;}.elementor-2247 .elementor-element.elementor-element-8819dec:not(.elementor-motion-effects-element-type-background), .elementor-2247 .elementor-element.elementor-element-8819dec > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:#F3F3F3;}.elementor-2247 .elementor-element.elementor-element-8819dec.e-con{--flex-grow:0;--flex-shrink:0;}.elementor-2247 .elementor-element.elementor-element-88938b3{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2247 .elementor-element.elementor-element-fa518ea{--spacer-size:20px;}.elementor-2247 .elementor-element.elementor-element-c27af9b{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;border-style:none;border-radius:15px 15px 15px 15px;}.elementor-2247 .elementor-element.elementor-element-c27af9b.elementor-element{--align-self:center;}.woocommerce .elementor-2247 .elementor-element.elementor-element-c27af9b .woocommerce-product-gallery__trigger + .woocommerce-product-gallery__wrapper,
					.woocommerce .elementor-2247 .elementor-element.elementor-element-c27af9b .flex-viewport{border-radius:5px 5px 5px 5px;}.woocommerce .elementor-2247 .elementor-element.elementor-element-c27af9b .flex-control-thumbs img{border-radius:5px 5px 5px 5px;}.elementor-2247 .elementor-element.elementor-element-7604cce{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-2247 .elementor-element.elementor-element-d797e43{--display:flex;}.elementor-2247 .elementor-element.elementor-element-13395d8 .cart button, .elementor-2247 .elementor-element.elementor-element-13395d8 .cart .button{transition:all 0.2s;}.elementor-2247 .elementor-element.elementor-element-13395d8 .quantity .qty{transition:all 0.2s;}@media(min-width:768px){.elementor-2247 .elementor-element.elementor-element-88938b3{--width:50%;}.elementor-2247 .elementor-element.elementor-element-7604cce{--width:50%;}}/* Start custom CSS for woocommerce-product-images, class: .elementor-element-c27af9b *//* Maak de witte rand rondom de productafbeelding rond */
.woocommerce div.product div.images,
.woocommerce div.product div.images img {
    border-radius: 24px !important; /* pas aan naar wens */
    overflow: hidden !important;
}

/* Optional: zorg dat de zoom-icon en badge netjes afgerond blijven */
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper {
    border-radius: 24px !important;
    overflow: hidden !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-e94bb91 */.revivy-premium {
  background: #ffffff;
  border-radius: 18px;
  padding: 20px 18px 22px;
  box-shadow: 0 8px 18px rgba(0,0,0,0.04);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  margin: 24px 0;
  max-width: 1100px;
  margin-left: auto;
  margin-right: auto;
}

.revivy-premium h2 {
  font-size: 1.4rem;
  margin-bottom: 6px;
  text-align: left;
}

.revivy-premium-subtitle {
  font-size: 0.95rem;
  color: #5f6470;
  margin-bottom: 14px;
}

/* ---------- CARROUSEL OP ALLE DEVICES ---------- */
.revivy-premium-grid {
  display: flex;
  overflow-x: auto;
  gap: 14px;
  padding-bottom: 8px;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scroll-behavior: smooth;
}

.revivy-premium-grid::-webkit-scrollbar {
  height: 0; /* scrollbar verbergen */
}

/* basis kaart */
.revivy-premium-item {
  background: #f8f9ff;
  border-radius: 14px;
  padding: 10px 10px 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;

  scroll-snap-align: start;
  flex: 0 0 80%;        /* mobiel: 1 kaart + beetje van de volgende */
}

.revivy-premium-icon {
  width: 200px;              /* veel groter icoon */
  height: 200px;
  border-radius: 18px;      /* zachte afgeronde hoeken */
  background: #ffffff;
  padding: 6px;
  object-fit: cover;        /* mooi vullend, geen gekke randen */
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.06);
  margin-bottom: 4px;       /* klein beetje ruimte onder het icoon */
}


.revivy-premium-item h3 {
  font-size: 0.9rem;
  margin: 0;
}

.revivy-premium-item p {
  font-size: 0.8rem;
  color: #6b7080;
  margin: 0;
}

/* Tablet / desktop: 2 + halve kaart in beeld */
@media (min-width: 768px) {
  .revivy-premium {
    padding: 24px 24px 26px;
  }

  .revivy-premium h2 {
    font-size: 1.6rem;
  }

  .revivy-premium-subtitle {
    font-size: 1rem;
    margin-bottom: 18px;
  }

  .revivy-premium-item {
    flex: 0 0 45%;      /* ongeveer 2 volle + stukje 3e */
    padding: 12px 12px 14px;
  }

  .revivy-premium-item h3 {
    font-size: 0.95rem;
  }

  .revivy-premium-item p {
    font-size: 0.85rem;
  }
}

@media (min-width: 1100px) {
  .revivy-premium-item {
    flex: 0 0 42%;      /* iets smaller, nog steeds 2 + halve zichtbaar */
  }
}

/* ---------- PAGINATION DOTS ---------- */

.revivy-pagination {
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
}

.revivy-pagination span {
  width: 8px;
  height: 8px;
  border-radius: 999px;
  background: #d1d5db;
  transition: background 0.25s ease, transform 0.25s ease;
}

.revivy-pagination span.active {
  background: #2165f5;
  transform: scale(1.4);
}

/* hint tekst */
.revivy-swipe-hint {
  text-align: center;
  font-size: 0.8rem;
  color: #9ca3af;
  margin-top: 6px;
}
/* Fix: dots altijd klikbaar */
.revivy-pagination {
  position: relative;
  z-index: 5;
  pointer-events: auto;
}

.revivy-premium-grid {
  position: relative;
  z-index: 1;
}

/* Zorg dat niets erboven hangt */
.revivy-premium {
  position: relative;
}
/* -------------------------------------------------- */
/*   MODERNE ARROWS (alleen desktop/tablet)           */
/* -------------------------------------------------- */

.revivy-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;

  width: 42px;
  height: 42px;
  border-radius: 999px;

  background: #ffffff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.12);

  border: none;
  cursor: pointer;

  font-size: 24px;
  font-weight: 500;
  color: #111;

  display: flex;
  justify-content: center;
  align-items: center;

  transition: background 0.2s, transform 0.2s;
}

/* Hover effect */
.revivy-arrow:hover {
  background: #f0f0f0;
  transform: translateY(-50%) scale(1.05);
}

/* Verborgen op mobiel */
@media (max-width: 767px) {
  .revivy-arrow {
    display: none;
  }
}

/* Posities */
.revivy-arrow-prev {
  left: -20px; /* iets naar buiten zodat het mooi oogt */
}

.revivy-arrow-next {
  right: -20px;
}
/* -------------------------------------------------- */
/*   MODERNE REVIVY ORANJE ARROWS                    */
/* -------------------------------------------------- */

.revivy-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 20;

  width: 44px;
  height: 44px;
  border-radius: 999px;

  background: #FF7A00;                /* Revivy oranje */
  border: none;
  cursor: pointer;

  font-size: 26px;
  font-weight: 600;
  color: #ffffff;                     /* witte pijl */
  line-height: 1;

  display: flex;
  justify-content: center;
  align-items: center;

  box-shadow: 0 6px 18px rgba(255, 122, 0, 0.35); /* oranje glow */
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
}

/* Hover: iets fellere oranje + groter */
.revivy-arrow:hover {
  background: #ff8f26;
  transform: translateY(-50%) scale(1.1);
  box-shadow: 0 8px 22px rgba(255, 122, 0, 0.45);
}

/* Verborgen op mobiel */
@media (max-width: 767px) {
  .revivy-arrow {
    display: none;
  }
}

/* Positie links en rechts */
.revivy-arrow-prev {
  left: -22px;
}

.revivy-arrow-next {
  right: -22px;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-a423d60 *//* Achtergrond achter de 3 stappen (sectie) */
.revivy-product-steps {
  background: #f3f4f6;          /* lichtgrijs zoals Simpel */
  padding: 24px 0 32px;
}

/* Iedere kolom met class "revivy-step-box" -> witte kaart */
.revivy-step-box {
  background: #ffffff;
  border-radius: 32px;
  padding: 20px 22px 22px;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.08);
  border: 1px solid rgba(148, 163, 184, 0.08);
}

/* Header (1 / 2 / 3 + titel + tekst) binnen het blok */
.revivy-step-box .rv-step-header {
  margin-bottom: 14px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.revivy-step-box .rv-step-number {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: #2563EB;
  color: #ffffff;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 4px;
}

.revivy-step-box .rv-step-header h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 700;
  color: #111827;
}

.revivy-step-box .rv-step-header p {
  margin: 0;
  font-size: 14px;
  color: #4b5563;
}

/* Opties (kleur / betaling / bundel) in het blok */
.revivy-step-box .rv-option-group {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.revivy-step-box .rv-option-card {
  width: 100%;
  border-radius: 24px;
  border: 1px solid #e5e7eb;
  background: #f9fafb;
  padding: 14px 16px;
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  text-align: left;
  box-shadow: 0 2px 4px rgba(15, 23, 42, 0.04);
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    transform 0.1s ease,
    background 0.15s ease;
}

.revivy-step-box .rv-option-card:hover {
  box-shadow: 0 4px 10px rgba(15, 23, 42, 0.10);
  transform: translateY(-1px);
}

/* Geselecteerde optie */
.revivy-step-box .rv-option-card.is-active {
  border-color: #22c55e;
  background: #ecfdf3;
  box-shadow: 0 0 0 1px rgba(34, 197, 94, 0.18);
}

.revivy-step-box .rv-option-copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.revivy-step-box .rv-option-title {
  font-size: 15px;
  font-weight: 600;
  color: #111827;
}

.revivy-step-box .rv-option-sub {
  font-size: 13px;
  color: #6b7280;
}

/* Kleur-dotjes (stap 1) */
.revivy-step-box .rv-option-dot {
  width: 24px;
  height: 24px;
  border-radius: 999px;
  border: 2px solid #e5e7eb;
  flex-shrink: 0;
}

.revivy-step-box .rv-dot-dark {
  background: #020617;
}

.revivy-step-box .rv-dot-silver {
  background: linear-gradient(135deg, #e5e7eb, #9ca3af);
}

/* Badge 'Meest gekozen' bij bundel */
.revivy-step-box .rv-option-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  background: #2563EB;
  color: #ffffff;
  margin-bottom: 4px;
}

/* Mobiel iets compacter */
@media (max-width: 600px) {
  .revivy-step-box {
    padding: 16px 14px 18px;
    border-radius: 24px;
  }

  .revivy-step-box .rv-step-header h2 {
    font-size: 18px;
  }

  .revivy-step-box .rv-option-card {
    padding: 10px 12px;
  }
}
/* ===== NIEUWE ACTIEVE KLEUR (ORANJE) ===== */
.revivy-step-box .rv-option-card.is-active {
  border-color: #f97316 !important;
  background: #f97316 !important;
  box-shadow: 0 0 0 1px rgba(249, 115, 22, 0.25) !important;
  color: #ffffff !important;
}

/* Titel binnen actief blok wit */
.revivy-step-box .rv-option-card.is-active .rv-option-title {
  color: #ffffff !important;
}

/* Subtekst iets lichter wit */
.revivy-step-box .rv-option-card.is-active .rv-option-sub {
  color: rgba(255, 255, 255, 0.85) !important;
}

/* Kleur-bolletjes zichtbaar houden op oranje */
.revivy-step-box .rv-option-card.is-active .rv-option-dot {
  border-color: rgba(255, 255, 255, 0.5) !important;
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-ff0266d *//* Extra ruimte boven volgende stappen */
.rv-step-header--spacing {
  margin-top: 22px;
}

/* Badge op een bundeloptie: "Meest gekozen" */
.rv-option-tag {
  display: inline-block;
  font-size: 11px;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 999px;
  background: #2563EB;      /* Revivy blauw */
  color: #ffffff;
  margin-bottom: 4px;
}
/* WooCommerce meldingen compacter & ronder op mobiel */
@media (max-width: 768px) {
  body.woocommerce-cart .woocommerce-message,
  body.woocommerce-cart .woocommerce-error,
  body.woocommerce-cart .woocommerce-info,
  body.woocommerce-checkout .woocommerce-message,
  body.woocommerce-checkout .woocommerce-error,
  body.woocommerce-checkout .woocommerce-info {
    border-radius: 999px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    line-height: 1.3 !important;
  }

  body.woocommerce-cart .woocommerce-message .button,
  body.woocommerce-checkout .woocommerce-message .button {
    border-radius: 999px !important;
    padding: 8px 14px !important;
    font-size: 14px !important;
    white-space: nowrap !important;
  }
}
/* WooCommerce meldingen goed passend maken op mobiel */
@media (max-width: 768px) {

  /* Wrapper van de melding zelf */
  .woocommerce-notices-wrapper,
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    display: flex !important;
    flex-direction: column !important; /* Onder elkaar zetten */
    align-items: flex-start !important;
    border-radius: 18px !important;
    padding: 12px 16px !important;
    font-size: 14px !important;
    line-height: 1.4 !important;
    gap: 10px !important; /* ruimte tussen tekst en knop */
  }

  /* Fix tekst (mag afbreken & meeschalen) */
  .woocommerce-message:before,
  .woocommerce-info:before,
  .woocommerce-error:before {
    margin-top: 0 !important;
  }

  /* Fix binnenkant tekst zodat hij nooit te breed wordt */
  .woocommerce-message,
  .woocommerce-info,
  .woocommerce-error {
    word-break: break-word !important;
    white-space: normal !important;
  }

  /* De knop "Verder winkelen" */
  .woocommerce-message .button,
  .woocommerce-info .button,
  .woocommerce-error .button {
    width: 100% !important; /* volledige breedte op mobiel */
    text-align: center !important;
    border-radius: 14px !important;
    padding: 10px 14px !important;
    font-size: 14px !important;
    white-space: normal !important; /* breekt daardoor netjes af */
    line-height: 1.3 !important;
    box-sizing: border-box !important;
  }
}/* End custom CSS */
/* Start custom CSS for html, class: .elementor-element-29f8fa9 *//* === SUMMARY WRAPPER === */
.rv-summary-wrap {
  background: #2563EB;
  padding: 24px;
  border-radius: 18px;
  color: #ffffff;
  font-family: system-ui, sans-serif;
  box-shadow: 0 4px 10px rgba(0,0,0,0.08);
}

/* Titel */
.rv-summary-wrap h2 {
  margin: 0 0 16px;
  font-size: 24px;
  font-weight: 700;
  color: #ffffff;
}

/* Card */
.rv-summary-card {
  background: #ffffff;
  border-radius: 16px;
  padding: 18px 20px;
  color: #111827;
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
}

/* Lijsten */
.rv-summary-list,
.rv-summary-included {
  margin: 0;
  padding-left: 20px; /* bullet spacing */
}

.rv-summary-list li,
.rv-summary-included li {
  margin-bottom: 6px;
  font-size: 15px;
}

/* Subtitel */
.rv-summary-subtitle {
  margin: 18px 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: #111827;
}

/* CTA-button */
.rv-summary-btn {
  display: block;
  margin-top: 20px;
  text-align: center;
  background: #f97316;
  color: #ffffff !important;
  padding: 12px 20px;
  border-radius: 12px;
  font-weight: 600;
  font-size: 16px;
  text-decoration: none;
  transition: 0.2s ease;
}

.rv-summary-btn:hover {
  filter: brightness(0.92);
}
.rv-summary-bundle-note {
  display: block;
  font-size: 13px;
  color: #4b5563;
  margin-top: 2px;
}/* End custom CSS */
/* Start custom CSS for container, class: .elementor-element-d797e43 *//* Verberg Woo variaties + standaard add to cart volledig */
.variations_form,
form.variations_form,
form.cart .variations,
form.cart .single_add_to_cart_button,
form.cart table.variations,
form.cart .woocommerce-variation,
form.cart .woocommerce-variation-add-to-cart {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    opacity: 0 !important;
}

/* Laat ALLEEN de hidden velden bestaan (Woo heeft ze nodig) */
form.cart input[type="hidden"],
form.variations_form input[type="hidden"] {
    display: block !important;
    visibility: hidden !important;
    height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}/* End custom CSS */