/* ===============================================
   Astravon Mercura — Responsive Styles
   Author: House Astravon
   =============================================== */

/* -----------------------------
   Breakpoints
   ----------------------------- */
:root {
  --breakpoint-xs: 480px;   /* Extra small devices (mobile) */
  --breakpoint-sm: 768px;   /* Small devices (tablet) */
  --breakpoint-md: 1024px;  /* Medium devices (laptop) */
  --breakpoint-lg: 1280px;  /* Large devices (desktop) */
  --breakpoint-xl: 1536px;  /* Extra large devices */
}

/* -----------------------------
   Global Adjustments
   ----------------------------- */
body {
  font-size: 16px;
}

/* -----------------------------
   Mobile First (default styles)
   ----------------------------- */
.hero {
  padding: 2rem 1rem;
  text-align: center;
}

.product-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
}

.navbar {
  flex-direction: column;
}

/* -----------------------------
   Small devices (tablet) 
   ----------------------------- */
@media (min-width: var(--breakpoint-sm)) {
  .product-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .navbar {
    flex-direction: row;
    justify-content: space-between;
  }

  .hero h1 {
    font-size: 2rem;
  }
}

/* -----------------------------
   Medium devices (laptop) 
   ----------------------------- */
@media (min-width: var(--breakpoint-md)) {
  .product-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .hero h1 {
    font-size: 2.5rem;
  }

  .hero p {
    font-size: 1.125rem;
  }
}

/* -----------------------------
   Large devices (desktop) 
   ----------------------------- */
@media (min-width: var(--breakpoint-lg)) {
  .product-grid {
    grid-template-columns: repeat(4, 1fr);
  }

  .hero h1 {
    font-size: 3rem;
  }

  .hero p {
    font-size: 1.25rem;
  }
}

/* -----------------------------
   Extra large devices 
   ----------------------------- */
@media (min-width: var(--breakpoint-xl)) {
  .product-grid {
    grid-template-columns: repeat(5, 1fr);
  }

  .hero h1 {
    font-size: 3.5rem;
  }

  .hero p {
    font-size: 1.5rem;
  }
}

/* -----------------------------
   Utility Overrides for Responsive
   ----------------------------- */
.text-center-xs {
  text-align: center;
}

.text-left-sm {
  @media (min-width: var(--breakpoint-sm)) {
    text-align: left;
  }
}
