// Color Palette
$color-bg: #FAFAF8;
$color-surface: #FFFFFF;
$color-text: #2D2A26;
$color-text-muted: #6B6560;
$color-text-light: #9A9490;
$color-accent: #1A5F7A;
$color-accent-hover: #134B5F;
$color-border: #E8E4DF;
$color-border-light: #F0EDE8;

// Typography
$font-serif: 'Georgia', 'Times New Roman', serif;
$font-sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;

// Spacing
$space-xs: 0.5rem;
$space-sm: 1rem;
$space-md: 1.5rem;
$space-lg: 2.5rem;
$space-xl: 4rem;

// Mixins
@mixin container {
  max-width: 680px;
  margin: 0 auto;
  padding: 0 $space-md;
}

@mixin card {
  background: $color-surface;
  border: 1px solid $color-border;
  border-radius: 8px;
  padding: $space-md;
}

// Responsive
$breakpoint-md: 768px;

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  scroll-behavior: smooth;
  font-size: 16px;
}

body {
  font-family: $font-sans;
  background: $color-bg;
  color: $color-text;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

::selection {
  background: rgba(26, 95, 122, 0.15);
}

a {
  color: $color-accent;
  text-decoration: none;
  &:hover {
    text-decoration: underline;
    color: $color-accent-hover;
  }
}

h1, h2, h3, h4, h5, h6 {
  font-family: $font-serif;
  font-weight: 400;
  line-height: 1.25;
  color: $color-text;
}

h1 {
  font-size: 2.5rem;
  margin-bottom: $space-md;
}

h2 {
  font-size: 1.75rem;
  margin: $space-lg 0 $space-md;
}

h3 {
  font-size: 1.35rem;
  margin: $space-md 0 $space-sm;
}

p {
  margin-bottom: $space-sm;
}

blockquote {
  border-left: 3px solid $color-accent;
  padding-left: $space-md;
  margin: $space-md 0;
  font-style: italic;
  color: $color-text-muted;
}

.page-content {
  @include container;
  padding-top: $space-lg;
  padding-bottom: $space-xl;
}

.decision-tree {
  margin: $space-lg 0;

  .branch {
    margin-bottom: $space-md;
    padding: $space-md;
    background: $color-surface;
    border: 1px solid $color-border;
    border-radius: 8px;
  }

  .question {
    font-weight: 600;
    margin-bottom: $space-sm;
    color: $color-text;
  }

  .answer {
    padding-left: $space-md;
    border-left: 2px solid $color-accent;
    margin: $space-sm 0;

    &.yes {
      border-left-color: #2E7D32;
    }

    &.no {
      border-left-color: #C62828;
    }
  }
}

.poll-container {
  display: none;
}

.myth-card {
  @include card;
  margin-bottom: $space-md;

  .myth-title {
    font-family: $font-serif;
    font-size: 1.15rem;
    color: $color-text;
    margin-bottom: $space-sm;
    font-weight: 600;
  }

  .myth-number {
    font-family: $font-sans;
    font-size: 0.75rem;
    font-weight: 700;
    color: $color-accent;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: $space-xs;
  }
}

.level-card {
  @include card;
  margin-bottom: $space-md;

  .level-name {
    font-family: $font-serif;
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: $space-xs;
  }

  .level-tagline {
    font-style: italic;
    color: $color-text-muted;
    font-size: 0.95rem;
    margin-bottom: $space-sm;
  }
}

.gear-item {
  @include card;
  margin-bottom: $space-md;

  .gear-number {
    font-family: $font-sans;
    font-size: 0.75rem;
    font-weight: 700;
    color: $color-accent;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: $space-xs;
  }

  .gear-title {
    font-family: $font-serif;
    font-size: 1.1rem;
    font-weight: 600;
    margin-bottom: $space-xs;
  }

  .gear-price {
    font-family: $font-sans;
    font-size: 0.85rem;
    color: $color-text-muted;
    margin-bottom: $space-sm;
  }

  .gear-description {
    font-size: 0.95rem;
    color: $color-text;
  }
}

.comparison-table {
  width: 100%;
  border-collapse: collapse;
  margin: $space-md 0;
  font-size: 0.95rem;

  th, td {
    padding: $space-sm;
    text-align: left;
    border-bottom: 1px solid $color-border;
  }

  th {
    font-weight: 600;
    border-bottom: 2px solid $color-border;
  }

  tr:last-child td {
    font-weight: 600;
    border-bottom: none;
  }

  .gas-col {
    color: #C62828;
  }

  .ev-col {
    color: #2E7D32;
  }
}

.rec-card {
  @include card;
  margin-bottom: $space-md;

  .rec-category {
    font-family: $font-sans;
    font-size: 0.75rem;
    font-weight: 700;
    color: $color-accent;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    margin-bottom: $space-xs;
  }

  .rec-title {
    font-family: $font-serif;
    font-size: 1.15rem;
    font-weight: 600;
    margin-bottom: $space-xs;
  }

  .rec-description {
    font-size: 0.95rem;
    color: $color-text-muted;
  }
}

.last-updated {
  font-size: 0.8rem;
  color: $color-text-light;
  font-style: italic;
}

.contact-section {
  display: none;
}

.newsletter-section {
  text-align: center;
  padding: $space-lg;
  background: $color-surface;
  border: 1px solid $color-border;
  border-radius: 8px;
  margin: $space-lg 0;

  h3 {
    font-family: $font-serif;
    margin-bottom: $space-sm;
  }

  p {
    color: $color-text-muted;
    margin-bottom: $space-md;
    font-size: 0.95rem;
  }
}

.placeholder-box {
  background: #FFF8E1;
  border: 1px solid #FFD54F;
  border-radius: 6px;
  padding: $space-sm;
  margin: $space-md 0;
  font-size: 0.9rem;

  strong {
    color: #F57C00;
  }
}

.disclosure {
  font-size: 0.8rem;
  color: $color-text-light;
  margin-top: $space-lg;
  padding-top: $space-sm;
  border-top: 1px solid $color-border-light;
}

.footer {
  background: $color-surface;
  border-top: 1px solid $color-border;
  padding: $space-lg 0;
  margin-top: $space-xl;
}

.footer-content {
  @include container;
  text-align: center;

  nav {
    margin-bottom: $space-md;

    a {
      color: $color-text-muted;
      margin: 0 $space-sm;
      font-size: 0.9rem;

      &:hover {
        color: $color-accent;
      }
    }
  }
}

.copyright {
  font-size: 0.8rem;
  color: $color-text-light;
}

.main-nav {
  background: $color-surface;
  border-bottom: 1px solid $color-border;
  padding: $space-sm 0;
  position: sticky;
  top: 0;
  z-index: 100;

  .nav-inner {
    @include container;
    display: flex;
    justify-content: space-between;
    align-items: center;
  }

  .site-title {
    font-family: $font-serif;
    font-size: 1.15rem;
    font-weight: 600;
    color: $color-text;
  }

  nav {
    display: flex;
    gap: $space-sm;

    a {
      color: $color-text-muted;
      font-size: 0.85rem;
      padding: $space-xs $space-sm;
      border-radius: 4px;

      &:hover {
        background: $color-bg;
        color: $color-text;
        text-decoration: none;
      }
    }
  }
}

@media (max-width: $breakpoint-md) {
  h1 {
    font-size: 1.85rem;
  }

  h2 {
    font-size: 1.4rem;
  }

  .main-nav nav {
    display: none;
  }

  .decision-tree .branch {
    padding: $space-sm;
  }
}