/* Airport Inn Binghamton — Design Tokens (Dark Premium) */
:root {
  /* Core — Deep Navy to Black */
  --color-bg: #080C12;
  --color-bg-elevated: #0E1520;
  --color-bg-card: #131B28;
  --color-bg-card-hover: #182435;
  --color-bg-section-alt: #0B1018;
  --color-surface: #1A2538;

  /* Brand — Warm Gold */
  --color-accent: #C9A84C;
  --color-accent-light: #D4B65E;
  --color-accent-dark: #A88B3A;
  --color-accent-glow: rgba(201, 168, 76, 0.12);
  --color-accent-subtle: rgba(201, 168, 76, 0.06);

  /* Secondary — Slate Blue */
  --color-primary: #2D4A5C;
  --color-primary-light: #3A6B8A;
  --color-primary-dark: #1E3344;

  /* Gold — Draft beer, taps */
  --color-gold: #C4A855;
  --color-gold-light: #D4BE78;

  /* Text */
  --color-text: #D1D5DB;
  --color-text-bright: #F1F3F5;
  --color-text-muted: #7B8794;
  --color-text-dim: #4A5568;

  /* Borders */
  --color-border: rgba(255, 255, 255, 0.06);
  --color-border-light: rgba(255, 255, 255, 0.1);
  --color-border-accent: rgba(201, 168, 76, 0.25);

  /* State */
  --color-success: #34D399;
  --color-error: #EF4444;
  --color-white: #FFFFFF;

  /* Typography */
  --font-heading: 'Barlow Condensed', sans-serif;
  --font-body: 'Inter', sans-serif;

  /* Spacing */
  --section-padding: clamp(4rem, 10vw, 7rem);
  --container-max: 1200px;
  --container-wide: 1400px;

  /* Transitions */
  --transition-fast: 0.2s ease;
  --transition-base: 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --transition-slow: 0.6s cubic-bezier(0.25, 0.46, 0.45, 0.94);

  /* Shadows — glow-based for dark theme */
  --shadow-sm: 0 2px 8px rgba(0, 0, 0, 0.3);
  --shadow-md: 0 8px 30px rgba(0, 0, 0, 0.35);
  --shadow-lg: 0 16px 50px rgba(0, 0, 0, 0.4);
  --shadow-glow: 0 0 40px rgba(201, 168, 76, 0.08);
  --shadow-card-hover: 0 12px 40px rgba(0, 0, 0, 0.4), 0 0 30px rgba(201, 168, 76, 0.06);

  /* Radius */
  --radius-sm: 6px;
  --radius-md: 12px;
  --radius-lg: 16px;
  --radius-xl: 24px;

  /* Gradients */
  --gradient-section: linear-gradient(180deg, var(--color-bg) 0%, var(--color-bg-section-alt) 100%);
  --gradient-card: linear-gradient(135deg, var(--color-bg-card) 0%, rgba(26, 37, 56, 0.8) 100%);
  --gradient-hero-overlay: linear-gradient(180deg, rgba(8, 12, 18, 0.5) 0%, rgba(8, 12, 18, 0.7) 40%, rgba(8, 12, 18, 0.92) 100%);
  --gradient-accent-glow: radial-gradient(ellipse at 50% 80%, rgba(201, 168, 76, 0.1) 0%, transparent 55%);
}

/* ==============================
   LIGHT MODE OVERRIDES
   ============================== */
