/* ============================================================
   MOBILE RESPONSIVE STYLES FOR DESIGNXR ACADEMY
   Add this file before closing </head> tag in index.html
   ============================================================ */

/* Mobile Phones - 640px and below */
@media (max-width: 640px) {
  nav { padding: 0.75rem 3.5vw; }
  .nav-logo-img { height: 28px; }
  .nav-cta { padding: 0.5rem 1.2rem; font-size: 0.8rem; min-height: 44px; }
  
  .hero { padding: 5rem 3.5vw 2rem; min-height: auto; }
  h1 { font-size: clamp(2rem, 5.5vw, 3.5rem); }
  .hero-sub { font-size: 1rem; margin-top: 1.5rem; }
  .hero-actions { flex-direction: column; gap: 0.75rem; }
  .btn-primary, .btn-ghost { width: 100%; padding: 0.75rem 1.5rem; min-height: 44px; }
  .hero-stats { flex-direction: column; gap: 1.5rem; }
  .hero-stat strong { font-size: 1.5rem; }
  
  section { padding: 4rem 3.5vw; }
  .section-title { font-size: clamp(1.5rem, 4vw, 2.2rem); }
  .section-desc { font-size: 0.95rem; }
  
.offer-grid { grid-template-columns: 1fr; gap: 0; }
  .offer-card { padding: 1.5rem 1.5rem; border-bottom: 1.5px solid rgba(255,255,255,0.08); }
  .offer-card:last-child { border-bottom: none; }
  .steps-grid { grid-template-columns: 1fr; gap: 1rem; }
  .step-card { padding: 1.5rem; }
  .curr-grid { grid-template-columns: 1fr; }
  .grade-bands { grid-template-columns: repeat(3, 1fr); gap: 0.5rem; }
  
  .dxr-viewer-wrap { grid-template-columns: 1fr; }
  .dxr-main-viewer { min-height: 280px; }
  .dxr-main-viewer model-viewer { height: 280px; }
  .dxr-model-list { flex-direction: row; overflow-x: auto; gap: 0.5rem; padding-bottom: 0.75rem; }
  .dxr-model-item { min-width: 140px; flex-shrink: 0; }
  .dxr-model-info strong { font-size: 0.8rem; }
  .dxr-model-info span { font-size: 0.7rem; }
  
  #xr-block { padding: 4rem 3.5vw; }
  #xr-block > div > div { grid-template-columns: 1fr; gap: 2rem; }
  .cta-section { padding: 4rem 3.5vw; }
  .cta-section h2 { font-size: clamp(1.5rem, 4vw, 2.5rem); }
  .cta-section p { font-size: 1rem; }
  
  .contact-section { padding: 4rem 3.5vw; }
  .contact-section::before, .contact-section::after { display: none; }
  .contact-pills { grid-template-columns: 1fr; gap: 0.75rem; margin-bottom: 2rem; }
  .contact-pill { padding: 1rem 1rem; gap: 0.75rem; min-height: 48px; }
  .contact-pill-icon { width: 36px; height: 36px; }
  .contact-card { padding: 2rem 1.5rem; border-radius: 16px; }
  
  .form-grid { grid-template-columns: 1fr; gap: 1rem; }
  .field label { font-size: 0.75rem; margin-bottom: 0.5rem; }
  .field input, .field textarea { padding: 0.75rem 0.9rem; font-size: 1rem; min-height: 44px; }
  .type-options { flex-direction: column; gap: 0.5rem; }
  .type-chip span { padding: 0.55rem 1rem; font-size: 0.8rem; width: 100%; justify-content: flex-start; min-height: 44px; }
  .form-submit-row { flex-direction: column; gap: 1rem; }
  .btn-submit { width: 100%; padding: 0.9rem 1.5rem; min-height: 48px; }
  .form-privacy-note { font-size: 0.7rem; }
  
  .kit-section { padding: 4rem 3.5vw; }
  .kit-grid { grid-template-columns: 1fr; }
  .kit-item { padding: 1.75rem 1.5rem; }
.kit-banner { flex-direction: column; padding: 2rem 1.5rem; text-align: center; }
  .kit-banner::before { display: none; }
  .kit-banner h3 { font-size: clamp(1.1rem, 3vw, 1.4rem); }
  .kit-price-tag { text-align: center; }
  
.benefits-section { padding: 4rem 3.5vw; }
  .benefits-grid { grid-template-columns: 1fr; }
  .benefits-home-banner { grid-template-columns: 1fr; padding: 2rem 1.5rem; }
  .benefits-home-banner::before { display: none; }
  .benefits-home-banner h3 { font-size: clamp(1.15rem, 3vw, 1.5rem); }
  .benefits-home-banner p { font-size: 0.9rem; }
  
  footer { padding: 3rem 3.5vw 2rem; flex-direction: column; text-align: center; }
  footer > div > div { grid-template-columns: 1fr; gap: 2rem; }
  .footer-logo-img { height: 28px; }
  .footer-links { flex-direction: column; gap: 0.75rem; }
  
  #impact [style*="grid-template-columns"] { grid-template-columns: 1fr !important; }
  #impact [style*="grid-column"] { grid-column: auto !important; }
  a[aria-label="Chat on WhatsApp"] { bottom: 1.5rem; right: 1.5rem; width: 56px; height: 56px; }
}

