:root{
  --bg: #070b1a;
  --panel: #0d1426;
  --panel-2:#0a1122;
  --text:#e8eef7;
  --muted:#9fb0c7;
  --accent:#60a5fa;
  --accent-2:#7dd3fc;
  --border:#1f2a44;
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  font-family: 'Inter', system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(96,165,250,.08), transparent 60%),
    radial-gradient(1000px 500px at 100% 0%, rgba(125,211,252,.08), transparent 60%),
    var(--bg);
}

/* NAV */
.glass-nav{
  background:linear-gradient(180deg, rgba(7,11,26,.85), rgba(7,11,26,.55));
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border);
}
.navbar .nav-link{opacity:.85}
.navbar .nav-link.active, .navbar .nav-link:hover{
  opacity:1;
  background:rgba(125,211,252,.12);
  border-radius:10px;
}
.logo-shield{width:28px;height:28px;border-radius:7px;display:inline-block;object-fit:cover;box-shadow:0 6px 24px rgba(37,99,235,.35)}
.text-gradient{background:linear-gradient(90deg,var(--accent),var(--accent-2));-webkit-background-clip:text;background-clip:text;color:transparent}

/* LAYOUT */
.section-pad{padding:96px 0}
.alt-bg{background:linear-gradient(180deg, rgba(13,20,38,.8), rgba(10,17,34,.8));}

