/* Responsive Design - Mobile and Tablet Optimizations */

/* Tablet Styles (768px - 1024px) */
@media (max-width: 1024px) {
  .container {
    padding: 0 30px;
    margin: 0 auto;
  }

  .hero .container {
    margin: 0 20px;
  }

  .hero__text {
    padding: 20px 10px;
  }

  .hero__image {
    margin: auto;
  }

  section {
    padding: 60px 0;
  }

  .section__title {
    font-size: 2.2rem;
  }

  h1 {
    font-size: 2.8rem;
  }

  h2 {
    font-size: 2.2rem;
  }

  h3 {
    font-size: 1.4rem;
  }
}

/* Mobile Styles (max-width: 768px) */
@media (max-width: 768px) {
  .container {
    padding: 0 20px;
  }

  section {
    padding: 50px 0;
  }

  .section__title {
    font-size: 2rem;
    margin-bottom: 1.5rem;
  }

  .section__description {
    font-size: 1rem;
    margin-bottom: 2rem;
  }

  h1 {
    font-size: 2.2rem;
  }

  h2 {
    font-size: 1.8rem;
  }

  h3 {
    font-size: 1.3rem;
  }

  p {
    font-size: 0.95rem;
  }

  /* Hero adjustments */
  .hero {
    padding: 110px 0 50px;
    min-height: auto;
  }

  .hero__content {
    height: auto;
  }

  .hero__image {
    margin: -160px;
  }

  .hero__title {
    font-size: 2.2rem;
  }

  .hero__subtitle {
    font-size: 1.1rem;
  }

  .hero__cta {
    margin-right: 80px;
  }

  /* Steps adjustments */
  .steps {
    grid-template-columns: 1fr;
    gap: 2rem;
  }

  .step__arrow {
    display: none;
  }

  .step__description {
    height: auto;
  }

  /* About section adjustments */
  .about__headline {
    font-size: 1.5rem;
  }

  /* Contact form adjustments */
  .contact-form__list li {
    font-size: 0.9rem;
  }

  /* FAQ adjustments */
  .faq__question {
    padding: 1.25rem;
    font-size: 0.95rem;
  }

  .faq__answer p {
    font-size: 0.9rem;
  }
}

/* Small Mobile Styles (max-width: 480px) */
@media (max-width: 480px) {
  .container {
    padding: 0 15px;
  }

  section {
    padding: 40px 0;
  }

  .section__title {
    font-size: 1.8rem;
  }

  h1 {
    font-size: 1.8rem;
  }

  h2 {
    font-size: 1.6rem;
  }

  h3 {
    font-size: 1.2rem;
  }

  p {
    font-size: 0.9rem;
  }

  /* Hero adjustments */
  .hero__title {
    font-size: 1.7rem;
  }

  .hero__subtitle {
    font-size: 1rem;
  }

  .hero__cta {
    padding: 0.75rem 1.25rem;
    font-size: 0.95rem;
  }

  .hero__image {
    margin: -200px;
  }

  /* Step adjustments */
  .step__icon {
    width: 60px;
    height: 60px;
  }

  .step__title {
    font-size: 1.1rem;
  }

  .step__description {
    font-size: 0.9rem;
  }

  /* About adjustments */
  .about__headline {
    font-size: 1.3rem;
  }

  .about__img {
    height: 230px;
  }

  /* Form adjustments */
  .form {
    padding: 0.5rem 0;
  }

  .form__input,
  .form__textarea {
    padding: 0.75rem;
    font-size: 0.95rem;
  }

  .form__submit {
    padding: 0.75rem 1.25rem;
    font-size: 0.95rem;
  }

  /* Contact adjustments */
  .contact__button {
    padding: 0.875rem 1.25rem;
    font-size: 0.95rem;
  }

  /* FAQ adjustments */
  .faq__question {
    padding: 1rem;
    font-size: 0.9rem;
  }

  .faq__answer p {
    padding: 0 1rem 1rem;
    font-size: 0.85rem;
  }
}

/* Extra Small Mobile Styles (max-width: 320px) */
@media (max-width: 320px) {
  .container {
    padding: 0 10px;
  }

  .hero__title {
    font-size: 1.6rem;
  }

  .hero__subtitle {
    font-size: 0.95rem;
  }

  .section__title {
    font-size: 1.6rem;
  }

  .form {
    padding: 1.25rem;
  }

  .form__input,
  .form__textarea {
    padding: 0.625rem;
    font-size: 0.9rem;
  }
}

/* Landscape Mobile Styles */
@media (max-height: 500px) and (orientation: landscape) {
  .hero {
    padding: 60px 0 40px;
    min-height: auto;
  }

  .hero__content {
    gap: 2rem;
  }

  .hero__title {
    font-size: 2rem;
  }

  .hero__subtitle {
    font-size: 1rem;
  }

  section {
    padding: 40px 0;
  }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2), (min-resolution: 192dpi) {
  .hero__img,
  .about__img {
    image-rendering: -webkit-optimize-contrast;
    image-rendering: crisp-edges;
  }
}

/* Print Styles */
@media print {
  .header,
  .footer,
  .hero__cta,
  .form,
  .contact__buttons,
  .faq__accordion {
    display: none;
  }

  .hero {
    padding: 20px 0;
  }

  section {
    padding: 20px 0;
    page-break-inside: avoid;
  }

  .container {
    max-width: none;
    padding: 0;
  }
}

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

  html {
    scroll-behavior: auto;
  }
}
