/* Ashraf Interiors - consolidated responsive overrides */

/* Performance: custom cursor and 3D effects are intentionally disabled. */
#cursor,
#cursor-blur { display: none !important; }

html { -webkit-text-size-adjust: 100%; }
body { min-width: 320px; }

img { height: auto; }

@media (max-width: 1400px) {
  .container { width: min(92%, 1200px); }
}

@media (max-width: 1200px) {
  section { padding: 92px 0; }
  .desktop-btn { display: none; }
}

@media (max-width: 992px) {
  .desktop-nav,
  .desktop-btn { display: none !important; }

  .menu-toggle {
    display: block !important;
    flex: 0 0 48px;
  }

  .mobile-menu {
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transform: translateY(-100%);
  }

  .mobile-menu.active {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .hero-container,
  .about-preview-grid,
  .about-story-grid,
  .philosophy-grid,
  .why-us-grid,
  .testimonial-grid,
  .client-promise-grid,
  .service-detail-grid,
  .services-process-grid,
  .services-faq-grid,
  .portfolio-intro-grid,
  .featured-case-grid,
  .contact-main-grid,
  .contact-faq-grid {
    grid-template-columns: 1fr !important;
  }

  .why-us-content,
  .philosophy-content,
  .services-process-content { position: static !important; }

  .service-detail-grid-reverse .service-detail-visual,
  .service-detail-grid-reverse .service-detail-content { order: initial !important; }

  .hero-content { text-align: center; }
  .hero-description { margin-inline: auto; }
  .hero-actions { justify-content: center; }
  .hero-visual { width: min(100%, 700px); margin-inline: auto; }

  .services-grid,
  .projects-magazine { grid-template-columns: 1fr !important; }

  .projects-stack { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-masonry { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .portfolio-item-wide,
  .portfolio-item-tall { grid-column: auto; grid-row: auto; min-height: 430px; }

  .service-overview-grid,
  .achievement-grid,
  .mission-vision-grid,
  .additional-services-grid,
  .portfolio-category-grid,
  .contact-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }

  .process-grid,
  .approach-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .approach-timeline::before { display: none; }

  .footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 768px) {
  section { padding: 72px 0; }
  .container { width: 91%; }

  h1 { font-size: clamp(2.7rem, 12vw, 4rem); }
  h2 { font-size: clamp(2.2rem, 9vw, 3.1rem); }

  .site-header { padding: 12px 0; }
  .logo img { width: 118px; max-height: 58px; }

  .home-hero { min-height: auto; padding: 118px 0 70px; }
  .hero-meta { grid-template-columns: 1fr; text-align: center; }
  .hero-actions,
  .inner-hero-actions,
  .about-cta-actions,
  .services-cta-actions,
  .portfolio-cta-actions,
  .contact-cta-actions {
    flex-direction: column;
    align-items: center;
  }

  .hero-actions .btn,
  .inner-hero-actions .btn,
  .about-cta-actions .btn,
  .services-cta-actions .btn,
  .portfolio-cta-actions .btn,
  .contact-cta-actions .btn { width: min(100%, 340px); }

  .hero-image-frame,
  .hero-image-frame > img { min-height: 440px; }
  .hero-image-frame { border-radius: 96px 96px 24px 24px; }

  .inner-hero { min-height: 680px; }
  .inner-hero-content { text-align: center; padding-top: 120px; padding-bottom: 72px; }
  .inner-hero-content > p:not(.section-eyebrow) { margin-inline: auto; }
  .inner-hero-index { display: none; }

  .service-card { grid-template-columns: 1fr !important; }
  .service-image { min-height: 270px; }

  .projects-stack,
  .service-overview-grid,
  .achievement-grid,
  .mission-vision-grid,
  .additional-services-grid,
  .portfolio-category-grid,
  .contact-card-grid,
  .process-grid,
  .approach-timeline,
  .portfolio-masonry,
  .featured-case-stats,
  .service-includes-grid,
  .form-row { grid-template-columns: 1fr !important; }

  .project-card,
  .project-card-large,
  .portfolio-item,
  .portfolio-item-wide,
  .portfolio-item-tall { min-height: 360px; }

  .about-visual,
  .about-story-visual { min-height: 500px; }
  .about-image-main,
  .story-image-primary { width: 100%; height: 420px; }
  .about-image-secondary,
  .story-image-secondary { width: 58%; height: 210px; border-width: 8px; }

  .service-detail-image img { height: 420px; }
  .client-promise-image,
  .client-promise-image img,
  .featured-case-visual img { min-height: 430px; }

  .contact-form-panel { padding: 28px 20px; }
  .contact-side-image img { height: 380px; }

  .footer-grid { grid-template-columns: 1fr; }
  .footer-bottom-inner { flex-direction: column; text-align: center; }
  .footer-legal { flex-wrap: wrap; justify-content: center; }
}

@media (max-width: 480px) {
  body { font-size: 15px; }
  .container { width: 90%; }
  .btn { min-height: 52px; padding: 13px 22px; }
  .hero-image-frame,
  .hero-image-frame > img { min-height: 365px; }
  .hero-floating-card { right: 14px; bottom: 14px; padding: 16px; }
  .about-visual,
  .about-story-visual { min-height: 440px; }
  .about-image-main,
  .story-image-primary { height: 360px; }
  .about-image-secondary,
  .story-image-secondary { height: 170px; }
  .experience-badge { width: 125px; }
  .why-card,
  .philosophy-item { grid-template-columns: 52px 1fr; padding: 20px; }
  .whatsapp-float,
  .back-to-top { width: 50px; height: 50px; right: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}
