/* PiTown theme – light, clean, campground feel */
:root {
  --pt-green: #065f46;
  --pt-green-dark: #064e3b;
  --pt-cream: #f9fafb;
  --pt-gold: #facc15;
  --pt-text: #111827;
  --pt-muted: #6b7280;
}

html, body {
  height: 100%;
}

body {
  background: var(--pt-cream);
  color: var(--pt-text);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI",
               Roboto, Helvetica, Arial, sans-serif;
}

/* NAVBAR -------------------------------------------------------- */
.pt-navbar {
  background: #ffffff;
  border-bottom: 1px solid rgba(15, 23, 42, 0.06);
}

.pt-navbar .navbar-brand {
  display: flex;
  align-items: center;
  gap: .5rem;
  font-weight: 800;
  letter-spacing: -.03em;
  color: var(--pt-green-dark);
}

.pt-navbar .navbar-brand span.logo-dot {
  width: 28px;
  height: 28px;
  border-radius: 999px;
  background: radial-gradient(circle at 30% 30%, #bbf7d0, #22c55e);
  border: 2px solid rgba(22, 163, 74, 0.5);
}

.pt-navbar .nav-link {
  font-weight: 500;
  color: #111827;
}

.pt-navbar .nav-link:hover,
.pt-navbar .nav-link:focus,
.pt-navbar .nav-link.active {
  color: var(--pt-green-dark);
}

.pt-navbar .btn-outline-pt {
  border-radius: 999px;
  border-color: rgba(15, 23, 42, 0.12);
  color: #111827;
  padding-inline: 1rem;
}

.pt-navbar .btn-outline-pt:hover {
  border-color: var(--pt-green-dark);
  color: var(--pt-green-dark);
  background: rgba(16, 185, 129, 0.06);
}

.pt-navbar .btn-pt-primary {
  border-radius: 999px;
  background: var(--pt-green-dark);
  border-color: var(--pt-green-dark);
  color: #f9fafb;
  padding-inline: 1.3rem;
}

.pt-navbar .btn-pt-primary:hover {
  background: #022c22;
  border-color: #022c22;
}

/* MAIN LAYOUT --------------------------------------------------- */
.pt-main {
  min-height: calc(100vh - 72px);
}

/* Auth / member pages: give them a soft background */
.bg-ledger {
  background: radial-gradient(circle at top left, #bbf7d0 0, #f9fafb 40%, #e0f2fe 100%);
}

/* Card styling used in members/login pages */
.card-elevated {
  border-radius: 1rem;
  border: 1px solid rgba(15, 23, 42, 0.06);
  box-shadow: 0 12px 35px rgba(15, 23, 42, 0.08);
}

/* Hero used on members area */
.member-hero {
  background: #0f172a;
  color: #fff;
}

/* Optional: tighten alerts for login messages */
.alert {
  border-radius: .75rem;
}
