/* ==========================================================================
   eSIMexpress — Feastie skin
   --------------------------------------------------------------------------
   Pure presentatielaag bovenop de bestaande widgets. Verandert GEEN markup,
   teksten, afbeeldingen of SEO: alleen kleuren, typografie, vormen en
   ritme. Alles hangt onder body.ceb-feastie, zodat de laag met één
   instelling aan/uit kan (Instellingen → eSIMexpress → Design).

   Palet (Feastie x eSIMexpress):
     paars-diep  #3A1560  hero's, footer, "in het kort"
     paars       #4F217B  koppen, randen, ink
     plum        #2A1240  body-tekst
     crème       #FBF7F8  pagina-achtergrond
     zand        #F6F0E8  alternerende secties
     lime        #D3E797  accenten, highlight-woorden op paars
     lavendel    #E9E6FB  chips, zachte vlakken
     oranje      #EE5F0F  ENKEL koopknoppen / primaire CTA
   ========================================================================== */

body.ceb-feastie {
	--fx-purple-deep: #3A1560;
	--fx-purple: #4F217B;
	--fx-purple-2: #6B3A9A;
	--fx-plum: #2A1240;
	--fx-muted: #6E5A80;
	--fx-muted-2: #8A7A99;
	--fx-cream: #FBF7F8;
	--fx-sand: #F6F0E8;
	--fx-sand-2: #F1EAE0;
	--fx-white: #FFFFFF;
	--fx-lime: #D3E797;
	--fx-lime-soft: #EAF5C4;
	--fx-lime-ink: #3A1560;
	--fx-lav: #E9E6FB;
	--fx-lav-2: #CDCFF6;
	--fx-lav-3: #F1EAF7;
	--fx-pink: #FFAAF0;
	--fx-sky: #5A97C4;
	--fx-orange: #EE5F0F;
	--fx-orange-d: #D9530A;
	--fx-orange-dd: #C44308;
	--fx-orange-50: #FFF1E8;
	--fx-success: #4E8A2E;
	--fx-success-50: #EEF6DC;
	--fx-border: #E8DFEE;
	--fx-border-2: rgba(79, 33, 123, .14);
	--fx-font-display: "Bricolage Grotesque", "Hanken Grotesk", system-ui, sans-serif;
	--fx-font-text: "Hanken Grotesk", system-ui, -apple-system, "Segoe UI", sans-serif;
	--fx-r-sm: 10px;
	--fx-r-md: 14px;
	--fx-r-lg: 20px;
	--fx-r-xl: 28px;
	--fx-r-2xl: 40px;
	--fx-shadow-card: 0 1px 2px rgba(58, 21, 96, .04), 0 6px 20px rgba(58, 21, 96, .06);
	--fx-shadow-hover: 0 2px 4px rgba(58, 21, 96, .06), 0 14px 34px rgba(58, 21, 96, .10);
	--fx-shadow-raised: 0 18px 50px -12px rgba(42, 18, 64, .28);
	--fx-shadow-cta: 0 12px 26px -10px rgba(238, 95, 15, .55);

	background: var(--fx-cream) !important;
	color: var(--fx-plum);
	font-family: var(--fx-font-text);
	-webkit-font-smoothing: antialiased;
}

/* --------------------------------------------------------------------------
   1. Token-remap per bestaande scope. Hiermee kleuren alle widgets die de
      oude variabelen gebruiken automatisch mee.
   -------------------------------------------------------------------------- */
body.ceb-feastie,
body.ceb-feastie .ep-v2,
body.ceb-feastie .v3-scope,
body.ceb-feastie .lp-scope,
body.ceb-feastie .he-scope,
body.ceb-feastie .cf-scope,
body.ceb-feastie .lp-cart-page,
body.ceb-feastie .thx-page,
body.ceb-feastie .checkout-page {
	--orange: var(--fx-orange);
	--orange-dark: var(--fx-orange-d);
	--orange-light: #FFD3B8;
	--orange-50: var(--fx-orange-50);
	--ink: var(--fx-purple);
	--ink-2: var(--fx-plum);
	--ink-3: var(--fx-muted);
	--ink-4: var(--fx-muted-2);
	--success: var(--fx-success);
	--surface: var(--fx-white);
	--surface-2: var(--fx-cream);
	--surface-3: var(--fx-lav-3);
	--border: var(--fx-border);
	--border-2: var(--fx-border);
	--shadow-xs: 0 1px 2px rgba(58, 21, 96, .05);
	--shadow-sm: var(--fx-shadow-card);
	--shadow: var(--fx-shadow-hover);
	--shadow-orange: var(--fx-shadow-cta);

	/* widgets.css (ep-*) */
	--esim-primary: var(--fx-orange);
	--esim-primary-dark: var(--fx-orange-d);
	--esim-accent: var(--fx-purple);
	--esim-dark: var(--fx-purple);
	--esim-gray: var(--fx-muted);
	--esim-light: var(--fx-cream);
	--esim-light-bg: var(--fx-cream);
	--esim-white: #FFFFFF;
	--esim-border: var(--fx-border);
	--esim-primary-light: var(--fx-orange-50);
	--esim-primary-border: #FFD3B8;
	--esim-primary-ring: rgba(90, 151, 196, .35);
	--esim-primary-glow: rgba(238, 95, 15, .15);
	--esim-radius-lg: var(--fx-r-lg);
	--esim-font: var(--fx-font-text);
	--esim-radius: var(--fx-r-lg);
	--esim-radius-sm: var(--fx-r-sm);
	--esim-shadow: var(--fx-shadow-card);
	--esim-shadow-lg: var(--fx-shadow-hover);
	--esim-hero-bg: var(--fx-cream);
	--esim-cta-bg: var(--fx-lav);
	--or: var(--fx-orange);
	--or-d: var(--fx-orange-d);
	--or-g: rgba(238, 95, 15, .10);
	--nv: var(--fx-purple);
	--nv-m: var(--fx-plum);
	--mu: var(--fx-muted);
	--bg: var(--fx-cream);
	--bg2: var(--fx-sand);
	--bd: var(--fx-border);
	--sh: var(--fx-shadow-card);
	--sh-lg: var(--fx-shadow-hover);
	--ceb-c-dark: var(--fx-purple);
	--ceb-c-gray: var(--fx-muted);
	--ceb-c-light: var(--fx-cream);
	--ceb-c-border: var(--fx-border);
	--ceb-c-green: var(--fx-success);
	--ceb-c-green-bg: var(--fx-success-50);
}

/* Per-widget kleurinstellingen (inline op .ceb-color-wrap) naar merkoranje. */
body.ceb-feastie .ceb-color-wrap {
	--ceb-primary: #EE5F0F !important;
	--ceb-primary-dark: #D9530A !important;
	--ceb-accent: #4F217B !important;
}

/* --------------------------------------------------------------------------
   2. Typografie
   -------------------------------------------------------------------------- */
body.ceb-feastie,
body.ceb-feastie p,
body.ceb-feastie li,
body.ceb-feastie input,
body.ceb-feastie select,
body.ceb-feastie textarea,
body.ceb-feastie button,
body.ceb-feastie .elementor-widget-container {
	font-family: var(--fx-font-text);
}

body.ceb-feastie :is(h1, h2, h3, h4):not(.fxd *),
body.ceb-feastie .section-title,
body.ceb-feastie .p-title,
body.ceb-feastie .ep-h2,
body.ceb-feastie .he-section-head h2,
body.ceb-feastie [class*="-title"]:is(h1, h2, h3) {
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	letter-spacing: -0.022em;
	color: var(--fx-purple);
}

/* Accentwoorden in koppen: oranje is voor knoppen, dus hier paars met een
   lime markeerstift — de Feastie "sticker"-highlight. */
body.ceb-feastie :is(h1, h2, h3):not(.fxd *) :is(.accent, .hl, em, .highlight) {
	color: inherit !important;
	-webkit-text-fill-color: currentColor;
	font-style: normal;
	background: linear-gradient(180deg, transparent 58%, var(--fx-lime) 58%, var(--fx-lime) 92%, transparent 92%);
	padding: 0 .08em;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}

body.ceb-feastie a:not(.fxd *) { color: var(--fx-purple); }
body.ceb-feastie a:not(.fxd *):hover { color: var(--fx-orange-d); }

body.ceb-feastie ::selection { background: var(--fx-lime); color: var(--fx-purple-deep); }

/* Kicker/eyebrow-labels → lavendel/lime chip-stijl */
body.ceb-feastie .section-tag,
body.ceb-feastie .he-section-eyebrow,
body.ceb-feastie .ep-tag,
body.ceb-feastie .newsletter-eyebrow {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	background: var(--fx-lime-soft) !important;
	color: var(--fx-purple-deep) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 5px 12px !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 700 !important;
	font-size: 12.5px !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
}
body.ceb-feastie .section-tag::before,
body.ceb-feastie .he-section-eyebrow::before { background: var(--fx-purple) !important; }

/* --------------------------------------------------------------------------
   3. Knoppen — oranje is uitsluitend voor kopen / primaire actie.
   -------------------------------------------------------------------------- */
body.ceb-feastie .btn-buy,
body.ceb-feastie .ep-cta-btn,
body.ceb-feastie .ep-btn-primary,
body.ceb-feastie .ceb-btn-primary,
body.ceb-feastie .he-btn-primary,
body.ceb-feastie .v3-btn-primary,
body.ceb-feastie .lp-btn-primary,
body.ceb-feastie .newsletter-submit,
body.ceb-feastie .checkout-button,
body.ceb-feastie .wc-proceed-to-checkout .button,
body.ceb-feastie #place_order,
body.ceb-feastie .single_add_to_cart_button {
	background: var(--fx-orange) !important;
	background-image: none !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: var(--fx-shadow-cta) !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	transition: background .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
body.ceb-feastie .btn-buy:hover,
body.ceb-feastie .ep-cta-btn:hover,
body.ceb-feastie .ep-btn-primary:hover,
body.ceb-feastie .ceb-btn-primary:hover,
body.ceb-feastie .he-btn-primary:hover,
body.ceb-feastie .v3-btn-primary:hover,
body.ceb-feastie .lp-btn-primary:hover,
body.ceb-feastie .newsletter-submit:hover,
body.ceb-feastie .checkout-button:hover,
body.ceb-feastie .wc-proceed-to-checkout .button:hover,
body.ceb-feastie #place_order:hover {
	background: var(--fx-orange-d) !important;
	color: #fff !important;
	transform: translateY(-1px);
}
body.ceb-feastie .btn-buy:active,
body.ceb-feastie .ep-cta-btn:active { transform: scale(.98); }

/* Secundaire knoppen: paarse outline-pill */
body.ceb-feastie .ep-btn-secondary,
body.ceb-feastie .he-btn-secondary,
body.ceb-feastie .v3-btn-secondary,
body.ceb-feastie .lp-btn-secondary,
body.ceb-feastie .btn-ghost {
	background: #fff !important;
	color: var(--fx-purple) !important;
	border: 2px solid var(--fx-purple) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-weight: 700 !important;
}
body.ceb-feastie .ep-btn-secondary:hover,
body.ceb-feastie .he-btn-secondary:hover,
body.ceb-feastie .v3-btn-secondary:hover,
body.ceb-feastie .lp-btn-secondary:hover,
body.ceb-feastie .btn-ghost:hover {
	background: var(--fx-purple) !important;
	color: #fff !important;
}

/* Focus zichtbaar en in merkstijl */
body.ceb-feastie a:focus-visible,
body.ceb-feastie button:focus-visible,
body.ceb-feastie input:focus-visible,
body.ceb-feastie textarea:focus-visible,
body.ceb-feastie select:focus-visible {
	outline: 3px solid var(--fx-sky) !important;
	outline-offset: 2px !important;
}

/* --------------------------------------------------------------------------
   4. Site-header + aankondigingsbalk
   -------------------------------------------------------------------------- */
