/* 
======================================
LUXE ESTATES - Responsive Stylesheet
======================================
*/

/* === Media Queries === */

/* Large devices (desktops, up to 1200px) */
@media (max-width: 1200px) {
    html {
      font-size: 58%;
    }
    
    .property-grid {
      grid-template-columns: repeat(auto-fill, minmax(30rem, 1fr));
    }
  }
  
  /* Medium devices (tablets, up to 992px) */
  @media (max-width: 992px) {
    html {
      font-size: 56%;
    }
    
    .hero-title {
      font-size: 4.8rem;
    }
    
    .property-grid {
      grid-template-columns: repeat(auto-fill, minmax(28rem, 1fr));
    }
    
    .footer-grid {
      grid-template-columns: repeat(2, 1fr);
      gap: var(--spacing-md);
    }
  }
  
  /* Small devices (landscape phones, up to 768px) */
  @media (max-width: 768px) {
    html {
      font-size: 54%;
    }
    
    section {
      padding: var(--spacing-md) 0;
    }
    
    .mobile-menu-toggle {
      display: block;
      background: transparent;
      border: none;
      width: 3rem;
      height: 2.4rem;
      position: relative;
      z-index: 1100;
    }
    
    .mobile-menu-toggle span {
      display: block;
      width: 100%;
      height: 2px;
      background-color: var(--color-white);
      position: absolute;
      left: 0;
      transition: var(--transition-normal);
    }
    
    .header.scrolled .mobile-menu-toggle span {
      background-color: var(--color-secondary);
    }
    
    .mobile-menu-toggle span:nth-child(1) {
      top: 0;
    }
    
    .mobile-menu-toggle span:nth-child(2) {
      top: 50%;
      transform: translateY(-50%);
    }
    
    .mobile-menu-toggle span:nth-child(3) {
      bottom: 0;
    }
    
    .mobile-menu-toggle.active span:nth-child(1) {
      transform: rotate(45deg);
      top: 50%;
    }
    
    .mobile-menu-toggle.active span:nth-child(2) {
      opacity: 0;
    }
    
    .mobile-menu-toggle.active span:nth-child(3) {
      transform: rotate(-45deg);
      bottom: 40%;
    }
    
    .nav-list {
      position: fixed;
      top: 0;
      right: -100%;
      width: 70%;
      height: 100vh;
      background-color: var(--color-white);
      flex-direction: column;
      align-items: center;
      justify-content: center;
      gap: var(--spacing-md);
      transition: var(--transition-normal);
      z-index: 1000;
      box-shadow: var(--shadow-lg);
    }
    
    .nav-list.active {
      right: 0;
    }
    
    .nav-item {
      margin-left: 0;
    }
    
    .nav-item a {
      color: var(--color-secondary);
      font-size: 1.8rem;
    }
    
    .hero {
      height: 80vh;
    }
    
    .hero-title {
      font-size: 4.2rem;
    }
    
    .hero-cta {
      flex-direction: column;
      gap: var(--spacing-sm);
    }
    
    .hero-cta .btn {
      width: 100%;
      text-align: center;
    }
    
    .property-grid {
      grid-template-columns: 1fr;
    }
    
    .benefits-grid {
      grid-template-columns: 1fr;
    }
    
    .footer-bottom {
      flex-direction: column;
      text-align: center;
      gap: var(--spacing-sm);
    }
    
    .footer-policy-links {
      justify-content: center;
    }
  }
  
  /* Extra small devices (portrait phones, up to 576px) */
  @media (max-width: 576px) {
    html {
      font-size: 52%;
    }
    
    .hero-title {
      font-size: 3.6rem;
    }
    
    .hero-subtitle {
      font-size: 1.8rem;
    }
    
    .section-title {
      font-size: 3rem;
    }
    
    .property-image {
      height: 20rem;
    }
    
    .footer-grid {
      grid-template-columns: 1fr;
    }
    
    .newsletter-form {
      flex-direction: column;
    }
    
    .newsletter-form input,
    .newsletter-form button {
      width: 100%;
    }
    
    .cta-title {
      font-size: 3rem;
    }
  }