/* =============================
   Consolidated base.css
   - Merges globals.css + globals1.css
   - Merges styleguide.css + styleguide1.css
   - Scopes conflicting tokens via .how / .desktop
   - Keeps HTML unchanged (existing link tags remain)
   ============================= */

/* Reset + Fonts */
@import url("https://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css");
@import url("https://fonts.googleapis.com/css?family=Darker+Grotesque:500,400,600");
/* Anima tracking (optional; safe to remove) */
@import url("https://px.animaapp.com/674fa2d1739070333b4b6f7d.674fa2d2739070333b4b6f80.q4zSjlb.hcp.png");

/* Local font used on the "how" page */
@font-face {
  font-family: "Violet Sans-Regular";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/VioletSans-Regular.otf") format("opentype");
}

/* ---------- Shared Globals (from globals*.css) ---------- */
.screen a {
  display: contents;
  text-decoration: none;
}

.container-center-horizontal {
  display: flex;
  flex-direction: row;
  justify-content: center;
  pointer-events: none;
  width: 100%;
}
.container-center-horizontal > * {
  flex-shrink: 0;
  pointer-events: auto;
}

* { box-sizing: border-box; }


/* ---------- Shared Design Tokens (union of styleguide.css + styleguide1.css) ---------- */
:root {
  /* colors */
  --black: #000000;
  --green-house: #1d4409;
  --green-house-2: #1d440999;
  --reef: #d4fba3;
  --reef-2: #d4fba34c;
  --white-linen: #f6f2e9;

  /* default font families */
  --font-family-darker_grotesque: "Darker Grotesque", Helvetica, Arial, sans-serif;
  --font-family-violet_sans-regular: "Violet Sans-Regular", Helvetica, Arial, sans-serif;

  /* NOTE: font-size tokens differ between pages.
     We scope them below so each page keeps its expected scale. */
}

/* Tokens for HOW page (was styleguide.css) */
.how {
  --font-size-l: 28.8px;
  --font-size-m: 25px;
  --font-size-s: 16px;
  --font-size-xl: 80px;
  --font-size-xs: 10px;
  --font-size-xxl: 120px;
  --font-size-xxs: 9px;
}

/* Tokens for UCSD page (same as HOW page) */
.ucsd {
  --font-size-l: 28.8px;
  --font-size-m: 25px;
  --font-size-s: 16px;
  --font-size-xl: 80px;
  --font-size-xs: 10px;
  --font-size-xxl: 120px;
  --font-size-xxs: 9px;
}

/* Tokens for INDEX / DESKTOP page (was styleguide1.css) */
.desktop {
  --font-size-l: 20px;
  --font-size-m: 16px;
  --font-size-s: 14px;
  --font-size-xl: 24px;
  --font-size-xs: 13px;
  --font-size-xxl: 32px;
  --font-size-xxs: 10px;
}

/* ---------- Utility classes from styleguide1.css (used in index.html) ---------- */
.darkergrotesque-medium-green-house-24px {
  color: var(--green-house);
  font-family: var(--font-family-darker_grotesque);
  font-size: var(--font-size-xl);
  font-style: normal;
  font-weight: 500;
}

.darkergrotesque-normal-green-house-20px {
  color: var(--green-house-2);
  font-family: var(--font-family-darker_grotesque);
  font-size: var(--font-size-l);
  font-style: normal;
  font-weight: 400;
}

.darkergrotesque-normal-green-house-18px {
  color: var(--green-house-2);
  font-family: var(--font-family-darker_grotesque);
  font-size: 18px;
  font-style: normal;
  font-weight: 400;
}

.darkergrotesque-normal-green-house-16px {
  color: var(--green-house-2);
  font-family: var(--font-family-darker_grotesque);
  font-size: var(--font-size-m);
  font-style: normal;
  font-weight: 400;
}

.darkergrotesque-normal-green-house-14px {
  color: var(--green-house);
  font-family: var(--font-family-darker_grotesque);
  font-size: var(--font-size-s);
  font-style: normal;
  font-weight: 400;
}

.darkergrotesque-semi-bold-green-house-10px {
  color: var(--green-house);
  font-family: var(--font-family-darker_grotesque);
  font-size: var(--font-size-xxs);
  font-style: normal;
  font-weight: 600;
}

/* ---------- Navigation Styles ---------- */
.nav-logo {
  text-decoration: none;
  display: flex;
  align-items: center;
}

.nav-menu {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 0 30px;
}

.nav-item {
  color: var(--green-house);
  font-family: var(--font-family-darker_grotesque);
  font-size: 16px;
  font-weight: 400;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 15px;
  transition: all 0.3s ease;
  background: transparent;
}

.nav-item:hover {
  background: rgba(29, 68, 9, 0.1);
  color: var(--green-house);
}

.nav-item-active {
  background: rgba(29, 68, 9, 0.15);
  font-weight: 500;
  color: var(--green-house);
}

.nav-item-active:hover {
  background: rgba(29, 68, 9, 0.2);
}

/* Responsive navigation adjustments */
@media (max-width: 768px) {
  .nav-menu {
    gap: 20px;
    margin: 0 20px;
  }
  
  .nav-item {
    font-size: 15px;
    padding: 8px 16px;
  }
}

