/* ============================================
   LAGORA — Responsive
   ============================================ */

@media (max-width: 1024px) {
  .hero-content {
    grid-template-columns: 1fr;
    align-items: start;
    gap: var(--space-10);
  }
  .hero-headline { font-size: clamp(2.5rem, 8vw, 4rem); }
  .map-container { grid-template-columns: 1fr; }
  .camera-preview { max-width: 480px; }
  .cameras-grid { grid-template-columns: repeat(2, 1fr); }
  .fishing-grid { grid-template-columns: repeat(2, 1fr); }
  .quick-links { grid-template-columns: repeat(2, 1fr); }
  .sports-grid { grid-template-columns: repeat(3, 1fr); }
  .sponsors-layout { grid-template-columns: 1fr; }
  .footer-grid { grid-template-columns: 1fr 1fr; gap: var(--space-8); }
}

@media (max-width: 1024px) {
  .post-page-hero { border-radius: var(--radius-lg); }
}

@media (max-width: 768px) {
  .post-page-hero { border-radius: var(--radius-md); margin-bottom: var(--space-8); }
  .post-page-body { font-size: var(--font-size-base); }
  .post-page-body.trix-content h1 { font-size: var(--font-size-2xl); }
  .post-page-body.trix-content h2 { font-size: var(--font-size-xl); }
  .post-page-body.trix-content blockquote { font-size: var(--font-size-lg); }

  /* Collapse left/right-aligned images to full-width blocks so neither the
     image nor wrapped text becomes an unreadable sliver on narrow screens. */
  .trix-content .attachment--align-left,
  .trix-content .attachment--align-right {
    float: none;
    display: block;
    margin-inline: auto;
    text-align: center;
  }
}

@media (max-width: 768px) {
  .anuncio-hero-horizontal__img { height: 60px; }
  .anuncio-grid-banner-wrap { padding: var(--space-5) var(--container-padding); gap: var(--space-3); flex-wrap: wrap; }
  .anuncio-grid-banner { flex: 1 1 calc(50% - var(--space-3)); }
  .anuncio-footer-banner-wrap { padding: var(--space-5) var(--container-padding); gap: var(--space-3); flex-wrap: wrap; }
  .anuncio-footer-banner { flex: 1 1 calc(50% - var(--space-3)); }
}

@media (max-width: 768px) {
  :root {
    --font-size-4xl: 2rem;
    --font-size-3xl: 1.625rem;
    --container-padding: var(--space-4);
    --navbar-height: 64px;
  }

  .section { padding: var(--space-12) 0; }
  .section-header { flex-direction: column; align-items: flex-start; gap: var(--space-3); }

  .navbar-nav { display: none; }
  .navbar-logo .logo-wordmark { width: 150px; max-height: 36px; }
  .navbar-toggle { display: flex; }
  .navbar-nav.open {
    display: flex; flex-direction: column;
    position: absolute;
    top: var(--navbar-height); left: var(--space-3); right: var(--space-3);
    background: rgba(255, 255, 255, 0.96);
    backdrop-filter: blur(14px);
    -webkit-backdrop-filter: blur(14px);
    padding: var(--space-3);
    border-radius: var(--radius-lg);
    box-shadow: var(--shadow-lg);
    gap: 2px;
  }
  .navbar-nav.open a {
    width: 100%;
    padding: 12px 14px;
    color: var(--color-text-muted);
  }
  .navbar-cta .btn { padding: 10px 14px; font-size: var(--font-size-xs); }

  .hero { min-height: 640px; }
  .hero-content {
    padding: calc(var(--navbar-height) + var(--space-12)) var(--container-padding) var(--space-12);
  }
  .hero-headline { font-size: clamp(2.25rem, 11vw, 3.25rem); }
  .hero-lede { font-size: var(--font-size-base); }
  .hero-panel-grid { grid-template-columns: 1fr 1fr; }
  .hero-panel-value { font-size: 1.875rem; }

  .map-wrapper { height: 360px; }
  .fishing-grid { grid-template-columns: 1fr; }
  .cameras-grid { grid-template-columns: 1fr; }
  .quick-links { grid-template-columns: 1fr; }
  .sports-grid { grid-template-columns: repeat(2, 1fr); }
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .sponsor-master { padding: var(--space-6); }
  .camera-modal { max-width: 100%; margin: var(--space-3); }
  .camera-modal-sponsor { flex-direction: column; align-items: center; text-align: center; }
}

@media (max-width: 480px) {
  .navbar-logo .logo-wordmark { width: 128px; }
  .hero-actions { flex-direction: column; align-items: stretch; }
  .hero-actions .btn { width: 100%; }
  .sports-grid { grid-template-columns: 1fr; }
  .footer-bottom { flex-direction: column; text-align: center; }
}
