:root {
  --brand-green: #27ae60;
  --brand-green-600: #229954;
  --brand-green-700: #1e8449;
  --bg-dark: #0b0b0b;
  --surface-1: #121212;
  --surface-2: #1a1a1a;
  --text-primary: #e9ecef;
  --text-secondary: #aeb4ba;
  --border-color: #2a2a2a;
}

/* Ensure icon font doesn't block rendering (reduce FOIT/CLS) */
@font-face {
  font-family: "bootstrap-icons";
  src: url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/fonts/bootstrap-icons.woff2") format("woff2"),
       url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/fonts/bootstrap-icons.woff") format("woff");
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

/* Bootstrap variable overrides (limited runtime theming) */
.text-primary,
.navbar .navbar-brand { color: var(--brand-green) !important; }
.btn-success { background-color: var(--brand-green); border-color: var(--brand-green); }
.btn-success:hover { background-color: var(--brand-green-600); border-color: var(--brand-green-600); }
.btn-outline-success { color: var(--brand-green); border-color: var(--brand-green); }
.btn-outline-success:hover { background-color: var(--brand-green); border-color: var(--brand-green); color: #fff; }
.link-success { color: var(--brand-green); }
.link-success:hover { color: var(--brand-green-700); }

/* Hero gradient */
#hero.bg-gradient { background: linear-gradient(180deg, rgba(39,174,96,0.12), rgba(39,174,96,0)); }

/* Floating actions */
.floating-actions {
  position: fixed;
  right: 16px;
  bottom: 16px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  z-index: 1050;
}

@media (max-width: 575.98px) {
  .navbar .btn { padding: 0.5rem 0.75rem; }
  #navVisiblePhone { font-size: .9rem; }
  .display-5 { font-size: 2rem; }
}

/* Dark theme base */
html, body { background-color: var(--bg-dark); color: var(--text-primary); }
.text-secondary { color: var(--text-secondary) !important; }
.bg-body { background-color: var(--surface-1) !important; }
.bg-white { background-color: var(--surface-2) !important; }
.border, .border-top, .border-bottom, .card.border-success { border-color: var(--border-color) !important; }
.navbar { background-color: var(--surface-2) !important; }
.navbar .nav-link { color: var(--text-primary) !important; }
.navbar .nav-link:hover, .navbar .nav-link:focus { color: #ffffff !important; }
.navbar .nav-link.active, .navbar .nav-link.show { color: var(--brand-green) !important; }
.navbar .navbar-text { color: var(--text-primary) !important; }
.navbar .navbar-toggler { border-color: var(--border-color); }
.navbar .navbar-toggler-icon { background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(233,236,239,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
.card { background-color: var(--surface-1); color: var(--text-primary); }
.feature { background-color: var(--surface-1); border-color: var(--border-color) !important; }
.footer, footer { background-color: var(--surface-2); }
.link-secondary { color: #9aa1a7 !important; }
.link-secondary:hover { color: #c3c8cd !important; }

/* Minor tweaks */
.feature { background-color: #fff; }
.card.border-success { border-color: rgba(39,174,96,0.35) !important; }

html { scroll-behavior: smooth; }


/* Icon size tweaks */
i.bi-whatsapp,
i.bi-telephone {
  font-size: 1.3em;
}

.floating-actions .btn i {
  font-size: 1.75rem;
}

/* Reserve space for icon fonts to reduce CLS */
.btn .bi { line-height: 1; display: inline-block; width: 1.25em; text-align: center; }

