/* Large screens */
@media (max-width: 1200px) {
      .container {
            max-width: 1000px;
      }

      .properties-grid {
            grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
      }
}

/* Medium screens - Tablets */
@media (max-width: 992px) {
      .container {
            max-width: 750px;
            padding: 0 1.5rem;
      }

      /* Typography adjustments */
      .hero-title {
            font-size: clamp(1.875rem, 5vw, 2.5rem);
      }

      .section-title {
            font-size: clamp(1.5rem, 4vw, 2rem);
      }

      /* Navigation */
      .nav-list {
            gap: 1.5rem;
      }

      /* Hero section */
      .hero-section {
            padding: 100px 0;
      }

      .hero-search {
            padding: 1.5rem;
      }

      .search-row {
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1rem;
      }

      /* Sections */
      .featured-section,
      .features-section,
      .stats-section,
      .contact-section {
            padding: 60px 0;
      }

      /* Properties grid */
      .properties-grid {
            grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
            gap: 1.5rem;
      }

      /* Features grid */
      .features-grid {
            grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            gap: 1.5rem;
      }

      /* Stats grid */
      .stats-grid {
            grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
            gap: 1.5rem;
      }

      /* Contact grid */
      .contact-grid {
            grid-template-columns: 1fr;
            gap: 2rem;
      }

      /* Footer */
      .footer-content {
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 1.5rem;
      }

      .footer-bottom-content {
            flex-direction: column;
            text-align: center;
            gap: 1rem;
      }
}

/* Small screens - Mobile Large */
@media (max-width: 768px) {
      .container {
            padding: 0 1rem;
      }

      /* Navigation - Mobile */
      .nav-menu {
            position: fixed;
            top: 100%;
            left: 0;
            width: 100%;
            background-color: var(--white);
            box-shadow: var(--shadow-lg);
            padding: 1rem 0;
            opacity: 0;
            visibility: hidden;
            transform: translateY(-20px);
            transition: var(--transition);
      }

      .nav-menu.active {
            opacity: 1;
            visibility: visible;
            transform: translateY(0);
      }

      .nav-list {
            flex-direction: column;
            gap: 0;
            padding: 0 1rem;
      }

      .nav-item {
            width: 100%;
            border-bottom: 1px solid var(--gray-200);
      }

      .nav-item:last-child {
            border-bottom: none;
      }

      .nav-link {
            display: block;
            padding: 1rem;
            text-align: center;
      }

      .nav-toggle {
            display: flex;
      }

      .nav-toggle.active .hamburger:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
      }

      .nav-toggle.active .hamburger:nth-child(2) {
            opacity: 0;
      }

      .nav-toggle.active .hamburger:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -6px);
      }

      /* Dropdown mobile */
      .dropdown-menu {
            position: static;
            opacity: 1;
            visibility: visible;
            transform: none;
            box-shadow: none;
            background-color: var(--light);
            border-radius: 0;
            margin-top: 0.5rem;
            display: none;
      }

      .dropdown.active .dropdown-menu {
            display: block;
      }

      /* Mobile search */
      .mobile-search {
            display: block;
      }

      .mobile-search-form.active {
            display: block;
      }

      /* Hero section */
      .hero-section {
            padding: 80px 0;
      }

      .hero-search {
            padding: 1rem;
            margin-top: 1.5rem;
      }

      .search-row {
            grid-template-columns: 1fr;
            gap: 0.75rem;
      }

      /* Button adjustments */
      .btn {
            width: 100%;
            justify-content: center;
      }

      .hero-search .search-btn {
            width: 100%;
            margin-top: 0.5rem;
      }

      /* Sections */
      .featured-section,
      .features-section,
      .stats-section,
      .contact-section {
            padding: 40px 0;
      }

      .section-header {
            margin-bottom: 2rem;
      }

      /* Filter tabs */
      .filter-tabs {
            gap: 0.5rem;
            margin-bottom: 2rem;
      }

      .filter-tab {
            padding: 0.5rem 1rem;
            font-size: var(--font-size-sm);
      }

      /* Properties grid */
      .properties-grid {
            grid-template-columns: 1fr;
            gap: 1rem;
      }

      /* Property card */
      .property-card {
            max-width: 100%;
      }

      .property-content {
            padding: 1rem;
      }

      .property-actions .btn {
            flex: none;
      }

      /* Features grid */
      .features-grid {
            grid-template-columns: 1fr;
            gap: 1.5rem;
      }

      .feature-card {
            padding: 1.5rem;
      }

      .feature-icon {
            width: 60px;
            height: 60px;
            font-size: 1.5rem;
            margin-bottom: 1rem;
      }

      /* Stats */
      .stats-grid {
            grid-template-columns: repeat(2, 1fr);
            gap: 1rem;
      }

      .stat-number {
            font-size: clamp(1.5rem, 4vw, 2rem);
      }

      .stat-label {
            font-size: var(--font-size-base);
      }

      /* Contact */
      .contact-item {
            gap: 0.75rem;
      }

      .contact-icon {
            width: 40px;
            height: 40px;
            font-size: 1.2rem;
      }

      /* Footer */
      .footer {
            padding: 2rem 0 1rem;
      }

      .footer-content {
            grid-template-columns: 1fr;
            gap: 2rem;
            text-align: center;
      }

      .footer-brand .logo {
            justify-content: center;
      }

      .footer-links {
            align-items: center;
      }

      .contact-info {
            align-items: center;
            justify-content: center;
            flex-direction: row;

      }

      #contact-info-line {
            display: none;
      }

      .social-links {
            justify-content: center;
      }

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

