/* ============================================================
   Whale's Tail — brand palette & type
   Sourced from official 2026 print/social assets
   (Npu Dropbox/NPU Live/Events/2026/Whale's Tail 2026/Assets)
   ============================================================ */

@font-face {
  font-family: 'Super Brain';
  src: url('../fonts/SuperBrain.woff2') format('woff2');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}
@font-face {
  font-family: 'Montserrat';
  src: url('../fonts/Montserrat-Variable.woff2') format('woff2-variations');
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
}

:root {
  --color-orange: #f6a65d;    /* banner / primary CTA */
  --color-orange-dark: #e88a35;
  --color-purple: #a35199;    /* headings, secondary accent */
  --color-purple-dark: #8a4f8c;
  --color-gold: #f3b03f;      /* whale tail gold */
  --color-gold-light: #fcc548;
  --color-sky: #fbbe34;       /* sky background */
  --color-tan: #cdbaa2;       /* path neutral */
  --color-ink: #2b2320;       /* body text */

  --font-display: 'Super Brain', 'Baloo 2', sans-serif;
  --font-body: 'Montserrat', sans-serif;
}

body {
  padding-top: 72px;
  font-family: var(--font-body);
  color: var(--color-ink);
  background-color: #fffdf9;
}

h1, h2, h3, h4, h5, .navbar-brand, .brand-heading {
  font-family: var(--font-display);
  letter-spacing: .5px;
}

h2 {
  color: var(--color-purple-dark);
  font-weight: normal;
}

a {
  color: var(--color-purple-dark);
  font-weight: 600;
  text-decoration: none;
}
a:hover {
  color: #000;
}

/* Navbar */
.navbar {
  background-color: var(--color-purple) !important;
}
.navbar-brand {
  font-size: 1.6rem;
  color: #fff !important;
  display: flex;
  align-items: center;
  gap: .5rem;
}
.navbar-brand img {
  height: 80px;
  width: auto;
  position: absolute;
  top: 10px;
}
.nav-link {
  font-weight: 600;
  font-size: .95rem;
}
.navbar-dark .navbar-nav .nav-link {
  color: #fff;
  opacity: 1;
}
.navbar-dark .navbar-nav .nav-link:hover,
.navbar-dark .navbar-nav .nav-link:focus {
  opacity: 1;
}
.nav-link.active {
  color: var(--color-gold-light) !important;
}

/* Buttons */
.btn-accent {
  background-color: var(--color-orange);
  border-color: var(--color-orange);
  color: #fff;
  font-weight: 600;
}
.btn-accent:hover {
  background-color: var(--color-orange-dark);
  border-color: var(--color-orange-dark);
  color: #fff;
}
.btn-purple {
  background-color: #a654a1;
  border-color: #a654a1;
  color: #fff;
  font-weight: 600;
}
.btn-purple:hover {
  background-color: var(--color-purple-dark);
  border-color: var(--color-purple-dark);
  color: #fff;
}
.btn-outline-purple {
  background-color: #fff;
  border-color: #a654a1;
  color: #a654a1;
  font-weight: 600;
}
.btn-outline-purple:hover {
  background-color: #a654a1;
  color: #fff;
}

/* Hero (homepage) */
.hero-img {
  width: 100%;
  display: block;
}

/* Rotating homepage photo — two stacked layers crossfade, never a blank/white frame */
.home-rotating-photo {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0;
  transition: opacity 1s ease;
}
.home-rotating-photo.is-active {
  opacity: 1;
}

/* Inline SVG icons (replaces the Bootstrap Icons webfont — only 3 icons were used) */
.icon-svg {
  width: 1em;
  height: 1em;
  fill: currentColor;
  vertical-align: -0.125em;
}
.icon-svg.icon-lg {
  width: 1.25rem;
  height: 1.25rem;
}

/* Info strip (location / dates) */
.info-strip {
  background-color: var(--color-sky);
}
.info-strip .icon {
  font-size: 1.75rem;
  color: var(--color-purple);
}

/* Pill badges (Live Music / Food Trucks / Cold Drinks style) */
.pill-badge {
  background: #fff;
  border-radius: 1rem;
  box-shadow: 0 4px 10px rgba(0,0,0,.08);
  padding: 1.25rem 1rem;
  text-align: center;
}
.pill-badge .line1 {
  color: var(--color-orange-dark);
  font-family: var(--font-body);
  font-size: 46px;
  font-weight: 800;
  display: block;
  margin-bottom: 0px;
}
.pill-badge .line2 {
  color: var(--color-purple);
  font-family: var(--font-display);
  font-size: 36px;
  display: block;
  margin-top: -18px;
}

/* Photo placeholders */
.photo-placeholder {
  background-color: var(--color-sky);
  color: var(--color-purple-dark);
}

.card {
  border: none;
}

/* Footer */
.py-4 {
  padding-top: 40px !important;
  padding-bottom: 30px;
}

a, button, .btn, .nav-link {
  cursor: pointer;
}

.p-3 {
  padding: 30px;
}

.badge.text-bg-light {
  color: #fff !important;
  background-color: #000 !important;
  font-size: 24px;
  text-transform: uppercase;
  font-weight: 800;
}

.event-card h5 {
  margin-bottom: 0 !important;
  font-size: 30px;
  color: var(--color-orange-dark);
  padding: 10px 0;
}

.theme-line {
  color: #6b6b6b;
  font-size: 1rem;
}
.theme-line .theme-part1,
.theme-line .theme-part2 {
  font-size: 1.1rem;
}
.theme-line .theme-part1 {
  font-family: var(--font-body);
  font-weight: 800;
  color: var(--color-orange-dark);
  font-size: 23px;
  position: relative;
  top: 2px;
}
.theme-line .theme-part2 {
  font-family: var(--font-display);
  color: var(--color-purple);
  margin-left: .35rem;
}

.btn {
  padding: 15px 45px;
  font-size: 18px;
  font-weight: 600;
}

.event-card .btn {
  margin-left: auto;
  margin-top: 20px;
}

p {
  font-size: 16px !important;
}

footer {
  background-color: var(--color-purple);
  color: rgba(255,255,255,.85);
}
footer a {
  color: #fff;
}

/* Page header band (non-home pages) */
.page-header {
  background-color: var(--color-purple);
  color: #fff;
}

/* Menu page */
.menu-category h3 {
  color: var(--color-purple);
  font-family: var(--font-display);
  font-size: 1.5rem;
  margin-bottom: .75rem;
}
.menu-item {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  padding: .4rem 0;
  border-bottom: 1px dashed rgba(0,0,0,.1);
}
.menu-item .price {
  white-space: nowrap;
  font-weight: 700;
  color: var(--color-orange-dark);
}
.menu-note {
  font-size: .85rem;
  color: #6b6b6b;
}

/* Calendar page */
.event-card {
  border-left: 4px solid var(--color-purple);
}
.foodtruck-card {
  border-left: 4px solid var(--color-orange);
}

/* Gallery tabs */
.gallery-grid .photo-placeholder {
  aspect-ratio: 1 / 1;
  width: 100%;
}
.gallery-thumb {
  display: block;
  overflow: hidden;
  border-radius: .5rem;
}
.gallery-thumb img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
  transition: transform .2s ease;
}
.gallery-thumb:hover img {
  transform: scale(1.04);
}
.nav-pills .nav-link.active {
  background-color: var(--color-purple);
  color: #fff !important;
}
.nav-pills .nav-link {
  color: var(--color-purple);
  font-weight: 600;
}
