/* Responsive Styles for DomiCircle */

/* ==== Mobile Styles (up to 768px) ==== */
@media screen and (max-width: 768px) {
  /* Typography adjustments */
  h1, .hero-title {
    font-size: 2rem;
  }
  
  h2 {
    font-size: 1.5rem;
  }
  
  /* Header & Navigation styles are in style.css */
  
  /* Property Cards */
  .property-grid {
    grid-template-columns: 1fr;
  }
  
  /* Services */
  .services-grid {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
  }
  
  /* Footer */
  .footer-container {
    grid-template-columns: 1fr;
    gap: var(--space-lg);
    text-align: center;
  }
  
  .footer-column {
    display: flex;
    flex-direction: column;
    align-items: center;
  }
  
  .social-icons {
    justify-content: center;
  }
  
  /* Forms */
  .form-control {
    font-size: 16px; /* Prevents zoom on iOS */
  }
  
  /* Other Elements */
  .hero-content {
    padding: var(--space-lg) var(--space-md);
  }
  
  .testimonial-card {
    padding: var(--space-lg);
  }
  
  /* Адаптивные стили для отзывов */
  .testimonial-slider {
    grid-template-columns: 1fr;
  }
  
  .testimonial-card {
    margin-bottom: var(--space-md);
  }
}

/* ==== Tablet Styles (769px to 1024px) ==== */
@media screen and (min-width: 769px) and (max-width: 1024px) {
  /* Layout */
  .container {
    padding: 0 var(--space-lg);
  }
  
  /* Header */
  .navbar-container {
    padding: 0 var(--space-lg);
  }
  
  .nav-item {
    margin: 0 var(--space-sm);
  }
  
  /* Grid Layouts */
  .property-grid,
  .services-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* Footer */
  .footer-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

/* ==== Large Screens (1025px to 1440px) ==== */
@media screen and (min-width: 1025px) and (max-width: 1440px) {
  /* No significant changes needed here - base design works well */
}

/* ==== Extra Large Screens (above 1440px) ==== */
@media screen and (min-width: 1441px) {
  .container {
    max-width: 1400px;
  }
  
  .hero-content {
    max-width: 1000px;
  }
  
  .property-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* ==== Print Styles ==== */
@media print {
  .navbar,
  .footer,
  .cta,
  button,
  .btn {
    display: none;
  }
  
  body {
    font-size: 12pt;
    color: #000;
    background: #fff;
  }
  
  a {
    text-decoration: none;
    color: #000;
  }
  
  .container {
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin: 0;
  }
  
  h1 {
    font-size: 22pt;
    margin-bottom: 1cm;
  }
  
  h2 {
    font-size: 18pt;
    margin-bottom: 0.5cm;
  }
  
  /* Adjust page breaks */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
  
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }
} 