/* ==========================================================================
   RESPONSIVE STYLES (RESPONSIVE.CSS)
   Breakpoints: 1200px (Desktop), 992px (Tablet Landscape), 768px (Tablet Portrait/Mobile), 480px (Small Mobile)
   ========================================================================== */

/* Large Tablets & Small Desktops (<= 1200px) */
@media (max-width: 1200px) {
  .hero-main-title, .booking-hero-title {
    font-size: 2.85rem;
  }

  .clinic-features-grid, .booking-features-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .nav-links {
    gap: 0.85rem;
  }

  .nav-link {
    font-size: 0.82rem;
    padding: 0.3rem 0.15rem;
  }

  .nav-actions .btn {
    padding: 0.45rem 0.75rem;
    font-size: 0.8rem;
  }
}

/* Tablets (<= 992px) */
@media (max-width: 992px) {
  .clinic-hero-grid, .booking-hero-grid {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .admin-preview-backdrop {
    position: relative;
    right: 0;
    top: 0;
    width: 100%;
    margin-top: 1.5rem;
  }

  .booking-mockup-duo {
    flex-direction: column;
  }

  .signature-container-card {
    grid-template-columns: 1fr;
  }

  .signature-preview-side {
    border-right: none;
    border-bottom: 1px solid var(--gray-200);
  }

  .pricing-grid, .booking-pricing-grid {
    grid-template-columns: 1fr;
    max-width: 480px;
    margin: 0 auto;
  }

  .pricing-card.popular, .booking-pricing-card.popular {
    transform: none;
  }

  .pricing-card.popular:hover, .booking-pricing-card.popular:hover {
    transform: translateY(-6px);
  }

  .workflow-steps-grid {
    grid-template-columns: 1fr;
  }

  .sandbox-layout {
    grid-template-columns: 1fr;
  }

  .roi-calculator-box {
    grid-template-columns: 1fr;
    padding: 2rem;
  }

  /* Nav Links for Mobile */
  .mobile-menu-toggle {
    display: block;
  }

  .nav-links {
    position: fixed;
    top: 100px;
    left: 0;
    width: 100%;
    background: rgba(255, 255, 255, 0.98);
    backdrop-filter: blur(16px);
    flex-direction: column;
    padding: 2rem;
    gap: 1.25rem;
    box-shadow: var(--shadow-xl);
    transform: translateY(-150%);
    opacity: 0;
    visibility: hidden;
    transition: all var(--transition-normal);
  }

  .booking-theme .nav-links {
    background: rgba(255, 255, 255, 0.98);
  }

  .nav-links.active {
    transform: translateY(0);
    opacity: 1;
    visibility: visible;
  }
}

/* Mobile Devices (<= 768px) */
@media (max-width: 768px) {
  .section {
    padding: 4rem 0;
  }

  .hero-main-title, .booking-hero-title {
    font-size: 2.2rem;
  }

  .section-title {
    font-size: 1.85rem;
  }

  .clinic-features-grid, .booking-features-grid {
    grid-template-columns: 1fr;
  }

  .solution-bar-inner {
    justify-content: center;
  }

  .solution-meta {
    display: none;
  }

  .solution-switcher-pills {
    width: 100%;
    justify-content: center;
  }

  .pill-btn {
    padding: 0.35rem 0.85rem;
    font-size: 0.78rem;
  }

  .dash-stats-grid {
    grid-template-columns: 1fr;
  }

  .dash-floating-card {
    position: relative;
    bottom: 0;
    left: 0;
    margin-top: 1rem;
    animation: none;
  }

  .time-slots-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .form-row {
    grid-template-columns: 1fr;
  }

  .modal-content {
    margin: 1rem;
  }

  .modal-header, .modal-body {
    padding: 1.25rem;
  }

  .hero-trust-row {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
}

/* Extra Small Devices (<= 480px) */
@media (max-width: 480px) {
  .hero-main-title, .booking-hero-title {
    font-size: 1.85rem;
  }

  .hero-cta-group {
    flex-direction: column;
    width: 100%;
  }

  .hero-cta-group .btn {
    width: 100%;
  }

  .price-amount {
    font-size: 2.4rem;
  }

  .phone-mockup-wrapper {
    width: 100%;
    max-width: 300px;
    height: 520px;
  }
}