/* Extra small screens - Mobile Small */
@media (max-width: 576px) {
      .container {
            padding: 0 0.75rem;
      }

      /* Typography */
      .hero-title {
            font-size: clamp(1.5rem, 6vw, 2rem);
      }

      .hero-subtitle {
            font-size: var(--font-size-base);
      }

      .section-title {
            font-size: clamp(1.25rem, 5vw, 1.75rem);
      }

      /* Navigation */
      .nav-brand .logo {
            font-size: var(--font-size-lg);
      }

      /* Hero */
      .hero-section {
            padding: 60px 0;
      }

      .hero-search {
            padding: 0.75rem;
            margin-top: 1rem;
      }

      /* Buttons */
      .btn {
            padding: 0.625rem 1.25rem;
            font-size: var(--font-size-sm);
      }

      .btn-lg {
            padding: 0.75rem 1.5rem;
            font-size: var(--font-size-base);
      }

      /* Sections */
      .featured-section,
      .features-section,
      .stats-section,
      .contact-section {
            padding: 30px 0;
      }

      /* Filter tabs */
      .filter-tabs {
            grid-template-columns: repeat(2, 1fr);
            gap: 0.5rem;
      }

      .filter-tab {
            padding: 0.5rem 0.75rem;
            font-size: 0.8rem;
      }

      /* Property card */
      .property-image {
            aspect-ratio: 4/3;
      }

      .property-content {
            padding: 0.75rem;
      }

      .property-title {
            font-size: var(--font-size-base);
      }

      .property-price {
            font-size: var(--font-size-lg);
      }



      /* Features */
      .feature-card {
            padding: 1rem;
      }

      .feature-icon {
            width: 50px;
            height: 50px;
            font-size: 1.25rem;
      }

      .feature-title {
            font-size: var(--font-size-lg);
      }

      /* Stats */
      .stats-grid {
            grid-template-columns: 1fr 1fr;
            gap: 0.75rem;
      }

      .stat-item {
            padding: 1rem;
      }

      /* Contact */
      .contact-item {
            flex-direction: column;
            text-align: center;
            gap: 0.5rem;
      }

      /* Footer */
      .footer {
            padding: 1.5rem 0 0.75rem;
      }

      .footer-content {
            gap: 1.5rem;
      }

      .footer-brand .logo {
            font-size: var(--font-size-lg);
      }

      .footer-bottom-content {
            gap: 0.75rem;
      }

      .footer-bottom-content p {
            font-size: var(--font-size-sm);
      }

      .footer-bottom-links {
            flex-direction: column;
            gap: 0.5rem;
      }
}

/* Landscape mobile */
@media (max-width: 768px) and (orientation: landscape) {
      .hero-section {
            padding: 40px 0;
      }

      .nav-menu {
            max-height: 70vh;
            overflow-y: auto;
      }

      .stats-grid {
            grid-template-columns: repeat(4, 1fr);
      }
}

/* High resolution displays */
@media (-webkit-min-device-pixel-ratio: 2),
(min-resolution: 192dpi) {
      .property-image img {
            image-rendering: -webkit-optimize-contrast;
      }
}

/* Print styles */
@media print {

      .header,
      .footer,
      .hero-section,
      .mobile-search,
      .nav-toggle,
      .property-overlay,
      .btn {
            display: none !important;
      }

      .property-card {
            break-inside: avoid;
            box-shadow: none;
            border: 1px solid var(--gray-300);
      }

      body {
            font-size: 12pt;
            line-height: 1.4;
      }

      .section-title {
            font-size: 18pt;
      }
}

/* Accessibility improvements */
@media (prefers-reduced-motion: reduce) {
      * {
            animation-duration: 0.01ms !important;
            animation-iteration-count: 1 !important;
            transition-duration: 0.01ms !important;
      }
}

/* Focus improvements for keyboard navigation */
@media (min-width: 769px) {

      .nav-link:focus,
      .btn:focus,
      .form-control:focus,
      .form-select:focus {
            outline: 2px solid var(--primary);
            outline-offset: 2px;
      }
}

/* Touch device improvements */
@media (hover: none) and (pointer: coarse) {
      .btn {
            min-height: 44px;
      }

      .nav-link {
            min-height: 44px;
            display: flex;
            align-items: center;
      }

      .property-overlay {
            display: none;
      }
}