/* ==========================================================================
   Responsive - Breakpoint Overrides & Fine-tuning
   antena-shuri Theme
   ========================================================================== */

/* --------------------------------------------------------------------------
   Extra Small Devices (max-width: 374px)
   -------------------------------------------------------------------------- */
@media (max-width: 374px) {
  .hero__title { font-size: 24px; }
  .hero__highlight { font-size: 110%; }
  .hero__subtitle { font-size: var(--fs-sm); }
  .hero__stat-number { font-size: 28px; }
  .hero__stat-label { font-size: var(--fs-xs); }
  .hero__actions { flex-direction: column; align-items: stretch; }
  .hero__actions .btn { width: 100%; }
  .section { padding: var(--sp-48) 0; }
  .hero { padding: var(--sp-48) 0 var(--sp-32); }
  .section__title { font-size: var(--fs-lg); }
  .section__subtitle { font-size: var(--fs-xs); }
  .problems__card { padding: var(--sp-16); }
  .service__card { padding: var(--sp-24) var(--sp-16); }
  .reasons__card { padding: var(--sp-24) var(--sp-16); }
  .price-card { min-width: 240px; padding: var(--sp-24) var(--sp-16); }
  .price-card__price-number { font-size: 28px; }
  .cta-section { padding: var(--sp-48) 0; }
  .cta-section__title { font-size: var(--fs-xl); }
  .cta-section__phone { font-size: 28px; }
  .footer-cta { padding: var(--sp-48) 0; }
  .footer-cta__title { font-size: var(--fs-lg); }
  .footer-cta__phone { font-size: var(--fs-xl); }
  .container { padding-left: 16px; padding-right: 16px; }
  .global-nav__link { padding: var(--sp-12) 0; font-size: var(--fs-sm); }
  .flow-steps__item { padding-left: 64px; }
  .flow-steps__marker { width: 44px; height: 44px; font-size: var(--fs-base); }
  .flow-steps__item::before { left: 22px; top: 44px; }
  .testimonial-card { padding: var(--sp-16) var(--sp-16) var(--sp-16) var(--sp-24); }
  .blog-card__body { padding: var(--sp-12) var(--sp-16) var(--sp-16); }
  .accordion__question { padding: var(--sp-16) 0; font-size: var(--fs-sm); }
}

/* --------------------------------------------------------------------------
   Small Devices (375px - 767px)
   -------------------------------------------------------------------------- */
@media (min-width: 375px) and (max-width: 767px) {
  .hero__stats { gap: var(--sp-16) var(--sp-32); }
  .price-table__grid { scroll-padding-left: 20px; }
  .works-card__body { padding: var(--sp-16) var(--sp-16) var(--sp-24); }
}

/* --------------------------------------------------------------------------
   Tablet (768px - 1023px)
   -------------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1023px) {
  .site-header__inner { height: 75px; }
  .hero { text-align: center; }
  .hero__actions { justify-content: center; }
  .hero__stats { justify-content: center; }

  .price-table__grid { flex-wrap: wrap; justify-content: center; }
  .price-card { min-width: 0; flex: 0 1 calc(50% - var(--sp-12)); max-width: 340px; }

  .service__grid { gap: var(--sp-16); }
  .reasons__grid { gap: var(--sp-16); }
  .flow-steps__timeline { max-width: 600px; }
  .site-footer__grid { grid-template-columns: repeat(2, 1fr); gap: var(--sp-24); }
  .cta-section__phone { font-size: 40px; }
}

/* --------------------------------------------------------------------------
   Desktop (1024px+)
   -------------------------------------------------------------------------- */
@media (min-width: 1024px) {
  .container { padding-left: var(--sp-32); padding-right: var(--sp-32); }
  .site-header__inner { gap: var(--sp-24); }
  .hero__inner { min-height: 480px; }
  .hero__badge { margin-bottom: var(--sp-32); }

  .price-table__grid { flex-wrap: nowrap; gap: var(--sp-24); }
  .price-card { flex: 1; max-width: 360px; }
  .flow-steps__timeline { max-width: 800px; }
  .flow-steps__content h3 { font-size: var(--fs-lg); }
  .testimonial-card { padding: var(--sp-32) var(--sp-32) var(--sp-32) var(--sp-48); }
  .blog-card__body { padding: var(--sp-24); }
  .content-area { padding: var(--sp-80) 20px; }
  .page-header { padding: var(--sp-80) 0; }
  .page-header__title { font-size: var(--fs-4xl); }
}

/* --------------------------------------------------------------------------
   Large Desktop (1280px+)
   -------------------------------------------------------------------------- */
@media (min-width: 1280px) {
  .hero__inner { gap: var(--sp-80); }
  .hero__visual { flex: 0 0 480px; }
  .price-table__grid { gap: var(--sp-32); }
  .price-card { padding: var(--sp-48) var(--sp-32); }
  .reasons__grid { gap: var(--sp-32); }
  .reasons__card { padding: var(--sp-48) var(--sp-32); }
}

/* --------------------------------------------------------------------------
   Extra Large Desktop (1440px+)
   -------------------------------------------------------------------------- */
@media (min-width: 1440px) {
  .hero__title { font-size: 56px; }
  .hero__stat-number { font-size: 56px; }
}

/* --------------------------------------------------------------------------
   High DPI / Retina Display
   -------------------------------------------------------------------------- */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .accordion__item { border-bottom-width: 0.5px; }
  .flow-steps__item::before { width: 1px; }
}

/* --------------------------------------------------------------------------
   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;
  }
  [data-animate] { opacity: 1; transform: none; transition: none; }
  .card:hover, .service__card:hover, .reasons__card:hover,
  .blog-card:hover, .works-card:hover, .price-card:hover { transform: none; }
  .works-card:hover .works-card__thumb img,
  .blog-card:hover .blog-card__thumb img { transform: none; }
}

/* --------------------------------------------------------------------------
   Print Styles
   -------------------------------------------------------------------------- */
@media print {
  .site-header, .global-nav, .hamburger, .cta-bar, .site-footer,
  .footer-cta, .cta-section, .site-header__cta-btn, .site-header__phone,
  .section-btn-wrap, [data-animate] { display: none !important; }

  body { background: #fff !important; color: #000 !important; font-size: 12pt; line-height: 1.5; }
  * { background: transparent !important; color: #000 !important; box-shadow: none !important; }
  a[href]::after { content: ' (' attr(href) ')'; font-size: 10pt; color: #666 !important; }
  a[href^="#"]::after, a[href^="javascript:"]::after { content: ''; }
  .container { max-width: 100%; padding: 0; }
  .hero { padding: 20pt 0; page-break-after: avoid; }
  .hero__title { font-size: 24pt; color: #000 !important; }
  .section { padding: 15pt 0; page-break-inside: avoid; }
  .section__title { font-size: 16pt; page-break-after: avoid; }

  .service__grid, .reasons__grid, .problems__grid, .testimonials__grid,
  .works-gallery__grid, .blog-latest__grid { display: block; }

  .service__card, .reasons__card, .problems__card, .testimonial-card,
  .works-card, .blog-card { page-break-inside: avoid; margin-bottom: 10pt; border: 1px solid #ccc; }
  .price-table__grid { display: block; }
  .price-card { page-break-inside: avoid; margin-bottom: 10pt; border: 1px solid #ccc; min-width: auto; }
  .flow-steps__item { page-break-inside: avoid; }
  img { max-width: 100% !important; page-break-inside: avoid; }
  h2, h3 { page-break-after: avoid; }
  p { orphans: 3; widows: 3; }
}