/* HERO */
.hero{padding-top:140px;position:relative;overflow:hidden}
.hero-device{position:relative;display:inline-block}
.shadow-xxl{box-shadow:0 30px 60px rgba(0,0,0,.45)}
.floating-chip{position:absolute;background:rgba(125,211,252,.14);border:1px solid rgba(125,211,252,.4);backdrop-filter:blur(6px);padding:6px 10px;border-radius:999px;font-size:12px}
.chip-1{top:8%;left:-6%}
.chip-2{bottom:8%;right:-10%}
.chip-3{top:40%;right:-14%}
.logo-row{height:38px;display:flex;align-items:center;justify-content:center;border:1px dashed var(--border);border-radius:12px;color:#9fb0c7}

/* CARDS / GLASS */
.card.glass, .modal-content.glass{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.badge-soft{display:inline-block;font-size:12px;padding:6px 10px;border-radius:999px;background:rgba(125,211,252,.14);border:1px solid rgba(125,211,252,.35);color:var(--text)}
.feature-list{list-style:none;padding:0;margin:0}
.feature-list li{margin:10px 0}
.feature-list i{margin-right:8px}

/* TEAM */
.avatar-lg{width:84px;height:84px;object-fit:cover}
.team-card{padding:6px}

/* PRICES */
.price-card{background:linear-gradient(180deg,var(--panel),var(--panel-2));border:1px solid var(--border);border-radius:18px;padding:22px;box-shadow:0 16px 40px rgba(0,0,0,.35);transition:transform .25s ease, box-shadow .25s ease}
.price-card:hover{transform:translateY(-4px);box-shadow:0 24px 60px rgba(0,0,0,.45)}
.price-card.featured{border-color:rgba(96,165,250,.6);box-shadow:0 24px 70px rgba(37,99,235,.35)}
.price-header{text-align:center;margin-bottom:14px}
.price-header .price{font-size:44px;font-weight:800}
.price-header .price span{font-size:18px;opacity:.8;margin-right:4px}
.price-header .period{font-size:12px;color:var(--muted)}

/* CODE */
pre.code{background:#0b1223;border:1px solid var(--border);border-radius:12px;padding:12px;overflow:auto}

/* FOOTER */
.footer{border-top:1px solid var(--border);padding:24px 0;background:linear-gradient(180deg, rgba(7,11,26,.85), rgba(7,11,26,.65))}

/* BACK TO TOP */
.back-to-top{position:fixed;right:18px;bottom:18px;width:42px;height:42px;border-radius:999px;border:1px solid var(--border);background:linear-gradient(180deg,var(--panel),var(--panel-2));display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1050}
.back-to-top.show{opacity:1;pointer-events:auto}

/* ANIMATIONS */
.reveal{opacity:0;transform:translateY(16px);transition:opacity .6s ease, transform .6s ease}
.reveal.revealed{opacity:1;transform:none}
.reveal-fly{opacity:0;transform:translate3d(0,30px,0) scale(.98);transition:opacity .7s cubic-bezier(.2,.6,.2,1), transform .7s cubic-bezier(.2,.6,.2,1)}
.reveal-fly.revealed{opacity:1;transform:translate3d(0,0,0) scale(1)}
.delay-1{transition-delay:.1s}
.delay-2{transition-delay:.2s}
.delay-3{transition-delay:.3s}

/* FORMS */
.form-control{background:#0c1427;border:1px solid var(--border);color:var(--text)}
.form-control:focus{border-color:#2978ff;box-shadow:0 0 0 .25rem rgba(41,120,255,.15)}
.btn-primary{background:linear-gradient(90deg,#2563eb,#0ea5e9);border:none}
.btn-outline-light{border-color:#42537a;color:#dbe7ff}
.btn-outline-light:hover{background:#1a2542}

/* ==== Bootstrap overrides (posa-ho al FINAL del teu CSS) ==== */
:root{
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-border-color: var(--border);
  --bs-link-color: var(--accent-2);
  --bs-link-hover-color: var(--accent);
}
body{
  color: var(--text) !important;   /* per si Bootstrap guanya la especificitat */
  background:
    radial-gradient(1200px 600px at 20% -10%, rgba(96,165,250,.08), transparent 60%),
    radial-gradient(1000px 500px at 100% 0%, rgba(125,211,252,.08), transparent 60%),
    var(--bg) !important;
}

/* Navegació i enllaços */
.navbar, .dropdown-menu, .offcanvas, .modal-content{
  color: var(--text);
  background: linear-gradient(180deg, rgba(7,11,26,.85), rgba(7,11,26,.55));
}
.navbar .nav-link,
.dropdown-item,
a { color: var(--text) !important; }
a:hover { color: var(--accent-2) !important; }

/* Formularis */
.form-control,
.form-select{
  color: var(--text);
  background-color: #0c1427;
  border-color: var(--border);
}
.form-control::placeholder{ color: #b7c6e1; opacity:.8; }

/* Targetes i taules */
.card, .list-group-item, .table{
  color: var(--text);
  background: linear-gradient(180deg,var(--panel),var(--panel-2));
  border-color: var(--border);
}

/* ===== FORCE LIGHT TEXT EVERYWHERE (final del CSS) ===== */
:root{
  --text:#f8fbff;
  --muted:#d6e4ff;
  --accent:#8ab4ff;
  --accent-2:#a5d8ff;
  --border:#2a3a5f;

  /* Bootstrap vars */
  --bs-body-bg: var(--bg);
  --bs-body-color: var(--text);
  --bs-heading-color: var(--text);
  --bs-link-color: var(--accent-2);
  --bs-link-hover-color: var(--accent);
  --bs-border-color: var(--border);
  --bs-secondary-color: var(--text);
  --bs-tertiary-color: var(--text);
}

/* Text general i headings */
body, h1,h2,h3,h4,h5,h6, p, li, dt, dd, label, small, .lead{
  color:#f8fbff !important;
}

/* Text “muted/secondary” de Bootstrap (icons, peus, etc.) */
.text-muted, .text-secondary, .text-body-secondary, .muted, .small{
  color:#e6efff !important; opacity:.95 !important;
}

/* Enllaços i navbar */
a, .navbar .nav-link, .dropdown-item{
  color:#f8fbff !important;
}
a:hover, .navbar .nav-link:hover, .dropdown-item:hover{
  color:var(--accent-2) !important;
}
.navbar, .dropdown-menu, .offcanvas, .modal-content{
  color:#f8fbff !important;
  background:linear-gradient(180deg, rgba(7,11,26,.85), rgba(7,11,26,.55));
}

/* Targetes, taules i llistes */
.card, .list-group-item, .table{
  color:#f8fbff !important;
  background:linear-gradient(180deg,var(--panel),var(--panel-2));
  border-color:var(--border);
}
.table th, .table td { color:#f8fbff !important; }

/* Formularis */
.form-control, .form-select{
  color:#f8fbff !important;
  background-color:#0c1427 !important;
  border-color:var(--border) !important;
}
.form-control::placeholder{ color:#cfe0ff !important; opacity:.8; }
.form-text{ color:#e6efff !important; }

/* Badges, chips, pills */
.badge, .badge-soft{ color:#f8fbff !important; }

/* Botons */
.btn, .btn-link{ color:#f8fbff; }
.btn-outline-light{ border-color:#9fb0c7; color:#f8fbff; }
.btn-outline-light:hover{ background:#1a2542; }

/* Elements oscuros heretats (per si al HTML hi ha .text-dark/.link-dark) */
.text-dark, .link-dark{ color:#f8fbff !important; }

/* Files de logos, etc. */
.logo-row{ color:#dbe7ff !important; border-color:var(--border) !important; }

/* ========= Language cross-fade (page-level) ========= */
#page{ transition: opacity .28s ease, filter .28s ease; }
#page.fade-out{ opacity:0; filter: blur(1.6px) saturate(.9); }

/* Optional: make the language dropdown look neat */
#langMenu{ cursor:pointer; }
