/* ==========================================================================
   L'ÉTOILE BRIDAL - RESPONSIVE & MOBILE-FIRST OPTIMIZATION
   ========================================================================== */

/* Mobile Menu Drawer */
.mobile-menu-drawer {
  position: fixed;
  top: 85px;
  right: 0;
  left: 0;
  background: rgba(253, 251, 247, 0.98);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--champagne-border);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  transform: translateY(-120%);
  transition: var(--transition-smooth);
  z-index: 998;
  box-shadow: var(--shadow-md);
}

.mobile-menu-drawer.open {
  transform: translateY(0);
}

.mobile-nav-link {
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--navy);
  padding: 10px 0;
  border-bottom: 1px solid rgba(230, 213, 184, 0.3);
}

.mobile-nav-link:hover {
  color: var(--rose-dark);
}

/* Breakpoint: Medium Desktops & Laptops (<= 1200px) */
@media (max-width: 1200px) {
  .nav-container {
    padding: 0 16px;
  }

  .brand-slogan,
  .brand-divider {
    display: none;
  }

  .nav-links {
    gap: 16px;
  }

  .nav-link {
    font-size: 0.88rem;
  }

  .btn-book-nav {
    padding: 10px 18px;
    font-size: 0.86rem;
  }
}

/* Breakpoint: Large Tablets / Laptops (<= 1024px) */
@media (max-width: 1024px) {
  .nav-links {
    display: none;
  }

  .mobile-toggle {
    display: block;
  }

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

  .hero-grid {
    grid-template-columns: 1fr;
    gap: 40px;
  }

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

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

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

  .booking-wrapper {
    grid-template-columns: 1fr;
    gap: 40px;
  }

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

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

/* Breakpoint: Tablets (<= 768px) */
@media (max-width: 768px) {
  .hero-section {
    padding-top: 110px;
    padding-bottom: 50px;
  }

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

  .hero-stats-row {
    gap: 20px;
  }

  .stat-number {
    font-size: 1.6rem;
  }

  .catalog-filter-bar {
    flex-direction: column;
    align-items: stretch;
  }

  .filter-actions-group {
    flex-direction: column;
    align-items: stretch;
  }

  .search-input-box {
    width: 100%;
  }

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

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

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

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

  .quickview-media-col img {
    height: 380px;
    min-height: unset;
  }

  .quickview-details-col {
    padding: 24px;
  }

  .modal-pricing-grid {
    grid-template-columns: 1fr;
  }

  .floating-concierge-btn span {
    display: none;
  }

  .floating-concierge-btn {
    padding: 14px;
    bottom: 20px;
    left: 20px;
  }
}

/* Breakpoint: Small Mobile (<= 480px) */
@media (max-width: 480px) {
  .hero-title {
    font-size: 1.85rem;
  }

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

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

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

  .hero-floating-card {
    position: static;
    margin-top: 16px;
  }

  .booking-perks-box, .booking-form-card {
    padding: 24px 18px;
  }

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

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

  .brand-name {
    font-size: 1.2rem;
  }
}

/* Inner Pages Responsiveness */
@media (max-width: 1024px) {
  .couture-journey-grid {
    grid-template-columns: repeat(2, 1fr);
  }

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

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

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

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

@media (max-width: 768px) {
  .inner-page-hero {
    padding: 110px 0 40px;
  }

  .inner-page-title {
    font-size: 2.1rem;
  }

  .couture-journey-grid {
    grid-template-columns: 1fr;
  }

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

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

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

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

@media (max-width: 480px) {
  .inner-page-title {
    font-size: 1.8rem;
  }

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