/* 
==================================================
1. TABLET BREAKPOINTS (MAX-WIDTH: 1024px)
==================================================
*/
@media (max-width: 1024px) {
  /* Section padding reductions */
  .hero-carousel-section,
  .about-section,
  .practice-section,
  .attorney-section,
  .process-section,
  .insights-gallery-section,
  .faq-section,
  .principles-section,
  .appointment-section,
  .insights-blog-section {
    padding: 75px 0;
  }

  .floating-strip-section {
    margin-top: -40px;
    margin-bottom: 40px;
  }

  .floating-strip-card {
    padding: 25px 15px;
  }

  .strip-item {
    gap: 12px;
  }

  .strip-icon {
    width: 40px;
    height: 40px;
    font-size: 1.1rem;
  }

  .collage-wrapper {
    height: 440px;
  }

  .collage-img-1 {
    height: 320px;
  }

  .collage-img-2 {
    height: 240px;
  }

  .hero-carousel-section {
    min-height: 600px;
  }

  .hero-arch-image-card {
    height: 440px;
    max-width: 360px;
  }
}

/* 
==================================================
2. LARGE MOBILE BREAKPOINTS (MAX-WIDTH: 768px)
==================================================
*/
@media (max-width: 768px) {
  /* Grid conversions and spacing */
  .check-points-grid {
    grid-template-columns: 1fr;
    gap: 15px;
  }

  .floating-strip-section {
    margin-top: 0;
    margin-bottom: 50px;
  }

  .floating-strip-card {
    border-radius: 16px;
    padding: 30px 20px;
  }

  .strip-item {
    margin-bottom: 25px;
  }

  .col-md-3:last-child .strip-item {
    margin-bottom: 0;
  }

  .collage-wrapper {
    height: 380px;
    max-width: 450px;
    margin: 40px auto 0 auto;
  }

  .collage-img-1 {
    height: 280px;
  }

  .collage-img-2 {
    height: 200px;
  }

  .video-thumbnail-container {
    height: 320px;
    margin-bottom: 40px;
  }

  .profile-card-horizontal {
    max-width: 480px;
    margin: 0 auto;
  }

  .profile-image-col img {
    height: 320px;
  }

  .form-card-dark {
    padding: 30px 20px;
    margin-bottom: 40px;
  }

  .contact-info-block {
    padding: 30px 20px;
  }

  /* Chat offcanvas adjustment for small screens */
  .chat-offcanvas {
    width: 100% !important;
  }
}

/* 
==================================================
3. SMALL MOBILE BREAKPOINTS (MAX-WIDTH: 576px)
==================================================
*/
@media (max-width: 576px) {
  /* Layout Padding Adjustments */
  .hero-carousel-section,
  .about-section,
  .practice-section,
  .attorney-section,
  .process-section,
  .insights-gallery-section,
  .faq-section,
  .principles-section,
  .appointment-section,
  .insights-blog-section {
    padding: 55px 0;
  }

  /* Header adjustments */
  .top-bar {
    display: none; /* Hide less important info on tiny screens */
  }

  .brand-title {
    font-size: 1.15rem;
  }

  .brand-subtitle {
    font-size: 0.58rem;
    letter-spacing: 0.18em;
  }

  .main-navbar {
    padding: 1rem 0;
  }

  /* Hero slide customizations */
  .hero-carousel-section {
    min-height: auto;
    padding: 60px 0;
  }

  .hero-slide-content {
    text-align: center;
  }

  .hero-heading {
    margin-bottom: 1rem;
  }

  .hero-description {
    font-size: 0.95rem;
    margin-bottom: 2rem;
    margin-left: auto;
    margin-right: auto;
  }

  .hero-cta-group {
    justify-content: center;
    gap: 15px;
  }

  .hero-image-frame-wrapper {
    margin-top: 45px;
  }

  .hero-arch-image-card {
    height: 340px;
    max-width: 280px;
    border-top-left-radius: 140px;
    border-top-right-radius: 140px;
  }

  .hero-outline-shape {
    border-top-left-radius: 150px;
    border-top-right-radius: 150px;
    top: -10px;
    left: -10px;
    width: calc(100% + 20px);
    height: calc(100% + 20px);
  }

  .circular-stamp-badge {
    width: 90px;
    height: 90px;
    left: -20px;
    bottom: 10px;
  }

  /* Process steps timeline offset */
  .process-steps-timeline {
    padding-left: 30px;
  }

  .process-steps-timeline::before {
    left: 10px;
  }

  .process-step-number {
    left: -30px;
    width: 24px;
    height: 24px;
    font-size: 0.75rem;
  }

  /* Adjust accordion paddings */
  .accordion-custom .accordion-button {
    font-size: 1rem;
    padding: 15px;
  }

  .accordion-custom .accordion-body {
    font-size: 0.875rem;
    padding: 15px;
  }

  /* Adjust buttons size */
  .btn-pill-primary, .btn-pill-secondary, .btn-pill-outline, .btn-pill-outline-white {
    padding: 0.65rem 1.5rem;
    font-size: 0.8125rem;
  }

  /* Chatbot circular button positioning */
  .chatbot-toggle-btn {
    bottom: 20px;
    right: 20px;
    width: 50px;
    height: 50px;
    font-size: 1.25rem;
  }

  /* Contact and Forms spacing */
  .contact-info-list {
    gap: 20px;
  }

  .contact-info-item {
    gap: 15px;
  }

  .contact-info-icon {
    width: 40px;
    height: 40px;
    font-size: 1rem;
  }

  .contact-info-val {
    font-size: 1rem;
  }
}

/* 
==================================================
4. PRINTS & MINIMAL SYSTEM COMPATIBILITY
==================================================
*/
@media print {
  .top-bar, .main-navbar, .footer-section, .chatbot-toggle-btn, .chat-offcanvas, .hero-carousel-indicators {
    display: none !important;
  }
}
