/*
 * Chhatna Marriage Office - Responsive Layout Overrides
 */

@media (max-width: 1024px) {
  .cmo-header__nav {
    display: none;
  }
  .cmo-menu-toggle {
    display: flex;
  }
  .cmo-hero__container {
    grid-template-columns: 1fr;
    gap: 50px;
    text-align: center;
  }
  .cmo-hero__top-badge,
  .cmo-hero__officer-card,
  .cmo-hero__actions {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }
  .cmo-glance__grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .cmo-services__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cmo-documents__grid {
    grid-template-columns: 1fr;
  }
  .cmo-process__timeline {
    grid-template-columns: repeat(2, 1fr);
  }
  .cmo-gallery__grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .cmo-testimonials__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cmo-contact__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cmo-footer__grid {
    grid-template-columns: 1fr 1fr;
    gap: 30px;
  }
}

@media (max-width: 768px) {
  :root {
    --header-height: 70px;
  }
  .cmo-header__phone-btn {
    display: none;
  }
  .cmo-hero {
    padding: 40px 0 50px;
  }
  .cmo-hero__title-main {
    font-size: 34px;
  }
  .cmo-hero__title-sub {
    font-size: 19px;
  }
  .cmo-hero__supporting {
    font-size: 16px;
  }
  .cmo-hero__actions {
    flex-direction: column;
    width: 100%;
  }
  .cmo-hero__actions .cmo-btn {
    width: 100%;
  }
  .cmo-hero__portrait-frame {
    width: 290px;
    height: 330px;
  }
  .cmo-hero__floating-card {
    display: none;
  }
  .cmo-glance__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .cmo-acts__grid {
    grid-template-columns: 1fr;
  }
  .cmo-services__grid {
    grid-template-columns: 1fr;
  }
  .cmo-process__timeline {
    grid-template-columns: 1fr;
  }
  .cmo-gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 12px;
  }
  .cmo-testimonials__grid {
    grid-template-columns: 1fr;
  }
  .cmo-form-grid {
    grid-template-columns: 1fr;
  }
  .cmo-appointment__wrap {
    padding: 24px 18px;
  }
  .cmo-contact__grid {
    grid-template-columns: 1fr;
  }
  .cmo-footer__grid {
    grid-template-columns: 1fr;
    gap: 25px;
  }
  .cmo-footer__bottom-inner {
    flex-direction: column;
    gap: 10px;
    text-align: center;
  }
  .cmo-mobile-bar {
    display: flex;
  }
  body {
    padding-bottom: 60px; /* Space for sticky bottom bar */
  }
}

@media (max-width: 480px) {
  .cmo-hero__title-main {
    font-size: 28px;
  }
  .cmo-hero__officer-card {
    flex-direction: column;
    text-align: center;
    padding: 14px;
  }
  .cmo-glance__grid {
    grid-template-columns: 1fr;
  }
  .cmo-gallery__grid {
    grid-template-columns: 1fr;
  }
}
