/* C€NTJ€S – landingspagina centjesapp.be (POC A "Cockpit"). Kleuren uit het Oceaan-thema van de app (src/theme.ts).
   Geen inline stijlen: de CSP (style-src 'self') laat ze niet toe. */
:root {
  --petrol: #0F4C5C; --teal: #137A7F; --turkoois: #2BB3A3; --koraal: #E76F51; --oranje: #F4A261;
  --ink: #0E2F36; --ink2: #55707A; --bg: #F5FAF9; --chip: #DAF0EB; --chipInk: #0F5F5F; --card: #FFFFFF; --in: #1F9D74; --out: #E76F51;
  --grad: linear-gradient(135deg, #0F4C5C, #137A7F 55%, #2BB3A3);
  --grad-knop: linear-gradient(135deg, #F4A261, #E76F51);
  --schaduw: 0 1px 4px rgba(14,47,54,.10), 0 12px 32px rgba(14,47,54,.08);
}
* { box-sizing: border-box; margin: 0; }
html { scroll-behavior: smooth; }
body { background: var(--bg); color: var(--ink); font: 17px/1.6 -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; }
img { display: block; max-width: 100%; }
.wrap { max-width: 1160px; margin: 0 auto; padding: 0 24px; }

/* Navigatie */
.nav { position: sticky; top: 0; z-index: 10; background: rgba(245,250,249,.88); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(14,47,54,.06); }
.nav .wrap { display: flex; align-items: center; gap: 32px; height: 72px; }
.logo { display: flex; align-items: center; gap: 10px; text-decoration: none; }
.logo img { width: 36px; height: 36px; border-radius: 10px; }
.woordmerk { font-weight: 900; letter-spacing: .14em; font-size: 20px; color: var(--ink); }
.nav ul { list-style: none; display: flex; gap: 28px; padding: 0; margin-left: 16px; }
.nav ul a { text-decoration: none; color: var(--ink2); font-weight: 600; font-size: 15px; }
.nav ul a:hover { color: var(--ink); }
.nav .acties { margin-left: auto; }

/* Knoppen */
.knop { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 22px; border-radius: 999px; font-weight: 700; font-size: 15px; text-decoration: none; }
.knop.primair { background: var(--grad-knop); color: #fff; box-shadow: 0 8px 20px rgba(231,111,81,.28); }
.knop.licht { background: var(--card); color: var(--ink); box-shadow: var(--schaduw); }
.knop.groot { padding: 16px 28px; font-size: 17px; }

/* Bouwstenen in app-stijl */
.label { font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--ink2); }
.kaart { background: var(--card); border-radius: 28px; box-shadow: var(--schaduw); }
.chip { display: inline-flex; align-items: center; gap: 6px; background: var(--chip); color: var(--chipInk); border-radius: 999px; padding: 8px 14px; font-weight: 700; font-size: 14px; }
.accent { color: var(--koraal); }

section { padding: 96px 0; }
section.vervolg { padding-top: 0; }
.kop { text-align: center; max-width: 680px; margin: 0 auto 56px; }
.kop h2 { font-size: 42px; line-height: 1.12; letter-spacing: -.015em; margin: 12px 0 14px; }
.kop p { color: var(--ink2); font-size: 19px; }

/* Hero: links de belofte, rechts de cockpit van de app op webformaat */
.hero { padding: 72px 0 96px; background: radial-gradient(1000px 500px at 85% 10%, #DDF0EC, transparent 70%); }
.hero .wrap { display: grid; grid-template-columns: 1.05fr 1fr; gap: 64px; align-items: center; }
.hero h1 { font-size: 60px; line-height: 1.04; letter-spacing: -.025em; margin: 18px 0 20px; }
.hero .lead { font-size: 20px; color: var(--ink2); max-width: 520px; }
.hero .cta { display: flex; gap: 12px; margin: 32px 0 20px; flex-wrap: wrap; }
.hero .klein { font-size: 14px; color: var(--ink2); display: flex; gap: 6px 18px; flex-wrap: wrap; }
.hero .klein span::before { content: "✓ "; color: var(--in); font-weight: 800; }

.cockpit .hoofd { background: var(--grad); color: #fff; border-radius: 32px; padding: 30px 34px 34px; box-shadow: 0 30px 60px rgba(15,76,92,.28); }
.cockpit .rij { display: flex; justify-content: space-between; font-weight: 700; opacity: .85; }
.cockpit .midden { text-align: center; margin: 22px 0 6px; }
.cockpit .midden p { font-size: 20px; font-weight: 600; opacity: .85; }
.cockpit .bedrag { font-size: 76px; font-weight: 800; letter-spacing: -.02em; line-height: 1.05; }
.cockpit .let { display: table; margin: 18px auto 0; background: #fff; color: #E07A3E; font-weight: 800; border-radius: 999px; padding: 8px 18px; font-size: 15px; }
.cockpit .tegels { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-top: 16px; }
.tegel { padding: 22px; text-align: center; }
.ring { width: 108px; height: 108px; border-radius: 50%; margin: 0 auto 12px; display: grid; place-items: center; background: conic-gradient(var(--in) var(--p), #ECEFEF 0); }
.ring.p54 { --p: 54%; }
/* To-do-tegel zoals in de app: transacties zonder categorie */
.todo { width: 108px; height: 108px; margin: 0 auto 12px; display: grid; place-items: center; }
.todo span { width: 58px; height: 58px; border-radius: 50%; border: 4px solid var(--oranje); color: var(--oranje); display: grid; place-items: center; font-size: 30px; font-weight: 800; }
.ring b { width: 86px; height: 86px; border-radius: 50%; background: #fff; display: grid; place-items: center; font-size: 22px; }
.tegel strong { display: block; font-size: 17px; }
.tegel small { color: var(--ink2); font-size: 14px; }
.opvallend { display: flex; gap: 14px; align-items: center; padding: 16px 20px; border-radius: 22px; margin-top: 16px; }
.opvallend .ico { width: 44px; height: 44px; flex: none; border-radius: 50%; background: #FCEBE6; display: grid; place-items: center; }
.opvallend b { display: block; font-size: 15px; }
.opvallend small { color: var(--ink2); font-size: 13px; }
.opvallend .min { color: var(--out); font-weight: 800; margin-left: 8px; }

/* Hoe het werkt */
.stappen { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.stap { padding: 32px; }
.stap .nr { width: 44px; height: 44px; border-radius: 50%; background: var(--grad); color: #fff; font-weight: 800; display: grid; place-items: center; margin-bottom: 18px; }
.stap h3 { font-size: 21px; margin-bottom: 8px; }
.stap p { color: var(--ink2); }

/* Functies */
.functies { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.functie { padding: 28px; border-radius: 24px; }
.functie .ico { font-size: 28px; width: 56px; height: 56px; border-radius: 18px; background: var(--chip); display: grid; place-items: center; margin-bottom: 16px; }
.functie h3 { font-size: 18px; margin-bottom: 6px; }
.functie p { color: var(--ink2); font-size: 16px; }

/* Privacy */
.band { background: var(--grad); color: #fff; border-radius: 36px; padding: 64px; display: grid; grid-template-columns: 1.2fr 1fr; gap: 48px; align-items: center; }
.band h2 { font-size: 40px; line-height: 1.1; margin-bottom: 16px; }
.band p { opacity: .9; font-size: 18px; }
.band ul { list-style: none; padding: 0; display: grid; gap: 14px; }
.band li { background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.2); border-radius: 18px; padding: 16px 20px; font-weight: 600; }

/* Prijs */
.prijs { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; max-width: 920px; margin: 0 auto; }
.prijs .kaart { padding: 36px; }
.prijs h3 { font-size: 15px; letter-spacing: .12em; text-transform: uppercase; color: var(--ink2); margin-bottom: 10px; }
.prijs .groot { font-size: 30px; font-weight: 800; line-height: 1.18; margin-bottom: 12px; }
.prijs p { color: var(--ink2); }
.prijs p + p { margin-top: 8px; font-size: 15px; }
.prijs .kaart.uit { background: var(--grad); color: #fff; }
.prijs .kaart.uit h3, .prijs .kaart.uit p { color: rgba(255,255,255,.85); }
.overal { text-align: center; margin-top: 40px; color: var(--ink2); }
.overal b { color: var(--ink); }

.slot { text-align: center; padding: 40px 0 96px; }
.slot h2 { font-size: 44px; line-height: 1.12; margin-bottom: 24px; }

footer { padding: 48px 0 64px; border-top: 1px solid rgba(14,47,54,.08); color: var(--ink2); font-size: 14px; }
footer .wrap { display: flex; flex-wrap: wrap; gap: 16px 32px; align-items: center; }
footer nav { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-left: auto; }
footer a { text-decoration: none; }

/* Tablet en gsm */
@media (max-width: 960px) {
  .hero .wrap { grid-template-columns: 1fr; gap: 48px; }
  .hero h1 { font-size: 48px; }
  .stappen, .functies { grid-template-columns: 1fr 1fr; }
  .band { grid-template-columns: 1fr; padding: 44px 32px; gap: 28px; }
}
@media (max-width: 640px) {
  .wrap { padding: 0 16px; }
  .nav ul { display: none; }
  .nav .wrap { height: 64px; }
  .nav .knop { padding: 10px 16px; }
  section { padding: 64px 0; }
  .hero { padding: 40px 0 64px; }
  .hero h1 { font-size: 38px; }
  .hero .lead { font-size: 18px; }
  .hero .cta .knop { width: 100%; }
  .cockpit .hoofd { padding: 24px 22px 26px; border-radius: 28px; }
  .cockpit .bedrag { font-size: 56px; }
  .tegel { padding: 18px 12px; }
  .ring, .todo { width: 88px; height: 88px; } .ring b { width: 70px; height: 70px; font-size: 18px; }
  .kop { margin-bottom: 36px; } .kop h2 { font-size: 32px; }
  .stappen, .functies, .prijs { grid-template-columns: 1fr; }
  .band h2 { font-size: 32px; }
  .prijs .kaart { padding: 28px; }
  .slot h2 { font-size: 32px; }
  footer nav { margin-left: 0; }
}
