/*
* PensionCheck - Responsive Styles
* Version: 1.0
* Author: Claude
*/

/* ===== MEDIA QUERIES ===== */

/* Extra Large Devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
  
  .hero-content h1 {
    font-size: 4rem;
  }
  
  .hero-content h3 {
    font-size: 2rem;
  }
}

/* Large Devices (desktops, less than 1200px) */
@media (max-width: 1199.98px) {
  section {
    padding: 4rem 0;
  }
  
  .hero-content h1 {
    font-size: 3.2rem;
  }
  
  .hero-content h3 {
    font-size: 1.6rem;
  }
  
  .hero-content p {
    font-size: 1.1rem;
  }
}

/* Medium Devices (tablets, less than 992px) */
@media (max-width: 991.98px) {
  html {
    font-size: 95%;
  }
  
  section {
    padding: 3.5rem 0;
  }
  
  .navbar-nav {
    margin-top: 1rem;
  }
  
  .nav-link {
    margin: 0.5rem 0;
  }
  
  .hero-content h1 {
    font-size: 2.8rem;
  }
  
  .hero-content h3 {
    font-size: 1.4rem;
  }
  
  .hero-content p {
    font-size: 1rem;
  }
  
  .about-content {
    padding: var(--space-md) 0;
    margin-top: var(--space-lg);
  }
  
  .hero-section {
    height: 90vh;
  }
  
  .pricing-card.featured {
    transform: none;
  }
  
  /* Additional Pages */
  .process-step {
    flex-direction: column;
  }
  
  .step-number {
    margin-bottom: var(--space-xs);
  }
  
  .timeline-marker {
    width: 30px;
    height: 30px;
    font-size: 0.7rem;
  }
  
  .timeline-item {
    padding-left: 45px;
  }
  
  .timeline:before {
    left: 15px;
  }
  
  .tool-item {
    flex-direction: column;
    text-align: center;
  }
  
  .tool-icon {
    margin-right: 0;
    margin-bottom: var(--space-sm);
  }
  
  .tax-item {
    flex-direction: column;
    text-align: center;
  }
  
  .tax-icon {
    margin-right: 0;
    margin-bottom: var(--space-sm);
  }
}

/* Small Devices (landscape phones, less than 768px) */
@media (max-width: 767.98px) {
  html {
    font-size: 90%;
  }
  
  section {
    padding: 3rem 0;
  }
  
  .section-header {
    margin-bottom: var(--space-lg);
  }
  
  h1 {
    font-size: 2.2rem;
  }
  
  h2 {
    font-size: 1rem;
  }
  
  h3 {
    font-size: 1rem;
  }
  
  h4 {
    font-size: 1.3rem;
  }
  
  .hero-content h1 {
    font-size: 2.5rem;
  }
  
  .hero-content h3 {
    font-size: 1.3rem;
  }
  
  .hero-content p {
    font-size: 0.95rem;
  }
  
  .hero-section {
    height: 80vh;
    min-height: 500px;
  }
  
  .swiper-button-next, .swiper-button-prev {
    display: none;
  }
  
  .feature-card {
    margin-bottom: var(--space-md);
  }
  
  .contact-form-wrapper {
    margin-top: var(--space-lg);
  }
  
  .contact-info-item {
    margin-bottom: var(--space-md);
  }
}

/* Extra Small Devices (portrait phones, less than 576px) */
@media (max-width: 575.98px) {
  html {
    font-size: 85%;
  }
  
  section {
    padding: 2.5rem 0;
  }
  
  .hero-content h1 {
    font-size: 2.2rem;
  }
  
  .hero-content h3 {
    font-size: 1.2rem;
  }
  
  .hero-content p {
    font-size: 0.9rem;
  }
  
  .hero-section {
    height: 75vh;
    min-height: 450px;
  }
  
  .service-content ul li {
    font-size: 0.9rem;
  }
  
  .pricing-card {
    margin-bottom: var(--space-md);
  }
  
  .footer-section {
    text-align: center;
  }
  
  .footer-links {
    margin-bottom: var(--space-md);
  }
  
  /* Adjustments for small screens */
  .review-card {
    padding: var(--space-md);
  }
  
  .quote-icon {
    width: 30px;
    height: 30px;
    top: -10px;
    left: 20px;
  }
  
  .quote-icon i {
    font-size: 1rem;
  }
  
  .page-banner {
    padding: 6rem 0 2rem;
  }
  
  .page-banner h1 {
    font-size: 2rem;
  }
  
  .page-banner p {
    font-size: 1rem;
  }
  
  /* Additional Pages */
  .document-category {
    margin-bottom: var(--space-md);
  }
  
  .pension-type-card {
    margin-bottom: var(--space-md);
  }
  
  .option-card {
    margin-bottom: var(--space-md);
  }
  
  .resource-card {
    margin-bottom: var(--space-md);
  }
}

/* Fix for very small devices */
@media (max-width: 374.98px) {
  html {
    font-size: 80%;
  }
  
  .hero-content h1 {
    font-size: 2rem;
  }
  
  .hero-content h3 {
    font-size: 1.1rem;
  }
  
  .price-tag {
    padding: 0.4rem 0.8rem;
  }
}

/* Touch Screen Adjustments */
@media (hover: none) {
  .feature-card:hover,
  .service-card:hover,
  .pricing-card:hover,
  .team-card:hover,
  .blog-card:hover,
  .info-card:hover {
    transform: none;
  }
  
  .feature-item:hover .feature-icon {
    transform: none;
  }
}

/* Prefers reduced motion */
@media (prefers-reduced-motion: reduce) {
  * {
    transition: none !important;
    animation: none !important;
  }
  
  .hero-slide:hover .hero-image img,
  .service-card:hover .service-image img,
  .team-card:hover .team-image img,
  .blog-card:hover .blog-image img,
  .location-card:hover .location-image img,
  .resource-card:hover .resource-image img {
    transform: none;
  }
  
  .hero-section {
    height: auto;
    padding: 120px 0 60px;
  }
  
  .swiper-wrapper {
    transition-timing-function: linear !important;
  }
} 