/* ============================================
   Mary's Dog Grooming - Responsive Styles
   mdg-responsive.css
   ============================================ */

/* ---- Large Desktops (1400px+) ---- */
@media (min-width: 1400px) {
  .mdg-hero-title { font-size: 6.5rem; }
  .mdg-section-title { font-size: 3.5rem; }
}

/* ---- Desktop (1200px–1399px) ---- */
@media (max-width: 1399px) {
  .mdg-hero-img-badge2 { right: -15px; }
}

/* ---- Tablet / Small Desktop (992px–1199px) ---- */
@media (max-width: 1199px) {
  .mdg-hero-title { font-size: 3.8rem; }
  .mdg-hero-img-main { height: 460px; }
  .mdg-hero-img-badge { left: -15px; }
  .mdg-hero-img-badge2 { right: -10px; }
  .mdg-gallery-item--large { height: 320px; }
  .mdg-gallery-item--med { height: 160px; }
  .mdg-gallery-item--small { height: 160px; }
}

/* ---- Tablet (768px–991px) ---- */
@media (max-width: 991px) {
  .mdg-section-pad { padding: 4rem 0; }
  .mdg-section-pad-sm { padding: 3rem 0; }

  .mdg-hero-content { padding: 7rem 0 3rem; }
  .mdg-hero-title { font-size: 3rem; }
  .mdg-hero-image-col { margin-top: 3rem; }
  .mdg-hero-img-main { height: 380px; }
  .mdg-hero-img-frame { max-width: 380px; margin: 0 auto; }
  .mdg-hero-img-badge { left: 0; bottom: -15px; }
  .mdg-hero-img-badge2 { right: 0; }

  .mdg-hero-stats { gap: 1.5rem; }
  .mdg-hero-stat-num { font-size: 1.8rem; }

  .mdg-gallery-grid {
    grid-template-columns: repeat(6, 1fr);
  }

  .mdg-gallery-item--large { grid-column: span 6; height: 260px; }
  .mdg-gallery-item--med { grid-column: span 3; height: 180px; }
  .mdg-gallery-item--small { grid-column: span 3; height: 180px; }

  .mdg-navbar-brand { font-size: 1.2rem; }
  .mdg-brand-icon { width: 36px; height: 36px; font-size: 0.9rem; }

  .mdg-page-hero { padding: 7rem 0 4rem; }

  .mdg-contact-form-section { padding: 2rem; }

  .mdg-counter-section .row > div:not(:last-child) {
    border-bottom: 1px solid rgba(255,255,255,0.1);
    padding-bottom: 1.5rem;
    margin-bottom: 1.5rem;
  }

  .mdg-breed-grid { grid-template-columns: repeat(auto-fill, minmax(110px, 1fr)); }

  .mdg-quiz-container { padding: 1.75rem; }

  .mdg-team-card-img-wrapper { height: 240px; }
}

/* ---- Mobile Large (576px–767px) ---- */
@media (max-width: 767px) {
  .mdg-hero-title { font-size: 2.5rem; }
  .mdg-hero-cta-group { flex-direction: column; align-items: flex-start; }
  .mdg-hero-stats { gap: 1.2rem; }
  .mdg-hero-stat-num { font-size: 1.6rem; }

  .mdg-section-title { font-size: 2rem; }

  .mdg-hero-img-badge {
    bottom: -10px;
    left: 10px;
    padding: 0.9rem 1.1rem;
  }

  .mdg-hero-img-badge2 {
    top: 15px;
    right: 10px;
    padding: 0.7rem 1rem;
  }

  .mdg-counter-section { padding: 3rem 0; }
  .mdg-counter-num { font-size: 2.5rem; }

  .mdg-gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
  .mdg-gallery-item--large { grid-column: span 2; height: 200px; }
  .mdg-gallery-item--med { grid-column: span 1; height: 160px; }
  .mdg-gallery-item--small { grid-column: span 1; height: 160px; }

  .mdg-journey-options { grid-template-columns: repeat(2, 1fr); }
  .mdg-breed-grid { grid-template-columns: repeat(3, 1fr); }

  .mdg-footer { padding: 3rem 0 1.5rem; }
  .mdg-footer-bottom { flex-direction: column; text-align: center; }
  .mdg-footer-legal-links { justify-content: center; }

  .mdg-cookie-banner { flex-direction: column; gap: 1rem; }
  .mdg-cookie-actions { width: 100%; justify-content: flex-end; }

  .mdg-contact-form-section { padding: 1.5rem; border-radius: var(--mdg-radius-lg); }

  .mdg-comparison-table { font-size: 0.82rem; }
  .mdg-comparison-table th,
  .mdg-comparison-table td { padding: 0.75rem 0.75rem; }

  .mdg-page-hero h1 { font-size: 2.2rem; }

  .mdg-pricing-estimator { padding: 1.5rem; }

  .mdg-quiz-container { padding: 1.5rem; }
  .mdg-quiz-question { font-size: 1.2rem; }

  .mdg-journey-selector { padding: 1.5rem; }

  .mdg-checklist-item { padding: 0.85rem; }

  .mdg-team-card-img-wrapper { height: 220px; }
}

/* ---- Mobile Small (up to 575px) ---- */
@media (max-width: 575px) {
  .mdg-hero-title { font-size: 2.1rem; }
  .mdg-hero-subtitle { font-size: 1rem; }

  .mdg-btn-primary,
  .mdg-btn-secondary,
  .mdg-btn-ghost {
    padding: 0.75rem 1.5rem;
    font-size: 0.85rem;
    width: 100%;
    justify-content: center;
  }

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

  .mdg-section-title { font-size: 1.8rem; }

  .mdg-journey-options { grid-template-columns: repeat(2, 1fr); }
  .mdg-breed-grid { grid-template-columns: repeat(2, 1fr); }

  .mdg-hero-img-main { height: 300px; }

  .mdg-gallery-grid { grid-template-columns: 1fr; }
  .mdg-gallery-item--large,
  .mdg-gallery-item--med,
  .mdg-gallery-item--small { grid-column: span 1; height: 200px; }

  .mdg-quiz-options { grid-template-columns: 1fr; }

  .mdg-page-hero { padding: 6rem 0 3rem; }
  .mdg-page-hero h1 { font-size: 1.9rem; }

  .mdg-footer-social-link { width: 36px; height: 36px; font-size: 0.85rem; }

  .mdg-article-content p { font-size: 0.97rem; }
  .mdg-article-content h2 { font-size: 1.6rem; }
  .mdg-article-content h3 { font-size: 1.25rem; }
}

/* ---- Navbar Mobile ---- */
@media (max-width: 991px) {
  .mdg-navbar-collapse {
    background: rgba(250, 247, 242, 0.98);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-radius: var(--mdg-radius-lg);
    margin-top: 0.75rem;
    padding: 1rem;
    box-shadow: var(--mdg-shadow-lg);
    border: 1px solid var(--mdg-beige-dark);
  }

  .mdg-nav-link { padding: 0.7rem 1rem !important; }
  .mdg-nav-link::after { display: none; }

  .mdg-btn-nav {
    display: block;
    margin: 0.5rem 1rem 0;
    text-align: center;
  }
}

/* Accessibility */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Print */
@media print {
  .mdg-navbar-wrapper,
  .mdg-cookie-banner,
  .mdg-footer-social,
  .mdg-hero-svg-bottom,
  .mdg-particles-wrapper { display: none !important; }

  body { font-size: 12pt; color: black; }
  a { color: black; text-decoration: underline; }
  .mdg-page-hero { background: #f0f0f0 !important; }
}