/* Global mobile optimizations */
@media (max-width: 768px) {
  .container-center-horizontal {
    width: 100%;
    overflow-x: hidden;
  }
  
  .screen {
    width: 100%;
    min-width: 320px;
  }
  
  /* Ensure text is readable on mobile */
  body {
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
  }
  
  /* Improve touch targets */
  .nav-item,
  .button,
  .button-2,
  .ucsd-button,
  .join-button,
  .success-button {
    min-height: 44px;
    min-width: 44px;
  }
}

@media (max-width: 480px) {
  .nav-menu {
    gap: 15px;
    margin: 0 15px;
  }
  
  .nav-item {
    font-size: 14px;
    padding: 6px 12px;
  }
  
  /* Ensure all buttons are touch-friendly */
  .button,
  .button-2,
  .ucsd-button,
  .join-button,
  .success-button {
    padding: 12px 20px;
    font-size: 16px;
  }
}

/* Unified Navbar - Floating Pill Design with Apple Glass */
.unified-navbar {
  position: fixed;
  top: 20px;
  left: 50%;
  transform: translateX(-50%);
  width: auto;
  background: rgba(255, 255, 255, 0.02);
  backdrop-filter: blur(4px);
  -webkit-backdrop-filter: blur(4px);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 50px;
  z-index: 1000;
  padding: 0;
  margin: 0;
  box-shadow: 0 8px 32px rgba(0, 0, 0, 0.04);
}

.unified-navbar .navbar-container {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px 32px;
  gap: 16px;
  width: auto;
}

.unified-navbar .logo-section {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-right: 16px;
}

.unified-navbar .trepo-logo {
  color: var(--green-house);
  font-family: var(--font-family-violet_sans-regular);
  font-size: 20px;
  font-weight: 500;
  letter-spacing: -0.4px;
  line-height: normal;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
}

.unified-navbar .trepo-logo:hover {
  transform: translateY(-1px);
  opacity: 0.8;
}

.unified-navbar .ai-logo {
  color: var(--green-house);
  font-family: var(--font-family-violet_sans-regular);
  font-size: 7px;
  font-weight: 500;
  letter-spacing: -0.14px;
  line-height: normal;
  margin-top: 1.2px;
}

.unified-navbar .nav-center {
  display: flex;
  align-items: center;
  gap: 16px;
}

.unified-navbar .how-link {
  color: var(--green-house);
  text-decoration: none;
  font-family: var(--font-family-darker_grotesque);
  font-size: 14px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  padding: 8px 12px;
  border-radius: 16px;
  transition: all 0.3s ease;
}

.unified-navbar .how-link:hover {
  background: rgba(255, 255, 255, 0.15);
  transform: translateY(-1px);
  opacity: 0.9;
}

.unified-navbar .promo-button {
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid rgba(29, 69, 9, 0.3);
  color: var(--green-house);
  padding: 8px 16px;
  border-radius: 20px;
  text-decoration: none;
  font-family: var(--font-family-darker_grotesque);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
  cursor: pointer;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.unified-navbar .promo-button:hover {
  background: var(--green-house);
  color: #ffffff;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(29, 69, 9, 0.3);
  border-color: var(--green-house);
}

.unified-navbar .join-button {
  background: var(--reef);
  color: var(--green-house);
  padding: 8px 16px;
  border-radius: 20px;
  text-decoration: none;
  font-family: var(--font-family-darker_grotesque);
  font-size: 14px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.3px;
  transition: all 0.3s ease;
  cursor: pointer;
  border: none;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 12px rgba(212, 251, 163, 0.4);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.unified-navbar .join-button:hover {
  background: #c2f08a;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(212, 251, 163, 0.4);
}

.unified-navbar .join-button::after {
  content: "→";
  font-size: 12px;
  transition: transform 0.3s ease;
}

.unified-navbar .join-button:hover::after {
  transform: translateX(2px);
}

/* No padding needed - navbar floats over content */
body {
  padding-top: 0;
}

/* Shift all main content down to account for floating navbar */
.container-center-horizontal {
  margin-top: 30px;
}

/* Hide old headers since we're using unified navbar */
.header {
  display: none !important;
}

/* Smooth scroll for anchor links */
html { 
  scroll-behavior: smooth; 
}

/* Mobile responsive for floating navbar */
@media (max-width: 768px) {
  body {
    padding-top: 0;
  }
  
  .container-center-horizontal {
    margin-top: 25px; /* Slightly less margin on mobile */
  }
  
  .unified-navbar {
    top: 15px;
    left: 50%;
    transform: translateX(-50%);
  }
  
  .unified-navbar .navbar-container {
    padding: 6px 24px;
    gap: 12px;
  }
  
  .unified-navbar .nav-center {
    gap: 12px;
  }
  
  .unified-navbar .promo-button,
  .unified-navbar .join-button {
    padding: 6px 12px;
    font-size: 12px;
  }
  
  .unified-navbar .trepo-logo {
    font-size: 16px;
  }
  
  .unified-navbar .ai-logo {
    font-size: 6px;
  }
}