/* ==========================================================================
   AminIQ Dev — Responsive Design
   ========================================================================== */

/* --------------------------------------------------------------------------
   Large desktop
   -------------------------------------------------------------------------- */
@media (min-width: 1440px) {
  :root {
    --container-max: 1360px;
  }
}

/* --------------------------------------------------------------------------
   Laptop / tablet landscape
   -------------------------------------------------------------------------- */
@media (max-width: 1100px) {
  .hero__inner {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .hero__content {
    max-width: 720px;
    margin: 0 auto;
  }

  .hero__actions {
    justify-content: center;
  }

  .hero__stats {
    justify-content: center;
  }

  .hero__visual {
    order: -1;
    max-width: 560px;
    margin: 0 auto;
  }

  .features__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* --------------------------------------------------------------------------
   Tablet portrait
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .nav,
  .header__actions .btn {
    display: none;
  }

  .mobile-menu-btn {
    display: grid;
    place-items: center;
  }

  .hero {
    padding: 7rem 0 4rem;
  }

  .hero__title {
    font-size: clamp(2.25rem, 8vw, 3rem);
  }

  .hero__subtitle {
    font-size: 1.1rem;
  }

  .hero__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__stats {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }

  .floating-card--extension,
  .floating-card--opensource,
  .floating-card--api,
  .floating-card--ai {
    display: none;
  }

  .products__grid {
    grid-template-columns: 1fr;
  }

  .features__grid {
    grid-template-columns: 1fr;
  }

  .stats__grid {
    grid-template-columns: 1fr;
  }

  .blog__grid {
    grid-template-columns: 1fr;
  }

  .contact__card {
    padding: 2rem 1.25rem;
  }

  .contact__links {
    flex-direction: column;
    align-items: stretch;
  }

  .footer__grid {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .footer__brand {
    max-width: 100%;
  }

  .footer__bottom {
    flex-direction: column;
    text-align: center;
  }

  .os__timeline {
    padding-left: 1.25rem;
  }

  .os__event::before {
    left: calc(-1.25rem - 6px);
  }

  .contribution-grid {
    grid-template-columns: repeat(14, 1fr);
  }

  .content {
    padding: 1rem 0 4rem;
  }
}

/* --------------------------------------------------------------------------
   Mobile
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
  .btn {
    width: 100%;
  }

  .product-card__actions {
    flex-direction: column;
  }

  .product-card__actions .btn {
    width: 100%;
  }

  .section__eyebrow {
    font-size: 0.7rem;
  }

  .section__title {
    font-size: 1.75rem;
  }

  .floating-card--main {
    padding: 1.25rem;
  }

  .bookmark-item__url {
    display: none;
  }

  .hero__stats {
    align-items: center;
  }
}

/* --------------------------------------------------------------------------
   Touch devices: disable hover-only effects
   -------------------------------------------------------------------------- */
@media (hover: none) {
  .product-card__shine {
    display: none;
  }

  .theme-toggle:hover {
    transform: none;
  }
}

/* --------------------------------------------------------------------------
   High contrast mode
   -------------------------------------------------------------------------- */
@media (prefers-contrast: more) {
  :root {
    --text-primary: #000000;
    --text-secondary: #222222;
    --border-medium: #000000;
  }

  .glass,
  .header--scrolled {
    background: #FFFFFF;
  }

  .btn--primary {
    border: 2px solid #000000;
  }
}
