/* Responsive CSS for Virtual Book Club Website */

/* Mobile First - Extra Small devices (up to 575px) */
@media (max-width: 575.98px) {
  .navbar-brand { font-size: 1.31rem !important; }
  .hero { min-height: 80vh; text-align: center; }
  .hero h1 { font-size: 1.68rem; }
  .hero-shape { display: none; }
  .section { padding: 1.5rem 0; }
  .section-header { margin-bottom: 2.22rem; }
  .contact-form { padding: 1.5rem; margin: 0 0.5rem; }
  .footer { padding: 2rem 0 1rem; }
}

/* Small devices (576px and up) */
@media (min-width: 576px) and (max-width: 767.98px) {
  .hero h1 { font-size: 1.90rem; }
  .services-grid { grid-template-columns: repeat(2, 1fr); gap: 1.5rem; }
  .team-grid { grid-template-columns: repeat(2, 1fr); }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Medium devices (tablets, 768px and up) */
@media (min-width: 768px) and (max-width: 991.98px) {
  .hero h1 { font-size: 2.12rem; }
  .services-grid { grid-template-columns: repeat(2, 1fr); }
  .team-grid { grid-template-columns: repeat(3, 1fr); }
  .blog-grid { grid-template-columns: repeat(2, 1fr); }
  .gallery-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Large devices (992px and up) */
@media (min-width: 992px) {
  .services-grid { grid-template-columns: repeat(3, 1fr); }
  .team-grid { grid-template-columns: repeat(5, 1fr); }
  .blog-grid { grid-template-columns: repeat(3, 1fr); }
  .gallery-grid { grid-template-columns: repeat(4, 1fr); }
}

/* Mobile specific (under 768px) - Disable Swiper autoplay */
@media (max-width: 767.98px) {
  .swiper-container { overflow: visible !important; }
  .swiper-container .swiper-wrapper { transform: none !important; }
  .swiper-container .swiper-slide { transform: none !important; opacity: 1 !important; }
  .swiper-pagination, .swiper-button-next, .swiper-button-prev { display: none !important; }
  .navbar-toggler { border: none; padding: 0.25rem 0.5rem; }
  .navbar-toggler:focus { box-shadow: none; }
  .navbar-collapse { margin-top: 1.10rem; }
  .navbar-nav { text-align: center; }
  .navbar-nav .nav-link {
  font-size: 10px !important; padding: 0.5rem 0; margin: 0; }
  .form-control { font-size: 19.00px; }
  .btn { min-height: 44px; font-size: 19.00px; }
  .gallery-grid { grid-template-columns: repeat(2, 1fr); gap: 0.5rem; }
  .faq-question { padding: 0.75rem 1rem; font-size: 0.97rem; }
  .faq-answer { padding: 1rem; }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; transition-duration: 0.01ms !important; }
  .hero-shape { animation: none; }
}

/* High contrast support */
@media (prefers-contrast: high) {
  .hero { background: var(--neutral-charcoal-dark); }
  .service-card, .team-member, .blog-item, .review-item, .faq-item { border: 2px solid var(--neutral-charcoal); }
  .btn-primary { border: 2px solid var(--primary-burgundy-dark); }
}

/* Print styles */
@media print {
  .navbar, .hero-shape, .swiper-pagination, .swiper-button-next, .swiper-button-prev { display: none !important; }
  .hero { min-height: auto; padding: 2rem 0; }
  .section { padding: 1rem 0; page-break-inside: avoid; }
} 