/* ============================================================
   Inforloto.com - Responsive CSS (Mobile First)
   ============================================================ */

/* ============================================================
   Base (Mobile: 320px+) - Already defined in main.css
   ============================================================ */

/* ============================================================
   Tablet (768px+)
   ============================================================ */
@media (min-width: 768px) {

  /* Layout */
  .container {
    max-width: 720px;
    padding: 0 var(--space-5);
  }

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

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

  /* Header */
  .nav-toggle {
    display: none;
  }

  .site-nav {
    display: block;
    position: static;
    box-shadow: none;
    border: none;
    padding: 0;
  }

  .site-nav ul {
    flex-direction: row;
    gap: var(--space-1);
  }

  .site-nav a {
    padding: var(--space-2) var(--space-3);
    font-size: 0.875rem;
  }

  /* Result Card */
  .result-card {
    padding: var(--space-6);
  }

  .result-card__numbers {
    gap: var(--space-3);
  }

  /* Lottery Balls */
  .lottery-ball {
    width: 48px;
    height: 48px;
    font-size: 1.125rem;
  }

  .lottery-ball--sm {
    width: 38px;
    height: 38px;
    font-size: 0.9375rem;
  }

  .lottery-ball--lg {
    width: 60px;
    height: 60px;
    font-size: 1.375rem;
  }

  /* History table */
  .history-table td,
  .history-table th {
    padding: var(--space-3) var(--space-5);
  }

  /* Games grid */
  .games-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Footer */
  .footer-grid {
    grid-template-columns: 2fr 1fr 1fr;
  }

  .footer-bottom {
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
  }

  /* M1lhão codes */
  .m1lhao-codes-list {
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
  }

  /* Stat bars */
  .stat-bar {
    height: 10px;
  }

  /* Page header */
  .page-header {
    padding: var(--space-7) 0;
  }

  /* Steps */
  .steps-list {
    gap: var(--space-6);
  }

  /* Ad sizes */
  .ad-placeholder--banner {
    width: 728px;
    height: 90px;
  }

  .ad-placeholder--rectangle {
    width: 300px;
    height: 250px;
  }
}

/* ============================================================
   Desktop (1024px+)
   ============================================================ */
@media (min-width: 1024px) {

  /* Layout */
  .container {
    max-width: 960px;
    padding: 0 var(--space-6);
  }

  /* Grid */
  .grid-3 {
    grid-template-columns: repeat(3, 1fr);
  }

  /* Lottery Balls */
  .lottery-ball {
    width: 52px;
    height: 52px;
    font-size: 1.25rem;
  }

  .lottery-ball--sm {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }

  .lottery-ball--lg {
    width: 64px;
    height: 64px;
    font-size: 1.5rem;
  }

  /* Site header */
  .header-inner {
    padding: var(--space-4) var(--space-6);
  }

  .site-nav a {
    font-size: 0.9375rem;
    padding: var(--space-2) var(--space-4);
  }

  /* Main content with sidebar layout */
  .content-with-sidebar {
    display: grid;
    grid-template-columns: 1fr 300px;
    gap: var(--space-6);
    align-items: start;
  }

  .sidebar {
    position: sticky;
    top: 80px;
  }

  /* Games grid */
  .games-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  /* Result card */
  .result-card__jackpot-amount {
    font-size: 2.5rem;
  }

  /* Section padding */
  .section {
    padding: var(--space-8) 0;
  }

  /* Hero */
  .hero {
    padding: var(--space-8) 0;
  }

  /* Footer columns */
  .footer-grid {
    grid-template-columns: 3fr 1fr 1fr 1fr;
  }
}

/* ============================================================
   Large Desktop (1280px+)
   ============================================================ */
@media (min-width: 1280px) {

  .container {
    max-width: 1200px;
  }

  /* Content layout */
  .content-with-sidebar {
    grid-template-columns: 1fr 320px;
    gap: var(--space-7);
  }

  /* Lottery balls - maximum size */
  .lottery-ball {
    width: 56px;
    height: 56px;
    font-size: 1.375rem;
  }

  .lottery-ball--lg {
    width: 68px;
    height: 68px;
    font-size: 1.625rem;
  }
}

/* ============================================================
   Print Styles
   ============================================================ */
@media print {

  .site-header,
  .site-footer,
  .ad-container,
  .nav-toggle,
  .breadcrumb {
    display: none !important;
  }

  body {
    background: white;
    color: black;
  }

  .result-card {
    box-shadow: none;
    border: 1px solid #ccc;
    page-break-inside: avoid;
  }

  .lottery-ball {
    border: 2px solid #333;
    background: white !important;
    color: black !important;
    box-shadow: none;
  }

  a[href]::after {
    content: " (" attr(href) ")";
    font-size: 0.75rem;
    color: #666;
  }
}

/* ============================================================
   Reduced Motion
   ============================================================ */
@media (prefers-reduced-motion: reduce) {

  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }

  .loading-spinner {
    animation: none;
    border-top-color: var(--color-primary);
  }

  .stat-bar__fill {
    transition: none;
  }
}

/* ============================================================
   Dark Mode (Optional - future enhancement)
   ============================================================ */
@media (prefers-color-scheme: dark) {
  /* Placeholder for future dark mode support */
}
