/* responsive.css */

/* Tablet & Smaller Desktop */
@media (max-width: 992px) {
  :root {
    --text-5xl: 3.5rem;
    --text-4xl: 2.75rem;
    --text-3xl: 2rem;
    --text-2xl: 1.5rem;
    
    --space-2xl: 6rem;
    --space-xl: 4rem;
  }

  .intro-grid,
  .editorial-grid,
  .hero-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }

  .intro-image-wrapper {
    order: -1;
    margin-bottom: var(--space-md);
  }

  .hero-image-wrapper {
    order: -1;
    width: 100%;
    max-height: 60svh;
    justify-self: stretch;
  }

  .scroll-indicator {
    display: none;
  }

  .editorial-image img {
    max-height: 60svh;
  }

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

  .process-step:not(:last-child)::after {
    display: none;
  }

  .footer-grid {
    grid-template-columns: 1fr 1fr;
  }
  
  .booking-layout,
  .contact-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  
  .booking-summary {
    position: static;
    order: -1;
  }
}

/* Mobile */
@media (max-width: 768px) {
  :root {
    --text-5xl: 2.5rem;
    --text-4xl: 2.25rem;
    --text-3xl: 1.75rem;
    --text-2xl: 1.5rem;
    
    --space-2xl: 4rem;
    --space-xl: 3rem;
  }

  .site-header {
    padding: var(--space-sm) 0;
  }

  .logo-text {
    font-size: 1.5rem;
  }

  .mobile-menu-btn {
    display: flex;
  }

  .main-nav {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: var(--color-white);
    flex-direction: column;
    justify-content: center;
    padding: var(--space-xl) var(--space-md);
    transform: translateX(100%);
    transition: transform var(--transition-normal);
    z-index: 1000;
  }

  .main-nav.is-open {
    transform: translateX(0);
  }

  .nav-list {
    flex-direction: column;
    align-items: center;
    gap: var(--space-lg);
  }

  .nav-link {
    font-size: var(--text-lg);
    color: var(--color-black);
  }

  .header-actions {
    margin-top: var(--space-md);
  }

  .main-nav .btn--outline {
    color: var(--color-black);
    border-color: var(--color-black);
  }

  .main-nav .btn--outline:hover,
  .main-nav .btn--outline:focus {
    background-color: var(--color-black);
    color: var(--color-white);
  }

  .hero-actions {
    flex-direction: column;
  }

  .btn {
    width: 100%;
  }

  .stats-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    text-align: center;
  }
  
  .stat-item {
    text-align: center;
  }

  .gallery-masonry {
    columns: 1;
  }

  .portfolio-specialists {
    gap: var(--space-sm);
  }

  .portfolio-specialist {
    flex-basis: 100%;
    min-height: 168px;
    padding: var(--space-sm);
  }

  .portfolio-specialist-portrait,
  .portfolio-specialist-monogram {
    flex-basis: 112px;
    width: 112px;
    height: 112px;
  }

  .portfolio-specialist-details strong {
    font-size: var(--text-lg);
  }

  .services-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .card-img-wrapper {
    padding-bottom: 0;
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .card-img-wrapper img {
    position: static;
    width: 100%;
    height: 100%;
    object-fit: contain;
  }

  .card:hover .card-img-wrapper img {
    transform: none;
  }

  .testimonial-text {
    font-size: var(--text-xl);
  }

  .testimonial-slide {
    padding: var(--space-md);
  }

  .cta-actions {
    flex-direction: column;
  }

  .footer-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    text-align: center;
  }

  .footer-bottom {
    flex-direction: column;
    text-align: center;
  }
  
  .form-row {
    grid-template-columns: 1fr;
  }
  
  .cookie-inner {
    flex-direction: column;
    text-align: center;
  }
  
  .cookie-actions {
    width: 100%;
    justify-content: center;
    flex-wrap: wrap;
  }
}

/* Reduced Motion */
@media (prefers-reduced-motion: reduce) {
  .scroll-indicator,
  .spinner {
    animation: none;
  }
  
  .fade-in-up {
    transform: none;
    opacity: 1;
    transition: none;
  }
}
/* Mobile Refinements */
@media (max-width: 768px) {
  .lightbox-prev, .lightbox-next {
    padding: var(--space-xs);
    background-color: rgba(23, 21, 19, 0.5);
    border-radius: 50%;
    width: 44px;
    height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .lightbox-prev { left: var(--space-xs); }
  .lightbox-next { right: var(--space-xs); }
  .lightbox-close {
    top: 10px;
    right: 10px;
    background-color: rgba(23, 21, 19, 0.5);
    border-radius: 50%;
  }
  .lightbox-img { max-height: 80vh; }
  .gallery-masonry { gap: var(--space-sm); }
  .card-actions { flex-direction: column; width: 100%; }
  .card-actions .btn { width: 100%; margin-left: 0 !important; }
  .hero { padding-top: 110px; }
  .hero-grid, .editorial-grid { gap: var(--space-md); }
  .hero-content { margin-top: 0; }
  .cookie-banner { padding: var(--space-md) var(--space-xs); }
  .cookie-actions .btn { min-height: 44px; flex: 1; }
  .form-input, .form-select, .form-textarea { min-height: 48px; }
  
  .section { padding: var(--space-xl) 0; }
  .page-header { padding: 120px 0 var(--space-md); }
}
