/* ============================================
   TROV TRACE — Responsive Styles
   ============================================ */

/* === MOBILE (max-width: 767px) === */
@media (max-width: 767px) {
  :root { --container-padding: 16px; }
  .section { padding: 60px 0; }

  /* Announcement bar */
  .announcement-bar-center { display: none; }
  .announcement-bar-left { gap: var(--space-3); }
  .announcement-bar-right { display: flex; justify-content: center; margin-top: 8px; }
  .announcement-bar-inner { flex-direction: column; align-items: center; gap: 8px; }
  .google-translate-wrapper { justify-content: center; width: 100%; }
  .lang-switcher-label { font-size: 12px; }

  /* Header */
  .main-navigation { display: none; }
  .header-right { display: none; }
  .mobile-menu-toggle { display: flex; }

  /* Hero Slider - Mobile */
  .hero-slider { min-height: 100vh; padding-top: 70px !important; padding-bottom: 20px; }
  .hero-slides { height: 100vh; }
  .hero-slide { min-height: 100vh; display: flex; align-items: flex-start; padding-top: 0 !important; }
  .hero-slide .hero-content { padding: 0 var(--container-padding); max-width: 100%; text-align: left; margin-top: 10px; }
  .hero-slide .hero-badge { padding: 4px 10px; font-size: 0.65rem; margin-bottom: 8px; }
  .hero-slide h1 { font-size: 1.5rem; line-height: 1.3; margin-bottom: 10px; font-weight: 800; }
  .hero-slide p { font-size: 0.85rem; line-height: 1.6; margin-bottom: 15px; }
  .hero-slide .hero-buttons { flex-direction: row; flex-wrap: wrap; gap: 8px; margin-bottom: 0; }
  .hero-slide .hero-buttons .btn { text-align: center; justify-content: center; padding: 10px 14px; font-size: 0.8rem; flex: 1; min-width: 130px; }
  .hero-form-wrapper { position: relative; top: auto; right: auto; transform: none; width: 100%; padding: 0 var(--container-padding); margin-top: 20px; margin-bottom: 0; z-index: 11; }
  .hero-form-card { padding: 20px 18px; }
  .hero-form-card h3 { font-size: 1.15rem; margin-bottom: 6px; }
  .hero-form-card > p { font-size: 0.75rem; margin-bottom: 14px; }
  .hero-form-card .consultation-form .form-group { margin-bottom: 10px; text-align: center; }
  .hero-form-card .consultation-form input,
  .hero-form-card .consultation-form select,
  .hero-form-card .consultation-form textarea { padding: 12px 14px; font-size: 0.9rem; display: inline-block; width: 100%; max-width: 100%; box-sizing: border-box; }
  .hero-form-card .consultation-form .btn { padding: 12px 20px; font-size: 0.9rem; width: 100%; display: block; }
  .hero-slider-controls { bottom: 60px; }

  /* About */
  .about-grid { grid-template-columns: 1fr; gap: var(--space-10); }
  .about-image-badge { bottom: -10px; right: 10px; padding: 14px 18px; }
  .about-image-badge .badge-number { font-size: 1.5rem; }
  .about-features { grid-template-columns: 1fr; }

  /* Services */
  .services-grid { grid-template-columns: 1fr; gap: var(--space-5); }

  /* Stats */
  .stats-grid { grid-template-columns: 1fr 1fr; gap: var(--space-6); }
  .stat-number { font-size: 2rem; }

  /* Process Steps */
  .process-steps { grid-template-columns: 1fr; gap: var(--space-6); }
  .process-steps::before { display: none; }
  .process-step { display: flex; align-items: flex-start; text-align: left; gap: var(--space-4); }
  .process-step-number { width: 56px; height: 56px; font-size: 1.25rem; margin: 0; flex-shrink: 0; }

  /* Testimonials */
  .testimonial-card-premium { padding: var(--space-6); }
  .testimonial-card-premium blockquote { font-size: 0.9375rem; }

  /* Blog */
  .blog-grid { grid-template-columns: 1fr; }

  /* CTA Contact */
  .cta-contact-grid { grid-template-columns: 1fr; gap: var(--space-10); }
  .cta-form-card { padding: var(--space-6); }
  .cta-form-card .form-row { grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; gap: var(--space-8); }
  .copyright-inner { flex-direction: column; gap: var(--space-3); text-align: center; }
  .footer-copyright-links { flex-wrap: wrap; justify-content: center; }

  /* WhatsApp & Back to Top */
  .whatsapp-float { width: 48px; height: 48px; bottom: 16px; left: 16px; }
  .whatsapp-float svg { width: 24px; height: 24px; }
  .whatsapp-tooltip { display: none; }
  .back-to-top { right: 16px; bottom: 16px; width: 40px; height: 40px; }

  /* Inner pages */
  .content-area, .content-with-sidebar { grid-template-columns: 1fr; gap: var(--space-6); }
  .posts-grid, .archive-grid { grid-template-columns: 1fr; }
  .post-navigation .nav-links { flex-direction: column; }
}

