/* ==========================================================================
   RAJWADA GROUP — Responsive Breakpoints
   Covers: 320px, 360px, 375px, 390px, 414px, 480px, 768px, 1024px, 1280px+
   All 5 pages: Home, About, Property Listing, Property Details, Contact
   ========================================================================== */

/* ===== 1920px+ large desktop ===== */
@media (min-width: 1920px) {
  .wrap { max-width: 1400px; }
  .hero-copy h1 { font-size: 5rem; }
}

/* ===== 1440px desktop ===== */
@media (min-width: 1440px) and (max-width: 1919px) {
  .wrap { max-width: 1320px; }
}

/* ===== 1280px laptop ===== */
@media (min-width: 1280px) and (max-width: 1439px) {
  nav.primary-nav { gap: 28px; }
}

/* ===== 1024px tablet landscape ===== */
@media (max-width: 1024px) {
  /* Header */
  header { padding: 18px 0; }

  /* Hero */
  .hero-grid { grid-template-columns: 1fr; }
  .hero-emblem {
    justify-self: center;
    margin-top: 20px;
    max-width: min(280px, 70vw);
    gap: 20px;
    padding: 36px 24px 32px;
  }
  .rajwada-logo { width: clamp(100px, 50%, 160px); }

  /* Search panel */
  .search-panel { grid-template-columns: repeat(2, 1fr); }
  .search-panel .btn { grid-column: 1 / -1; width: 100%; }

  /* Home sections */
  #about .about-grid { grid-template-columns: 1fr; gap: 44px; }
  .careers-grid { grid-template-columns: 1fr; gap: 44px; }
  .emp-grid { grid-template-columns: 1fr; gap: 44px; }
  .prop-grid { grid-template-columns: repeat(2, 1fr); }
  .stat-row { grid-template-columns: repeat(2, 1fr); }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr 1fr; }
}

/* ===== 768px tablet portrait ===== */
@media (max-width: 768px) {
  /* Header */
  header { padding: 14px 0; }
  header.scrolled { padding: 10px 0; }

  /* Mobile nav drawer */
  nav.primary-nav {
    position: fixed;
    inset: 0 0 0 auto;
    width: min(320px, 85vw);
    background: var(--ink-2);
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 80px 36px 40px;
    gap: 22px;
    transform: translateX(100%);
    transition: transform 0.5s var(--ease);
    z-index: 2050;
    overflow-y: auto;
    box-shadow: -8px 0 32px rgba(0,0,0,0.35);
  }
  nav.primary-nav.open { transform: translateX(0); }
  nav.primary-nav a { font-size: 1.05rem; white-space: normal; width: 100%; }
  nav.primary-nav .nav-cta { margin-top: 8px; }
  .burger { display: flex; }

  /* Hero */
  .hero-stats { gap: 18px; }
  .hero-stats div { flex: 1 1 calc(50% - 18px); min-width: 110px; }
  .scroll-cue { display: none; }
  .hero-emblem {
    max-width: min(240px, 65vw);
    gap: 18px;
    padding: 30px 20px 26px;
  }
  .rajwada-logo { width: clamp(90px, 48%, 140px); }
  #hero { padding-bottom: clamp(32px, 6vw, 56px); }

  /* Search panel */
  .search-panel { grid-template-columns: 1fr; }

  /* Property flip deck */
  .prop-grid { grid-template-columns: 1fr; }
  .flip-card { height: clamp(340px, 85vw, 400px); }
  .deck-legend { flex-direction: column; align-items: flex-start; }

  /* Testimonials */
  .testi-slides { min-height: 260px; }

  /* Stat row */
  .stat-row { grid-template-columns: 1fr; }

  /* Forms */
  .form-row { grid-template-columns: 1fr; }

  /* Footer */
  .footer-grid { grid-template-columns: 1fr; padding: 48px 0 28px; }
  .footer-bottom { flex-direction: column; align-items: flex-start; }

  /* Page hero */
  .page-hero { min-height: clamp(280px, 45vh, 380px); }
  .page-hero h1 { font-size: clamp(1.75rem, 6vw, 2.6rem); }

  /* Kangura divider */
  .kangura svg { min-width: 100%; }

  /* Shared overflow guard */
  .search-panel,
  .card-form,
  .portal-card,
  .flip-card,
  .stat-card { max-width: 100%; }
}

