/* ===========================
   Responsive Breakpoints
   
   Desktop:  1200px+
   Tablet:   768px - 1199px
   Mobile:   < 768px
=========================== */

/* ===========================
   Large Desktop (1400px+)
=========================== */
@media (min-width: 1400px) {
  .gc-hero__inner {
    gap: calc(var(--gc-space-4xl) * 1.5);
  }

  .gc-matches__grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ===========================
   Tablet & Below (1199px)
=========================== */
@media (max-width: 1199px) {
  :root {
    --gc-space-4xl: 5rem;
  }

  .gc-nav {
    display: none;
  }

  .gc-header__actions .gc-btn {
    display: none;
  }

  .gc-menu-toggle {
    display: flex;
  }

  .gc-hero__inner {
    grid-template-columns: 1fr;
    gap: var(--gc-space-3xl);
    text-align: center;
  }

  .gc-hero__eyebrow {
    justify-content: center;
  }

  .gc-hero__description {
    margin: 0 auto;
  }

  .gc-hero__actions {
    justify-content: center;
  }

  .gc-hero__visual {
    display: flex;
    justify-content: center;
  }

  .gc-float-tags {
    display: none;
  }

  .gc-features__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gc-matches__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .gc-footer__inner {
    grid-template-columns: 1fr 1fr;
    gap: var(--gc-space-2xl);
  }
}

/* ===========================
   Tablet (768px - 1199px)
=========================== */
@media (min-width: 768px) and (max-width: 1199px) {
  .gc-container {
    padding: 0 var(--gc-space-2xl);
  }

  .gc-scroll-card {
    flex: 0 0 240px;
  }
}

/* ===========================
   Mobile (767px and below)
=========================== */
@media (max-width: 767px) {
  :root {
    --gc-space-4xl: 3.5rem;
    --gc-space-3xl: 3rem;
    --gc-space-2xl: 2rem;
  }

  .gc-container {
    padding: 0 var(--gc-space-md);
  }

  /* Header */
  .gc-header {
    padding: var(--gc-space-sm) 0;
  }

  /* Hero */
  .gc-hero {
    min-height: auto;
    padding-top: 70px;
  }

  .gc-hero__title {
    font-size: clamp(1.8rem, 8vw, 2.5rem);
  }

  .gc-hero__description {
    font-size: 0.95rem;
  }

  .gc-card-stack {
    max-width: 100%;
  }

  /* Features */
  .gc-features__grid {
    grid-template-columns: 1fr;
  }

  .gc-feature-card {
    padding: var(--gc-space-lg);
  }

  /* Matches */
  .gc-matches__header {
    flex-direction: column;
  }

  .gc-matches__grid {
    grid-template-columns: 1fr;
  }

  /* Footer */
  .gc-footer__inner {
    grid-template-columns: 1fr;
    gap: var(--gc-space-xl);
  }

  .gc-footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  /* Scroll Track */
  .gc-scroll-card {
    flex: 0 0 220px;
  }

  .gc-scroll-track {
    padding: var(--gc-space-md);
  }

  /* CTA */
  .gc-cta__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .gc-cta__actions .gc-btn {
    width: 100%;
    justify-content: center;
  }

  /* Forms */
  .gc-curator-form {
    padding: var(--gc-space-lg);
  }

  /* Buttons */
  .gc-hero__actions .gc-btn {
    width: 100%;
    justify-content: center;
  }
}

/* ===========================
   Very Small Mobile (380px)
=========================== */
@media (max-width: 380px) {
  :root {
    --gc-space-xl: 1.25rem;
  }

  .gc-hero__title {
    font-size: 1.7rem;
  }

  .gc-scroll-card {
    flex: 0 0 200px;
  }
}

/* ===========================
   Reduced Motion
=========================== */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}