/* === TABLET (768px - 991px) === */
@media (min-width: 768px) and (max-width: 991px) {
  /* Header */
  .main-navigation { display: none; }
  .header-right { display: none; }
  .mobile-menu-toggle { display: flex; }

  /* Announcement */
  .announcement-bar-right { display: flex; justify-content: center; }
  .announcement-bar-inner { flex-wrap: wrap; }
  .google-translate-wrapper { justify-content: center; }

  /* Hero - Tablet */
  .hero-slider { min-height: 100vh; padding-top: 110px; }
  .hero-form-wrapper { position: relative; top: auto; right: auto; transform: none; width: 100%; max-width: 420px; margin: -40px auto var(--space-7); z-index: 11; }
  .hero-slide .hero-content { max-width: 100%; padding: 0 var(--container-padding); text-align: left; }
  .hero-slide .hero-badge { padding: 5px 12px; font-size: 0.7rem; }
  .hero-slide h1 { font-size: 1.75rem; margin-bottom: var(--space-3); }
  .hero-slide p { font-size: 0.9rem; margin-bottom: var(--space-5); }

  /* About */
  .about-grid { grid-template-columns: 1fr; gap: var(--space-10); }

  /* Services */
  .services-grid { grid-template-columns: repeat(2, 1fr); }

  /* Stats */
  .stats-grid { grid-template-columns: repeat(2, 1fr); }

  /* Process Steps */
  .process-steps { grid-template-columns: repeat(2, 1fr); }
  .process-steps::before { display: none; }

  /* Blog */
  .blog-grid { grid-template-columns: repeat(2, 1fr); }

  /* CTA Contact */
  .cta-contact-grid { grid-template-columns: 1fr; gap: var(--space-10); }

  /* Footer */
  .footer-grid { grid-template-columns: repeat(2, 1fr); gap: var(--space-8); }

  /* Inner pages */
  .content-area, .content-with-sidebar { grid-template-columns: 1fr; }
  .posts-grid, .archive-grid { grid-template-columns: repeat(2, 1fr); }
}

/* === DESKTOP (min-width: 992px) === */
@media (min-width: 992px) {
  .mobile-menu-toggle { display: none; }
  .mobile-nav-overlay { display: none; }
  .main-navigation { display: flex; }
  .header-right { display: flex; }
}

/* === FORM RESPONSIVE (max-width: 1024px) === */
@media (max-width: 1024px) {
  .hero-slide .hero-content {
    max-width: 100%;
    padding-right: 0;
    padding-left: var(--container-padding);
  }
  .hero-form-wrapper {
    position: relative;
    right: auto;
    top: auto;
    transform: none;
    width: 100%;
    max-width: 500px;
    margin: 40px auto 0;
  }
  .hero-form-wrapper .hero-form-card {
    padding-left: 32px;
  }
}

@media (max-width: 768px) {
  .hero-form-wrapper {
    padding: 0 20px;
  }
  .hero-form-card {
    padding: 28px 24px;
  }

  /* Form fields stack vertically on mobile */
  .consultation-form .form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
  .consultation-form .form-group {
    margin-bottom: 12px;
  }
  .consultation-form input,
  .consultation-form select,
  .consultation-form textarea {
    width: 100%;
    font-size: 16px; /* Prevents iOS zoom on focus */
    min-height: 48px;
    padding: 14px 16px;
  }
  .consultation-form textarea {
    min-height: 100px;
  }
  .consultation-form button[type="submit"],
  .consultation-form .btn-submit {
    width: 100%;
    padding: 14px 24px;
    font-size: 15px;
    min-height: 48px;
  }
}

/* === TABLET FORM (768px - 991px) === */
@media (min-width: 768px) and (max-width: 991px) {
  .consultation-form .form-row {
    grid-template-columns: 1fr 1fr;
    gap: 12px;
  }
  .consultation-form .form-group {
    margin-bottom: 14px;
  }
}

/* === LARGE DESKTOP (min-width: 1200px) === */
@media (min-width: 1200px) {
  :root { --container-padding: 24px; }
  .hero-slide h1 { font-size: 3.5rem; }
  .stat-number { font-size: 3.5rem; }
}

/* === EXTRA LARGE (min-width: 1400px) === */
@media (min-width: 1400px) {
  .container { max-width: 1320px; }
  .hero-slide h1 { font-size: 4rem; }
  .hero-form-wrapper { right: 8%; width: 400px; }
}

/* === PRINT === */
@media print {
  .announcement-bar, .site-header, .site-footer, .whatsapp-float, .back-to-top, .mobile-nav-overlay, .hero-slider-controls, .hero-form-wrapper { display: none !important; }
  body { color: #000; background: #fff; font-size: 12pt; }
  .container { max-width: 100%; padding: 0; }
  .section { padding: 20px 0; }
  a { color: #000; text-decoration: underline; }
}
