/* Constrain the actual content, without clipping the document or hiding text. */
@media (max-width: 980px) {
  /* Keep content in normal flow: absolute SNS controls overlapped the lower copy. */
  body .hero-search-block {
    height: auto;
    min-height: 600px;
    min-height: max(600px, 100svh);
    max-height: none;
    align-items: stretch;
  }
  body .hero-search-block .hero-search-content {
    height: auto;
    max-height: none;
    box-sizing: border-box;
    gap: 24px;
  }
  body .hero-search-block .hero-search-container { flex: 0 0 auto; }
  body .hero-search-block .hero-search-bottom-info { padding-top: 32px; }
  body .hero-search-block .hero-search-sidebar {
    position: static;
    inset: auto;
    width: 100%;
    max-width: 100%;
    margin: 0;
    flex-direction: row;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }
  body .hero-search-block .hero-search-social { flex-direction: row; flex-wrap: wrap; }
  body .footer .footer-grid.footer-grid-inner {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
  }
  body .footer .footer-brand.footer-brand-span { grid-column: 1 / -1; }
  body .footer .footer-grid > *,
  body .footer .footer-col-inner,
  body .footer .footer-col-inner > * {
    min-width: 0;
    overflow-wrap: anywhere;
  }
  body .footer .footer-col-inner { flex-wrap: wrap; }
  body .footer .footer-col-inner > * { flex: 1 1 120px; }
  body .footer .footer-contact-group,
  body .footer .footer-bank-group { min-width: 0; max-width: 100%; flex-wrap: wrap; }

  /* Static reviews only: the strip carousel keeps its own item sizing. */
  body .reviews-block .reviews-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px;
  }
  body .reviews-block .review-card { min-width: 0; max-width: 100%; box-sizing: border-box; }
  body .reviews-block .review-card-header { min-width: 0; flex-wrap: wrap; }
  body .reviews-block .review-card-header > * { min-width: 0; max-width: 100%; }
  body .reviews-block .review-card-headline,
  body .reviews-block .review-card-text,
  body .reviews-block .review-card-product,
  body .reviews-block .review-author-name,
  body .reviews-block .review-author-subtitle { overflow-wrap: anywhere; }
  body .reviews-block .review-card-thumbnails { flex-wrap: wrap; }
}

@media (max-width: 640px) {
  body .footer .footer-grid.footer-grid-inner,
  body .reviews-block .reviews-grid { grid-template-columns: minmax(0, 1fr); }
}

@media (max-width: 480px) {
  body .hero-search-block .hero-search-sidebar { gap: 12px; }
  body .hero-search-block .hero-search-social,
  body .hero-search-block .hero-search-scroll { min-width: 0; max-width: 100%; }
  body .hero-search-block .hero-search-scroll { gap: 8px; }
  body .hero-search-block .hero-search-scroll-line { width: 24px; flex-shrink: 1; }
}
