/* ========================================
   Flowix - branchepagina's (ai-*.html)
   Laadt na css/site-2026.css. Eigen klassen beginnen met br-.
   De opmaak komt uit scripts/branche-2026.py.
   ======================================== */

.br-label, .fx-kop p.br-label, .br-tekst p.br-label { margin-top: 0; font-size: 0.92rem; font-weight: 700; letter-spacing: 0.02em; color: var(--fx-oranje-tekst); margin-bottom: 14px !important; }

/* ---------- Kop met beeld ---------- */
.br-kop { padding-bottom: 56px; }
.br-kop-raster { display: grid; grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr); gap: clamp(32px, 5vw, 80px); align-items: center; }
.br-kop h1 { font-size: clamp(2.3rem, 4.5vw, 3.9rem); max-width: 16ch; text-wrap: balance; }
.br-kop .fx-pkop-sub { font-size: clamp(1.02rem, 1.25vw, 1.15rem); max-width: 56ch; }
.br-kop .fx-zeker { justify-content: flex-start; animation: none; }

.br-beeld { position: relative; padding: 34px 0 44px; }
.br-beeld::before { content: ''; position: absolute; inset: 4% -6% 6% 2%; z-index: 0; border-radius: 46% 54% 52% 48% / 50% 46% 54% 50%; background: var(--fx-verloop); box-shadow: 0 50px 90px -40px rgba(255, 106, 18, 0.9); transform: rotate(-4deg); }
.br-beeld::after { content: ''; position: absolute; inset: 4% -6% 6% 2%; z-index: 0; border-radius: 46% 54% 52% 48% / 50% 46% 54% 50%; transform: rotate(-4deg); background-image: linear-gradient(rgba(255, 255, 255, 0.18) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, 0.18) 1px, transparent 1px); background-size: 34px 34px; -webkit-mask-image: radial-gradient(closest-side, #000 40%, transparent); mask-image: radial-gradient(closest-side, #000 40%, transparent); }
.br-scherm { position: relative; z-index: 1; width: min(100%, 400px); margin-inline: auto; text-align: left; background: var(--fx-wit); border-radius: var(--fx-r-l); padding: 22px; box-shadow: var(--fx-schaduw-l); rotate: 2deg; animation: fx-zweven 8s ease-in-out infinite; }
.br-beeld:hover .br-scherm, .br-beeld:hover .br-chip { animation-play-state: paused; }
.br-scherm > header { display: flex; align-items: center; gap: 10px; padding-bottom: 14px; margin-bottom: 14px; border-bottom: 1px solid var(--fx-lijn); }
.br-scherm > header b { font-weight: 700; font-size: 0.98rem; }
.br-scherm .fx-tags { margin-top: 14px !important; }
.br-scherm .fx-voorbeeld { text-align: right; }
.br-chip { position: absolute; z-index: 2; display: flex; align-items: center; gap: 10px; text-align: left; padding: 10px 16px 10px 10px; border-radius: 16px; background: rgba(255, 255, 255, 0.94); -webkit-backdrop-filter: blur(12px); backdrop-filter: blur(12px); box-shadow: var(--fx-schaduw-m); animation: fx-zweven 7s ease-in-out infinite; }
.br-chip b { display: block; font-size: 0.86rem; line-height: 1.2; }
.br-chip small { display: block; font-size: 0.76rem; color: var(--fx-ink-2); }
.br-chip--a { left: -4%; top: 0; animation-delay: -1.5s; }
.br-chip--b { right: -3%; bottom: 0; animation-delay: -3.5s; }

/* ---------- Cijfers ---------- */
.br-cijfers-sectie { padding: 8px 0 40px; }
.br-cijfers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.br-cijfers li { display: flex; align-items: center; gap: 16px; padding: 22px 24px; border-radius: var(--fx-r-l); background: var(--fx-wit); box-shadow: inset 0 0 0 1px var(--fx-lijn), var(--fx-schaduw-s); }
.br-cijfers .fx-icoonvlak { margin: 0; flex: none; }
.br-cijfers b { display: block; font-family: var(--fx-display); font-weight: 800; font-size: clamp(1.8rem, 2.6vw, 2.4rem); line-height: 1; letter-spacing: -0.03em; font-variant-numeric: tabular-nums; }
.br-cijfers div span { display: block; margin-top: 4px; font-size: 0.92rem; font-weight: 500; color: var(--fx-ink-2); }

/* ---------- Zonder / met ---------- */
.br-vgl { display: grid; gap: 14px; max-width: 1080px; margin-inline: auto; }
.br-vgl-rij { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 14px; }
.br-zonder, .br-met { position: relative; padding: 26px 28px 26px 76px; border-radius: var(--fx-r-l); }
.br-zonder { background: var(--fx-wit); box-shadow: inset 0 0 0 1px var(--fx-lijn); }
.br-met { background: linear-gradient(150deg, var(--fx-perzik), var(--fx-perzik-2)); box-shadow: 0 30px 50px -36px rgba(255, 106, 18, 0.7); }
.br-zonder::before, .br-met::before { content: ''; position: absolute; left: 26px; top: 28px; width: 34px; height: 34px; border-radius: 50%; }
.br-zonder::before { background: var(--fx-zand) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236e645a' stroke-width='2.6' stroke-linecap='round'%3E%3Cpath d='M7 7l10 10M17 7 7 17'/%3E%3C/svg%3E") center / 16px no-repeat; }
.br-met::before { background: var(--fx-ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8f47' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12.5 4.5 4.5L19 7.500'/%3E%3C/svg%3E") center / 17px no-repeat; }
.br-vgl-wie { font-size: 0.78rem; font-weight: 700; color: var(--fx-ink-3); }
.br-met .br-vgl-wie { color: var(--fx-oranje-tekst); }
.br-vgl h3 { font-size: 1.28rem; line-height: 1.15; margin-top: 4px; }
.br-zonder h3 { color: var(--fx-ink-2); }
.br-vgl-rij p:not(.br-vgl-wie) { margin-top: 8px; font-size: 0.98rem; color: var(--fx-ink-2); }
.br-met p:not(.br-vgl-wie) { color: var(--fx-ink); }
.br-vgl-pijl { position: absolute; left: 50%; top: 50%; z-index: 2; width: 44px; height: 44px; margin: -22px 0 0 -22px; border-radius: 50%; display: grid; place-items: center; background: var(--fx-wit); color: var(--fx-oranje-tekst); box-shadow: var(--fx-schaduw-m); }

.br-oproep { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 18px 40px; align-items: center; max-width: 1080px; margin: 28px auto 0; padding: clamp(26px, 3.4vw, 40px); border-radius: var(--fx-r-xl); background: var(--fx-wit); box-shadow: inset 0 0 0 1.5px var(--fx-oranje), 0 40px 70px -44px rgba(255, 106, 18, 0.75); }
.br-oproep h3 { font-size: clamp(1.5rem, 2.4vw, 2rem); }
.br-oproep p { margin-top: 8px; color: var(--fx-ink-2); max-width: 60ch; }

/* ---------- Situaties ---------- */
.br-situatie { display: flex; flex-direction: column; padding: clamp(24px, 2.6vw, 32px); border-radius: var(--fx-r-xl); background: var(--fx-wit); box-shadow: inset 0 0 0 1px var(--fx-lijn), var(--fx-schaduw-s); transition: opacity 0.9s var(--fx-ease), transform 0.9s var(--fx-ease), translate 0.5s var(--fx-ease), box-shadow 0.5s var(--fx-ease); }
.br-situatie:hover { translate: 0 -6px; box-shadow: inset 0 0 0 1px var(--fx-lijn), var(--fx-schaduw-m); }
.br-situatie-top { display: flex; align-items: center; justify-content: space-between; }
.br-situatie-top .fx-icoonvlak { margin: 0; }
.br-situatie-nr { font-family: var(--fx-display); font-weight: 800; font-size: 2.6rem; line-height: 1; letter-spacing: -0.03em; color: var(--fx-perzik-2); }
.br-situatie h3 { font-size: 1.42rem; line-height: 1.12; margin: 22px 0 18px; }
.br-blok { padding: 16px 18px; border-radius: var(--fx-r-m); background: var(--fx-zand); }
.br-blok + .br-blok { margin-top: 10px; flex: 1; }
.br-blok--met { background: linear-gradient(150deg, var(--fx-perzik), var(--fx-perzik-2)); }
.br-blok-kop { display: flex; align-items: center; gap: 7px; font-size: 0.8rem; font-weight: 700; color: var(--fx-ink-3); }
.br-blok--met .br-blok-kop { color: var(--fx-oranje-tekst); }
.br-blok p:not(.br-blok-kop) { margin-top: 6px; font-size: 0.97rem; color: var(--fx-ink-2); }
.br-blok--met p:not(.br-blok-kop) { color: var(--fx-ink); }

/* ---------- Besparing berekenen ---------- */
.br-reken { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr); gap: clamp(24px, 4vw, 56px); max-width: 1080px; margin-inline: auto; padding: clamp(22px, 3.6vw, 48px); }
.br-reken-velden { display: grid; gap: 26px; align-content: start; }
.br-veld label { display: block; font-weight: 700; font-size: 1.04rem; line-height: 1.3; }
.br-veld label span { font-weight: 500; font-size: 0.9rem; color: var(--fx-ink-2); }
.br-schuif { display: flex; align-items: center; gap: 16px; margin-top: 2px; }
.br-schuif input { min-width: 0; }
.br-schuif output { font-family: var(--fx-display); font-weight: 800; font-size: 1.45rem; white-space: nowrap; min-width: 4.4ch; text-align: right; font-variant-numeric: tabular-nums; color: var(--fx-ink); }
.br-reken-uit { display: grid; gap: 10px; align-content: start; }
.br-uit { padding: 18px 20px; border-radius: var(--fx-r-m); background: var(--fx-zand); }
.br-uit p { font-size: 0.92rem; font-weight: 700; color: var(--fx-ink-2); }
.br-uit b { display: block; margin-top: 4px; font-family: var(--fx-display); font-weight: 800; font-size: clamp(1.7rem, 2.6vw, 2.2rem); line-height: 1.05; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; }
.br-uit span { display: block; margin-top: 4px; font-size: 0.86rem; color: var(--fx-ink-2); }
.br-uit--totaal { padding: 24px; background: var(--fx-verloop); box-shadow: inset 0 2px 0 rgba(255, 255, 255, 0.4), 0 30px 50px -28px rgba(255, 106, 18, 0.9); }
.br-uit--totaal p, .br-uit--totaal span { color: var(--fx-ink); }
.br-uit--totaal b { font-size: clamp(2.3rem, 4vw, 3.2rem); color: var(--fx-ink); }
.br-reken-noot { font-size: 0.84rem; color: var(--fx-ink-2); max-width: 52ch; }
/* Kaarten in een rij verschijnen na elkaar */
:is(.br-situaties, .br-kaarten, .br-pakketten) > [data-toon]:nth-child(2) { transition-delay: 0.08s; }
:is(.br-situaties, .br-kaarten, .br-pakketten) > [data-toon]:nth-child(3) { transition-delay: 0.16s; }
.br-reken-slot { grid-column: 1 / -1; display: flex; align-items: center; gap: 14px 24px; flex-wrap: wrap; padding-top: clamp(20px, 2.6vw, 30px); border-top: 1px solid var(--fx-lijn); }
.br-reken-slot p { flex: 1 1 280px; font-weight: 500; color: var(--fx-ink-2); }

/* ---------- Oplossing ---------- */
.br-oplossing { align-items: start; }
.br-oplossing h2 { font-size: clamp(1.9rem, 3.6vw, 3rem); }
.br-tekst p { margin-top: 18px; font-size: 1.06rem; color: var(--fx-ink-2); }
.br-tekst p.br-maat { padding: 16px 18px; border-radius: var(--fx-r-m); background: var(--fx-perzik); color: var(--fx-ink); font-weight: 500; }
.br-bouw { position: sticky; top: 110px; padding: clamp(26px, 3vw, 38px); border-radius: var(--fx-r-xl); background: var(--fx-wit); box-shadow: inset 0 0 0 1px var(--fx-lijn), var(--fx-schaduw-l); }
.br-bouw h3 { font-size: 1.6rem; }
.br-bouw .fx-vinkjes { margin: 22px 0 26px !important; gap: 16px; }
.br-bouw .fx-vinkjes li { font-weight: 400; color: var(--fx-ink-2); }
.br-bouw .fx-vinkjes strong { color: var(--fx-ink); }

/* ---------- Voordelen ---------- */
.br-lees { max-width: 760px; margin: 0 auto 48px; }
.br-lees p { font-size: 1.06rem; color: var(--fx-ink-2); }
.br-lees p + p { margin-top: 16px; }
.br-lees p:first-child { font-size: 1.2rem; font-weight: 500; color: var(--fx-ink); }
.br-voordelen .fx-kaart h3 { font-size: 1.4rem; }

/* ---------- Prijzen ---------- */
.br-pakketten { align-items: stretch; }
.br-pakket { position: relative; display: flex; flex-direction: column; padding: clamp(26px, 2.8vw, 36px); border-radius: var(--fx-r-xl); background: var(--fx-wit); box-shadow: inset 0 0 0 1px var(--fx-lijn), var(--fx-schaduw-s); }
.br-pakket.is-gekozen { box-shadow: inset 0 0 0 2px var(--fx-oranje), 0 44px 74px -40px rgba(255, 106, 18, 0.8); }
.br-pakket-badge { position: absolute; top: -14px; left: clamp(26px, 2.8vw, 36px); padding: 7px 14px; border-radius: 999px; background: var(--fx-verloop); color: var(--fx-ink); font-size: 0.8rem; font-weight: 700; box-shadow: 0 10px 20px -10px rgba(255, 106, 18, 0.9); }
.br-pakket-kop { display: flex; align-items: center; gap: 14px; }
.br-pakket-kop .fx-icoonvlak { margin: 0; }
.br-pakket-kop h3 { font-size: 1.5rem; }
.br-prijs { display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; margin-top: 24px; }
.br-prijs small { font-size: 0.95rem; font-weight: 500; color: var(--fx-ink-2); }
.br-prijs b { font-family: var(--fx-display); font-weight: 800; font-size: clamp(2.6rem, 4vw, 3.3rem); line-height: 1; letter-spacing: -0.03em; }
.br-prijs span { font-size: 0.95rem; font-weight: 500; color: var(--fx-ink-2); }
.br-pakket-sub { margin-top: 8px; font-weight: 700; color: var(--fx-oranje-tekst); font-size: 0.95rem; }
.br-pakket .fx-vinkjes { margin: 22px 0 28px !important; padding-top: 22px; border-top: 1px solid var(--fx-lijn); font-size: 0.98rem; }
.br-pakket .fx-btn { margin-top: auto; white-space: normal; text-align: center; }
.br-pakket-meer { margin-top: 14px; text-align: center; font-size: 0.92rem; }
.br-pakket-meer a, .br-noot a { color: var(--fx-oranje-tekst); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.br-noot { max-width: 720px; margin: 36px auto 0; text-align: center; font-size: 0.92rem; color: var(--fx-ink-2); }

/* ---------- Ervaringen ---------- */
.br-ervaringen { padding-top: 40px; }

@media (max-width: 1100px) {
  .br-cijfers { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .br-chip--a { left: 0; } .br-chip--b { right: 0; }
}
@media (max-width: 900px) {
  .br-kop-raster { grid-template-columns: minmax(0, 1fr); }
  .br-kop h1 { max-width: 18ch; }
  .br-beeld { max-width: 460px; margin-inline: auto; width: 100%; }
  .br-reken { grid-template-columns: minmax(0, 1fr); }
  .br-pakketten.fx-raster--3, .br-situaties.fx-raster--3 { grid-template-columns: minmax(0, 1fr); max-width: 560px; margin-inline: auto; }
  .br-pakket.is-gekozen { order: -1; }
  .br-bouw { position: relative; top: auto; }
}
@media (max-width: 768px) {
  /* Lange samenstellingen (badkamerrenovatiebedrijven) mogen afbreken in plaats van uitsteken */
  #inhoud :is(h1, h2, h3, blockquote, li, p) { overflow-wrap: break-word; }
  #inhoud :is(h1, h2, h3) { -webkit-hyphens: auto; hyphens: auto; }
  .br-kop h1 { font-size: clamp(1.95rem, 9vw, 2.6rem); }
  .br-kop { padding-bottom: 32px; }
  .br-kop .fx-zeker { flex-direction: column; align-items: flex-start; }
  .br-beeld { padding: 20px 14px; }
  .br-beeld::before, .br-beeld::after { inset: 0; border-radius: var(--fx-r-xl); transform: none; }
  .br-beeld::after { -webkit-mask-image: none; mask-image: none; }
  .br-scherm { rotate: none; animation: none; padding: 18px; }
  :is(.br-situaties, .br-kaarten, .br-pakketten) > [data-toon] { transition-delay: 0s !important; }
  .br-chip { display: none; }
  .br-cijfers-sectie { padding: 0 0 24px; }
  .br-cijfers { gap: 10px; }
  .br-cijfers li { flex-direction: column; align-items: flex-start; gap: 12px; padding: 18px; }
  .br-vgl { gap: 22px; }
  .br-vgl-rij { grid-template-columns: minmax(0, 1fr); gap: 6px; }
  .br-zonder, .br-met { padding: 20px 20px 20px 62px; }
  .br-zonder::before, .br-met::before { left: 16px; top: 20px; }
  .br-vgl-pijl { left: auto; right: 22px; width: 38px; height: 38px; margin-top: -19px; }
  .br-vgl-pijl .fx-i { transform: rotate(90deg); }
  .br-oproep { grid-template-columns: minmax(0, 1fr); }
  .br-oproep .fx-btn, .br-reken-slot .fx-btn { width: 100%; white-space: normal; text-align: center; }
  .br-reken { border-radius: var(--fx-r-l); }
  .br-schuif { gap: 10px; }
  .br-schuif output { font-size: 1.25rem; min-width: 4ch; }
  .br-lees { margin-bottom: 32px; }
  .br-lees p:first-child { font-size: 1.1rem; }
  .br-ervaringen { padding-top: 24px; }
}
@media (prefers-reduced-motion: reduce) {
  .br-scherm, .br-chip { animation: none; }
  .br-situatie { transition: none; }
  :is(.br-situaties, .br-kaarten, .br-pakketten) > [data-toon] { transition-delay: 0s !important; }
}
