/* ===================================
   Responsive CSS - Mobile Mechanics & Personal Trainers Platform
   =================================== */

/* Tablet Landscape (1024px and below) */
@media (max-width: 1024px) {
  .iyseopwdoo {
    max-width: 960px;
  }
  
  h1 {
    font-size: 2rem;
  }
  
  h2 {
    font-size: 1.75rem;
  }
  
  .zhgepjqyzs {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .jqaycttucolq {
    grid-template-columns: 1fr;
  }
  
  #olwyieyftruwekx-title-1 {
    font-size: 2.25rem;
  }
  
  .xyqtqcuxigyva {
    grid-template-columns: repeat(3, 1fr);
  }
}

/* Tablet Portrait (768px and below) */
@media (max-width: 768px) {
  /* Navigation */
  .ryqvfrfjkckzrcz {
    position: relative;
  }
  
  .sketdvadrp {
    display: block;
    background: none;
    border: none;
    color: #ffffff;
    font-size: 1.5rem;
    cursor: pointer;
    padding: var(--spacing-sm);
  }
  
  .xurzcghpvoufpwl {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: var(--dark-shade-1);
    flex-direction: column;
    padding: var(--spacing-md);
    gap: var(--spacing-sm);
    display: none;
    box-shadow: 0 5px 20px rgba(0,0,0,0.2);
  }
  
  .xurzcghpvoufpwl.show {
    display: flex;
  }
  
  .ssvvapfcwcdyaxp {
    font-size: 12px !important;
    width: 100%;
    text-align: center;
  }
  
  /* Typography */
  h1 {
    font-size: 1.75rem;
  }
  
  h2 {
    font-size: 1.5rem;
  }
  
  h3 {
    font-size: 1.25rem;
  }
  
  #olwyieyftruwekx-title-1 {
    font-size: 2rem;
  }
  
  #olwyieyftruwekx-subtitle-1 {
    font-size: 1.125rem;
  }
  
  /* Sections */
  section {
    padding: var(--spacing-xl) 0;
  }
  
  .zhgepjqyzs {
    grid-template-columns: 1fr;
  }
  
  .iyijqdrdxgjwzjk {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .xyqtqcuxigyva {
    grid-template-columns: repeat(2, 1fr);
  }
  
  .kzfvxyktkoqyq {
    grid-template-columns: 1fr;
    text-align: center;
  }
  
  /* Disable Swiper autoplay and effects on mobile */
  .tqsikysrchuiq-container {
    --swiper-autoplay: 0 !important;
  }
  
  .geuskejgla {
    transition-duration: 300ms !important;
  }
  
  .tqsikysrchuiq-effect-fade .geuskejgla,
  .tqsikysrchuiq-effect-cube .geuskejgla,
  .tqsikysrchuiq-effect-flip .geuskejgla,
  .tqsikysrchuiq-effect-coverflow .geuskejgla {
    transform: none !important;
    opacity: 1 !important;
  }
}

/* Mobile Landscape (576px and below) */
@media (max-width: 576px) {
  /* Root adjustments */
  :root {
    --spacing-xxl: 3rem;
    --spacing-xl: 2rem;
  }
  
  /* Container */
  .iyseopwdoo {
    padding: 0 var(--spacing-sm);
  }
  
  /* Typography */
  h1 {
    font-size: 1.5rem;
  }
  
  h2 {
    font-size: 1.375rem;
  }
  
  h3 {
    font-size: 1.125rem;
  }
  
  p {
    font-size: 0.9375rem;
  }
  
  .hqarpvfkrgh {
    font-size: 1.25rem;
  }
  
  #olwyieyftruwekx-title-1 {
    font-size: 1.75rem;
  }
  
  #olwyieyftruwekx-subtitle-1 {
    font-size: 1rem;
  }
  
  #olwyieyftruwekx-desc-1 {
    font-size: 0.9375rem;
  }
  
  /* Hero Section */
  #olwyieyftruwekx {
    min-height: 80vh;
  }
  
  .hcvkzlsewhrvx {
    text-align: center;
  }
  
  /* Buttons */
  .plfsrwiokipgqu {
    padding: var(--spacing-sm) var(--spacing-md);
    font-size: 0.9375rem;
  }
  
  /* Sections */
  .zordvrwycesi {
    font-size: 1.5rem;
  }
  
  .hfpcdavxjjsvj {
    font-size: 1rem;
  }
  
  .clhwsjzuxt {
    font-size: 0.9375rem;
  }
  
  /* About */
  .iyijqdrdxgjwzjk {
    grid-template-columns: 1fr;
  }
  
  /* Services */
  .fwpdfqvqwod {
    font-size: 1.75rem;
  }
  
  /* Team */
  .xyqtqcuxigyva {
    grid-template-columns: 1fr;
  }
  
  .epliulhyuwrj {
    width: 100px;
    height: 100px;
  }
  
  /* Gallery */
  .gallery-grid {
    grid-template-columns: repeat(2, 1fr);
  }
  
  /* FAQ */
  .uyyfrozaweplr {
    font-size: 0.9375rem;
    padding: var(--spacing-md);
  }
  
  .jlawlwxppvdthk {
    font-size: 0.875rem;
  }
  
  /* Contact Form */
  .geuusoawxux {
    padding: var(--spacing-lg);
  }
  
  .yttfseozpl {
    padding: var(--spacing-sm);
    font-size: 0.9375rem;
  }
  
  /* Blog */
  #blog_grid {
    grid-template-columns: 1fr;
  }
  
  /* Footer */
  .joqiqxcwpajchjg {
    margin-bottom: var(--spacing-lg);
  }
  
  /* Decorative Elements */
  .wkpjsriakxwwt {
    display: none;
  }
}

