/* WozApi marketing (light) theme */

:root{
  --bg: #ffffff;
  --bg-soft: #f7f8fb;
  --text: #0f172a;
  --muted: #475569;

  --card: #ffffff;
  --border: rgba(15, 23, 42, .10);

  --accent: #2563eb;
  --accent2: #7c3aed;

  --radius-xl: 22px;
  --radius-lg: 18px;
  --radius-md: 14px;

  --shadow-lg: 0 18px 55px rgba(2, 6, 23, .10);
  --shadow: 0 16px 40px rgba(2, 6, 23, .08);
  --shadow-sm: 0 10px 24px rgba(2, 6, 23, .06);
}

html, body{ height: 100%; }

body, body.app-body{
  font-family: Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color: var(--text);
  background:
    radial-gradient(1200px 600px at 10% 0%, rgba(37,99,235,.10), transparent 55%),
    radial-gradient(900px 500px at 90% 10%, rgba(124,58,237,.10), transparent 60%),
    linear-gradient(180deg, #ffffff 0%, #ffffff 30%, #fbfcfe 100%);
}

a{ text-decoration: none; }
.text-muted{ color: var(--muted) !important; }
.link-muted{ color: var(--muted); }
.link-muted:hover{ color: var(--text); }

.container{ max-width: 1120px; }

/* Header / nav */
.app-header{
  position: sticky;
  top: 0;
  z-index: 1030;
  backdrop-filter: blur(10px);
}

.app-nav{
  background: rgba(255,255,255,.85);
  border-bottom: 1px solid rgba(15,23,42,.08);
}

.navbar .nav-link{
  color: rgba(15,23,42,.78);
  font-weight: 600;
}
.navbar .nav-link:hover{ color: rgba(15,23,42,.95); }

.nav-user *{ font-size: .95rem; }

/* Mobile account menu (inside navbar collapse) */
@media (max-width: 991.98px){
  .mobile-account-menu{ margin-top: 6px; }
  .mobile-account-menu .nav-item + .nav-item{ margin-top: 4px; }
  .mobile-account-menu .nav-link{
    padding: 10px 12px;
    border-radius: 10px;
    font-weight: 700;
    color: rgba(15,23,42,.86);
  }
  .mobile-account-menu .nav-link:hover{
    background: rgba(15,23,42,.05);
    color: rgba(15,23,42,.98);
  }
  .mobile-account-menu .nav-link.disabled{
    opacity: 1;
    cursor: default;
    color: var(--muted);
    font-weight: 600;
  }
}

/* Account dropdown */
.account-btn{
  width: 38px;
  height: 38px;
  padding: 0;
  border: 1px solid var(--border);
  border-radius: 50%;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1;
  transition: box-shadow .15s ease, border-color .15s ease, background .15s ease;
}
.account-btn:hover{
  background: #f8fafc;
  border-color: rgba(15,23,42,.18);
}
.account-btn:focus{
  outline: none;
  box-shadow: 0 0 0 3px rgba(37,99,235,.20);
  border-color: var(--accent);
}
.account-avatar{
  font-size: 18px;
  line-height: 1;
  display: block;
}
.account-label{ font-weight: 700; }

/* Mobile-first: make account button descriptive and pill-shaped; keep circular icon on >= lg */
@media (max-width: 991.98px){
  .account-btn{
    height: auto;
    width: auto;
    padding: 8px 12px;
    border-radius: 999px;
    gap: 8px;
  }
  .account-avatar{ font-size: 16px; }
}
@media (min-width: 992px){
  .account-label{ display: none !important; }
}
.account-menu{
  --bs-dropdown-min-width: 16rem;
  padding-top: .5rem;
  padding-bottom: .5rem;
  border: 1px solid rgba(15,23,42,.08);
  box-shadow: var(--shadow-sm);
}
/* Keep dropdown in viewport on small screens */
@media (max-width: 575.98px){
  .account-dropdown .dropdown-menu{
    inset: auto 8px auto 8px !important; /* left/right gutters */
    transform: none !important;
    max-width: calc(100vw - 16px);
    width: auto;
  }
}
.account-greeting{
  font-weight: 600;
}
.dropdown-item-text{
  font-size: .95rem;
}

.brand-mark{
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow: 0 0 0 6px rgba(37,99,235,.10);
}
.brand-text{ font-weight: 800; letter-spacing: .2px; }
.brand-badge{
  background: rgba(15,23,42,.06);
  color: rgba(15,23,42,.85);
  border: 1px solid rgba(15,23,42,.10);
}

/* Main / footer */
.app-main{ min-height: calc(100vh - 140px); }

.app-footer{
  border-top: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.75);
}

.status-dot{
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: #22c55e;
  box-shadow: 0 0 0 6px rgba(34,197,94,.12);
}

/* Sections */
.section{
  scroll-margin-top: 90px;
  position: relative;
  /* Prevent the global page gradient from "leaking" between sections.
     This fixes the white → fade jump you see around Pricing/FAQ. */
  background: #fff;
  border-top: 1px solid rgba(15,23,42,.06);
}
.section-soft{
  background: var(--bg-soft);
}

