/* ==========================================================================
   Merrowdain - Responsive Styles
   Refined adaptations for desktop, tablet, and mobile (360px, 390px, 768px, 1024px, 1440px)
   ========================================================================== */

/* --------------------------------------------------------------------------
   Large Desktops (1200px+)
   -------------------------------------------------------------------------- */
@media (min-width: 1200px) {
  .hero-grid {
    grid-template-columns: 1.1fr 1fr;
    gap: var(--space-16);
  }
}

/* --------------------------------------------------------------------------
   Laptops and Small Desktops (max-width: 1024px)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
  .site-header {
    height: 76px;
  }

  .main-nav .nav-list {
    gap: var(--space-4);
  }

  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-10);
  }

  .hero-content {
    max-width: 100%;
    text-align: center;
  }

  .hero-ctas,
  .hero-badge,
  .hero-trust-bar {
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
  }

  .hero-media-wrapper {
    max-width: 680px;
    margin: 0 auto;
  }

  .quick-finder-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .quick-finder-submit {
    grid-column: span 3;
    width: 100%;
  }

  .mood-col-4,
  .mood-col-8 {
    grid-column: span 6;
  }

  .process-grid {
    grid-template-columns: 1fr;
    gap: var(--space-6);
  }

  .planner-featurette {
    grid-template-columns: 1fr;
    gap: var(--space-8);
    padding: var(--space-8);
  }

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

  .explore-sidebar {
    position: static;
    margin-bottom: var(--space-6);
  }

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

  .details-sidebar-card {
    position: static;
  }

  .planner-workspace {
    grid-template-columns: 1fr;
  }

  .plan-summary-card {
    position: static;
  }

  .footer-top {
    grid-template-columns: 1fr 1fr;
    gap: var(--space-8);
  }

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

/* --------------------------------------------------------------------------
   Tablets and Mobile Landscape (max-width: 768px)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
  .main-nav {
    display: none;
  }

  .mobile-nav-toggle {
    display: inline-flex;
  }

  .quick-finder-grid {
    grid-template-columns: 1fr 1fr;
  }

  .quick-finder-submit {
    grid-column: span 2;
  }

  .mood-col-6,
  .mood-col-4,
  .mood-col-8 {
    grid-column: span 12;
  }

  .conversation-prompts-grid {
    grid-template-columns: 1fr;
  }

  .newsletter-form {
    flex-direction: column;
  }

  .newsletter-form .btn {
    width: 100%;
  }

  .footer-top {
    grid-template-columns: 1fr;
    gap: var(--space-8);
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }

  .footer-bottom-links {
    justify-content: center;
  }
}

/* --------------------------------------------------------------------------
   Mobile Phones (max-width: 480px / 390px / 360px)
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {

  .container,
  .container-narrow,
  .container-wide {
    padding-left: var(--space-4);
    padding-right: var(--space-4);
  }

  .section {
    padding-top: var(--space-12);
    padding-bottom: var(--space-12);
  }

  .brand-logo {
    font-size: 1.35rem;
  }

  .header-actions .btn {
    display: none;
  }

  .hero-title {
    font-size: 2.15rem;
  }

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

  .hero-ctas .btn {
    width: 100%;
  }

  .hero-main-img-box {
    width: 100%;
  }

  .hero-secondary-img-box {
    display: none;
  }

  .quick-finder-card {
    padding: var(--space-5);
  }

  .quick-finder-grid {
    grid-template-columns: 1fr;
  }

  .quick-finder-submit {
    grid-column: span 1;
  }

  .date-cards-grid {
    grid-template-columns: 1fr;
  }

  .occasions-grid {
    grid-template-columns: 1fr;
  }

  .explore-toolbar {
    flex-direction: column;
    align-items: stretch;
  }

  .explore-search-box {
    max-width: 100%;
  }

  .details-main-img-box {
    aspect-ratio: 4 / 3;
  }

  .modal-dialog {
    padding: var(--space-4);
  }

  .legal-content {
    padding: var(--space-6);
  }
}