/* ── Scouts NSW Raffle Platform — app.css ──
   Colour and type values below follow the Scouts Australia Brand Book
   (July 2025), applying the National base colour plus the Scouts NSW
   Branch palette (see section 14.1 "Our Colours" / 14.2 "Our Branches
   Colours"). Class names below (bg-purple, text-gold, etc.) are kept
   as-is to avoid touching every view template — only the colour VALUES
   they resolve to have been corrected. */

@import url('https://fonts.googleapis.com/css2?family=Nunito+Sans:wght@300;400;700;900&display=swap');

:root {
  --purple:       #28265C; /* Australian Navy Blue — National base colour */
  --purple-light: #E8E9F0; /* light Navy tint, for soft alert backgrounds */
  --gold:         #44C8F5; /* Scouts NSW Cyan — NSW Branch primary colour */
  --gold-dark:    #006B9E; /* Scouts NSW Medium Blue — darker accent/hover */
  --dark-grey:    #575756; /* Scouts Australia Dark Grey — official type colour */
}

body {
  font-family: 'Nunito Sans', Arial, sans-serif;
  color: var(--dark-grey);
}
h1, h2, h3, h4, h5, h6, .navbar-brand {
  font-family: 'Nunito Sans', Arial, sans-serif;
  font-weight: 900; /* Nunito Sans Black, per brand book 12.1 "Our Typeface" */
}

/* Utilities */
.bg-purple      { background-color: var(--purple) !important; }
.bg-gold        { background-color: var(--gold)   !important; }
.text-purple    { color: var(--purple) !important; }
.text-gold      { color: var(--gold)   !important; }
/* Icons inside headings sit directly on white page backgrounds, where NSW
   Cyan is too light for reliable contrast (~1.9:1). Everywhere else
   .text-gold is used on a dark (navy) background, where the bright cyan
   is correct and reads well — so only override the heading case, using
   the darker Medium Blue accent instead (~5.8:1). */
h1 .text-gold, h2 .text-gold, h3 .text-gold,
h4 .text-gold, h5 .text-gold, h6 .text-gold { color: var(--gold-dark) !important; }
.border-purple  { border-color: var(--purple) !important; }
.btn-xs         { padding: .15rem .4rem; font-size: .75rem; }

.btn-purple {
  background-color: var(--purple);
  border-color: var(--purple);
  color: #fff;
}
.btn-purple:hover, .btn-purple:focus {
  background-color: #1a1940; /* darkened Australian Navy Blue */
  border-color: #1a1940;
  color: #fff;
}
.btn-outline-purple {
  color: var(--purple);
  border-color: var(--purple);
}
.btn-outline-purple:hover {
  background-color: var(--purple);
  color: #fff;
}

/* CFN Banner */
.cfn-banner {
  background: linear-gradient(90deg, var(--purple) 0%, #3d5c93 100%); /* Navy → Scouts Medium Blue */
  color: #fff;
  font-size: .82rem;
  letter-spacing: .01em;
}
.cfn-banner .bi { color: var(--gold); }

/* Alert variant */
.alert-purple-soft {
  background-color: var(--purple-light);
  border-color: var(--purple);
  color: var(--dark-grey);
}

/* Navbar */
.navbar.bg-purple { background-color: var(--purple) !important; }

/* Admin sidebar */
.admin-body { background-color: #f8f9fa; }
.admin-sidebar {
  background-color: #fff;
  border-right: 1px solid #e0e0e0;
  min-height: calc(100vh - 56px);
}
.admin-sidebar .nav-link {
  color: var(--dark-grey);
  padding: .5rem .75rem;
  border-radius: .375rem;
  font-size: .9rem;
}
.admin-sidebar .nav-link:hover,
.admin-sidebar .nav-link.active { background: var(--purple-light); color: var(--purple); }
.admin-sidebar .nav-link .bi   { margin-right: .4rem; }

/* Cards */
.card { border-radius: .75rem; }

/* Ticket badges */
.badge.bg-purple { background-color: var(--purple) !important; }
.badge.bg-gold   { background-color: var(--gold)   !important; }

/* Progress bars */
.progress-bar.bg-purple { background-color: var(--purple) !important; }

/* Details/summary */
details summary { cursor: pointer; }
details summary:hover { color: var(--purple); }

/* Reservation countdown */
#countdown { font-size: 1.3rem; font-variant-numeric: tabular-nums; }

/* Square card container */
#card-container { min-height: 48px; }
#card-container iframe { border-radius: 4px; }

/* Responsive table */
@media (max-width: 576px) {
  .table-responsive { font-size: .8rem; }
}