/* Hero */
.hero{
  position: relative;
  padding-top: 32px;
  padding-bottom: 32px;
}

.hero::before{
  content:"";
  position:absolute;
  /* Avoid negative horizontal insets which cause horizontal scrollbars */
  top:-40px;
  left:0;
  right:0;
  height: 340px;
  background:
    radial-gradient(500px 220px at 15% 35%, rgba(37,99,235,.16), transparent 60%),
    radial-gradient(520px 240px at 70% 20%, rgba(124,58,237,.14), transparent 62%);
  filter: blur(10px);
  pointer-events:none;
  z-index: 0;
}
.hero > .container{ position: relative; z-index: 1; }

.hero-title{
  letter-spacing: -0.9px;
  line-height: 1.05;
}
@media (min-width: 992px){
  .hero-title{ font-size: 3.15rem; }
}
.lead{ max-width: 62ch; }

.accent-text{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.hero-badges{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.badge-soft{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.70);
  color: rgba(15,23,42,.85);
  font-weight: 700;
  font-size: .85rem;
}
.badge-soft-muted{
  background: rgba(15,23,42,.03);
  color: rgba(15,23,42,.70);
}

/* Hero bullets */
.hero-points{
  list-style:none;
  padding:0;
  margin: 0;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.hero-points li{
  display:flex;
  gap: 10px;
  align-items:flex-start;
  padding: 10px 12px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.78);
}
.hero-points li strong{ white-space: nowrap; }
.hero-points li::before{
  content:"✓";
  width: 26px;
  height: 26px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex: 0 0 26px;
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.18);
  color: rgba(37,99,235,.95);
  font-weight: 900;
  margin-top: 1px;
}

/* Mobile: zet de hero-points compacter onder elkaar (titel boven, subtitel eronder) met het icoon links
   Desktop blijft ongewijzigd (inline). */
@media (max-width: 991.98px){
  .hero-points li{
    display: grid;
    grid-template-columns: 26px 1fr; /* icoon | content */
    grid-auto-flow: row;
    column-gap: 10px;
    row-gap: 2px;
    align-items: start;
  }
  .hero-points li::before{
    grid-column: 1;
    grid-row: 1 / span 2; /* icoon bestrijkt beide regels */
    margin-top: 0; /* netjes centreren aan de bovenkant */
  }
  .hero-points li strong{
    grid-column: 2;
    white-space: normal; /* op mobiel mag de titel afbreken */
    display: block;
    margin: 0; /* reset */
  }
  /* Het resterende tekstgedeelte (na <strong>) wordt als anoniem grid-item automatisch onder de titel geplaatst
     in grid-column: 2, dankzij auto-placement. */
}

/* Cards */
.card-saas{
  background: var(--card);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius-lg);
  padding: 16px;
  box-shadow: var(--shadow-lg);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.card-saas:hover{
  box-shadow: 0 22px 70px rgba(2, 6, 23, .12);
}
.card-saas-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap: 10px;
  padding: 6px 6px 10px 6px;
}

.dot{ width:10px; height:10px; border-radius:999px; display:inline-block; }
.dot-red{ background:#ef4444; }
.dot-yellow{ background:#f59e0b; }
.dot-green{ background:#22c55e; }

.pill{
  display:inline-flex;
  align-items:center;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.04);
  color: rgba(15,23,42,.80);
  font-weight: 700;
  font-size: .82rem;
}
.pill-ghost{
  background: rgba(255,255,255,.70);
  border-color: rgba(15,23,42,.08);
}

.codebox{
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.03);
  border-radius: var(--radius-md);
  overflow:hidden;
}
pre, code{
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
  font-size: .92rem;
}
pre{
  padding: 12px;
  margin: 0;
  white-space: pre-wrap;
  word-break: break-word;
  color: rgba(15,23,42,.90);
}

/* Try-it UI */
.try-row{
  display:flex;
  gap: 10px;
  align-items:center;
}
.try-input{
  flex: 1 1 auto;
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.92);
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 600;
  color: rgba(15,23,42,.90);
  outline: none;
}
.try-input:focus{
  border-color: rgba(37,99,235,.35);
  box-shadow: 0 0 0 6px rgba(37,99,235,.12);
}
.btn-copy{
  border: 1px solid rgba(15,23,42,.14);
  background: rgba(255,255,255,.90);
  border-radius: 12px;
  padding: 10px 12px;
  font-weight: 800;
  color: rgba(15,23,42,.85);
}
.btn-copy:hover{
  background: rgba(15,23,42,.03);
  color: rgba(15,23,42,.95);
}

/* Trust / feature / steps (keep clean, low elevation) */
.trust{
  display:grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media (min-width: 576px){
  .trust{ grid-template-columns: repeat(3, 1fr); }
}
.trust-item{
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.78);
  border-radius: var(--radius-md);
  padding: 12px;
  box-shadow: none;
}
.trust-kpi{ font-weight: 800; margin-bottom: 2px; }