html[data-theme="light"] {
  --color-bg: #F5F3EF;
  --color-bg-elevated: #FFFFFF;
  --color-bg-card: #FFFFFF;
  --color-bg-card-hover: #F9F7F3;
  --color-bg-section-alt: #EDE9E3;
  --color-surface: #E8E4DC;

  --color-accent: #B8952F;
  --color-accent-light: #C9A84C;
  --color-accent-dark: #9A7A20;
  --color-accent-glow: rgba(184, 149, 47, 0.1);
  --color-accent-subtle: rgba(184, 149, 47, 0.05);

  --color-primary: #3A5F78;
  --color-primary-light: #4A7A9A;
  --color-primary-dark: #2C4A5E;

  --color-gold: #B8952F;
  --color-gold-light: #C9A84C;

  --color-text: #3D3D3D;
  --color-text-bright: #1A1A1A;
  --color-text-muted: #6B7280;
  --color-text-dim: #9CA3AF;

  --color-border: rgba(0, 0, 0, 0.08);
  --color-border-light: rgba(0, 0, 0, 0.12);
  --color-border-accent: rgba(184, 149, 47, 0.3);

  --color-white: #FFFFFF;

  --shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.08);
  --shadow-md: 0 4px 16px rgba(0, 0, 0, 0.1);
  --shadow-lg: 0 8px 32px rgba(0, 0, 0, 0.12);
  --shadow-glow: 0 0 30px rgba(184, 149, 47, 0.06);
  --shadow-card-hover: 0 8px 24px rgba(0, 0, 0, 0.12), 0 0 20px rgba(184, 149, 47, 0.04);

  --gradient-section: linear-gradient(180deg, #F5F3EF 0%, #EDE9E3 100%);
  --gradient-card: linear-gradient(135deg, #FFFFFF 0%, #F9F7F3 100%);
  --gradient-hero-overlay: linear-gradient(180deg, rgba(245, 243, 239, 0.3) 0%, rgba(245, 243, 239, 0.6) 40%, rgba(245, 243, 239, 0.88) 100%);
  --gradient-accent-glow: radial-gradient(ellipse at 50% 80%, rgba(184, 149, 47, 0.08) 0%, transparent 55%);
}

/* Light mode — element-specific overrides */
html[data-theme="light"] .hero__bg::after,
html[data-theme="light"] .page-hero__bg::after {
  background: linear-gradient(180deg, rgba(0,0,0,0.3) 0%, rgba(0,0,0,0.5) 40%, rgba(0,0,0,0.7) 100%);
}
html[data-theme="light"] .hero__title,
html[data-theme="light"] .page-hero h1,
html[data-theme="light"] .page-hero__title {
  color: #FFFFFF;
  text-shadow: 0 3px 20px rgba(0,0,0,0.5);
}
html[data-theme="light"] .hero__tagline,
html[data-theme="light"] .page-hero p,
html[data-theme="light"] .page-hero__subtitle {
  color: rgba(255,255,255,0.8);
}
html[data-theme="light"] .hero::after {
  background: linear-gradient(to top, var(--color-bg), transparent);
}

html[data-theme="light"] .btn--outline {
  color: #1A1A1A;
  border-color: rgba(0, 0, 0, 0.2);
}
html[data-theme="light"] .btn--outline:hover {
  background: rgba(0, 0, 0, 0.05);
  border-color: #1A1A1A;
}

html[data-theme="light"] .site-nav {
  background: rgba(245, 243, 239, 0.75);
  border-bottom-color: rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .site-nav--scrolled {
  background: rgba(245, 243, 239, 0.95);
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.08);
}
html[data-theme="light"] .site-nav__brand-name {
  color: #1A1A1A;
}
html[data-theme="light"] .site-nav__link {
  color: var(--color-text-muted);
}
html[data-theme="light"] .site-nav__link:hover,
html[data-theme="light"] .site-nav__link--active {
  color: #1A1A1A;
}
html[data-theme="light"] .site-nav__hamburger span {
  background: #1A1A1A;
}

html[data-theme="light"] .mobile-menu {
  background: rgba(245, 243, 239, 0.97);
}
html[data-theme="light"] .mobile-menu__link {
  color: rgba(26, 26, 26, 0.7);
}
html[data-theme="light"] .mobile-menu__link:hover,
html[data-theme="light"] .mobile-menu__link--active {
  color: var(--color-accent);
}

html[data-theme="light"] .footer {
  background: #E8E4DC;
}

html[data-theme="light"] .card-deck__card {
  background: var(--color-bg-card);
  border-color: var(--color-border-light);
}
html[data-theme="light"] .card-deck__desc {
  color: var(--color-text-muted);
}
html[data-theme="light"] .card-deck__dot {
  background: rgba(0, 0, 0, 0.2);
}

html[data-theme="light"] .lightbox {
  background: rgba(0, 0, 0, 0.92);
}

html[data-theme="light"] .back-to-top,
html[data-theme="light"] .theme-toggle {
  background: #FFFFFF;
  border-color: rgba(0, 0, 0, 0.1);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

html[data-theme="light"] .quote-block {
  background: linear-gradient(135deg, #E8E4DC 0%, #F5F3EF 100%);
}
html[data-theme="light"] .quote-block blockquote {
  color: #1A1A1A;
}

html[data-theme="light"] .menu-item {
  border-bottom-color: rgba(0, 0, 0, 0.06);
}

html[data-theme="light"] .info-bar__item {
  background: rgba(0, 0, 0, 0.03);
  border-color: rgba(0, 0, 0, 0.08);
}

html[data-theme="light"] ::selection {
  background-color: var(--color-accent);
  color: #FFFFFF;
}

html[data-theme="light"] .form__input,
html[data-theme="light"] .form__textarea,
html[data-theme="light"] .form__select {
  background: #FFFFFF;
  border-color: rgba(0, 0, 0, 0.15);
  color: #1A1A1A;
}
html[data-theme="light"] .form__input::placeholder,
html[data-theme="light"] .form__textarea::placeholder {
  color: #9CA3AF;
}

html[data-theme="light"] .map-container iframe {
  filter: none;
}

/* ---- Dark sections in light mode: keep dark bg, force light text ---- */
html[data-theme="light"] .section-dark,
html[data-theme="light"] .section--dark {
  background: #2C4A5C;
}
html[data-theme="light"] .weekly-specials {
  background: linear-gradient(180deg, #2C4A5C 0%, #243E4E 100%);
}
html[data-theme="light"] .section-cta-dark {
  background: #2C4A5C !important;
}

html[data-theme="light"] .section-dark .section-title,
html[data-theme="light"] .section--dark .section-title,
html[data-theme="light"] .section-cta-dark .section-title,
html[data-theme="light"] .weekly-specials .section-title {
  color: #FFFFFF;
}
html[data-theme="light"] .section-dark .section-subtitle,
html[data-theme="light"] .section--dark .section-subtitle,
html[data-theme="light"] .section-cta-dark .section-subtitle,
html[data-theme="light"] .weekly-specials .section-subtitle {
  color: rgba(255,255,255,0.8);
}

/* All text inside dark sections */
html[data-theme="light"] .section-dark h2,
html[data-theme="light"] .section-dark h3,
html[data-theme="light"] .section-dark h4,
html[data-theme="light"] .section-dark p,
html[data-theme="light"] .section-dark span,
html[data-theme="light"] .section-dark a,
html[data-theme="light"] .section--dark h2,
html[data-theme="light"] .section--dark h3,
html[data-theme="light"] .section--dark h4,
html[data-theme="light"] .section--dark p,
html[data-theme="light"] .section--dark span,
html[data-theme="light"] .section--dark a,
html[data-theme="light"] .section-cta-dark h2,
html[data-theme="light"] .section-cta-dark h3,
html[data-theme="light"] .section-cta-dark p,
html[data-theme="light"] .section-cta-dark span,
html[data-theme="light"] .section-cta-dark a {
  color: #F1F3F5;
}

/* Event cards in dark sections */
html[data-theme="light"] .section-dark .event-card {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.12);
  border-left-color: var(--color-accent);
}
html[data-theme="light"] .section-dark .event-card__day {
  color: var(--color-accent);
}
html[data-theme="light"] .section-dark .event-card__title {
  color: #FFFFFF;
}
html[data-theme="light"] .section-dark .event-card__time,
html[data-theme="light"] .section-dark .event-card__desc {
  color: rgba(255,255,255,0.7);
}

/* Stat items in dark sections */
html[data-theme="light"] .section-dark .stat-number {
  color: #FFFFFF;
}
html[data-theme="light"] .section-dark .stat-label {
  color: rgba(255,255,255,0.6);
}

/* Banquet types in dark sections */
html[data-theme="light"] .section-dark .banquet-type {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.12);
  color: #F1F3F5;
}

/* Bar packages in dark sections */
html[data-theme="light"] .section--dark .bar-package {
  background: rgba(255,255,255,0.08);
  border-color: rgba(255,255,255,0.12);
}
html[data-theme="light"] .section--dark .bar-package__name {
  color: #FFFFFF;
}
html[data-theme="light"] .section--dark .bar-package__price {
  color: var(--color-accent);
}
html[data-theme="light"] .section--dark .bar-package__desc {
  color: rgba(255,255,255,0.7);
}
html[data-theme="light"] .section--dark .bar-packages-note {
  color: rgba(255,255,255,0.6);
}

/* Upcoming events placeholder in dark sections */
html[data-theme="light"] .section-dark .upcoming-events {
  background: rgba(255,255,255,0.05);
  color: rgba(255,255,255,0.7);
}

/* Card deck — SOLID backgrounds (fix transparency) */
html[data-theme="light"] .card-deck__card {
  background: #FFFFFF;
}
html[data-theme="light"] .section-dark .card-deck__card {
  background: #1E3A4D;
  border-color: rgba(255,255,255,0.15);
}
html[data-theme="light"] .card-deck__day {
  color: var(--color-accent);
}
html[data-theme="light"] .card-deck__title {
  color: #FFFFFF;
}
html[data-theme="light"] .card-deck__desc {
  color: rgba(255,255,255,0.7);
}
html[data-theme="light"] .card-deck__dot {
  background: rgba(255,255,255,0.3);
}

/* Gallery teaser in dark sections */
html[data-theme="light"] .section-dark .gallery-teaser__grid a,
html[data-theme="light"] .section-dark .gallery-teaser__grid > div {
  border-color: rgba(255,255,255,0.12);
}

/* Footer in light mode — keep dark, force light text */
html[data-theme="light"] .footer {
  background: #2C3E50;
}
html[data-theme="light"] .footer h4 {
  color: #F1F3F5;
}
html[data-theme="light"] .footer__brand {
  color: #F1F3F5;
}
html[data-theme="light"] .footer__desc {
  color: rgba(255,255,255,0.65);
}
html[data-theme="light"] .footer__links a {
  color: rgba(255,255,255,0.65);
}
html[data-theme="light"] .footer__links a:hover {
  color: var(--color-accent);
}
html[data-theme="light"] .footer__hours {
  color: rgba(255,255,255,0.65);
}
html[data-theme="light"] .footer__hours li span {
  color: rgba(255,255,255,0.65);
}
html[data-theme="light"] .footer-contact p,
html[data-theme="light"] .footer-contact a {
  color: rgba(255,255,255,0.65);
}
html[data-theme="light"] .footer-contact a:hover {
  color: var(--color-accent);
}
html[data-theme="light"] .footer__bottom {
  border-top-color: rgba(255,255,255,0.1);
  color: rgba(255,255,255,0.5);
}
html[data-theme="light"] .footer__credit a {
  color: var(--color-accent);
}
html[data-theme="light"] .footer__social a {
  background: rgba(255,255,255,0.1);
}
html[data-theme="light"] .footer__social svg {
  fill: rgba(255,255,255,0.65);
}
html[data-theme="light"] .footer__social a:hover {
  background: var(--color-accent);
}
html[data-theme="light"] .footer__social a:hover svg {
  fill: #1A1A1A;
}

/* Contact cards in light mode */
html[data-theme="light"] .contact-card {
  background: #FFFFFF;
  border-color: rgba(0, 0, 0, 0.08);
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06);
}
html[data-theme="light"] .contact-info__item:hover {
  background: rgba(0, 0, 0, 0.02);
}
html[data-theme="light"] .contact-info__text a {
  color: #1A1A1A;
}