body.ceb-feastie .ceb-site-header {
	background: #fff !important;
	border-bottom: 1px solid var(--fx-border) !important;
	box-shadow: none !important;
}
body.ceb-feastie .ceb-sh-topbar {
	background: var(--fx-lav-2) !important;
	color: var(--fx-purple-deep) !important;
}
body.ceb-feastie .ceb-sh-topbar-text {
	color: var(--fx-purple-deep) !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 700 !important;
	letter-spacing: .01em;
}
body.ceb-feastie .ceb-sh-topbar-close { color: var(--fx-purple-deep) !important; background: transparent !important; border: 0 !important; }
body.ceb-feastie .ceb-sh-nav a {
	color: var(--fx-purple) !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 600 !important;
	font-size: 14.5px !important;
}
body.ceb-feastie .ceb-sh-nav a:hover { color: var(--fx-orange-d) !important; }
body.ceb-feastie .ceb-sh-nav a::after { background: var(--fx-orange) !important; }
body.ceb-feastie .ceb-sh-cart { color: var(--fx-purple) !important; }
body.ceb-feastie .ceb-sh-btn--ghost {
	color: var(--fx-purple) !important;
	background: transparent !important;
	border: 0 !important;
	font-weight: 600 !important;
}
body.ceb-feastie .ceb-sh-btn--primary,
body.ceb-feastie .ceb-sh-drawer-cta {
	background: var(--fx-orange) !important;
	color: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	font-weight: 700 !important;
}
body.ceb-feastie .ceb-sh-btn--primary:hover,
body.ceb-feastie .ceb-sh-drawer-cta:hover { background: var(--fx-orange-d) !important; color: #fff !important; }
body.ceb-feastie .ceb-sh-burger-bar { background: var(--fx-purple) !important; }
body.ceb-feastie .ceb-sh-drawer { background: var(--fx-cream) !important; }
body.ceb-feastie .ceb-sh-drawer-title { font-family: var(--fx-font-display) !important; font-weight: 800 !important; color: var(--fx-purple) !important; }
body.ceb-feastie .ceb-sh-drawer-nav a { color: var(--fx-purple) !important; font-weight: 700 !important; }
body.ceb-feastie .ceb-sh-drawer-sep { background: var(--fx-border) !important; }
body.ceb-feastie .ceb-sh-backdrop { background: rgba(42, 18, 64, .45) !important; }

/* Oude Elementor-header (ep-nav) — alleen zichtbaar waar de site-header ontbreekt */
body.ceb-feastie .ep-nav { background: #fff !important; border-bottom: 1px solid var(--fx-border) !important; }
body.ceb-feastie .ep-nav-logo { font-family: var(--fx-font-display) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .ep-nav-links a { color: var(--fx-purple) !important; font-weight: 600 !important; }
body.ceb-feastie .ep-nav-cta { background: var(--fx-orange) !important; color: #fff !important; border-radius: 999px !important; }

/* --------------------------------------------------------------------------
   5. Footer — paars-diep blok
   -------------------------------------------------------------------------- */
body.ceb-feastie .ep-footer {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	background: var(--fx-purple-deep) !important;
	color: #E6D8F3 !important;
	border-top: 0 !important;
}
body.ceb-feastie .ep-footer,
body.ceb-feastie .ep-footer p,
body.ceb-feastie .ep-footer li,
body.ceb-feastie .ep-footer span,
body.ceb-feastie .ep-footer-desc { color: #E6D8F3 !important; }
body.ceb-feastie .ep-footer a { color: #fff !important; opacity: 1 !important; }
body.ceb-feastie .ep-footer-col a { color: #E6D8F3 !important; }
body.ceb-feastie .ep-footer-col a:hover { color: var(--fx-lime) !important; }
body.ceb-feastie .ep-footer a:hover { color: var(--fx-lime) !important; }
body.ceb-feastie .ep-footer h3,
body.ceb-feastie .ep-footer h4,
body.ceb-feastie .ep-footer-col h4,
body.ceb-feastie .ep-footer-col strong {
	color: #fff !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 800 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}
body.ceb-feastie .ep-footer-logo,
body.ceb-feastie .ep-footer-logo * {
	color: #fff !important;
	-webkit-text-fill-color: currentColor !important;
	background: none !important;
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
}
body.ceb-feastie .ep-footer-logo span { color: var(--fx-lime) !important; }
body.ceb-feastie .ep-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .14) !important;
	color: #CDBBE0 !important;
}
body.ceb-feastie .ep-footer-bottom * { color: #CDBBE0 !important; }
body.ceb-feastie .ep-footer img[alt*="logo" i] { filter: none; }
body.ceb-feastie .ep-footer-app-title { color: #fff !important; }
body.ceb-feastie .ep-footer .ep-footer-app-soon { background: #4A2370 !important; border-color: #6B4A8C !important; color: #EBDDF7 !important; }

/* Zwevende support-widget (ceb-sw) */
body.ceb-feastie .ceb-sw__fab {
	background: var(--fx-purple) !important;
	box-shadow: 0 10px 24px -8px rgba(58, 21, 96, .5) !important;
	border-radius: 999px !important;
}
body.ceb-feastie .ceb-sw__fab::before,
body.ceb-feastie .ceb-sw__fab::after { border-color: rgba(79, 33, 123, .25) !important; background: transparent !important; }
body.ceb-feastie .ceb-sw__panel { border-radius: var(--fx-r-xl) !important; }
body.ceb-feastie .ceb-sw__header { background: var(--fx-purple-deep) !important; }
body.ceb-feastie .ceb-sw__welcome-heading { font-family: var(--fx-font-display) !important; color: var(--fx-purple) !important; }

/* --------------------------------------------------------------------------
   6. PRODUCTPAGINA (/esim-{land}/) — product-page-v2.css
   -------------------------------------------------------------------------- */
body.ceb-feastie .ep-v2 { background: transparent; color: var(--fx-plum); font-family: var(--fx-font-text); }

/* 6a. Breadcrumb op de paarse band */
body.ceb-feastie .ep-v2 .breadcrumb {
	background: var(--fx-purple-deep) !important;
	border: 0 !important;
	color: #D9C6EC !important;
	margin: 0 !important;
}
body.ceb-feastie .ep-v2 .breadcrumb a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
body.ceb-feastie .ep-v2 .breadcrumb a:hover { color: var(--fx-lime) !important; }
body.ceb-feastie .ep-v2 .breadcrumb b { color: #D9C6EC !important; font-weight: 600 !important; }
body.ceb-feastie .ep-v2 .breadcrumb .sep { color: #B7A0D0 !important; opacity: 1 !important; }

/* Paarse band loopt door tot de schermrand, ook als de Elementor-container
   smaller is. overflow-x: clip voorkomt een horizontale scrollbalk zonder
   de sticky header te breken (clip maakt geen scroll-container). */
html:has(body.ceb-feastie) { overflow-x: clip; }
body.ceb-feastie .ep-v2 .breadcrumb,
body.ceb-feastie .ep-v2 .p-hero {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}

/* 6b. Hero: volledige paarse band met ronde onderkant */
body.ceb-feastie .ep-v2 .p-hero {
	background: var(--fx-purple-deep) !important;
	border-radius: 0 0 var(--fx-r-2xl) var(--fx-r-2xl);
	padding-bottom: 64px !important;
	color: #fff;
	overflow: visible;
}
body.ceb-feastie .ep-v2 .p-hero::before,
body.ceb-feastie .ep-v2 .p-hero::after { display: none !important; }

/* Foto met lime kader, licht gekanteld (Feastie "sticker"-frame) */
body.ceb-feastie .ep-v2 .p-gallery { z-index: 1; }
body.ceb-feastie .ep-v2 .p-photo-main {
	position: relative;
	border-radius: var(--fx-r-lg) !important;
	overflow: visible !important;
	box-shadow: none !important;
	isolation: isolate;
}
body.ceb-feastie .ep-v2 .p-photo-main::before {
	content: "";
	position: absolute;
	inset: 18px -18px -18px 18px;
	border: 12px solid var(--fx-lime);
	border-radius: var(--fx-r-xl);
	transform: rotate(3deg);
	z-index: -1;
	pointer-events: none;
}
body.ceb-feastie .ep-v2 .p-photo-main .photo-bg,
body.ceb-feastie .ep-v2 .p-photo-main > img,
body.ceb-feastie .ep-v2 .p-photo-main.has-image::after { border-radius: var(--fx-r-lg) !important; }
body.ceb-feastie .ep-v2 .p-photo-main .photo-bg { overflow: hidden; }
/* De roze kleurwaas over de foto weg: echte foto, heldere kleuren */
body.ceb-feastie .ep-v2 .p-photo-main.has-image::after {
	background: linear-gradient(180deg, transparent 55%, rgba(42, 18, 64, .55) 100%) !important;
	mix-blend-mode: normal !important;
	opacity: 1 !important;
}
body.ceb-feastie .ep-v2 .p-photo-flag {
	border: 3px solid #fff !important;
	box-shadow: 0 6px 16px rgba(42, 18, 64, .25) !important;
}
body.ceb-feastie .ep-v2 .p-photo-meta .city {
	color: var(--fx-lime) !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 800 !important;
	letter-spacing: .08em !important;
}
body.ceb-feastie .ep-v2 .p-photo-meta .name {
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	color: #fff !important;
}

/* Netwerkkaarten onder de foto */
body.ceb-feastie .ep-v2 .network-item {
	background: rgba(255, 255, 255, .08) !important;
	border: 1px solid rgba(255, 255, 255, .16) !important;
	border-radius: var(--fx-r-md) !important;
	box-shadow: none !important;
}
body.ceb-feastie .ep-v2 .network-item:hover { border-color: var(--fx-lime) !important; }
body.ceb-feastie .ep-v2 .network-item b { color: #fff !important; }
body.ceb-feastie .ep-v2 .network-item span { color: #D9C6EC !important; }
body.ceb-feastie .ep-v2 .network-item .net-dot { background: var(--fx-lime) !important; }
body.ceb-feastie .ep-v2 .network-item .net-dot::after { border-color: var(--fx-lime) !important; background: transparent !important; }
body.ceb-feastie .ep-v2 .network-item .net-bars span { background: var(--fx-lime) !important; }

/* Tags boven de titel */
body.ceb-feastie .ep-v2 .p-tag {
	border-radius: 999px !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 700 !important;
	box-shadow: none !important;
}
body.ceb-feastie .ep-v2 .p-tag.flag-tag { background: #fff !important; color: var(--fx-purple) !important; border: 0 !important; }
body.ceb-feastie .ep-v2 .p-tag.dot { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .ep-v2 .p-tag.dot::before { background: var(--fx-purple-deep) !important; }
body.ceb-feastie .ep-v2 .p-tag.hot { background: var(--fx-pink) !important; color: var(--fx-purple-deep) !important; }

/* Titel: wit, met lime highlight op "vanaf €…" */
body.ceb-feastie .ep-v2 .p-title {
	color: #fff !important;
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	letter-spacing: -0.025em !important;
	line-height: 1.02 !important;
}
body.ceb-feastie .ep-v2 .p-title .marker { color: var(--fx-lime) !important; }
body.ceb-feastie .ep-v2 .p-title .marker svg { display: none !important; }
body.ceb-feastie .ep-v2 .p-sub { color: #EBDDF7 !important; }

/* Rating-rij */
body.ceb-feastie .ep-v2 .p-rating { border-color: rgba(255, 255, 255, .16) !important; }
body.ceb-feastie .ep-v2 .p-rating .num { color: #fff !important; font-family: var(--fx-font-display) !important; }
body.ceb-feastie .ep-v2 .p-rating .info,
body.ceb-feastie .ep-v2 .p-rating .info a { color: #EBDDF7 !important; }
body.ceb-feastie .ep-v2 .p-rating .info b { color: #fff !important; }
body.ceb-feastie .ep-v2 .p-rating .live { color: #D9C6EC !important; }
body.ceb-feastie .ep-v2 .p-rating .live .pulse { background: var(--fx-lime) !important; }
body.ceb-feastie .ep-v2 .p-rating .stars svg,
body.ceb-feastie .ep-v2 .p-rating .stars * { color: var(--fx-lime) !important; fill: var(--fx-lime) !important; }

/* Toggle Standaard / Onbeperkt: lavendel pill op wit */
body.ceb-feastie .ep-v2 .plan-toggle {
	background: rgba(255, 255, 255, .10) !important;
	border: 1px solid rgba(255, 255, 255, .18) !important;
	border-radius: 999px !important;
	padding: 5px !important;
}
body.ceb-feastie .ep-v2 .plan-toggle::before {
	background: #fff !important;
	border-radius: 999px !important;
	box-shadow: 0 4px 12px rgba(42, 18, 64, .25) !important;
}
body.ceb-feastie .ep-v2 .plan-toggle button {
	color: #EBDDF7 !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 700 !important;
	background: transparent !important;
	border-radius: 999px !important;
}
body.ceb-feastie .ep-v2 .plan-toggle button.active { color: var(--fx-purple) !important; }
body.ceb-feastie .ep-v2 .plan-toggle button .new-pill {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
}

/* Bundelkaarten: wit, rond, paarse inkt; geselecteerd = oranje rand */
body.ceb-feastie .ep-v2 .bundle-card {
	background: #fff !important;
	border: 2px solid transparent !important;
	border-radius: var(--fx-r-lg) !important;
	box-shadow: var(--fx-shadow-card) !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .ep-v2 .bundle-card:hover {
	border-color: var(--fx-lav-2) !important;
	box-shadow: var(--fx-shadow-hover) !important;
	transform: translateY(-2px);
}
body.ceb-feastie .ep-v2 .bundle-card .bundle-data {
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	color: var(--fx-purple) !important;
	letter-spacing: -0.02em;
}
body.ceb-feastie .ep-v2 .bundle-card .bundle-days { color: var(--fx-muted) !important; font-weight: 500 !important; }
body.ceb-feastie .ep-v2 .bundle-card .bundle-price {
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .ep-v2 .bundle-card .bundle-price-per { color: var(--fx-muted) !important; }
body.ceb-feastie .ep-v2 .bundle-card.selected {
	border-color: var(--fx-orange) !important;
	background: var(--fx-orange-50) !important;
	box-shadow: var(--fx-shadow-hover) !important;
}
body.ceb-feastie .ep-v2 .bundle-card.selected .bundle-data,
body.ceb-feastie .ep-v2 .bundle-card.selected .bundle-price { color: var(--fx-orange-dd) !important; }
body.ceb-feastie .ep-v2 .bundle-card.selected::before { background-color: var(--fx-orange) !important; }
body.ceb-feastie .ep-v2 .bundle-card .bundle-tag {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
	border-radius: 999px !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 800 !important;
	letter-spacing: .02em !important;
	box-shadow: 0 4px 10px -4px rgba(58, 21, 96, .25) !important;
}
body.ceb-feastie .ep-v2 .bundle-card .save-badge {
	background: var(--fx-success-50) !important;
	color: var(--fx-success) !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
}

/* Aantal + bestelknop */
body.ceb-feastie .ep-v2 .buy-row .qty,
body.ceb-feastie .ep-v2 .qty-box,
body.ceb-feastie .ep-v2 .buy-row [class*="qty"] {
	background: #fff !important;
	border: 1px solid var(--fx-border) !important;
	border-radius: 999px !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .ep-v2 .buy-row [class*="qty"] button { color: var(--fx-purple) !important; background: transparent !important; }
body.ceb-feastie .ep-v2 .btn-buy .price-pill,
body.ceb-feastie .ep-v2 .btn-buy span[class*="price"] {
	background: rgba(255, 255, 255, .22) !important;
	color: #fff !important;
	border-radius: 999px !important;
}

/* Aantal-stepper */
body.ceb-feastie .ep-v2 .qty-stepper {
	background: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .ep-v2 .qty-stepper button,
body.ceb-feastie .ep-v2 .qty-stepper .val { color: var(--fx-purple) !important; background: transparent !important; font-weight: 800 !important; }
body.ceb-feastie .ep-v2 .btn-buy .total {
	background: rgba(255, 255, 255, .22) !important;
	color: #fff !important;
	border-radius: 999px !important;
}

/* Prijsinfo-strook: witte kaart met lime stip */
body.ceb-feastie .ep-v2 .qdf-strip {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-lg) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .ep-v2 .qdf-label { color: var(--fx-muted) !important; }
body.ceb-feastie .ep-v2 .qdf-value,
body.ceb-feastie .ep-v2 .qdf-meta strong { color: var(--fx-purple) !important; }
body.ceb-feastie .ep-v2 .qdf-value--accent { color: var(--fx-orange-dd) !important; }
body.ceb-feastie .ep-v2 .qdf-dot { background: var(--fx-success) !important; box-shadow: 0 0 0 4px var(--fx-success-50) !important; }
body.ceb-feastie .ep-v2 .qdf-divider { background: var(--fx-border) !important; }
body.ceb-feastie .ep-v2 .qdf-pct { color: var(--fx-success) !important; }

/* Betaallogo's als witte chips op paars */
body.ceb-feastie .ep-v2 .pay-row > span:first-child { color: #D9C6EC !important; font-weight: 600 !important; }
body.ceb-feastie .ep-v2 .pay-row .pay-logo {
	background: #fff !important;
	border: 0 !important;
	border-radius: 8px !important;
}

/* Live aankopen: witte kaart, geen groene zijrand */
body.ceb-feastie .ep-v2 .live-purchases {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-lg) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .ep-v2 .live-purchases::before { display: none !important; }
body.ceb-feastie .ep-v2 .live-purchases .body { color: var(--fx-plum) !important; }
body.ceb-feastie .ep-v2 .live-purchases .body b { color: var(--fx-purple) !important; }
body.ceb-feastie .ep-v2 .av-stack span { border-color: #fff !important; }

/* Vaste koopbalk (scroll) */
body.ceb-feastie .ep-v2 .sticky-buy {
	background: #fff !important;
	border-top: 1px solid var(--fx-border) !important;
	box-shadow: 0 -10px 30px -12px rgba(58, 21, 96, .22) !important;
}
body.ceb-feastie .ep-v2 .sticky-buy .sticky-label { color: var(--fx-purple) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .ep-v2 .sticky-buy .sticky-meta { color: var(--fx-muted) !important; }
body.ceb-feastie .ep-v2 .sticky-buy .price { color: var(--fx-purple) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .ep-v2 .sticky-buy .sticky-buy-cta {
	background: var(--fx-orange) !important;
	background-image: none !important;
	color: #fff !important;
	border-radius: 999px !important;
	box-shadow: var(--fx-shadow-cta) !important;
	border: 0 !important;
}
body.ceb-feastie .ep-v2 .sticky-buy .sticky-buy-cta:hover { background: var(--fx-orange-d) !important; }

/* 6c. Secties onder de hero — gekleurde vlakken lopen door tot de rand */
body.ceb-feastie .ep-v2 .product-section { background: transparent !important; }
body.ceb-feastie .ep-v2 .product-section.alt { background: var(--fx-sand) !important; }
body.ceb-feastie .ep-v2 .product-section.alt,
body.ceb-feastie .he-section.alt {
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}
body.ceb-feastie .ep-v2 .section-title { color: var(--fx-purple) !important; }
body.ceb-feastie .ep-v2 .section-sub { color: var(--fx-muted) !important; }

/* Stappen */
body.ceb-feastie .ep-v2 .step-card {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .ep-v2 .step-card .num-big {
	color: var(--fx-purple) !important;
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	-webkit-text-stroke: 0 !important;
	opacity: 1 !important;
}
body.ceb-feastie .ep-v2 .step-card:nth-child(3n+1) .num-big { color: var(--fx-orange) !important; }
body.ceb-feastie .ep-v2 .step-card .visual {
	background: var(--fx-lav) !important;
	border: 0 !important;
	border-radius: var(--fx-r-md) !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .ep-v2 .step-card .visual .ic { color: var(--fx-purple) !important; }

/* Reviews */
body.ceb-feastie .ep-v2 .tp-aside {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .ep-v2 .tp-aside .score-big {
	font-family: var(--fx-font-display) !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .ep-v2 .rating-bar .bar { background: var(--fx-lav) !important; border-radius: 999px !important; }
body.ceb-feastie .ep-v2 .rating-bar .bar > * { background: var(--fx-purple) !important; border-radius: 999px !important; }
body.ceb-feastie .ep-v2 .product-review-card {
	background: var(--fx-sand) !important;
	border: 0 !important;
	border-radius: var(--fx-r-lg) !important;
	box-shadow: none !important;
}
body.ceb-feastie .ep-v2 .product-review-card .av {
	background: var(--fx-purple) !important;
	color: #fff !important;
}
body.ceb-feastie .ep-v2 .product-review-card .meta b,
body.ceb-feastie .ep-v2 .product-review-card h4 { color: var(--fx-purple) !important; }

/* Nieuwsbrief-kaart → paars-diep blok met lime accent */
body.ceb-feastie .ep-v2 .newsletter-card {
	background: var(--fx-purple-deep) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: var(--fx-r-2xl) !important;
	box-shadow: none !important;
	color: #fff !important;
}
body.ceb-feastie .ep-v2 .newsletter-left {
	background: var(--fx-purple-deep) !important;
	background-image: none !important;
}
body.ceb-feastie .ep-v2 .newsletter-left::before { display: none !important; }
body.ceb-feastie .ep-v2 .newsletter-eyebrow { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .ep-v2 .newsletter-title { color: #fff !important; font-family: var(--fx-font-display) !important; }
body.ceb-feastie .ep-v2 .newsletter-sub,
body.ceb-feastie .ep-v2 .newsletter-perks,
body.ceb-feastie .ep-v2 .newsletter-perks * { color: #EBDDF7 !important; }
body.ceb-feastie .ep-v2 .newsletter-perks svg { color: var(--fx-lime) !important; }
body.ceb-feastie .ep-v2 .newsletter-right {
	background: #fff !important;
	border-radius: var(--fx-r-xl) !important;
	border: 0 !important;
}
body.ceb-feastie .ep-v2 .newsletter-label { color: var(--fx-purple) !important; }
body.ceb-feastie .ep-v2 .newsletter-fine { color: var(--fx-muted) !important; }
body.ceb-feastie .ep-v2 .newsletter-form input {
	border: 1.5px solid var(--fx-border) !important;
	border-radius: 999px !important;
	color: var(--fx-purple) !important;
}

/* Slot-CTA (ep-cta) → lime blok */
body.ceb-feastie .ep-cta { background: transparent !important; }
body.ceb-feastie .ep-cta::before,
body.ceb-feastie .ep-cta::after,
body.ceb-feastie .ep-cta-inner::before,
body.ceb-feastie .ep-cta-inner::after { display: none !important; }
body.ceb-feastie .ep-cta-inner {
	padding: clamp(40px, 6vw, 72px) clamp(20px, 4vw, 48px) !important;
	background: var(--fx-lime) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: var(--fx-r-2xl) !important;
	box-shadow: none !important;
}
body.ceb-feastie .ep-cta-inner .ep-cta-h2,
body.ceb-feastie .ep-cta-inner .ep-h2 { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .ep-cta-inner .ep-cta-sub { color: var(--fx-plum) !important; }
body.ceb-feastie .ep-cta-inner .ep-tag { background: #fff !important; }

/* 6d. SEO-tekst + "In het kort"-achtige opmaak */
body.ceb-feastie .ep-product-seo-text {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--fx-plum) !important;
}
body.ceb-feastie .ep-product-seo-text > .ep-container {
	background: #fff;
	border-radius: var(--fx-r-2xl);
	box-shadow: var(--fx-shadow-card);
	max-width: 1160px;
	margin-inline: auto;
	padding: clamp(28px, 5vw, 64px) clamp(22px, 6vw, 80px);
}
body.ceb-feastie .ep-product-seo-text__heading {
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .ep-product-seo-text__content,
body.ceb-feastie .ep-product-seo-text__content p,
body.ceb-feastie .ep-product-seo-text__content li { color: var(--fx-plum) !important; line-height: 1.75 !important; }
/* Koppen in de opgeslagen SEO-tekst hebben soms een inline kleur met
   !important. De tekst zelf blijft onaangeroerd; text-fill-color is een
   aparte eigenschap die de zichtbare kleur wél in merkstijl zet. */
body.ceb-feastie .ep-seo-v3 :is(h2, h3, h4)[style] { -webkit-text-fill-color: var(--fx-purple); }
body.ceb-feastie .ep-product-seo-text__content h2,
body.ceb-feastie .ep-product-seo-text__content h3 {
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
	color: var(--fx-purple) !important;
	font-size: clamp(20px, 2vw, 24px) !important;
	letter-spacing: -0.018em !important;
	margin-top: 1.6em !important;
}
body.ceb-feastie .ep-product-seo-text__content strong,
body.ceb-feastie .ep-product-seo-text__content b { color: var(--fx-purple) !important; }
body.ceb-feastie .ep-product-seo-text__content a { color: var(--fx-orange-d) !important; font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
body.ceb-feastie .ep-product-seo-text__content ul li::marker { color: var(--fx-orange); }

/* --------------------------------------------------------------------------
   7. "Hoe werkt het"-blokken (he-*) — ook op productpagina's hergebruikt
   -------------------------------------------------------------------------- */
body.ceb-feastie .he-scope { font-family: var(--fx-font-text); }
/* Veel he-secties staan achter elkaar als "alt". Zand op zand met crème
   naden oogt rommelig: we houden ze crème en laten de kaarten het werk doen. */
body.ceb-feastie .he-section,
body.ceb-feastie .he-section.alt { background: transparent !important; }
body.ceb-feastie .he-section-head h2 { color: var(--fx-purple) !important; }
body.ceb-feastie .he-section-head p { color: var(--fx-muted) !important; }

body.ceb-feastie .he-faq-item {
	background: #fff !important;
	border: 0 !important;
	border-bottom: 1px solid var(--fx-border) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}
body.ceb-feastie .he-faq {
	background: #fff;
	border-radius: var(--fx-r-xl);
	box-shadow: var(--fx-shadow-card);
	overflow: hidden;
}
body.ceb-feastie .he-faq-item:last-child { border-bottom: 0 !important; }
body.ceb-feastie .he-faq-item summary,
body.ceb-feastie .he-faq-item button,
body.ceb-feastie .he-faq-item h3 {
	color: var(--fx-purple) !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 700 !important;
}
body.ceb-feastie .he-faq-item p,
body.ceb-feastie .he-faq-item div { color: var(--fx-muted); }

body.ceb-feastie .he-tabs {
	background: #fff !important;
	border: 1px solid var(--fx-border) !important;
	border-radius: 999px !important;
}
body.ceb-feastie .he-tab { color: var(--fx-purple) !important; border-radius: 999px !important; font-weight: 700 !important; }
body.ceb-feastie .he-tab.active { background: var(--fx-purple) !important; color: #fff !important; }
body.ceb-feastie .he-install-step .num {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
}
body.ceb-feastie .he-install-step .body b,
body.ceb-feastie .he-install-step .body strong { color: var(--fx-purple) !important; }

body.ceb-feastie .he-device-search {
	border: 2px solid var(--fx-purple) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	background: #fff !important;
}
body.ceb-feastie .he-device-search:focus-within { box-shadow: 0 0 0 4px rgba(90, 151, 196, .35) !important; }
body.ceb-feastie .he-device-search input { border: 0 !important; box-shadow: none !important; color: var(--fx-purple) !important; background: transparent !important; outline: 0 !important; }
body.ceb-feastie .he-device-search-ic { color: var(--fx-purple) !important; }
body.ceb-feastie .he-device-dropdown { border-radius: var(--fx-r-lg) !important; box-shadow: var(--fx-shadow-raised) !important; }
body.ceb-feastie .he-device-suggestion:hover { background: var(--fx-lav) !important; }

body.ceb-feastie .he-benefits { gap: 20px; }
body.ceb-feastie .he-benefit {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .he-benefit .ic {
	background: var(--fx-lav) !important;
	color: var(--fx-purple) !important;
	border-radius: var(--fx-r-md) !important;
}
body.ceb-feastie .he-benefit:nth-child(4n+2) .ic { background: var(--fx-lime-soft) !important; }
body.ceb-feastie .he-benefit:nth-child(4n+3) .ic { background: #FFE0F8 !important; }
body.ceb-feastie .he-benefit:nth-child(4n+4) .ic { background: #DCEAF5 !important; }
body.ceb-feastie .he-benefit h3,
body.ceb-feastie .he-benefit h4 { color: var(--fx-purple) !important; }

/* --------------------------------------------------------------------------
   8. HOMEPAGE (v3-*, esim-*, ceb-cc, ceb-dc, blog-grid)
   -------------------------------------------------------------------------- */

/* Extra kickers die nog oranje waren */
body.ceb-feastie .v3-section-eyebrow,
body.ceb-feastie .esim-section-tag,
body.ceb-feastie .lp-section-eyebrow,
body.ceb-feastie .cf-eyebrow,
body.ceb-feastie .ceb-cc__step-label,
body.ceb-feastie .ceb-dc__result-label {
	color: var(--fx-purple) !important;
}
body.ceb-feastie .v3-section-eyebrow,
body.ceb-feastie .esim-section-tag {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	background: var(--fx-lime-soft) !important;
	color: var(--fx-purple-deep) !important;
	border-radius: 999px !important;
	padding: 5px 12px !important;
	font-family: var(--fx-font-text) !important;
	font-weight: 700 !important;
	font-size: 12.5px !important;
	letter-spacing: .01em !important;
	text-transform: none !important;
}
body.ceb-feastie .v3-section-eyebrow::before,
body.ceb-feastie .esim-section-tag::before { color: var(--fx-purple) !important; background: transparent !important; }
/* Sommige kickers gebruiken gradient-tekst (background-clip: text). */
body.ceb-feastie .esim-section-tag,
body.ceb-feastie .v3-section-eyebrow,
body.ceb-feastie .section-tag,
body.ceb-feastie .he-section-eyebrow {
	-webkit-background-clip: border-box !important;
	background-clip: border-box !important;
	-webkit-text-fill-color: var(--fx-purple-deep) !important;
}
/* Gradient-tekst elders (koppen, cijfers) terug naar effen merkkleur */
body.ceb-feastie :is(h1, h2, h3, .num, .esim-h2) [style*="background-clip"],
body.ceb-feastie .esim-h2 span,
body.ceb-feastie .esim-gradient-text {
	-webkit-text-fill-color: currentColor !important;
	background: none !important;
}

/* Witte sectievlakken weg: crème pagina, kaarten dragen de vorm */
body.ceb-feastie .v3-scope .v3-section,
body.ceb-feastie .esim-section,
body.ceb-feastie .esim-section--white { background: transparent !important; border: 0 !important; }
body.ceb-feastie .v3-scope .v3-section.cream { background: var(--fx-sand) !important; }

/* 8a. Hero: paarse band, witte kop met lime accent */
body.ceb-feastie .e-con:has(> .elementor-widget-ceb_v3_hero),
body.ceb-feastie .e-con:has(> .e-con-inner > .elementor-widget-ceb_v3_hero) { padding-top: 0 !important; }
body.ceb-feastie .v3-scope .v3-hero {
	background: var(--fx-purple-deep) !important;
	border: 0 !important;
	border-radius: 0 0 var(--fx-r-2xl) var(--fx-r-2xl);
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	color: #fff;
}
body.ceb-feastie .v3-scope .v3-hero::before,
body.ceb-feastie .v3-scope .v3-hero::after { display: none !important; }
body.ceb-feastie .v3-scope .v3-hero h1 { color: #fff !important; }
body.ceb-feastie .v3-scope .v3-hero h1 .accent {
	color: var(--fx-lime) !important;
	background: none !important;
	padding: 0 !important;
}
body.ceb-feastie .v3-scope .v3-hero h1 .accent::after { display: none !important; }
body.ceb-feastie .v3-scope .v3-hero .lead { color: #EBDDF7 !important; }
body.ceb-feastie .v3-scope .v3-tag {
	background: rgba(255, 255, 255, .10) !important;
	border: 1px solid rgba(255, 255, 255, .16) !important;
	color: #fff !important;
	box-shadow: none !important;
}
body.ceb-feastie .v3-scope .v3-tag .pulse { background: var(--fx-lime) !important; }
body.ceb-feastie .v3-scope .v3-tag .pulse::after { border-color: var(--fx-lime) !important; background: transparent !important; }
body.ceb-feastie .v3-scope .v3-search {
	background: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .45) !important;
}
body.ceb-feastie .v3-scope .v3-search-icon { background: transparent !important; color: var(--fx-purple) !important; }
body.ceb-feastie .v3-scope .v3-search input { color: var(--fx-purple) !important; }
body.ceb-feastie .v3-scope .v3-search .go {
	background: var(--fx-orange) !important;
	border-radius: 999px !important;
	color: #fff !important;
}
body.ceb-feastie .v3-scope .v3-search .go:hover { background: var(--fx-orange-d) !important; }
body.ceb-feastie .v3-scope .v3-search-dropdown { border-radius: var(--fx-r-lg) !important; box-shadow: var(--fx-shadow-raised) !important; }
body.ceb-feastie .v3-scope .v3-search-dropdown-item:hover,
body.ceb-feastie .v3-scope .v3-search-dropdown-item:focus { background: var(--fx-lav) !important; }
body.ceb-feastie .v3-scope .v3-search-dropdown-item .pr b { color: var(--fx-purple) !important; }
body.ceb-feastie .v3-scope .v3-quick-cat {
	background: rgba(255, 255, 255, .08) !important;
	border: 1px solid rgba(255, 255, 255, .22) !important;
	color: #fff !important;
	box-shadow: none !important;
}
body.ceb-feastie .v3-scope .v3-quick-cat svg { color: var(--fx-lime) !important; }
body.ceb-feastie .v3-scope .v3-quick-cat:hover {
	background: var(--fx-lime) !important;
	border-color: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
}
body.ceb-feastie .v3-scope .v3-quick-cat:hover svg { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .v3-scope .v3-stat .num {
	color: var(--fx-lime) !important;
	background: none !important;
	-webkit-text-fill-color: currentColor !important;
	font-family: var(--fx-font-display) !important;
	font-weight: 800 !important;
}
body.ceb-feastie .v3-scope .v3-stat .lbl { color: #D9C6EC !important; }
body.ceb-feastie .v3-scope .v3-stat-divider,
body.ceb-feastie .v3-scope .v3-hero-stats { border-color: rgba(255, 255, 255, .16) !important; }
body.ceb-feastie .v3-scope .v3-stat-divider { background: rgba(255, 255, 255, .16) !important; }
body.ceb-feastie .v3-scope .v3-hero-visual { isolation: isolate; }
body.ceb-feastie .v3-scope .v3-photo {
	box-shadow: none !important;
	border-radius: var(--fx-r-lg) !important;
}
body.ceb-feastie .v3-scope .v3-hero-visual::before {
	content: "";
	position: absolute;
	inset: 18px -18px -18px 18px;
	border: 12px solid var(--fx-lime);
	border-radius: var(--fx-r-xl);
	transform: rotate(3deg);
	z-index: -1;
	pointer-events: none;
}
body.ceb-feastie .v3-scope .v3-phone-badge,
body.ceb-feastie .v3-scope .v3-phone-data .bar > * { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }

/* 8b. Bento-bestemmingen */
body.ceb-feastie .v3-scope .v3-bento-card { border-radius: var(--fx-r-xl) !important; box-shadow: var(--fx-shadow-card) !important; }
body.ceb-feastie .v3-scope .v3-bento-card .badge {
	background: #fff !important;
	color: var(--fx-purple) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
}
body.ceb-feastie .v3-scope .v3-bento-card .badge.hot { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .v3-scope .v3-bento-card .name { font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .v3-scope .v3-bento-card .bg-tint { background: linear-gradient(180deg, transparent 35%, rgba(42, 18, 64, .78)) !important; }
body.ceb-feastie .v3-scope .v3-outline-btn,
body.ceb-feastie .v3-scope .v3-bento-cta a {
	border: 2px solid var(--fx-purple) !important;
	color: var(--fx-purple) !important;
	background: #fff !important;
	border-radius: 999px !important;
}
body.ceb-feastie .v3-scope .v3-outline-btn:hover { background: var(--fx-purple) !important; color: #fff !important; }

/* 8c. Regio's (homepage + /landen/) — lime blok met kaarten */
body.ceb-feastie .lp-scope .lp-section:has(.lp-regions) {
	background: var(--fx-lime) !important;
	border-radius: var(--fx-r-2xl);
	max-width: 1240px;
	margin-inline: auto;
	padding: clamp(36px, 5vw, 64px) clamp(20px, 3vw, 48px) !important;
}
body.ceb-feastie .lp-scope .lp-section:has(.lp-regions) .lp-section-head h2 { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .lp-scope .lp-section:has(.lp-regions) .lp-section-head .sub { color: var(--fx-plum) !important; }
body.ceb-feastie .lp-scope .lp-region,
body.ceb-feastie .lp-scope .lp-region.europe,
body.ceb-feastie .lp-scope .lp-region.asia {
	background: #fff !important;
	background-image: none !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: none !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .lp-scope .lp-region.global { background: var(--fx-purple-deep) !important; background-image: none !important; }
body.ceb-feastie [class*="elementor-kit-"] .lp-scope .lp-region *,
body.ceb-feastie .lp-scope .lp-region * { color: var(--fx-purple) !important; }
body.ceb-feastie [class*="elementor-kit-"] .lp-scope .lp-region.global *,
body.ceb-feastie .lp-scope .lp-region.global * { color: #fff !important; }
body.ceb-feastie .lp-scope .lp-region .label,
body.ceb-feastie .lp-scope .lp-region .desc,
body.ceb-feastie .lp-scope .lp-region .from-row small { color: var(--fx-muted) !important; }
body.ceb-feastie .lp-scope .lp-region.global .label,
body.ceb-feastie .lp-scope .lp-region.global .desc,
body.ceb-feastie .lp-scope .lp-region.global .from-row small { color: #D9C6EC !important; }
body.ceb-feastie .lp-scope .lp-region h3 { font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .lp-scope .lp-region .pr { font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .lp-scope .lp-region .from-row { border-top: 1px solid var(--fx-border); padding-top: 16px; }
body.ceb-feastie .lp-scope .lp-region.global .from-row { border-top-color: rgba(255, 255, 255, .16); }
body.ceb-feastie [class*="elementor-kit-"] .lp-scope .lp-region .from-row .arrow,
body.ceb-feastie .lp-scope .lp-region .from-row .arrow {
	background: var(--fx-orange) !important;
	color: #fff !important;
	border: 0 !important;
}
body.ceb-feastie .lp-scope .lp-region .from-row .arrow * { color: #fff !important; stroke: #fff; }
body.ceb-feastie .lp-scope .lp-region-flag { box-shadow: none !important; border: 0 !important; }
body.ceb-feastie .lp-scope .lp-region:hover { transform: translateY(-3px); box-shadow: var(--fx-shadow-hover) !important; }

/* 8d. "Zo werkt het"-wizard */
body.ceb-feastie .esim-wiz-track { background: var(--fx-lav) !important; }
body.ceb-feastie .esim-wiz-fill { background: var(--fx-purple) !important; background-image: none !important; }
body.ceb-feastie .esim-wstep-dot {
	background: #fff !important;
	border: 2px solid var(--fx-lav-2) !important;
	color: var(--fx-purple) !important;
	box-shadow: none !important;
}
body.ceb-feastie .esim-wstep--done .esim-wstep-dot { background: var(--fx-lime) !important; border-color: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .esim-wstep--done .esim-wstep-dot * { color: var(--fx-purple-deep) !important; stroke: var(--fx-purple-deep); }
body.ceb-feastie .esim-wstep--active .esim-wstep-dot {
	background: var(--fx-purple) !important;
	background-image: none !important;
	border-color: var(--fx-purple) !important;
	color: #fff !important;
	box-shadow: 0 0 0 6px var(--fx-lav) !important;
}
body.ceb-feastie .esim-wstep-card {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .esim-wstep--active .esim-wstep-card { box-shadow: 0 0 0 2px var(--fx-purple), var(--fx-shadow-hover) !important; }
body.ceb-feastie .esim-wstep-icon { background: var(--fx-lav) !important; color: var(--fx-purple) !important; border-radius: var(--fx-r-md) !important; }
body.ceb-feastie .esim-wstep-icon svg,
body.ceb-feastie .esim-feature-icon svg,
body.ceb-feastie .he-benefit .ic svg,
body.ceb-feastie .step-card .visual .ic svg { stroke: currentColor !important; color: var(--fx-purple) !important; }
body.ceb-feastie .step-card .visual .ic { background: #fff !important; }
body.ceb-feastie .esim-wstep-bar { background: var(--fx-purple) !important; background-image: none !important; }

/* 8e. Features ("4G/5G overal") */
body.ceb-feastie .esim-feature-icon { background: var(--fx-lav) !important; color: var(--fx-purple) !important; border-radius: var(--fx-r-md) !important; }
body.ceb-feastie .esim-feature-item:nth-child(4n+2) .esim-feature-icon { background: var(--fx-lime-soft) !important; }
body.ceb-feastie .esim-feature-item:nth-child(4n+3) .esim-feature-icon { background: #FFE0F8 !important; }
body.ceb-feastie .esim-feature-item:nth-child(4n+4) .esim-feature-icon { background: #DCEAF5 !important; }
body.ceb-feastie .esim-feature-item h3,
body.ceb-feastie .esim-feature-item h4,
body.ceb-feastie .esim-feature-item strong { color: var(--fx-purple) !important; }
body.ceb-feastie .esim-phone-frame { background: var(--fx-purple-deep) !important; }
body.ceb-feastie .esim-card-mini { background: var(--fx-purple) !important; background-image: none !important; }
body.ceb-feastie .esim-data-fill { background: var(--fx-lime) !important; background-image: none !important; }
body.ceb-feastie .esim-mini-price { color: var(--fx-lime) !important; }
body.ceb-feastie .esim-badge-connected,
body.ceb-feastie .esim-badge-speed { color: var(--fx-purple) !important; }

/* 8f. Reviews-carrousel */
body.ceb-feastie .v3-scope .v3-testi {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .v3-scope .v3-testi .wwk-badge { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .v3-scope .v3-testi .wwk-badge * { color: var(--fx-purple-deep) !important; stroke: var(--fx-purple-deep); }
body.ceb-feastie .v3-scope .v3-testi .av { background: var(--fx-purple) !important; color: #fff !important; border: 0 !important; }
body.ceb-feastie .v3-scope .v3-testi .meta b,
body.ceb-feastie .v3-scope .v3-testi .meta strong { color: var(--fx-purple) !important; }

/* 8g. Blog-grid (homepage + /blog/) */
body.ceb-feastie .esim-blog-grid__title { color: var(--fx-purple) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .esim-blog-grid__subtitle { color: var(--fx-muted) !important; }
body.ceb-feastie .esim-blog-card {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
	overflow: hidden;
}
body.ceb-feastie .esim-blog-card:hover { box-shadow: var(--fx-shadow-hover) !important; transform: translateY(-2px); }
body.ceb-feastie .esim-blog-card__image { border-radius: 0 !important; }
body.ceb-feastie .esim-blog-card__badge {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
	border-radius: 999px !important;
	font-weight: 800 !important;
}
body.ceb-feastie .esim-blog-card__meta { color: var(--fx-muted) !important; }
body.ceb-feastie .esim-blog-card__title,
body.ceb-feastie .esim-blog-card__title a { color: var(--fx-purple) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .esim-blog-card__excerpt { color: var(--fx-muted) !important; }
body.ceb-feastie .esim-blog-card__link { color: var(--fx-purple) !important; font-weight: 800 !important; }
body.ceb-feastie .esim-blog-card__link:hover { color: var(--fx-orange-d) !important; }
body.ceb-feastie .esim-blog-grid__pagination .page-numbers {
	background: #fff !important;
	color: var(--fx-purple) !important;
	border: 1px solid var(--fx-border) !important;
	border-radius: 999px !important;
}
body.ceb-feastie .esim-blog-grid__pagination .page-numbers.current,
body.ceb-feastie .esim-blog-grid__pagination .page-numbers:hover {
	background: var(--fx-purple) !important;
	border-color: var(--fx-purple) !important;
	color: #fff !important;
}

/* 8h. Compatibiliteitscheck + datacalculator */
body.ceb-feastie .ceb-cc,
body.ceb-feastie .ceb-dc {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-2xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
	padding: clamp(28px, 4vw, 48px) !important;
}
body.ceb-feastie .ceb-cc__title,
body.ceb-feastie .ceb-dc__title { color: var(--fx-purple) !important; }
body.ceb-feastie .ceb-cc__sub,
body.ceb-feastie .ceb-dc__sub { color: var(--fx-muted) !important; }
body.ceb-feastie .ceb-cc__brand {
	background: var(--fx-cream) !important;
	border: 2px solid transparent !important;
	border-radius: var(--fx-r-lg) !important;
	color: var(--fx-purple) !important;
	box-shadow: none !important;
}
body.ceb-feastie .ceb-cc__brand:hover,
body.ceb-feastie .ceb-cc__brand.is-active,
body.ceb-feastie .ceb-cc__brand--active { border-color: var(--fx-purple) !important; background: var(--fx-lav) !important; }
body.ceb-feastie .ceb-cc__brand-label,
body.ceb-feastie .ceb-cc__brand-icon { color: var(--fx-purple) !important; }
body.ceb-feastie .ceb-cc__input {
	border: 2px solid var(--fx-purple) !important;
	border-radius: 999px !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .ceb-dc__label-text { color: var(--fx-purple) !important; }
body.ceb-feastie .ceb-dc__label-value { color: var(--fx-purple) !important; font-weight: 800 !important; }
body.ceb-feastie .ceb-dc__range { accent-color: var(--fx-purple); }
body.ceb-feastie .ceb-dc__range::-webkit-slider-thumb { background: var(--fx-purple) !important; border-color: #fff !important; box-shadow: 0 0 0 4px var(--fx-lav) !important; }
body.ceb-feastie .ceb-dc__range::-moz-range-thumb { background: var(--fx-purple) !important; border-color: #fff !important; }
body.ceb-feastie .ceb-dc__toggle-group { background: var(--fx-cream) !important; border: 0 !important; border-radius: var(--fx-r-lg) !important; }
body.ceb-feastie .ceb-dc__toggle-input:checked + .ceb-dc__toggle-track { background: var(--fx-purple) !important; }
body.ceb-feastie .ceb-dc__result-box {
	background: var(--fx-lime) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
}
body.ceb-feastie .ceb-dc__result-label { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .ceb-dc__result-value { color: var(--fx-purple-deep) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .ceb-dc__result-detail { color: var(--fx-plum) !important; }

/* --------------------------------------------------------------------------
   9. LANDENOVERZICHT (/landen/) — lp-*
   -------------------------------------------------------------------------- */
body.ceb-feastie .lp-scope .lp-hero {
	background: var(--fx-purple-deep) !important;
	border: 0 !important;
	border-radius: 0 0 var(--fx-r-2xl) var(--fx-r-2xl);
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}
/* De landen-wrapper knipt (overflow: clip) — anders valt de band niet tot de rand */
body.ceb-feastie .lp-scope:has(> .lp-hero) { overflow: visible !important; }
body.ceb-feastie .lp-scope .lp-hero::before,
body.ceb-feastie .lp-scope .lp-hero::after { display: none !important; }
body.ceb-feastie .lp-scope .lp-hero :is(h1, h2, h3) { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.ceb-feastie .lp-scope .lp-hero :is(h1, h2, h3) .accent {
	color: var(--fx-lime) !important;
	-webkit-text-fill-color: var(--fx-lime) !important;
	background: none !important;
	padding: 0 !important;
}
body.ceb-feastie .lp-scope .lp-hero .lead { color: #EBDDF7 !important; }
body.ceb-feastie .lp-scope .lp-eyebrow {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
	border-radius: 999px !important;
	padding: 5px 12px !important;
	letter-spacing: .04em !important;
}
body.ceb-feastie .lp-scope .lp-eyebrow .pulse { background: var(--fx-purple-deep) !important; }
body.ceb-feastie .lp-scope .lp-eyebrow .pulse::after { border-color: var(--fx-purple-deep) !important; background: transparent !important; }
body.ceb-feastie .lp-scope .lp-search {
	background: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .45) !important;
}
body.ceb-feastie .lp-scope .lp-search-ic { color: var(--fx-purple) !important; }
body.ceb-feastie .lp-scope .lp-search input { color: var(--fx-purple) !important; }

/* Filterbalk */
body.ceb-feastie .lp-scope .lp-filter-bar { background: var(--fx-cream) !important; border: 0 !important; }
body.ceb-feastie .lp-scope .lp-filter-bar.scrolled { box-shadow: 0 8px 20px -12px rgba(58, 21, 96, .25) !important; }
body.ceb-feastie .lp-scope .lp-pill {
	background: #fff !important;
	border: 1px solid var(--fx-border) !important;
	color: var(--fx-purple) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}
body.ceb-feastie .lp-scope .lp-pill:hover { border-color: var(--fx-purple) !important; }
body.ceb-feastie .lp-scope .lp-pill.active { background: var(--fx-purple) !important; border-color: var(--fx-purple) !important; color: #fff !important; }
body.ceb-feastie .lp-scope .lp-pill .count { background: var(--fx-lav) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .lp-scope .lp-pill.active .count { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .lp-scope .lp-result-meta,
body.ceb-feastie .lp-scope .lp-result-meta b { color: var(--fx-purple) !important; }

/* Landkaarten */
body.ceb-feastie .lp-scope .lp-countries-section { background: transparent !important; }
body.ceb-feastie .lp-scope .lp-card {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-lg) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .lp-scope .lp-card:hover { box-shadow: var(--fx-shadow-hover) !important; transform: translateY(-2px); }
body.ceb-feastie .lp-scope .lp-card .name { color: var(--fx-purple) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .lp-scope .lp-card .from { color: var(--fx-muted) !important; }
body.ceb-feastie .lp-scope .lp-card .from b { color: var(--fx-purple) !important; }
body.ceb-feastie .lp-scope .lp-card .arrow { color: var(--fx-muted) !important; }
body.ceb-feastie .lp-scope .lp-card:hover .arrow { color: var(--fx-orange-d) !important; }
body.ceb-feastie .lp-scope .lp-card .badge {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
	border-radius: 999px !important;
	padding: 3px 8px !important;
}
body.ceb-feastie .lp-scope .flag-placeholder { background: var(--fx-purple) !important; }

/* Vertrouwen, FAQ, slot-CTA */
body.ceb-feastie .lp-scope .lp-trust { background: transparent !important; border: 0 !important; }
body.ceb-feastie .lp-scope .lp-trust-item .ic { background: var(--fx-lav) !important; color: var(--fx-purple) !important; border-radius: var(--fx-r-md) !important; }
body.ceb-feastie .lp-scope .lp-trust-item b { color: var(--fx-purple) !important; }
body.ceb-feastie .lp-scope .lp-trust-item span { color: var(--fx-muted) !important; }
body.ceb-feastie .lp-scope .lp-section-head h2 { color: var(--fx-purple) !important; }
body.ceb-feastie .lp-scope .lp-faq-item {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-lg) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .lp-scope .lp-faq-item[open] { box-shadow: 0 0 0 2px var(--fx-purple), var(--fx-shadow-card) !important; }
body.ceb-feastie .lp-scope .lp-faq-item summary { color: var(--fx-purple) !important; font-weight: 700 !important; }
body.ceb-feastie .lp-scope .lp-faq-item p,
body.ceb-feastie .lp-scope .lp-faq-item div { color: var(--fx-muted) !important; }
body.ceb-feastie .lp-scope .lp-final {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
	border-radius: var(--fx-r-2xl) !important;
}
body.ceb-feastie .lp-scope .lp-final::before,
body.ceb-feastie .lp-scope .lp-final::after { display: none !important; }
body.ceb-feastie .lp-scope .lp-final h2 { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .lp-scope .lp-final p { color: var(--fx-plum) !important; }
body.ceb-feastie [class*="elementor-kit-"] .lp-scope .lp-final .cta-btn,
body.ceb-feastie .lp-scope .lp-final .cta-btn,
body.ceb-feastie .lp-scope .lp-empty-btn {
	background: var(--fx-orange) !important;
	color: #fff !important;
	border-radius: 999px !important;
	box-shadow: var(--fx-shadow-cta) !important;
}
body.ceb-feastie [class*="elementor-kit-"] .lp-scope .lp-final .cta-btn:hover,
body.ceb-feastie .lp-scope .lp-final .cta-btn:hover { background: var(--fx-orange-d) !important; }

/* --------------------------------------------------------------------------
   10. HOE WERKT HET, FAQ, CONTACT, INSTALLEREN, BLOG, WINKELWAGEN, CHECKOUT
   -------------------------------------------------------------------------- */

/* Gedeelde paarse hero voor de informatiepagina's */
/* Blog-hero is max. 800px breed: band wordt paginabreed, inhoud blijft 800px */
body.ceb-feastie .ceb-blog-hero {
	max-width: none !important;
	padding-left: max(24px, calc(50vw - 400px)) !important;
	padding-right: max(24px, calc(50vw - 400px)) !important;
	padding-top: 32px !important;
	padding-bottom: 40px !important;
}
body.ceb-feastie .ceb-blog-intro__content,
body.ceb-feastie .ceb-blog-intro { border-left-color: var(--fx-purple) !important; }
body.ceb-feastie .he-scope .he-hero,
body.ceb-feastie .cf-scope .cf-hero,
body.ceb-feastie .esim-ph,
body.ceb-feastie .ceb-blog-hero {
	background: var(--fx-purple-deep) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: 0 0 var(--fx-r-2xl) var(--fx-r-2xl);
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	color: #fff;
}
body.ceb-feastie .he-scope .he-hero::before,
body.ceb-feastie .he-scope .he-hero::after,
body.ceb-feastie .cf-scope .cf-hero::before,
body.ceb-feastie .cf-scope .cf-hero::after,
body.ceb-feastie .esim-ph-deco,
body.ceb-feastie .esim-ph-deco-2 { display: none !important; }
body.ceb-feastie .cf-scope .cf-hero-deco { opacity: .5; }
body.ceb-feastie :is(.he-hero, .cf-hero, .esim-ph) :is(h1, h2, .esim-ph-title) { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.ceb-feastie :is(.he-hero, .cf-hero, .esim-ph) :is(h1, h2, .esim-ph-title) .accent {
	color: var(--fx-lime) !important;
	-webkit-text-fill-color: var(--fx-lime) !important;
	background: none !important;
	padding: 0 !important;
}
body.ceb-feastie :is(.he-hero, .cf-hero, .esim-ph) :is(.lead, .esim-ph-desc, p) { color: #EBDDF7 !important; }
body.ceb-feastie :is(.he-eyebrow, .cf-eyebrow),
body.ceb-feastie .esim-ph .esim-section-tag {
	background: var(--fx-lime) !important;
	color: var(--fx-purple-deep) !important;
	-webkit-text-fill-color: var(--fx-purple-deep) !important;
	border: 0 !important;
	border-radius: 999px !important;
	padding: 5px 12px !important;
}
body.ceb-feastie .cf-eyebrow .pulse { background: var(--fx-purple-deep) !important; }
body.ceb-feastie .cf-eyebrow .pulse::after { border-color: var(--fx-purple-deep) !important; background: transparent !important; }
body.ceb-feastie .esim-ph-bread,
body.ceb-feastie .esim-ph-bread a { color: #D9C6EC !important; }

/* Hoe werkt het */
body.ceb-feastie .he-scope .he-hero-cta { background: var(--fx-orange) !important; border-radius: 999px !important; box-shadow: var(--fx-shadow-cta) !important; }
body.ceb-feastie .he-scope .he-hero-cta:hover { background: var(--fx-orange-d) !important; }
body.ceb-feastie .he-scope .he-hero-cta-ghost { color: #fff !important; }
body.ceb-feastie .he-scope .he-hero-cta-ghost:hover { background: rgba(255, 255, 255, .1) !important; color: var(--fx-lime) !important; }
body.ceb-feastie .he-scope .he-card-esim { background: var(--fx-lime) !important; background-image: none !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .he-scope .he-card-esim * { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .he-scope .he-kp .ic { background: var(--fx-lime-soft) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .he-scope .he-kp b { color: var(--fx-purple) !important; }
body.ceb-feastie .he-scope .he-compare {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .he-scope .he-compare-row { border-color: var(--fx-border) !important; }
body.ceb-feastie .he-scope .he-compare-row.header { background: var(--fx-lav) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .he-scope .he-compare-cell.good { color: var(--fx-success) !important; }
body.ceb-feastie .he-scope .he-tl-step {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .he-scope .he-tl-step.good { box-shadow: inset 0 0 0 2px var(--fx-lime), var(--fx-shadow-card) !important; }
body.ceb-feastie .he-scope .he-tl-step.warn { box-shadow: inset 0 0 0 2px var(--fx-pink), var(--fx-shadow-card) !important; }
body.ceb-feastie .he-scope .he-tl-step h3 { color: var(--fx-purple) !important; }
body.ceb-feastie .he-scope .he-final-clean {
	background: var(--fx-lime) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: var(--fx-r-2xl) !important;
}
body.ceb-feastie .he-scope .he-final-clean::before,
body.ceb-feastie .he-scope .he-final-clean::after { display: none !important; }
body.ceb-feastie .he-scope .he-final-clean-text,
body.ceb-feastie .he-scope .he-final-clean-text * { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .he-scope .he-final-clean-btn.primary { background: var(--fx-orange) !important; color: #fff !important; border-radius: 999px !important; border: 0 !important; }
body.ceb-feastie .he-scope .he-final-clean-btn.secondary { background: #fff !important; color: var(--fx-purple) !important; border: 2px solid var(--fx-purple) !important; border-radius: 999px !important; }

/* FAQ-plus/min: paars i.p.v. oranje (overal) */
body.ceb-feastie .he-scope .he-faq-item summary::after,
body.ceb-feastie .cf-scope .faq-v2-q summary::after {
	background: var(--fx-lav) !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .he-scope .he-faq-item[open] summary::after,
body.ceb-feastie .cf-scope .faq-v2-q[open] summary::after {
	background: var(--fx-purple) !important;
	color: #fff !important;
}

/* FAQ-pagina */
body.ceb-feastie .cf-scope .faq-v2-search {
	background: #fff !important;
	border: 0 !important;
	border-radius: 999px !important;
	box-shadow: 0 18px 40px -16px rgba(0, 0, 0, .45) !important;
}
body.ceb-feastie .cf-scope .faq-v2-search-ic { color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .faq-v2-search-input { color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .faq-v2-result-meta { color: #D9C6EC !important; }
body.ceb-feastie .cf-scope .faq-v2-section { background: transparent !important; }
body.ceb-feastie .cf-scope .faq-v2-cat {
	background: transparent !important;
	color: var(--fx-purple) !important;
	border-radius: 999px !important;
	font-weight: 700 !important;
}
body.ceb-feastie .cf-scope .faq-v2-cat:hover { background: var(--fx-lav) !important; }
body.ceb-feastie .cf-scope .faq-v2-cat.active { background: var(--fx-purple) !important; color: #fff !important; }
body.ceb-feastie .cf-scope .faq-v2-cat .cnt { background: var(--fx-lav) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .faq-v2-cat.active .cnt { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .cf-scope .faq-v2-group h2,
body.ceb-feastie .cf-scope .faq-v2-group h3 { color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .faq-v2-list {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
	overflow: hidden;
}
body.ceb-feastie .cf-scope .faq-v2-q { border-color: var(--fx-border) !important; background: #fff !important; }
body.ceb-feastie .cf-scope .faq-v2-q summary { color: var(--fx-purple) !important; font-weight: 700 !important; }
body.ceb-feastie .cf-scope .faq-v2-answer,
body.ceb-feastie .cf-scope .faq-v2-answer p { color: var(--fx-muted) !important; }

/* Hulp-CTA (FAQ + contact) → oranje blok zoals "Hulp nodig?" */
body.ceb-feastie .cf-scope .cf-help-cta {
	background: var(--fx-orange) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: var(--fx-r-2xl) !important;
	color: #fff !important;
}
body.ceb-feastie .cf-scope .cf-help-cta::before,
body.ceb-feastie .cf-scope .cf-help-cta::after { display: none !important; }
body.ceb-feastie .cf-scope .cf-help-cta :is(h2, h3, p, span) { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.ceb-feastie .cf-scope .cf-cta-btn.primary { background: #25D366 !important; color: #0B3B1E !important; border: 0 !important; border-radius: 999px !important; box-shadow: none !important; }
body.ceb-feastie .cf-scope .cf-cta-btn.secondary { background: #fff !important; color: var(--fx-orange-dd) !important; border: 0 !important; border-radius: 999px !important; }

/* Contact */
body.ceb-feastie .cf-scope .cf-channel {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-lg) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .cf-scope .cf-channel:hover { box-shadow: var(--fx-shadow-hover) !important; }
body.ceb-feastie .cf-scope .cf-channel-title { color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .cf-channel-meta { color: var(--fx-muted) !important; }
body.ceb-feastie .cf-scope .cf-channel-ic { border-radius: var(--fx-r-md) !important; }
body.ceb-feastie .cf-scope .cf-channel-ic:not(.cf-ic-wa) { background: var(--fx-lav) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .cf-channel-tag { background: var(--fx-lime-soft) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .cf-scope .cf-channel-tag .dot { background: var(--fx-success) !important; }
body.ceb-feastie .cf-scope .cf-channel:hover .cf-channel-arrow { color: var(--fx-orange-d) !important; }
body.ceb-feastie .cf-scope .cf-tip { background: var(--fx-lav) !important; border: 0 !important; border-radius: var(--fx-r-lg) !important; }
body.ceb-feastie .cf-scope .cf-tip-ic { background: #fff !important; color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .cf-form {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .cf-scope .cf-form h2 { color: var(--fx-purple) !important; }
body.ceb-feastie .cf-scope .cf-field label { color: var(--fx-purple) !important; font-weight: 700 !important; }
body.ceb-feastie .cf-scope .cf-field :is(input, select, textarea) {
	border: 1.5px solid var(--fx-border) !important;
	border-radius: var(--fx-r-md) !important;
	color: var(--fx-purple) !important;
	background: #fff !important;
}
body.ceb-feastie .cf-scope .cf-field :is(input, select, textarea):focus { border-color: var(--fx-purple) !important; box-shadow: 0 0 0 4px var(--fx-lav) !important; }
body.ceb-feastie .cf-scope .cf-submit { background: var(--fx-orange) !important; color: #fff !important; border-radius: 999px !important; border: 0 !important; box-shadow: var(--fx-shadow-cta) !important; }
body.ceb-feastie .cf-scope .cf-submit:hover { background: var(--fx-orange-d) !important; }
body.ceb-feastie .cf-scope .cf-office { background: transparent !important; }
body.ceb-feastie .cf-scope .cf-office-ic { background: var(--fx-lav) !important; color: var(--fx-purple) !important; border-radius: var(--fx-r-md) !important; }

/* Installatiegids */
body.ceb-feastie .esim-ig-req { background: #fff !important; border: 0 !important; border-radius: var(--fx-r-lg) !important; box-shadow: var(--fx-shadow-card) !important; }
body.ceb-feastie .esim-ig-req-icon { background: var(--fx-lav) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .esim-ig-tabs { background: #fff !important; border: 1px solid var(--fx-border) !important; border-radius: 999px !important; }
body.ceb-feastie .esim-ig-tab { color: var(--fx-purple) !important; border-radius: 999px !important; font-weight: 700 !important; background: transparent !important; }
body.ceb-feastie .esim-ig-tab--active { background: var(--fx-purple) !important; color: #fff !important; }
body.ceb-feastie .esim-ig-step-num { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .esim-faq-item { background: #fff !important; border: 0 !important; border-radius: var(--fx-r-lg) !important; box-shadow: var(--fx-shadow-card) !important; }
body.ceb-feastie .esim-faq-q { color: var(--fx-purple) !important; font-weight: 700 !important; }
body.ceb-feastie .esim-ig-cta-inner { background: var(--fx-lime) !important; background-image: none !important; border-radius: var(--fx-r-2xl) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .esim-ig-cta-inner :is(h2, h3, p) { color: var(--fx-purple-deep) !important; }

/* Blogartikel */
body.ceb-feastie .ceb-blog-hero__breadcrumbs,
body.ceb-feastie .ceb-blog-hero__breadcrumbs a,
body.ceb-feastie .ceb-blog-hero__meta,
body.ceb-feastie .ceb-blog-hero__meta * { color: #D9C6EC !important; }
body.ceb-feastie .ceb-blog-hero__current { color: #fff !important; }
body.ceb-feastie .ceb-blog-hero__title { color: #fff !important; -webkit-text-fill-color: #fff !important; }
body.ceb-feastie .ceb-blog-hero__category { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; border-radius: 999px !important; }
body.ceb-feastie .ceb-blog-hero__image-wrap,
body.ceb-feastie .ceb-blog-hero__image { border-radius: var(--fx-r-xl) !important; }
body.ceb-feastie .ceb-blog-intro__content,
body.ceb-feastie .ceb-blog-intro__content p { color: var(--fx-plum) !important; }
body.ceb-feastie .ceb-blog-summary {
	background: var(--fx-lime-soft) !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
}
body.ceb-feastie .ceb-blog-summary__header,
body.ceb-feastie .ceb-blog-summary__header * { color: var(--fx-purple-deep) !important; }
body.ceb-feastie .ceb-blog-infobox {
	background: var(--fx-lav) !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
}
body.ceb-feastie .ceb-blog-infobox--warning { background: #FFF1D6 !important; }
body.ceb-feastie .ceb-blog-infobox__title { color: var(--fx-purple) !important; }
body.ceb-feastie .ceb-blog-steps__number { background: var(--fx-purple) !important; color: #fff !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .ceb-blog-steps__title { color: var(--fx-purple) !important; }
body.ceb-feastie .ceb-blog-proscons__col {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .ceb-blog-proscons__col--pro .ceb-blog-proscons__col-header { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .ceb-blog-proscons__col--con .ceb-blog-proscons__col-header { background: #FFE0F8 !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .ceb-blog-table__scroll { border-radius: var(--fx-r-lg) !important; box-shadow: var(--fx-shadow-card) !important; }
body.ceb-feastie .ceb-blog-table__th { background: var(--fx-purple-deep) !important; color: #fff !important; }
body.ceb-feastie .ceb-blog-table__th--hl { background: var(--fx-purple) !important; }
body.ceb-feastie .ceb-blog-table__td--hl { background: var(--fx-lime-soft) !important; color: var(--fx-purple-deep) !important; }
body.ceb-feastie .esim-blog-faq__item { background: #fff !important; border: 0 !important; border-radius: var(--fx-r-lg) !important; box-shadow: var(--fx-shadow-card) !important; }
body.ceb-feastie .esim-blog-faq__question { color: var(--fx-purple) !important; font-weight: 700 !important; }
body.ceb-feastie .esim-blog-cta {
	background: var(--fx-purple-deep) !important;
	background-image: none !important;
	border: 0 !important;
	border-radius: var(--fx-r-2xl) !important;
	color: #fff !important;
}
body.ceb-feastie .esim-blog-cta__country { color: #fff !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .esim-blog-cta__price { color: var(--fx-lime) !important; }
body.ceb-feastie .esim-blog-cta__tagline { color: #EBDDF7 !important; }
body.ceb-feastie .esim-blog-cta__btn { background: var(--fx-orange) !important; color: #fff !important; border-radius: 999px !important; border: 0 !important; box-shadow: var(--fx-shadow-cta) !important; }
body.ceb-feastie .esim-blog-cta__btn:hover { background: var(--fx-orange-d) !important; }
body.ceb-feastie .esim-blog-grid__filter {
	background: #fff !important;
	border: 1px solid var(--fx-border) !important;
	color: var(--fx-purple) !important;
	border-radius: 999px !important;
}
body.ceb-feastie .esim-blog-grid__filter--active { background: var(--fx-purple) !important; border-color: var(--fx-purple) !important; color: #fff !important; }

/* Winkelwagen (lp-cart-page / spc) */
body.ceb-feastie .lp-cart-page { background: transparent !important; }
body.ceb-feastie .lp-cart-page .cart-section,
body.ceb-feastie .lp-cart-page .summary-total-block,
body.ceb-feastie .lp-cart-page .upsell,
body.ceb-feastie .lp-cart-page .cart-faq {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .lp-cart-page .cart-progress [class*="fill"],
body.ceb-feastie .lp-cart-page .cart-progress [class*="bar"] > * { background: var(--fx-purple) !important; }
body.ceb-feastie .lp-cart-page .cart-cta,
body.ceb-feastie .lp-cart-page .express-btn:not([class*="apple"]):not([class*="google"]) {
	background: var(--fx-orange) !important;
	color: #fff !important;
	border-radius: 999px !important;
	border: 0 !important;
	box-shadow: var(--fx-shadow-cta) !important;
}
body.ceb-feastie .lp-cart-page .cart-cta:hover { background: var(--fx-orange-d) !important; }
body.ceb-feastie .lp-cart-page .qty-stepper { border-radius: 999px !important; border: 1px solid var(--fx-border) !important; background: #fff !important; }
body.ceb-feastie .lp-cart-page .qty-stepper button { color: var(--fx-purple) !important; }
body.ceb-feastie .lp-cart-page :is(input[type="email"], input[type="text"]) {
	border: 1.5px solid var(--fx-border) !important;
	border-radius: 999px !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .lp-cart-page .upsell-check { accent-color: var(--fx-purple); }
body.ceb-feastie .lp-cart-page .whatsapp-help { border-radius: var(--fx-r-xl) !important; }
body.ceb-feastie .lp-cart-page .cart-empty {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-2xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .lp-cart-page .cart-empty :is(h1, h2, h3) { color: var(--fx-purple) !important; }
body.ceb-feastie .lp-cart-page .cart-empty a { background: var(--fx-orange) !important; color: #fff !important; border-radius: 999px !important; }

body.ceb-feastie .lp-cart-page.spc-page,
body.ceb-feastie .spc-page { background: var(--fx-cream) !important; }
body.ceb-feastie .lp-cart-page .cart-empty svg { color: var(--fx-purple) !important; stroke: var(--fx-purple) !important; }
body.ceb-feastie .esim-install-guide .esim-ig-tab.esim-ig-tab--active,
body.ceb-feastie .esim-ig-tabs .esim-ig-tab--active {
	background: var(--fx-purple) !important;
	background-image: none !important;
	color: #fff !important;
	box-shadow: none !important;
}
body.ceb-feastie .esim-ig-req-icon svg { stroke: var(--fx-purple) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .esim-ph-bread {
	background: rgba(255, 255, 255, .10) !important;
	border: 1px solid rgba(255, 255, 255, .16) !important;
}
body.ceb-feastie .esim-ph-bread a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; }
body.ceb-feastie .esim-ph-bread span { color: #D9C6EC !important; }

/* WooCommerce checkout + bedankt */
body.ceb-feastie.woocommerce-checkout { background: var(--fx-cream) !important; }
body.ceb-feastie .woocommerce-checkout :is(.woocommerce-billing-fields, .woocommerce-additional-fields, .woocommerce-checkout-review-order, #order_review) {
	background: #fff !important;
	border: 0 !important;
	border-radius: var(--fx-r-xl) !important;
	box-shadow: var(--fx-shadow-card) !important;
}
body.ceb-feastie .woocommerce-checkout :is(h3, #order_review_heading) { color: var(--fx-purple) !important; font-family: var(--fx-font-display) !important; font-weight: 800 !important; }
body.ceb-feastie .woocommerce-checkout :is(input.input-text, select, textarea) {
	border: 1.5px solid var(--fx-border) !important;
	border-radius: var(--fx-r-md) !important;
	color: var(--fx-purple) !important;
}
body.ceb-feastie .woocommerce-checkout :is(input.input-text, select, textarea):focus { border-color: var(--fx-purple) !important; box-shadow: 0 0 0 4px var(--fx-lav) !important; }
body.ceb-feastie .woocommerce-checkout .form-row label { color: var(--fx-purple) !important; font-weight: 700 !important; }
body.ceb-feastie .woocommerce-checkout-review-order-table th,
body.ceb-feastie .woocommerce-checkout-review-order-table td { border-color: var(--fx-border) !important; color: var(--fx-plum) !important; }
body.ceb-feastie .woocommerce-checkout-review-order-table .order-total :is(th, td, .amount) { color: var(--fx-purple) !important; font-weight: 800 !important; }
body.ceb-feastie .woocommerce-checkout #payment { background: var(--fx-cream) !important; border-radius: var(--fx-r-lg) !important; }
body.ceb-feastie .woocommerce-checkout #payment .payment_box { background: #fff !important; color: var(--fx-plum) !important; }
body.ceb-feastie .woocommerce-checkout #payment .payment_box::before { border-bottom-color: #fff !important; }
body.ceb-feastie :is(.woocommerce-info, .woocommerce-message) { border-top-color: var(--fx-purple) !important; background: var(--fx-lav) !important; color: var(--fx-purple) !important; border-radius: var(--fx-r-md) !important; }
body.ceb-feastie :is(.woocommerce-info, .woocommerce-message)::before { color: var(--fx-purple) !important; }
body.ceb-feastie .thx-page .checkout-progress [class*="active"],
body.ceb-feastie .thx-page .checkout-progress [class*="done"] { background: var(--fx-purple) !important; color: #fff !important; }

/* --------------------------------------------------------------------------
   11. PRODUCTPAGINA — Feastie-indeling (.p-hero--fx, v1.9.1)
   Tekst + foto in de paarse band, bundels in een brede witte kaart die
   over de band heen valt. Alleen actief als de widget de fx-opbouw
   rendert (dus uitsluitend wanneer het design aan staat).
   -------------------------------------------------------------------------- */
body.ceb-feastie .ep-v2 .p-hero.p-hero--fx {
	background: transparent !important;
	border-radius: 0 !important;
	padding: 0 !important;
	color: inherit;
}
body.ceb-feastie .ep-v2 .p-hero--fx .container {
	max-width: 1240px;
	margin-inline: auto;
	padding-inline: clamp(20px, 3vw, 40px);
	box-sizing: border-box;
}
body.ceb-feastie .ep-v2 .p-hero--fx .fx-band {
	background: var(--fx-purple-deep);
	border-radius: 0 0 var(--fx-r-2xl) var(--fx-r-2xl);
	padding: 28px 0 150px;
	color: #fff;
}
body.ceb-feastie .ep-v2 .fx-crumb {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 13px;
	font-weight: 600;
	color: #D9C6EC;
	margin-bottom: 28px;
}
body.ceb-feastie .ep-v2 .fx-crumb a { color: #fff !important; text-decoration: underline; text-underline-offset: 3px; text-decoration-thickness: 1px; }
body.ceb-feastie .ep-v2 .fx-crumb a:hover { color: var(--fx-lime) !important; }
body.ceb-feastie .ep-v2 .fx-crumb b { color: #D9C6EC; font-weight: 600; }
body.ceb-feastie .ep-v2 .fx-crumb .sep { color: #B7A0D0; }

body.ceb-feastie .ep-v2 .fx-hero-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
	gap: 56px;
	align-items: center;
}
body.ceb-feastie .ep-v2 .fx-hero-copy { min-width: 0; }
body.ceb-feastie .ep-v2 .fx-hero-copy .p-tags { margin-bottom: 18px; }
body.ceb-feastie .ep-v2 .fx-hero-copy .p-title {
	font-size: clamp(38px, 5vw, 64px) !important;
	margin: 0 0 16px !important;
}
body.ceb-feastie .ep-v2 .fx-hero-copy .p-title .marker { display: inline; }
body.ceb-feastie .ep-v2 .fx-hero-copy .p-sub {
	font-size: 18px !important;
	line-height: 1.55 !important;
	max-width: 50ch;
	margin: 0 0 22px !important;
}
body.ceb-feastie .ep-v2 .fx-hero-copy .p-rating {
	border: 0 !important;
	padding: 0 !important;
	margin: 0 0 22px !important;
	flex-wrap: wrap;
	gap: 10px 14px;
}
body.ceb-feastie .ep-v2 .fx-hero-copy .p-rating .live { margin-left: 0 !important; }

/* Netwerken als vinkjes (zoals "Türk Telekom en Vodafone, 4G/5G") */
body.ceb-feastie .ep-v2 .fx-networks {
	display: flex !important;
	flex-wrap: wrap;
	gap: 12px 26px;
	margin: 0 !important;
}
body.ceb-feastie .ep-v2 .fx-networks .network-item {
	background: none !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 !important;
	gap: 10px !important;
	align-items: center;
	transform: none !important;
}
body.ceb-feastie .ep-v2 .fx-networks .network-item .net-dot {
	width: 24px !important;
	height: 24px !important;
	border-radius: 999px !important;
	background: var(--fx-success) url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='20 6 9 17 4 12'/></svg>") center / 13px no-repeat !important;
	flex-shrink: 0;
	box-shadow: none !important;
}
body.ceb-feastie .ep-v2 .fx-networks .network-item .net-dot::after { display: none !important; }
body.ceb-feastie .ep-v2 .fx-networks .network-item b { font-size: 16px !important; color: #fff !important; }
body.ceb-feastie .ep-v2 .fx-networks .network-item span:not(.net-dot) { font-size: 14px !important; color: #D9C6EC !important; margin-left: 4px; }
body.ceb-feastie .ep-v2 .fx-networks .network-item > div { display: flex; align-items: baseline; flex-wrap: wrap; }

/* Foto met lime kader + oranje prijssticker */
body.ceb-feastie .ep-v2 .fx-hero-media {
	position: relative;
	justify-self: end;
	width: 100%;
	max-width: 420px;
}
body.ceb-feastie .ep-v2 .fx-hero-media .p-photo-main {
	aspect-ratio: 4 / 5 !important;
	width: 100%;
}
body.ceb-feastie .ep-v2 .fx-hero-media .p-photo-illu img { width: 100%; height: 100%; object-fit: cover; display: block; border-radius: var(--fx-r-lg); }
body.ceb-feastie .ep-v2 .fx-hero-media .p-photo-meta { display: none; }
body.ceb-feastie .ep-v2 .fx-hero-media .p-photo-flag { display: none; }
body.ceb-feastie .ep-v2 .fx-sticker {
	position: absolute;
	left: -36px;
	bottom: 34px;
	z-index: 2;
	transform: rotate(-4deg);
	background: var(--fx-orange);
	color: #fff;
	border-radius: var(--fx-r-md);
	padding: 12px 18px 14px;
	box-shadow: 0 16px 30px -14px rgba(0, 0, 0, .5);
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}
body.ceb-feastie .ep-v2 .fx-sticker-k { font-size: 13px; font-weight: 700; color: #FFE3D1; }
body.ceb-feastie .ep-v2 .fx-sticker-v { font-family: var(--fx-font-display); font-weight: 800; font-size: 28px; letter-spacing: -0.02em; }

/* Brede witte bundelkaart */
body.ceb-feastie .ep-v2 .fx-buy { margin-top: -110px; position: relative; z-index: 3; }
body.ceb-feastie .ep-v2 .fx-buybox {
	background: #fff;
	border-radius: var(--fx-r-xl);
	box-shadow: var(--fx-shadow-hover);
	padding: 32px;
}
body.ceb-feastie .ep-v2 .fx-buy-top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px 24px;
	flex-wrap: wrap;
	margin-bottom: 24px;
}
body.ceb-feastie .ep-v2 .fx-buy-title {
	margin: 0 !important;
	font-size: clamp(24px, 2.6vw, 30px) !important;
	letter-spacing: -0.018em !important;
	color: var(--fx-purple-deep) !important;
}
body.ceb-feastie .ep-v2 .fx-buybox .plan-toggle {
	background: var(--fx-lav-3) !important;
	border: 0 !important;
	margin: 0 !important;
	min-width: 300px;
}
body.ceb-feastie .ep-v2 .fx-buybox .plan-toggle::before { background: var(--fx-lav-2) !important; box-shadow: none !important; }
body.ceb-feastie .ep-v2 .fx-buybox .plan-toggle button { color: var(--fx-muted) !important; }
body.ceb-feastie .ep-v2 .fx-buybox .plan-toggle button.active { color: var(--fx-purple-deep) !important; }

/* Bundelraster: 3 kolommen, kaart als mini-grid (data | prijs) */
body.ceb-feastie .ep-v2 .fx-buybox .bundle-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	gap: 28px 20px !important;
	padding-top: 12px;
	margin-bottom: 0 !important;
}
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	grid-template-areas: "data price" "days days" "model model" "per badge";
	align-content: start;
	column-gap: 12px;
	min-height: 150px;
	padding: 22px 20px 18px !important;
	border: 2px solid transparent !important;
	box-shadow: 0 1px 2px rgba(58, 21, 96, .05), 0 8px 24px rgba(58, 21, 96, .07) !important;
}
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-data { grid-area: data; font-size: 30px !important; margin: 0 !important; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-price,
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-price-row { grid-area: price; align-self: start; font-size: 24px !important; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-price-row .bundle-price { font-size: 24px !important; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-days { grid-area: days; margin: 14px 0 0 !important; font-size: 14px !important; font-weight: 500 !important; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-model { grid-area: model; margin-top: 6px; color: var(--fx-muted) !important; font-size: 13px; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-price-per { grid-area: per; align-self: end; margin-top: 22px !important; font-size: 12px !important; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .save-badge {
	grid-area: badge;
	position: static !important;
	justify-self: end;
	align-self: end;
	margin-top: 22px;
	padding: 4px 10px !important;
	font-size: 11.5px !important;
}
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-tag {
	left: 20px !important;
	transform: none !important;
	top: -12px !important;
	font-size: 12px !important;
	letter-spacing: .02em !important;
	text-transform: none !important;
	padding: 5px 12px !important;
}
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-tag.best { background: var(--fx-purple-deep) !important; color: #fff !important; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card.selected::before { top: 14px; right: 14px; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card.selected .bundle-price,
body.ceb-feastie .ep-v2 .fx-buybox .bundle-card.selected .bundle-price-row { padding-right: 30px; }

/* Onbeperkt-kaarten: "Onbeperkt" is lang — prijs onder de naam */
body.ceb-feastie .ep-v2 .fx-buybox .bundle-grid[data-plan="unl"] .bundle-card {
	grid-template-columns: 1fr;
	grid-template-areas: "data" "days" "price" "model" "per" "badge";
}
body.ceb-feastie .ep-v2 .fx-buybox .bundle-grid[data-plan="unl"] .bundle-card .bundle-days { margin-top: 4px !important; }
body.ceb-feastie .ep-v2 .fx-buybox .bundle-grid[data-plan="unl"] .bundle-card .bundle-price-row { margin-top: 14px; display: flex; align-items: center; gap: 8px; padding-right: 0; }

/* Tier-keuze (onbeperkt) in de witte kaart */
body.ceb-feastie .ep-v2 .fx-buybox .tier-picker { margin-bottom: 20px; }
body.ceb-feastie .ep-v2 .fx-buybox .tier-picker-label { color: var(--fx-purple) !important; }
body.ceb-feastie .ep-v2 .fx-buybox .tier-card { background: var(--fx-cream) !important; border: 2px solid transparent !important; border-radius: var(--fx-r-lg) !important; color: var(--fx-purple) !important; }
body.ceb-feastie .ep-v2 .fx-buybox .tier-card.active { border-color: var(--fx-purple) !important; background: var(--fx-lav) !important; }
body.ceb-feastie .ep-v2 .fx-buybox .tier-pill { background: var(--fx-lime) !important; color: var(--fx-purple-deep) !important; }

/* Onderrij: prijsinfo links, aantal + koopknop + betaallogo's rechts */
body.ceb-feastie .ep-v2 .fx-buy-bottom {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 520px);
	grid-template-areas: "info cta";
	gap: 20px 40px;
	align-items: start;
	margin-top: 28px;
	padding-top: 24px;
	border-top: 1px solid var(--fx-border);
}
body.ceb-feastie .ep-v2 .fx-buy-cta { grid-area: cta; }
body.ceb-feastie .ep-v2 .fx-buy-bottom .qdf-strip { grid-area: info; margin: 0 !important; background: var(--fx-lime-soft) !important; box-shadow: none !important; }
body.ceb-feastie .ep-v2 .fx-buy-bottom:not(:has(.qdf-strip)) { grid-template-columns: 1fr; grid-template-areas: "cta"; }
body.ceb-feastie .ep-v2 .fx-buy-cta .buy-row { margin-bottom: 12px !important; }
body.ceb-feastie .ep-v2 .fx-buy-cta .qty-stepper { border: 1.5px solid var(--fx-border) !important; box-shadow: none !important; }
body.ceb-feastie .ep-v2 .fx-buy-cta .qty-stepper button { background: transparent !important; }
body.ceb-feastie .ep-v2 .fx-buy-cta .btn-buy { flex: 1; justify-content: center; min-height: 56px; font-size: 17px !important; }
body.ceb-feastie .ep-v2 .fx-buy-cta .pay-row { justify-content: center; }
body.ceb-feastie .ep-v2 .fx-buy-cta .pay-row > span:first-child { color: var(--fx-muted) !important; width: 100%; text-align: center; }
body.ceb-feastie .ep-v2 .fx-buy-cta .pay-row .pay-logo { border: 1px solid var(--fx-border) !important; }
body.ceb-feastie .ep-v2 .fx-buybox .live-purchases { margin-top: 18px; background: var(--fx-cream) !important; box-shadow: none !important; }

@media (max-width: 960px) {
	body.ceb-feastie .ep-v2 .fx-hero-grid { grid-template-columns: 1fr; gap: 36px; }
	body.ceb-feastie .ep-v2 .fx-hero-media { justify-self: center; max-width: 380px; }
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	body.ceb-feastie .ep-v2 .fx-buy-bottom { grid-template-columns: 1fr; grid-template-areas: "cta" "info"; }
}
@media (max-width: 600px) {
	body.ceb-feastie .ep-v2 .p-hero--fx .fx-band { padding: 20px 0 120px; border-radius: 0 0 var(--fx-r-xl) var(--fx-r-xl); }
	body.ceb-feastie .ep-v2 .fx-crumb { margin-bottom: 18px; }
	body.ceb-feastie .ep-v2 .fx-hero-copy .p-sub { font-size: 16px !important; }
	body.ceb-feastie .ep-v2 .fx-hero-media { max-width: 82%; }
	body.ceb-feastie .ep-v2 .fx-sticker { left: -18px; bottom: 20px; padding: 10px 14px 12px; }
	body.ceb-feastie .ep-v2 .fx-sticker-v { font-size: 22px; }
	body.ceb-feastie .ep-v2 .fx-buy { margin-top: -90px; }
	body.ceb-feastie .ep-v2 .fx-buybox { padding: 20px 16px; border-radius: var(--fx-r-lg); }
	body.ceb-feastie .ep-v2 .fx-buybox .plan-toggle { min-width: 0; width: 100%; }
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-grid { gap: 22px 12px !important; }
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-card {
		grid-template-columns: 1fr;
		grid-template-areas: "data" "price" "days" "model" "per" "badge";
		min-height: 0;
		padding: 20px 14px 14px !important;
	}
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-data { font-size: 24px !important; }
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-price,
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-price-row { margin-top: 8px; font-size: 20px !important; }
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-days { margin-top: 6px !important; font-size: 13px !important; }
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .bundle-price-per { margin-top: 6px !important; }
	body.ceb-feastie .ep-v2 .fx-buybox .bundle-card .save-badge { justify-self: start; margin-top: 8px; }
}

/* --------------------------------------------------------------------------
   12. Responsief
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
	body.ceb-feastie .ep-v2 .p-hero { border-radius: 0 0 var(--fx-r-xl) var(--fx-r-xl); padding-bottom: 40px !important; }
	body.ceb-feastie .ep-v2 .p-photo-main::before { inset: 12px -10px -12px 10px; border-width: 8px; }
	body.ceb-feastie .ep-cta-inner,
	body.ceb-feastie .ep-v2 .newsletter-card,
	body.ceb-feastie .ep-product-seo-text { border-radius: var(--fx-r-xl) !important; }
}

@media (prefers-reduced-motion: reduce) {
	body.ceb-feastie *,
	body.ceb-feastie *::before,
	body.ceb-feastie *::after { transition: none !important; animation: none !important; }
}

/* Elementor-headersjabloon: de container rond de (vaste) site-header had 2×10px
   standaard-padding, wat een grijze balk van 20px boven de hero gaf. */
body.ceb-feastie .elementor-location-header > .e-con,
body.ceb-feastie .elementor-location-header > .e-con > .e-con-inner {
	--padding-top: 0px; --padding-bottom: 0px;
	padding-top: 0 !important; padding-bottom: 0 !important; min-height: 0 !important;
}
/* FX-containers altijd over de volle breedte, ook op brede schermen */
body .e-con.ceb-fx-only { width: 100% !important; max-width: 100% !important; --width: 100%; }

/* Nieuw logo (strak SVG zonder witruimte): kleiner zetten dan het oude PNG-logo */
body.ceb-feastie .ceb-site-header .ceb-sh-logo-img { height: 38px !important; max-width: 230px !important; }
@media (max-width: 880px) {
	body.ceb-feastie .ceb-site-header .ceb-sh-logo-img { height: 30px !important; max-width: 180px !important; }
}
body.ceb-feastie .ceb-site-header svg.ceb-sh-logo-svg { display: block; width: auto !important; height: 38px !important; max-width: 230px !important; }
@media (max-width: 880px) { body.ceb-feastie .ceb-site-header svg.ceb-sh-logo-svg { height: 30px !important; max-width: 180px !important; } }

/* ==========================================================================
   12. WINKELWAGEN / ONE-PAGE CHECKOUT — Feastie-design (v1.13)
   Alleen opmaak; alle ids/klassen die cart-v2.js gebruikt blijven gelijk.
   ========================================================================== */
body.ceb-feastie .spc-page { font-family: var(--fx-font-text, 'Hanken Grotesk', sans-serif) !important; color: var(--fx-plum, #3A1560); padding-bottom: 72px; }
body.ceb-feastie .spc-page .container { max-width: 1120px !important; }

/* Urgentiebalk: paarse pil met lime bliksem */
body.ceb-feastie .spc-page .spc-urgency {
	display: flex !important; align-items: center; gap: 12px;
	background: #3A1560 !important; color: #fff !important; border: 0 !important;
	border-radius: 999px !important; padding: 12px 22px 12px 12px !important; font-size: 14.5px !important;
	box-shadow: none !important;
}
body.ceb-feastie .spc-page .spc-urgency svg { flex: none; width: 30px !important; height: 30px !important; padding: 7px; border-radius: 999px; background: #D3E797; color: #3A1560 !important; stroke: #3A1560 !important; fill: none; }
body.ceb-feastie .spc-page .spc-urgency b { color: #D3E797 !important; }
body.ceb-feastie .spc-page .spc-urgency span { color: #fff !important; }

/* Terug-link + stappen op één rij */
body.ceb-feastie .spc-page .cart-back { color: #3A1560 !important; font-weight: 700 !important; }
body.ceb-feastie .spc-page .cart-progress { justify-content: flex-end !important; }
body.ceb-feastie .spc-page .cart-progress .step { color: #6E5A80 !important; font-weight: 700 !important; }
body.ceb-feastie .spc-page .cart-progress .step .num { background: #fff !important; color: #3A1560 !important; box-shadow: inset 0 0 0 1.5px #E8DFEE !important; }
body.ceb-feastie .spc-page .cart-progress .step.active { color: #3A1560 !important; }
body.ceb-feastie .spc-page .cart-progress .step.active .num { background: #EE5F0F !important; color: #fff !important; box-shadow: none !important; }
body.ceb-feastie .spc-page .cart-progress .line { background: #E8DFEE !important; }

/* Kaarten */
body.ceb-feastie .spc-page :is(.cart-section, .co-section) {
	background: #fff !important; border: 0 !important; border-radius: 28px !important;
	box-shadow: 0 1px 2px rgba(58,21,96,.04), 0 8px 24px -12px rgba(58,21,96,.14) !important;
}
body.ceb-feastie .spc-page :is(.cart-section, .co-section) > h3 {
	display: flex !important; align-items: center; gap: 12px;
	font-family: var(--fx-font-display, 'Bricolage Grotesque', sans-serif) !important; font-weight: 800 !important;
	font-size: 22px !important; letter-spacing: -.015em !important; text-transform: none !important;
	color: #3A1560 !important;
}
body.ceb-feastie .spc-page :is(.cart-section, .co-section) > h3 :is(.num, .step-num) {
	width: 32px !important; height: 32px !important; border-radius: 999px !important;
	background: #D3E797 !important; color: #3A1560 !important; font-family: var(--fx-font-text, sans-serif) !important;
	font-size: 14px !important; font-weight: 800 !important; display: inline-flex !important; align-items: center; justify-content: center;
}
body.ceb-feastie .spc-page .co-section .helper { color: #6E5A80 !important; padding-left: 44px; margin-top: -6px !important; }

/* Productkaart */
body.ceb-feastie .spc-page .cart-product {
	border: 2px solid #EE5F0F !important; background: #FFF5EE !important; border-radius: 20px !important;
}
body.ceb-feastie .spc-page .cart-product-flag { border-radius: 999px !important; overflow: hidden; box-shadow: 0 0 0 3px #fff, 0 4px 12px rgba(58,21,96,.15) !important; background: #fff !important; }
body.ceb-feastie .spc-page .cart-product-flag img { object-fit: cover !important; width: 100% !important; height: 100% !important; }
body.ceb-feastie .spc-page .cart-product-info .country { font-family: var(--fx-font-display, sans-serif) !important; font-weight: 800 !important; font-size: 22px !important; color: #3A1560 !important; }
body.ceb-feastie .spc-page .cart-product-info .specs { color: #6E5A80 !important; }
body.ceb-feastie .spc-page .cart-product-info .badge { background: #EAF5C4 !important; color: #2F6B1A !important; border: 0 !important; }
body.ceb-feastie .spc-page .cart-product-price .pr { font-family: var(--fx-font-display, sans-serif) !important; font-weight: 800 !important; color: #3A1560 !important; font-size: 24px !important; }
body.ceb-feastie .spc-page .qty-stepper { border-radius: 999px !important; background: #fff !important; border: 1.5px solid #E8DFEE !important; }
body.ceb-feastie .spc-page .qty-stepper button { color: #3A1560 !important; background: transparent !important; }
body.ceb-feastie .spc-page .cart-product-remove { border-radius: 999px !important; background: #fff !important; box-shadow: inset 0 0 0 1.5px #E8DFEE !important; color: #3A1560 !important; }
body.ceb-feastie .spc-page .number-callout { background: #F2F8E1 !important; border: 0 !important; border-radius: 16px !important; color: #3A1560 !important; }
body.ceb-feastie .spc-page .number-callout .ic { background: #4A8A2A !important; color: #fff !important; }
body.ceb-feastie .spc-page .number-callout b { color: #3A1560 !important; }

/* Upsell */
body.ceb-feastie .spc-page .spc-upsell > summary { color: #3A1560 !important; }
body.ceb-feastie .spc-page .spc-upsell-plus { width: 32px !important; height: 32px !important; border-radius: 999px !important; background: #EE5F0F !important; color: #fff !important; font-weight: 800 !important; display: inline-flex !important; align-items: center; justify-content: center; }
body.ceb-feastie .spc-page .spc-upsell-title { font-weight: 800 !important; color: #3A1560 !important; }
body.ceb-feastie .spc-page .upsell { border-radius: 16px !important; border: 1.5px solid #E8DFEE !important; background: #fff !important; }
body.ceb-feastie .spc-page .upsell.selected, body.ceb-feastie .spc-page .upsell.is-selected { border-color: #EE5F0F !important; background: #FFF5EE !important; }
body.ceb-feastie .spc-page .companion-discount-label { background: #D3E797 !important; color: #3A1560 !important; }

/* Velden */
body.ceb-feastie .spc-page .form-field label { color: #3A1560 !important; font-weight: 700 !important; }
body.ceb-feastie .spc-page .form-field .req { color: #C44308 !important; }
body.ceb-feastie .spc-page .form-field :is(input, select, textarea) {
	width: 100% !important; max-width: 100% !important; min-height: 52px !important; border-radius: 14px !important;
	border: 1.5px solid #E8DFEE !important; box-shadow: none !important; background: #fff !important;
	color: #3A1560 !important; font-size: 16px !important;
}
body.ceb-feastie .spc-page .form-field :is(input, select, textarea):focus { border-color: #3A1560 !important; box-shadow: 0 0 0 4px rgba(58,21,96,.12) !important; outline: 0 !important; }
body.ceb-feastie .spc-page .form-field .hint { color: #6E5A80 !important; }
body.ceb-feastie .spc-page .co-address-toggle { border: 0 !important; background: #FBF7F8 !important; border-radius: 14px !important; }
body.ceb-feastie .spc-page .co-address-toggle summary { color: #3A1560 !important; }

/* Betaalmethodes */
body.ceb-feastie .spc-page .pm-card { border: 1.5px solid #E8DFEE !important; border-radius: 16px !important; background: #fff !important; color: #3A1560 !important; }
body.ceb-feastie .spc-page .pm-card:hover { border-color: #CDBBE0 !important; }
body.ceb-feastie .spc-page .pm-card.selected { border: 2px solid #EE5F0F !important; background: #FFF5EE !important; }
body.ceb-feastie .spc-page .pm-radio { border-color: #CDBBE0 !important; }
body.ceb-feastie .spc-page .pm-card.selected .pm-radio { border-color: #EE5F0F !important; box-shadow: inset 0 0 0 4px #fff !important; background: #EE5F0F !important; }
body.ceb-feastie .spc-page .pm-name { color: #3A1560 !important; font-weight: 800 !important; }
body.ceb-feastie .spc-page .pm-meta { color: #6E5A80 !important; }
body.ceb-feastie .spc-page .pm-badge { background: #D3E797 !important; color: #3A1560 !important; letter-spacing: 0 !important; text-transform: none !important; }

/* Overzicht (rechts) */
body.ceb-feastie .spc-page .checkout-summary {
	background: #fff !important; border: 0 !important; border-radius: 28px !important; overflow: hidden;
	padding-top: 0 !important; box-shadow: 0 1px 2px rgba(58,21,96,.04), 0 12px 32px -14px rgba(58,21,96,.22) !important;
}
body.ceb-feastie .spc-page .fx-sum-head { display: flex; align-items: center; gap: 14px; margin: 0 -24px 18px; padding: 22px 24px; background: #3A1560; color: #fff; }
body.ceb-feastie .spc-page .fx-sum-flag { flex: none; width: 44px; height: 44px; border-radius: 999px; overflow: hidden; box-shadow: 0 0 0 2px #fff; background: #fff; }
body.ceb-feastie .spc-page .fx-sum-flag img { width: 100%; height: 100%; object-fit: cover; display: block; }
body.ceb-feastie .spc-page .fx-sum-head b { display: block; font-family: var(--fx-font-display, sans-serif); font-weight: 800; font-size: 22px; line-height: 1.1; color: #fff; }
body.ceb-feastie .spc-page .fx-sum-head span { display: block; margin-top: 3px; font-size: 13px; color: #EBDDF7; }
body.ceb-feastie .spc-page .fx-sum-head + h2 { display: none !important; }
body.ceb-feastie .spc-page .checkout-summary > h2 { font-family: var(--fx-font-display, sans-serif) !important; color: #3A1560 !important; padding-top: 22px; }
body.ceb-feastie .spc-page .summary-line { color: #3A1560 !important; }
body.ceb-feastie .spc-page .summary-divider { background: #EFE6F4 !important; }
body.ceb-feastie .spc-page .discount-toggle { color: #3A1560 !important; font-weight: 700 !important; text-decoration: underline; text-underline-offset: 3px; }
body.ceb-feastie .spc-page .summary-total-block { background: #D3E797 !important; border: 0 !important; border-radius: 18px !important; box-shadow: none !important; }
body.ceb-feastie .spc-page .summary-total-block .label { color: #3A1560 !important; font-weight: 800 !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 15px !important; }
body.ceb-feastie .spc-page .summary-total-block .vat { color: #3A1560 !important; opacity: .75; }
body.ceb-feastie .spc-page .summary-total-block .total-now { font-family: var(--fx-font-display, sans-serif) !important; font-weight: 800 !important; color: #3A1560 !important; font-size: 34px !important; }
body.ceb-feastie .spc-page .spc-express-btn { border-radius: 999px !important; min-height: 50px !important; }
body.ceb-feastie .spc-page .fx-or { display: flex; align-items: center; gap: 12px; margin: 16px 0 6px; color: #6E5A80; font-size: 11.5px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
body.ceb-feastie .spc-page .fx-or::before, body.ceb-feastie .spc-page .fx-or::after { content: ""; flex: 1; height: 1px; background: #EFE6F4; }
body.ceb-feastie .spc-page .spc-guarantee { color: #3A1560 !important; font-size: 15px !important; }
body.ceb-feastie .spc-page .spc-guarantee .ic { background: #4A8A2A !important; color: #fff !important; border-radius: 999px !important; }
body.ceb-feastie .spc-page .spc-guarantee b { color: #3A1560 !important; font-weight: 600 !important; }
body.ceb-feastie .spc-page .co-cta-button {
	border-radius: 999px !important; min-height: 60px !important; background: #EE5F0F !important; color: #fff !important;
	box-shadow: 0 14px 28px -14px rgba(238,95,15,.8) !important; font-weight: 800 !important;
}
body.ceb-feastie .spc-page .co-cta-button:hover:not([disabled]) { background: #3A1560 !important; }
body.ceb-feastie .spc-page .co-cta-button[disabled] { background: #EFE6F4 !important; color: #A48FB8 !important; box-shadow: none !important; opacity: 1 !important; }
body.ceb-feastie .spc-page .co-cta-button .label, body.ceb-feastie .spc-page .co-cta-button .label * { color: inherit !important; }
body.ceb-feastie .spc-page .co-cta-button .sub { color: inherit !important; opacity: .8; }
body.ceb-feastie .spc-page .co-terms { color: #6E5A80 !important; }
body.ceb-feastie .spc-page .co-terms a { color: #3A1560 !important; font-weight: 800 !important; }
body.ceb-feastie .spc-page .whatsapp-help { background: #FBF7F8 !important; border: 0 !important; border-radius: 18px !important; color: #3A1560 !important; }
body.ceb-feastie .spc-page .whatsapp-help b { color: #3A1560 !important; }
body.ceb-feastie .spc-page .whatsapp-help .wa-text span { color: #6E5A80 !important; }
body.ceb-feastie .spc-page .whatsapp-help .wa-ic { background: #E6F7EC !important; color: #1F9D55 !important; }
body.ceb-feastie .spc-page .whatsapp-help:hover { color: #3A1560 !important; }
@media (max-width: 900px) {
	body.ceb-feastie .spc-page .cart-progress { justify-content: center !important; }
	body.ceb-feastie .spc-page .spc-urgency { border-radius: 20px !important; }
	body.ceb-feastie .spc-page .co-section .helper { padding-left: 0; }
}
@media (min-width: 901px) {
	body.ceb-feastie .spc-page .cart-back { position: relative; z-index: 1; }
	body.ceb-feastie .spc-page .cart-back + .cart-progress { margin-top: -30px !important; }
}
body.ceb-feastie .spc-page .whatsapp-help .wa-ic svg { color: #1F9D55 !important; fill: currentColor !important; opacity: 1 !important; }
body.ceb-feastie .spc-page .spc-express--aside:not(:has(.spc-express-btn:not([hidden]))) + .fx-or,
body.ceb-feastie .spc-page .spc-express--aside[hidden] + .fx-or { display: none; }
@media (max-width: 900px) { body.ceb-feastie .spc-page .fx-or { display: none; } }