.feature{
  background: rgba(255,255,255,.80);
  border: 1px solid rgba(15,23,42,.08);
  border-radius: 16px;
  padding: 16px;
  box-shadow: none;
  height: 100%;
}
.feature-title{ font-weight: 800; margin-bottom: 6px; }

.steps{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap: 10px;
}
.steps li{
  display:flex;
  gap: 10px;
  padding: 12px;
  border-radius: var(--radius-md);
  border: 1px solid rgba(15,23,42,.08);
  background: rgba(255,255,255,.78);
}
.step-nr{
  width: 28px;
  height: 28px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background: rgba(37,99,235,.10);
  border: 1px solid rgba(37,99,235,.20);
  font-weight: 900;
  color: rgba(37,99,235,.95);
}

/* Buttons */
.btn-primary{
  background: linear-gradient(135deg, var(--accent), var(--accent2));
  border: none;
  font-weight: 800;
  box-shadow: 0 14px 30px rgba(37,99,235,.18);
  transform: translateY(0);
  transition: transform .18s ease, filter .18s ease, box-shadow .18s ease;
}
.btn-primary:hover{
  filter: brightness(1.03);
  box-shadow: 0 18px 40px rgba(37,99,235,.22);
}

.btn-outline-secondary{
  border-color: rgba(15,23,42,.18);
  color: rgba(15,23,42,.85);
  font-weight: 700;
}
.btn-outline-secondary:hover{
  background: rgba(15,23,42,.04);
  border-color: rgba(15,23,42,.22);
  color: rgba(15,23,42,.95);
}

/* Pricing */
.pricing-grid{
  display:grid;
  grid-template-columns: 1fr;
  gap: 16px;
}
@media (min-width: 992px){
  .pricing-grid{ grid-template-columns: repeat(3, 1fr); }
  .pricing-kicker{ text-align: right; }
}

.pricing-kicker{ max-width: 28ch; }

.plan-tag{
  display:inline-flex;
  align-items:center;
  padding: 6px 10px;
  border-radius: 999px;
  font-weight: 800;
  font-size: .78rem;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(15,23,42,.03);
  color: rgba(15,23,42,.80);
  white-space: nowrap;
}
.plan-tag-free{
  border-color: rgba(34,197,94,.22);
  background: rgba(34,197,94,.08);
}
.plan-tag-payg{
  border-color: rgba(245,158,11,.28);
  background: rgba(245,158,11,.10);
}
.plan-tag-pack{
  border-color: rgba(37,99,235,.22);
  background: rgba(37,99,235,.08);
}
.plan-tag-featured{
  background: linear-gradient(135deg, rgba(37,99,235,.14), rgba(124,58,237,.12));
  border-color: rgba(37,99,235,.25);
}

.price{
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow-sm);
  height: 100%;
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.price-featured{
  border-radius: var(--radius-xl);
  border-color: rgba(37,99,235,.22);
  background: linear-gradient(180deg, rgba(37,99,235,.06), rgba(124,58,237,.03));
  box-shadow: var(--shadow);
}

.price-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap: 10px;
}
.price-name{ font-weight: 900; font-size: 1.05rem; }
.price-value{
  font-weight: 900;
  font-size: 2rem;
  letter-spacing: -0.4px;
  margin-top: 10px;
}
.price-sub{
  font-size: 1rem;
  font-weight: 700;
  color: var(--muted);
  margin-left: 6px;
}

.price-meta{
  margin: 12px 0 16px 0;
  padding-top: 12px;
  border-top: 1px solid rgba(15,23,42,.06);
  display:flex;
  flex-direction: column;
  gap: 8px;
}
.price-meta-row{
  display:flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}
.price-meta-row .k{
  color: var(--muted);
  font-weight: 800;
  font-size: .9rem;
}
.price-meta-row .v{ font-weight: 900; }

.pricing-note{ max-width: 80ch; }

/* Accordion */
.accordion-item{
  border: 1px solid rgba(15,23,42,.10);
  border-radius: var(--radius-md) !important;
  overflow: hidden;
  margin-bottom: 10px;
}
.accordion-button{ font-weight: 800; }
.accordion-button:not(.collapsed){
  background: rgba(37,99,235,.08);
  color: rgba(15,23,42,.95);
}

/* CTA */
.cta{
  display:flex;
  flex-direction: column;
  gap: 14px;
  border: 1px solid rgba(15,23,42,.10);
  background: rgba(255,255,255,.88);
  border-radius: var(--radius-lg);
  padding: 18px;
  box-shadow: var(--shadow-sm);
}
@media (min-width: 768px){
  .cta{ flex-direction: row; align-items:center; justify-content:space-between; }
}
.cta-title{
  font-weight: 900;
  font-size: 1.15rem;
}

@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
