/* Black Friday 2026 · Deal Explosion: donkere campagneomgeving, alleen op /black-friday (zie black-friday.php).
   Kaarten zijn de bestaande BELREUS-kaarten (wit) op de donkere achtergrond; geen aparte productcomponenten. */
.bfp { position: relative; overflow: hidden; padding-bottom: 56px; color: #e8eefb;
    background: radial-gradient(60% 40% at 50% 0%, rgba(47, 115, 255, .22), transparent 70%), linear-gradient(180deg, #050b1c 0%, #081734 40%, #061128 75%, #040a1a 100%); }
.bfp a { color: inherit; }
.bfp .muted { color: #a9b7d3; }
.bfp-bar { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 14px; padding-bottom: 6px; }
.bfp-back { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border: 1px solid rgba(120, 165, 255, .35); border-radius: 999px; font-size: .875rem; font-weight: 700; text-decoration: none; }
.bfp-back .icon { transform: rotate(180deg); }
.bfp-back:hover { border-color: #fff; text-decoration: none; }
.bfp-logo { display: block; width: 190px; height: auto; }
.bfp-tools { display: flex; gap: 18px; }
.bfp-tools a { display: flex; flex-direction: column; align-items: center; gap: 2px; font-size: .75rem; text-decoration: none; color: #cfdaf2; }
.bfp-tools a:hover { color: #fff; }

/* Hero */
.bfp-hero { position: relative; isolation: isolate; padding: 18px 0 34px; }
.bfp-hero .bfx-snow { position: absolute; inset: 0; z-index: 0; width: 100%; height: 100%; pointer-events: none; }
.bfp-hero::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 40px; z-index: 0; pointer-events: none;
    background: radial-gradient(40% 100% at 15% 110%, rgba(210, 228, 255, .35), transparent 70%), radial-gradient(40% 100% at 85% 110%, rgba(210, 228, 255, .3), transparent 70%); }
.bfp-hero-grid { position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .8fr) minmax(300px, .8fr); align-items: center; gap: 32px; }
.bfp-word { margin: 0; font-family: var(--font-heading); font-style: italic; font-weight: 800; font-size: clamp(2.75rem, 6vw, 5rem); line-height: .9; letter-spacing: -.02em; text-transform: uppercase; }
.bfp-black { background: linear-gradient(100deg, #f4f6fa 0%, #a9b4c6 32%, #fff 50%, #97a3b6 68%, #e6eaf1 100%); background-size: 220% 100%; -webkit-background-clip: text; background-clip: text; color: transparent; animation: bfp-sheen 7s linear infinite; }
.bfp-friday { display: block; color: #ff7a1a; text-shadow: 0 0 18px rgba(255, 122, 26, .3); }
.bfp-tags { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 14px 0 18px; }
.bfp-explosion { padding: 6px 16px; border: 1px solid rgba(110, 165, 255, .7); border-radius: 999px; background: linear-gradient(180deg, #1f5fe0, #123f9e); font-style: italic; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.bfp-year { padding: 4px 14px; border-radius: 10px; background: linear-gradient(180deg, #ff8a2b, #e8620c); font-family: var(--font-heading); font-size: 1.5rem; font-weight: 800; font-style: italic; }
.bfp-hero h1 { margin: 0 0 8px; color: #fff; font-size: clamp(1.375rem, 2.4vw, 2rem); line-height: 1.15; }
.bfp-lead { max-width: 36em; margin: 0; color: #c7d3ec; font-size: 1.0625rem; line-height: 1.55; }
.bfp-phones { position: relative; display: flex; align-items: flex-end; justify-content: center; height: 280px; min-width: 0; overflow: hidden; padding: 0 12px; }
.bfp-phone { width: auto; max-width: 40%; height: 220px; margin: 0 -14px; object-fit: contain; filter: drop-shadow(0 14px 18px rgba(0, 0, 0, .5)) drop-shadow(0 0 18px rgba(47, 115, 255, .25)); animation: bfp-float 6s ease-in-out infinite alternate; }
.bfp-phone-2 { height: 260px; z-index: 1; animation-delay: -2s; }
.bfp-phone-3 { height: 210px; animation-delay: -4s; }
.bfp-gift { position: absolute; bottom: 0; left: 50%; z-index: 2; width: 92px; height: auto; transform: translateX(-50%); }
@keyframes bfp-float { from { transform: translateY(0); } to { transform: translateY(-5px); } }
.bfp-hero-side { display: flex; flex-direction: column; gap: 16px; }
.bfp-countbox { padding: 16px 18px; border: 1px solid rgba(96, 156, 255, .5); border-radius: 18px; background: rgba(6, 20, 52, .72); text-align: center; box-shadow: 0 0 24px rgba(47, 115, 255, .18); }
.bfp-countlabel { margin: 0 0 10px; font-family: var(--font-heading); font-weight: 800; letter-spacing: .06em; text-transform: uppercase; color: #fff; }
.bfp-countlabel[hidden] { display: none; }
.bfp .bfx-timer { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.bfp .bfx-timer[hidden] { display: none; }
.bfp .bfx-timer span { display: flex; flex-direction: column; align-items: center; gap: 4px; color: #b9c8e8; font-size: .6875rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.bfp .bfx-timer strong { display: grid; place-items: center; width: 100%; height: 62px; border: 1px solid rgba(96, 156, 255, .55); border-radius: 12px; background: rgba(8, 26, 64, .85); color: #fff;
    font-family: var(--font-heading); font-size: 2rem; font-weight: 800; font-variant-numeric: tabular-nums; box-shadow: 0 0 14px rgba(47, 115, 255, .28); }
.bfp .bfx-live, .bfp .bfx-done { margin: 0; padding: 12px; border-radius: 12px; font-family: var(--font-heading); font-weight: 800; font-size: 1.25rem; }
.bfp .bfx-live { background: rgba(255, 122, 26, .16); color: #ffb37a; }
.bfp .bfx-done { background: rgba(255, 255, 255, .06); color: #d5def0; }
.bfp .bfx-live[hidden], .bfp .bfx-done[hidden] { display: none; }
.bfp-cta, .bfp-btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 48px; padding: 10px 22px; border: 0; border-radius: 999px;
    background: linear-gradient(180deg, #ff8a2b 0%, #f0650d 100%); color: #fff !important; font-weight: 800; text-decoration: none; cursor: pointer; box-shadow: 0 6px 18px rgba(240, 101, 13, .35); transition: transform .18s ease, filter .18s ease; }
.bfp-cta { min-height: 56px; font-size: 1.0625rem; text-transform: uppercase; letter-spacing: .02em; }
.bfp-cta:hover, .bfp-btn:hover { transform: translateY(-1px); filter: brightness(1.06); text-decoration: none; }
.bfp-cta:focus-visible, .bfp-btn:focus-visible, .bfp-link:focus-visible, .bfp-back:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
.bfp-btn-ghost { background: transparent; border: 1px solid rgba(255, 138, 43, .8); box-shadow: none; color: #ffb37a !important; }
.bfp-link { color: #8fb6ff !important; font-weight: 700; text-decoration: none; }
.bfp-link:hover { text-decoration: underline; }

/* USP's, categorieën, uitleg */
.bfp-usps { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding-top: 14px; padding-bottom: 14px; border-top: 1px solid rgba(120, 165, 255, .18); border-bottom: 1px solid rgba(120, 165, 255, .18); font-size: .875rem; color: #c7d3ec; }
.bfp-usps span { display: flex; align-items: center; gap: 8px; }
.bfp-usps .icon { flex: none; color: #ff8a2b; }
.bfp-usps b { color: #fff; }
.bfp-cats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin-top: 26px; }
.bfp-cats a { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border: 1px solid rgba(96, 156, 255, .4); border-radius: 16px; background: linear-gradient(180deg, rgba(20, 50, 110, .55), rgba(8, 22, 54, .75)); text-decoration: none; transition: border-color .18s, transform .18s; }
.bfp-cats a:hover { border-color: #ff8a2b; transform: translateY(-2px); text-decoration: none; }
.bfp-cats .icon { flex: none; color: #ffb37a; }
.bfp-cats span { display: flex; flex-direction: column; font-weight: 800; color: #fff; }
.bfp-cats small { font-weight: 500; color: #a9b7d3; }
.bfp-note { margin-top: 18px; margin-bottom: 0; color: #a9b7d3; font-size: .875rem; }

/* Deal van de dag */
.bfp-dotd { position: relative; display: grid; grid-template-columns: 120px minmax(0, 1fr) auto auto auto; align-items: center; gap: 22px; margin-top: 30px; padding: 26px 24px 20px;
    border: 1px solid rgba(255, 138, 43, .55); border-radius: 20px; background: linear-gradient(100deg, rgba(14, 40, 92, .85), rgba(7, 20, 48, .92)); box-shadow: 0 0 30px rgba(255, 122, 26, .12); }
.bfp-dotd-badge { position: absolute; top: -14px; left: 22px; display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 5px 14px; border-radius: 999px; background: linear-gradient(180deg, #ff8a2b, #e8620c); color: #fff; font-weight: 800; font-size: .875rem; text-transform: uppercase; }
.bfp-dotd-img img { display: block; width: 120px; height: 120px; object-fit: contain; }
.bfp-dotd h2 { margin: 0 0 8px; font-size: 1.375rem; }
.bfp-dotd h2 a { color: #fff; text-decoration: none; }
.bfp-dotd-plan { display: flex; align-items: center; gap: 10px; margin: 0; color: #c7d3ec; }
.bfp-dotd-plan .pv-logo { height: 26px; width: auto; padding: 3px 8px; border-radius: 8px; background: #fff; }
.bfp-dotd-price p { margin: 0; }
.bfp-dotd-price strong { font-family: var(--font-heading); font-size: 2rem; color: #fff; }
.bfp-dotd-price span { margin-left: 4px; color: #c7d3ec; }
.bfp-dotd-cta { display: flex; flex-direction: column; align-items: center; gap: 8px; }

/* Filters en secties */
.bfp-filters { margin-top: 36px; }
.bfp-filters h2, .bfp-sec h2 { margin: 0 0 12px; color: #fff; font-size: 1.5rem; }
.bfp-form { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 16px; border: 1px solid rgba(96, 156, 255, .3); border-radius: 16px; background: rgba(6, 20, 52, .6); }
.bfp-form label { display: flex; flex-direction: column; gap: 4px; font-size: .75rem; font-weight: 700; color: #b9c8e8; }
.bfp-form select { min-width: 150px; min-height: 44px; padding: 0 10px; border: 1px solid rgba(120, 165, 255, .45); border-radius: 10px; background: #0b1d44; color: #fff; font-size: .9375rem; }
.bfp-form fieldset { display: flex; gap: 14px; margin: 0; padding: 0 0 10px; border: 0; }
.bfp .bfp-check { flex-direction: row; align-items: center; gap: 6px; font-size: .875rem; color: #fff; }
.bfp-sec { margin-top: 40px; }
.bfp-sec-head { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.bfp-sub { margin: 0 0 16px; color: #a9b7d3; font-size: .9375rem; }
.bfp-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
.bfp-sim-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.bfp .card, .bfp .deal-card, .bfp .bc { color: var(--navy); }
.bfp .card a, .bfp .deal-card a, .bfp .bc a { color: inherit; }
.bfp .empty { border-color: rgba(120, 165, 255, .3); background: rgba(6, 20, 52, .6); color: #e8eefb; }
.bfp .empty h3 { color: #fff; }
.bfp-more { margin: 18px 0 0; text-align: center; }
.bfp-trio { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.bfp-trio > div { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px; border: 1px solid rgba(96, 156, 255, .3); border-radius: 16px; background: rgba(6, 20, 52, .55); }
.bfp-trio .icon { color: #ffb37a; }
.bfp-trio h3 { margin: 0; color: #fff; font-size: 1.125rem; }
.bfp-trio p { margin: 0 0 6px; color: #c7d3ec; font-size: .9375rem; }
@keyframes bfp-sheen { from { background-position: 120% 0; } to { background-position: -120% 0; } }

@media (max-width: 1199px) {
    .bfp-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(300px, .8fr); }
    .bfp-phones { display: none; }
    .bfp-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    .bfp-dotd { grid-template-columns: 100px minmax(0, 1fr) auto; }
    .bfp-dotd-score { display: none; }
    .bfp-dotd-cta { grid-column: 2 / -1; flex-direction: row; justify-content: flex-start; }
}
@media (max-width: 899px) {
    .bfp-hero-grid { grid-template-columns: minmax(0, 1fr); gap: 20px; }
    .bfp-phones { display: flex; height: 200px; }
    .bfp-phone { height: 160px; }
    .bfp-phone-2 { height: 190px; }
    .bfp-phone-3 { height: 150px; }
    .bfp-usps, .bfp-cats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bfp-grid, .bfp-sim-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .bfp-trio { grid-template-columns: minmax(0, 1fr); }
    .bfp-tools span { display: none; }
}
/* Mobiel: eigen indeling; categorieën en kaarten veegbaar, filters op volle breedte. */
@media (max-width: 599px) {
    .bfp-bar { flex-wrap: wrap; gap: 8px; }
    .bfp-logo { order: -1; width: 150px; }
    .bfp-back { padding: 6px 12px; font-size: .8125rem; }
    .bfp-hero { padding: 8px 0 22px; }
    .bfp-word { font-size: 2.75rem; }
    .bfp-year { font-size: 1.125rem; }
    .bfp-lead { font-size: .9375rem; }
    .bfp .bfx-timer strong { height: 52px; font-size: 1.625rem; }
    .bfp-cta { width: 100%; }
    .bfp-usps { grid-template-columns: minmax(0, 1fr); gap: 8px; }
    .bfp-cats { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 10px; }
    .bfp-cats::-webkit-scrollbar { display: none; }
    .bfp-cats a { flex: 0 0 78%; scroll-snap-align: start; }
    .bfp-dotd { grid-template-columns: 84px minmax(0, 1fr); gap: 12px 14px; padding: 24px 16px 16px; }
    .bfp-dotd-img img { width: 84px; height: 84px; }
    .bfp-dotd h2 { font-size: 1.125rem; }
    .bfp-dotd-price { grid-column: 1 / -1; }
    .bfp-dotd-price strong { font-size: 1.625rem; }
    .bfp-dotd-cta { grid-column: 1 / -1; flex-direction: column; align-items: stretch; }
    .bfp-form { flex-direction: column; align-items: stretch; }
    .bfp-form select { width: 100%; }
    .bfp-form fieldset { flex-wrap: wrap; }
    .bfp-grid, .bfp-sim-grid, .bfp-acc-grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; gap: 12px; padding-bottom: 6px; }
    .bfp-grid::-webkit-scrollbar { display: none; }
    .bfp-grid > * { flex: 0 0 82%; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) {
    .bfp-black, .bfp-phone { animation: none; }
    .bfp-cta, .bfp-btn, .bfp-cats a { transition: none; }
    .bfp-cta:hover, .bfp-btn:hover, .bfp-cats a:hover { transform: none; }
}

/* ---------- Dealkaarten Black Friday (alleen binnen .bfp; de gedeelde kaartmarkup blijft gelijk, de rest van de site verandert niet) ----------
   Donkere glazen kaart met diepte, groot productpodium met glans, prijs als middelpunt, oranje CTA. Sim Only: grote bundeltegel met providerkleur. */
body .bfp .bfp-grid { align-items: stretch; }
body .bfp .deal-card { position: relative; display: flex; flex-direction: column; gap: 10px; height: 100%; padding: 14px 14px 12px; overflow: hidden; color: #e8eefb;
    border: 1px solid rgba(96, 156, 255, .28); border-radius: 20px; background: linear-gradient(180deg, #11295a 0%, #0b1c42 52%, #081532 100%);
    box-shadow: 0 12px 30px rgba(0, 0, 0, .38), inset 0 1px 0 rgba(255, 255, 255, .07); transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease; }
body .bfp .deal-card::before { content: ""; position: absolute; inset: 0 0 auto; height: 3px; background: linear-gradient(90deg, transparent, rgba(80, 150, 255, .9), transparent); opacity: .7; }
body .bfp .deal-card:hover, body .bfp .deal-card:focus-within { transform: translateY(-4px); border-color: rgba(130, 175, 255, .65);
    box-shadow: 0 20px 42px rgba(0, 0, 0, .48), 0 0 0 1px rgba(47, 115, 255, .25), 0 0 28px rgba(47, 115, 255, .2); }
body .bfp .deal-card-top { position: absolute; top: 12px; left: 14px; right: 14px; z-index: 3; display: flex; justify-content: space-between; align-items: flex-start; pointer-events: none; }
body .bfp .deal-card-top > * { pointer-events: auto; }
body .bfp .deal-tags .tag { padding: 4px 10px; border: 0; border-radius: 999px; background: linear-gradient(180deg, #ff8a2b, #e8620c); color: #fff; font-size: .6875rem; font-weight: 800; letter-spacing: .03em; text-transform: uppercase; box-shadow: 0 4px 12px rgba(240, 101, 13, .35); }
body .bfp .btn-fav { width: 34px; height: 34px; border: 1px solid rgba(255, 255, 255, .18); border-radius: 50%; background: rgba(8, 20, 50, .65); color: #fff; backdrop-filter: blur(4px); }
body .bfp .btn-fav[aria-pressed="true"] { color: #ff8a2b; border-color: rgba(255, 138, 43, .7); }
/* Productpodium met glans */
body .bfp .deal-card .card-media { position: relative; display: grid; place-items: center; height: 210px; margin: 0; overflow: hidden; border-radius: 16px;
    background: radial-gradient(60% 55% at 50% 45%, rgba(90, 150, 255, .38), rgba(10, 26, 60, 0) 70%), linear-gradient(180deg, #16326c 0%, #0c1d44 100%); }
body .bfp .deal-card .card-media::after { content: ""; position: absolute; inset: -40% auto -40% -60%; width: 45%; background: linear-gradient(100deg, transparent, rgba(255, 255, 255, .16), transparent); transform: skewX(-18deg); transition: left .7s ease; pointer-events: none; }
body .bfp .deal-card:hover .card-media::after { left: 120%; }
body .bfp .deal-card .card-media img { width: auto; max-width: 82%; height: 186px; object-fit: contain; mix-blend-mode: normal; filter: drop-shadow(0 16px 18px rgba(0, 0, 0, .5)); transition: transform .3s ease; }
body .bfp .deal-card:hover .card-media img { transform: translateY(-4px) scale(1.03); }
body .bfp .deal-card .card-title { margin: 4px 0 0; font-size: 1.125rem; line-height: 1.2; }
body .bfp .deal-card .card-title a { color: #fff; }
body .bfp .deal-card .card-specs { margin: 0; color: #9fb2d6; font-size: .8125rem; }
/* Provider en DealScore */
body .bfp .deal-card .deal-provider { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; }
body .bfp .deal-card .deal-provider .pv-logo { height: 30px; width: auto; max-width: 120px; padding: 5px 10px; border-radius: 10px; background: #fff; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); object-fit: contain; }
body .bfp .deal-card .deal-provider .pv-name { padding: 5px 10px; border-radius: 10px; background: #fff; color: var(--navy); font-weight: 800; }
body .bfp .deal-card .score { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px 4px 4px; border: 1px solid rgba(255, 255, 255, .16); border-radius: 999px; background: rgba(255, 255, 255, .06); color: #e8eefb; }
body .bfp .deal-card .score-num { display: grid; place-items: center; width: 28px; height: 28px; border: 2px solid #8fa2c8; border-radius: 50%; background: rgba(255, 255, 255, .06); color: #fff; font-size: .75rem; font-weight: 800; }
body .bfp .deal-card .score-high .score-num { border-color: #5fd38a; }
body .bfp .deal-card .score-mid .score-num { border-color: #ffb37a; }
body .bfp .deal-card .score-lbl { font-size: .625rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #b9c8e8; }
/* Prijs als middelpunt */
body .bfp .deal-card .bc-price { margin: 0; padding: 12px 14px; border: 1px solid rgba(96, 156, 255, .25); border-radius: 14px; background: linear-gradient(180deg, rgba(255, 255, 255, .06), rgba(255, 255, 255, .02)); }
body .bfp .deal-card .deal-price { display: flex; align-items: baseline; gap: 4px; margin: 0; }
body .bfp .deal-card .deal-price strong { color: #fff; font-family: var(--font-heading); font-size: 2.125rem; font-weight: 800; letter-spacing: -.02em; line-height: 1; }
body .bfp .deal-card .deal-price span { color: #9fb2d6; font-size: .875rem; font-weight: 700; }
body .bfp .deal-card .deal-price s, body .bfp .deal-card .deal-price del { color: #8193b6; }
body .bfp .deal-card .deal-upfront { margin: 4px 0 0; color: #c7d3ec; font-size: .8125rem; }
body .bfp .deal-card .deal-total { display: flex; justify-content: space-between; align-items: baseline; gap: 8px; margin: 10px 0 0; padding-top: 9px; border-top: 1px dashed rgba(150, 180, 230, .3); font-size: .8125rem; }
body .bfp .deal-card .deal-total span { color: #9fb2d6; }
body .bfp .deal-card .deal-total strong { color: #ffb37a; font-size: 1rem; font-weight: 800; }
body .bfp .deal-card .checklist { margin: 0; padding: 0; color: #c7d3ec; font-size: .8125rem; }
body .bfp .deal-card .checklist li::before { color: #5fd38a; }
body .bfp .deal-card .deal-checked { margin: 0; color: #8fa2c8; font-size: .6875rem; }
/* CTA en vergelijken */
body .bfp .deal-card .btn-deal { margin-top: auto; min-height: 46px; border: 0; border-radius: 999px; background: linear-gradient(180deg, #ff8a2b 0%, #f0650d 100%); color: #fff; font-weight: 800; box-shadow: 0 8px 20px rgba(240, 101, 13, .35); transition: transform .18s ease, filter .18s ease; }
body .bfp .deal-card .btn-deal:hover { transform: translateY(-1px); filter: brightness(1.07); }
body .bfp .deal-card .btn-deal:focus-visible, body .bfp .deal-card .btn-compare:focus-visible, body .bfp .btn-fav:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
body .bfp .deal-card .deal-compare { margin: 0; text-align: center; }
body .bfp .deal-card .btn-compare { color: #c7d3ec; font-size: .8125rem; }
body .bfp .deal-card .cmp-box { border-color: rgba(200, 215, 240, .55); background: transparent; }
body .bfp .deal-card .btn-compare[aria-pressed="true"] { color: #ffb37a; }
/* Sim Only: bundeltegel als blikvanger, kleur per provider (--pv) */
body .bfp .sim-deal-card { --pv: #2f73ff; }
body .bfp .sim-deal-card[data-provider="kpn"] { --pv: #00c300; }
body .bfp .sim-deal-card[data-provider="vodafone"] { --pv: #e60000; }
body .bfp .sim-deal-card[data-provider="ben"] { --pv: #b8c4d8; }
body .bfp .sim-deal-card[data-provider="lycamobile"] { --pv: #3ccf7a; }
body .bfp .sim-deal-card[data-provider="50plus-mobiel"] { --pv: #f28c00; }
body .bfp .sim-deal-card[data-provider="simyo"] { --pv: #ff6e00; }
body .bfp .sim-deal-card[data-provider="hollandsnieuwe"] { --pv: #a45cd6; }
body .bfp .sim-deal-card[data-provider="lebara"] { --pv: #3b5bff; }
body .bfp .sim-deal-card::before { background: linear-gradient(90deg, transparent, var(--pv), transparent); opacity: .9; }
body .bfp .sim-deal-card .bc-bundle { position: relative; display: flex; flex-direction: column; justify-content: flex-end; min-height: 128px; margin: 0; padding: 16px 18px; overflow: hidden; border-radius: 16px; color: #fff; text-decoration: none;
    background: radial-gradient(70% 90% at 100% 0%, color-mix(in srgb, var(--pv) 45%, transparent), transparent 70%), linear-gradient(135deg, #1f5fe0 0%, #0f2f7c 100%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .15); }
body .bfp .sim-deal-card .bc-bundle strong { font-family: var(--font-heading); font-size: 2.75rem; font-weight: 800; letter-spacing: -.03em; line-height: 1; }
body .bfp .sim-deal-card .bc-bundle small { margin-top: 4px; color: rgba(255, 255, 255, .8); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
body .bfp .sim-deal-card .bc-bundle-icon { position: absolute; top: 14px; right: 14px; color: rgba(255, 255, 255, .55); }
body .bfp .sim-deal-card .deal-provider { min-height: 0; }
body .bfp .sim-deal-card .card-title { font-size: 1rem; }
@media (max-width: 599px) {
    .bfp .deal-card .card-media { height: 180px; }
    .bfp .deal-card .card-media img { height: 158px; }
    .bfp .deal-card .deal-price strong { font-size: 1.875rem; }
    .bfp .sim-deal-card .bc-bundle { min-height: 108px; }
    .bfp .sim-deal-card .bc-bundle strong { font-size: 2.25rem; }
}
@media (prefers-reduced-motion: reduce) {
    .bfp .deal-card, body .bfp .deal-card .card-media img, body .bfp .deal-card .btn-deal, body .bfp .deal-card .card-media::after { transition: none; }
    .bfp .deal-card:hover, body .bfp .deal-card:focus-within, body .bfp .deal-card:hover .card-media img { transform: none; }
}body .bfp .deal-card .btn-deal::after { content: none; } /* één pijl (het icoon); de algemene pijl uit cards.css niet dubbel tonen */