/* ===== 480px large mobile ===== */
@media (max-width: 480px) {
  .wrap { padding: 0 clamp(14px, 4vw, 20px); }

  /* Hero */
  .hero-copy h1 { font-size: clamp(1.85rem, 8vw, 2.4rem); }
  .hero-stats div { flex: 1 1 100%; }
  .hero-emblem {
    max-width: min(200px, 58vw);
    gap: 14px;
    padding: 26px 16px 22px;
  }
  .rajwada-logo { width: clamp(80px, 45%, 120px); }
  .hero-emblem .emblem-tag { font-size: 0.64rem; letter-spacing: 0.18em; }

  /* Search panel */
  .search-panel { padding: 18px 16px; gap: 14px; border-radius: 14px; }

  /* Buttons */
  .btn { padding: 12px 20px; font-size: 0.75rem; }
  .search-panel .btn { width: 100%; }

  /* Section headings */
  .sect-head h2 { font-size: clamp(1.6rem, 6vw, 2rem); }

  /* Forms */
  .card-form { padding: 20px 18px; border-radius: 16px; }

  /* Page hero */
  .page-hero h1 { font-size: clamp(1.75rem, 7vw, 2.2rem); }
  .page-hero p.lede { font-size: 0.92rem; }

  /* Brand */
  .brand-text small { letter-spacing: 0.18em; }

  /* Flip cards */
  .flip-front { padding: 20px 18px; }
  .flip-back { padding: 22px 20px; }

  /* About page */
  .about-hero-media { max-height: 300px; }
  .stats-band { grid-template-columns: 1fr; }

  /* CTA band buttons — stack vertically */
  .cta-band .btn { display: block; width: 100%; max-width: 320px; margin-left: auto; margin-right: auto; }
  .cta-band .btn + .btn { margin-left: auto; margin-top: 12px; }

  /* Listing */
  .listing-filters { padding: 18px 16px; }
  .load-more-wrap .btn { width: 100%; }

  /* Contact */
  .contact-info-item .icon { width: 40px; height: 40px; }
  .map-wrap { min-height: 220px; }
}

/* ===== 414px iPhone Plus / large Android ===== */
@media (max-width: 414px) {
  .hero-emblem {
    max-width: min(190px, 56vw);
    gap: 12px;
    padding: 22px 14px 20px;
  }
  .rajwada-logo { width: clamp(76px, 44%, 110px); }
  .nav.primary-nav { width: min(300px, 88vw); }
}

/* ===== 390px iPhone 12/13/14 ===== */
@media (max-width: 390px) {
  .brand { gap: 8px; }
  .brand-mark { width: 34px; height: 34px; font-size: 0.85rem; }
  nav.primary-nav { width: min(300px, 88vw); padding: 72px 28px 36px; }
}

/* ===== 375px iPhone SE / mini ===== */
@media (max-width: 375px) {
  .eyebrow { font-size: 0.65rem; letter-spacing: 0.24em; }
  .eyebrow::before { width: 20px; }
  .hero-copy p.lede { font-size: 0.92rem; }
  .testi-slide q { font-size: 1.1rem; }
}

/* ===== 360px Android ===== */
@media (max-width: 360px) {
  .wrap { padding: 0 14px; }
  .hero-stats b { font-size: 1.5rem; }
  .stat-card { padding: 18px 16px; }
  .flip-card { height: 320px; }
  .footer-col a,
  .footer-col li { font-size: 0.82rem; }
}

/* ===== 320px minimum ===== */
@media (max-width: 320px) {
  .brand-text { font-size: 0.75rem; }
  .brand-text small { font-size: 0.44rem; letter-spacing: 0.14em; }
  .hero-copy h1 { font-size: 1.65rem; }
  .btn { padding: 11px 16px; font-size: 0.7rem; letter-spacing: 0.06em; }
  .flip-card { height: 300px; }
  nav.primary-nav { width: 100%; padding-left: 20px; padding-right: 20px; }
  .hero-emblem {
    max-width: min(170px, 54vw);
    gap: 10px;
    padding: 18px 12px 16px;
  }
  .rajwada-logo { width: clamp(64px, 42%, 96px); }
  .hero-emblem .emblem-tag { font-size: 0.58rem; letter-spacing: 0.14em; }
  .page-hero h1 { font-size: 1.55rem; }
}

/* ===== Touch / pointer fine-grained adjustments ===== */
@media (hover: none) and (pointer: coarse) {
  /* Ensure all interactive elements are at least 44px tall on touch */
  .btn { min-height: 44px; }
  .gallery-nav,
  .gallery-expand,
  .lightbox-close,
  .lightbox-nav { min-width: 44px; min-height: 44px; }
  .testi-dots button { min-width: 32px; min-height: 32px; }
  nav.primary-nav a { min-height: 44px; display: flex; align-items: center; }

  /* Flip cards: disable hover-flip on touch, use tap only */
  .flip-card:hover .flip-card-inner { transform: none; }
}

/* ===== Print ===== */
@media print {
  header, .burger, .back-top, .scroll-cue, .testi-dots, .kangura { display: none !important; }
  .reveal, .reveal-stagger > * { opacity: 1 !important; transform: none !important; }
  body { background: white; color: black; }
  .on-ink, .on-maroon, #employee { background: #eee !important; color: black !important; }
  a { color: black; }
}
