/**
 * TrueGrad Theme — Responsive CSS
 *
 * All media queries in one place for clean organization.
 * Breakpoints:
 *   Mobile: <= 767px
 *   Tablet: 768px - 1023px
 *   Desktop: >= 1024px
 *   Large: >= 1440px
 *
 * @package TrueGrad
 */

/* ============================================================
   LARGE DESKTOP (>= 1440px)
   ============================================================ */

@media (min-width: 1440px) {
  :root {
    --container-px: 2rem;
  }

  .tg-hero__inner {
    gap: 6rem;
  }
}

/* ============================================================
   TABLET (768px - 1023px)
   ============================================================ */

@media (max-width: 1023px) {

  /* Header */
  .tg-header__nav {
    display: none;
  }

  .tg-header__cta {
    display: none;
  }

  .tg-header__hamburger {
    display: flex;
  }

  /* Hero */
  .tg-hero__inner {
    grid-template-columns: 1fr;
    gap: var(--space-10);
    text-align: center;
    padding-block: var(--space-16);
  }

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

  .tg-hero__actions {
    justify-content: center;
  }

  .tg-hero__proof {
    justify-content: center;
  }

  .tg-hero__visual {
    max-width: 480px;
    margin: 0 auto;
  }

  .tg-hero__float--1,
  .tg-hero__float--2 {
    display: none;
  }

  /* Stats */
  .tg-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tg-stat-card {
    border-right: none;
    border-bottom: 1px solid var(--color-border);
  }

  .tg-stat-card:nth-child(odd) {
    border-right: 1px solid var(--color-border);
  }

  .tg-stat-card:nth-last-child(-n+2) {
    border-bottom: none;
  }

  /* Featured Bundle */
  .tg-featured-bundle__inner {
    grid-template-columns: 1fr;
    gap: var(--space-10);
  }

  /* Best Sellers */
  .tg-best-sellers__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .tg-best-sellers__header {
    flex-direction: column;
    align-items: flex-start;
  }

  /* Testimonials */
  .tg-testimonials__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Announcement */
  .tg-announcement__inner {
    grid-template-columns: 1fr;
  }

  .tg-announcement__content {
    padding: var(--space-8);
  }

  /* SEO Content */
  .tg-seo-content__grid {
    grid-template-columns: 1fr;
  }

  .tg-seo-content__sidebar {
    position: static;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: var(--space-4);
  }

  /* About */
  .tg-about-story__grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

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

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

  /* Footer Banner */
  .tg-footer-banner__inner {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  /* Footer Main */
  .tg-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }

  /* Shop */
  ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Cart */
  .woocommerce-page .woocommerce {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout .woocommerce {
    grid-template-columns: 1fr !important;
  }

  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review {
    grid-column: 1 !important;
  }

  /* Single product */
  .single-product div.product {
    grid-template-columns: 1fr !important;
  }

  .single-product .woocommerce-product-gallery {
    position: static !important;
  }

  .single-product .related.products ul.products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* 404 */
  .tg-404 {
    flex-direction: column-reverse;
    text-align: center;
  }

  .tg-404__actions {
    justify-content: center;
  }

  .tg-404__text {
    margin-left: auto;
    margin-right: auto;
  }
}

/* ============================================================
   MOBILE (<= 767px)
   ============================================================ */

@media (max-width: 767px) {

  /* Base */
  :root {
    --container-px: 1rem;
    --header-height: 64px;
  }

  /* Header */
  .tg-header__icon-btn {
    width: 36px;
    height: 36px;
  }

  /* Hero */
  .tg-hero {
    min-height: auto;
  }

  .tg-hero__inner {
    padding-block: var(--space-12);
  }

  .tg-hero__headline {
    font-size: clamp(2rem, 8vw, 2.75rem);
  }

  .tg-hero__visual {
    display: none;
  }

  /* Stats */
  .tg-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Best Sellers */
  .tg-best-sellers__grid {
    grid-template-columns: 1fr;
  }

  /* Testimonials */
  .tg-testimonials__grid {
    grid-template-columns: 1fr;
  }

  /* SEO Content sidebar */
  .tg-seo-content__sidebar {
    grid-template-columns: 1fr;
  }

  /* About audience */
  .tg-about-audience__grid {
    grid-template-columns: 1fr;
  }

  /* About stats */
  .tg-about-stats__grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Footer banner */
  .tg-footer-banner__input-group {
    flex-direction: column;
  }

  /* Footer main */
  .tg-footer__grid {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .tg-footer__tagline {
    max-width: 100%;
  }

  .tg-footer__bottom-inner {
    flex-direction: column;
    text-align: center;
    gap: var(--space-3);
  }

  /* Shop */
  ul.products {
    grid-template-columns: 1fr !important;
  }

  .tg-shop-toolbar {
    flex-direction: column;
    align-items: flex-start;
  }

  /* Cart table */
  table.shop_table thead {
    display: none !important;
  }

  table.shop_table,
  table.shop_table tbody,
  table.shop_table tr,
  table.shop_table td {
    display: block !important;
    width: 100% !important;
  }

  table.shop_table td {
    text-align: left !important;
    padding: var(--space-3) var(--space-4) !important;
  }

  table.shop_table td::before {
    content: attr(data-title) ': ';
    font-weight: var(--font-weight-semi);
    font-size: var(--text-sm);
    color: var(--color-muted);
  }

  table.shop_table .product-thumbnail {
    text-align: center !important;
    padding-bottom: 0 !important;
  }

  table.shop_table .product-thumbnail::before {
    display: none !important;
  }

  /* Single product */
  .single-product form.cart {
    flex-direction: column !important;
  }

  .single-product form.cart .single_add_to_cart_button {
    width: 100% !important;
  }

  .single-product .related.products ul.products {
    grid-template-columns: 1fr !important;
  }

  /* Final CTA */
  .tg-final-cta__actions {
    flex-direction: column;
    align-items: center;
  }

  .tg-final-cta__trust {
    flex-direction: column;
    align-items: center;
    gap: var(--space-3);
  }

  /* 404 */
  .tg-404 {
    padding-block: var(--space-12);
  }

  .tg-404__code {
    font-size: 5rem;
  }

  /* Post grid */
  .tg-post-grid {
    grid-template-columns: 1fr;
  }

  /* Post nav */
  .tg-post-nav {
    flex-direction: column;
  }

  .tg-post-nav__next {
    text-align: left;
  }

  /* About story */
  .tg-announcement__content {
    padding: var(--space-6);
  }

  /* Featured bundle */
  .tg-featured-bundle__pricing {
    flex-wrap: wrap;
    gap: var(--space-2);
  }

  .tg-featured-bundle__actions {
    flex-direction: column;
  }

  /* Announcement actions */
  .tg-about-cta__actions {
    flex-direction: column;
    align-items: center;
  }
}

/* ============================================================
   PRINT
   ============================================================ */

@media print {
  .tg-header,
  .tg-footer,
  .tg-hero__visual,
  .tg-final-cta,
  .tg-mobile-menu,
  .tg-search-modal {
    display: none !important;
  }

  body {
    font-size: 12pt;
    color: #000;
  }
}

/* ============================================================
   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;
  }
}