/* Extra Small Phones - 480px and below */
@media (max-width: 480px) {
  nav { padding: 0.6rem 3vw; }
  .nav-logo-img { height: 24px; }
  section { padding: 3rem 3vw; }
  h1 { font-size: clamp(1.75rem, 6vw, 2.8rem); }
  .section-title { font-size: clamp(1.3rem, 4.5vw, 2rem); }
  .hero { padding: 4rem 3vw 1.5rem; }
  .hero-sub { font-size: 0.95rem; line-height: 1.6; }
  .btn-primary, .btn-ghost { padding: 0.65rem 1.25rem; font-size: 0.9rem; }
  .hero-stat strong { font-size: 1.25rem; }
  .hero-stat span { font-size: 0.75rem; }
  
  .offer-card { padding: 1.25rem 1.25rem; }
  .offer-icon { width: 40px; height: 40px; font-size: 1.2rem; }
  .offer-card h3 { font-size: 1rem; }
  .offer-card p { font-size: 0.85rem; }
  
  .dxr-3d-heading { font-size: clamp(1.75rem, 5vw, 2.5rem); }
  .dxr-main-viewer { min-height: 240px; }
  .dxr-main-viewer model-viewer { height: 240px; }
  
  .cta-section { padding: 3rem 3vw; }
  .cta-section h2 { font-size: clamp(1.3rem, 4vw, 2rem); }
  .cta-section p { font-size: 0.95rem; }
  
  .contact-header { margin-bottom: 2.5rem; }
  .contact-card { padding: 1.75rem 1.25rem; border-radius: 14px; }
  .contact-card-title { font-size: 1.1rem; }
  .contact-pill { padding: 0.9rem 0.85rem; gap: 0.6rem; }
  .contact-pill-icon { width: 32px; height: 32px; }
  .contact-pill-label { font-size: 0.65rem; }
  .contact-pill-value { font-size: 0.8rem; }
  
  .field label { font-size: 0.7rem; margin-bottom: 0.45rem; }
  .field input, .field textarea { padding: 0.7rem 0.85rem; font-size: 1rem; border-radius: 10px; }
  .type-chip span { padding: 0.5rem 0.9rem; font-size: 0.75rem; }
  .btn-submit { padding: 0.8rem 1.25rem; font-size: 0.85rem; }
  
  .kit-item { padding: 1.5rem 1.25rem; }
  .kit-item h3 { font-size: 1.1rem; }
  .grade-bands { grid-template-columns: repeat(2, 1fr); gap: 0.4rem; }
  .grade-band { padding: 1rem 0.4rem; }
  .grade-band strong { font-size: 1.5rem; }
  
  .dxr-model-item { min-width: 120px; }
  footer { padding: 2.5rem 3vw 1.5rem; }
  .footer-logo-img { height: 24px; }
}

/* Tablets - 641px to 1024px */
@media (min-width: 641px) and (max-width: 1024px) {
  nav { padding: 0.9rem 3.5vw; }
  section { padding: 5rem 3.5vw; }
  h1 { font-size: clamp(2.5rem, 6vw, 4.5rem); }
  .section-title { font-size: clamp(1.8rem, 4vw, 2.5rem); }
  .hero { padding: 6rem 3.5vw 3rem; }
  
  .offer-grid { grid-template-columns: repeat(2, 1fr); }
  .steps-grid { grid-template-columns: repeat(2, 1fr); }
  .curr-grid { grid-template-columns: repeat(2, 1fr); }
  .testi-grid { grid-template-columns: repeat(2, 1fr); }
  .benefits-grid { grid-template-columns: repeat(2, 1fr); }
  
  .contact-card { padding: 2.5rem 2.5rem; }
  .dxr-viewer-wrap { grid-template-columns: 1fr 240px; }
  .kit-grid { grid-template-columns: repeat(2, 1fr); }
}

/* Landscape Mode */
@media (max-height: 600px) and (orientation: landscape) {
  .hero { min-height: auto; padding: 3rem 4vw; }
  h1 { font-size: 2.5rem; margin-bottom: 0.5rem; }
  .hero-sub { margin-top: 0.75rem; font-size: 0.95rem; }
  .hero-actions { margin-top: 1rem; }
  .hero-stats { margin-top: 1.5rem; gap: 2rem; }
}

/* iPad & Large Tablets - 1025px to 1366px */
@media (min-width: 1025px) and (max-width: 1366px) {
  .offer-grid { grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); }
  .steps-grid { grid-template-columns: repeat(3, 1fr); }
}

/* Touch Device Optimizations */
@media (hover: none) and (pointer: coarse) {
  .btn-primary, .btn-ghost, .btn-submit, .nav-cta { min-height: 48px; padding: 0.75rem 1.5rem; }
  .contact-pill { min-height: 48px; }
  a { min-height: 44px; min-width: 44px; }
  button:active { opacity: 0.85; }
  .field input, .field textarea { padding: 1rem; font-size: 16px; }
  .form-submit-row { gap: 1.5rem; }
}

/* iOS Specific Fixes */
@supports (-webkit-touch-callout: none) {
  input, textarea, select {
    font-size: 16px;
    border-radius: 8px;
    -webkit-appearance: none;
    appearance: none;
  }
  body { -webkit-user-select: none; }
  input, textarea { -webkit-user-select: text; }
  button { -webkit-touch-callout: none; -webkit-user-select: none; }
}
