/*
 * Responsive tuning layer (spec 22.4 breakpoints: 320/375/414/768/1024/1440/1920).
 * Loaded after main.css; intentionally narrow in scope — only covers edge-width
 * issues the main cascade does not already handle. Keep overrides minimal.
 */

/* ===== 320px: smallest phones ===== */
@media (max-width: 359px) {
  .container { padding: 0 12px; }
  h1 { font-size: clamp(24px, 8vw, 32px); }
  .hero-sub { font-size: 14px; }
  .stat-num { font-size: 24px; }
  .chip { min-height: 44px; padding: 10px 12px; font-size: 13px; }
  .btn-primary, .btn-ghost { min-height: 44px; padding: 12px 16px; font-size: 14px; }
  .direct-grid { grid-template-columns: 1fr; }
  .lang-btn { min-width: 38px; min-height: 34px; }
}

/* ===== 375px: iPhone SE/mini ===== */
@media (min-width: 360px) and (max-width: 413px) {
  .container { padding: 0 14px; }
}

/* ===== 414px: iPhone Plus/Max ===== */
@media (min-width: 414px) and (max-width: 639px) {
  .container { padding: 0 16px; }
  .chip-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ===== 768px: tablet portrait ===== */
@media (min-width: 768px) and (max-width: 1023px) {
  .hero-grid { gap: 48px; }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
  .direct-grid { grid-template-columns: repeat(2, 1fr); }
  .chip-grid.four { grid-template-columns: repeat(2, 1fr); }
}

/* ===== 1024px: tablet landscape / small laptop ===== */
@media (min-width: 1024px) and (max-width: 1199px) {
  .container { max-width: 980px; }
}

/* ===== 1440px: standard desktop ===== */
@media (min-width: 1440px) {
  .container { max-width: 1280px; }
}

/* ===== 1920px: full HD / wide desktop ===== */
@media (min-width: 1920px) {
  .container { max-width: 1440px; }
  body { font-size: 17px; }
  h1 { font-size: clamp(44px, 3.2vw, 62px); }
}

/* ===== Minimum tap target size (WCAG + spec 22.4) ===== */
@media (hover: none) and (pointer: coarse) {
  .btn-primary,
  .btn-ghost,
  .chip,
  .lang-btn,
  .quick-contact,
  .msg,
  .cookie-cta,
  .cookie-ghost,
  .modal .btn-primary {
    min-height: 44px;
  }
}

/* ===== Mobile readability sweep ===== */
@media (max-width: 640px) {
  .eyebrow,
  .trust-label,
  .stat-label,
  .direct-label,
  .step-badge,
  .step-head,
  .q-block legend,
  .budget-val,
  .range-ticks,
  .field label,
  .field.consent .check,
  .lead-note,
  .inventory-note,
  .offer-status,
  .offer-price span,
  .offer-platform,
  .offer-route,
  .offer-footer,
  .post-tag,
  .post-read,
  .f-addr,
  .f-col h4,
  .copy,
  .lang-btn,
  .quick-contact {
    font-size: 14px;
  }

  .msg,
  .chip span,
  .benefit p,
  .offer-specs li,
  .offer-price,
  .offer-cta {
    font-size: 14.5px;
  }

  .err,
  .a-chip span:last-child,
  .a-chip .a-mark {
    font-size: 14px;
  }

  .a-chip .a-mark {
    width: 30px;
    height: 30px;
  }
}