/* Mobile Portrait (375px and below) */
@media (max-width: 375px) {
  /* Typography fine-tuning */
  h1 {
    font-size: 1.375rem;
  }
  
  h2 {
    font-size: 1.25rem;
  }
  
  #olwyieyftruwekx-title-1 {
    font-size: 1.5rem;
  }
  
  .zordvrwycesi {
    font-size: 1.375rem;
  }
  
  /* Buttons */
  .plfsrwiokipgqu {
    width: 100%;
    margin-bottom: var(--spacing-sm);
  }
  
  /* Gallery */
  .gallery-grid {
    grid-template-columns: 1fr;
  }
}

/* Print Styles */
@media print {
  /* Hide non-essential elements */
  header,
  footer,
  .plfsrwiokipgqu,
  .sketdvadrp,
  #gallery,
  .wkpjsriakxwwt {
    display: none !important;
  }
  
  /* Reset colors for print */
  body {
    color: #000000;
    background: #ffffff;
  }
  
  section {
    page-break-inside: avoid;
  }
  
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
  }
}

/* High DPI Displays */
@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
  /* Sharper borders and shadows */
  .uhddpisidjcgvz,
  .hwervvujhzvg,
  .hvzkfygdclv,
  .blog-card,
  .vlwvxqshaw {
    box-shadow: 0 5px 20px rgba(0,0,0,0.05);
  }
  
  .uhddpisidjcgvz:hover,
  .hwervvujhzvg:hover,
  .hvzkfygdclv:hover,
  .blog-card:hover {
    box-shadow: 0 10px 30px rgba(0,0,0,0.1);
  }
}

/* Accessibility - Focus Styles */
@media (prefers-reduced-motion: reduce) {
  /* Already handled in main.css */
}

/* Dark Mode Support */
@media (prefers-color-scheme: dark) {
  :root {
    --light-shade-1: #1a1a1a;
    --light-shade-2: #2a2a2a;
    --light-shade-3: #3a3a3a;
  }
  
  body {
    background-color: #0a0a0a;
    color: #e0e0e0;
  }
  
  .hwervvujhzvg,
  .uhddpisidjcgvz,
  .hvzkfygdclv,
  .iyjaztzehipkt,
  .vlwvxqshaw,
  .blog-card,
  .odlejpsdzyua {
    background: #1a1a1a;
    color: #e0e0e0;
  }
  
  h1, h2, h3, h4, h5, h6 {
    color: #ffffff;
  }
}

/* Landscape Orientation Adjustments */
@media (orientation: landscape) and (max-height: 500px) {
  #olwyieyftruwekx {
    min-height: 100vh;
    padding: var(--spacing-lg) 0;
  }
  
  .ryqvfrfjkckzrcz {
    padding: var(--spacing-sm) 0;
  }
  
  section {
    padding: var(--spacing-lg) 0;
  }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
  /* Larger touch targets */
  .ssvvapfcwcdyaxp,
  .plfsrwiokipgqu,
  .uyyfrozaweplr {
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  /* Remove hover effects on touch devices */
  .uhddpisidjcgvz:hover,
  .hwervvujhzvg:hover,
  .hvzkfygdclv:hover,
  .blog-card:hover {
    transform: none;
  }
}

/* Ultra-wide Displays */
@media (min-width: 1920px) {
  .iyseopwdoo {
    max-width: 1400px;
  }
  
  :root {
    font-size: 18px;
  }
}

/* Navbar Toggle Animation */
.sketdvadrp {
  display: none;
  position: relative;
  width: 30px;
  height: 24px;
  z-index: 1000;
  border: none;
  background: transparent;
  cursor: pointer;
  padding: 0;
}

.sketdvadrp span {
  display: block;
  position: absolute;
  height: 3px;
  width: 100%;
  background: #ffffff;
  border-radius: 3px;
  opacity: 1;
  left: 0;
  transform: rotate(0deg);
  transition: 0.25s ease-in-out;
}

.sketdvadrp span:nth-child(1) {
  top: 0px;
}

.sketdvadrp span:nth-child(2) {
  top: 10px;
}

.sketdvadrp span:nth-child(3) {
  top: 20px;
}

.sketdvadrp.active span:nth-child(1) {
  top: 10px;
  transform: rotate(135deg);
}

.sketdvadrp.active span:nth-child(2) {
  opacity: 0;
  left: -60px;
}

.sketdvadrp.active span:nth-child(3) {
  top: 10px;
  transform: rotate(-135deg);
}

@media (max-width: 768px) {
  .sketdvadrp {
    display: block;
  }

  .xurzcghpvoufpwl {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.95);
    padding: 80px 20px 20px;
    z-index: 999;
  }

  .xurzcghpvoufpwl.show {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
  }

  .ssvvapfcwcdyaxp {
    color: #ffffff;
    font-size: 18px !important;
    padding: 15px 0;
    width: 100%;
    text-align: center;
  }
} 