/* ===================================================================
   JAIPUR MARKETING — responsive.css
   Mobile / tablet refinements layered on top of style.css.
   =================================================================== */

/* Tablet and below */
@media (max-width: 991.98px) {
  .jm-section { padding: 64px 0; }
  .jm-hero { padding: 72px 0 80px; }
  .jm-nav-cta { margin: 8px 0 0; }
  .jm-nav-cta .btn { width: 100%; justify-content: center; }
  .jm-portfolio { grid-template-columns: repeat(2, 1fr); }
  .jm-header .navbar-collapse { padding: 12px 0; }
  .jm-dropdown { border: none; box-shadow: none; padding-left: 12px; }
  .jm-enquiry .col-lg-7,
  .jm-enquiry__aside { padding: 30px 24px; }
}

/* Mobile */
@media (max-width: 575.98px) {
  .jm-section { padding: 52px 0; }
  .jm-hero h1 { font-size: 2.05rem; }
  .jm-hero .jm-hero__actions .btn { width: 100%; }
  .jm-portfolio { grid-template-columns: 1fr; }
  .jm-cta-strip { padding: 26px 20px; }
  .jm-legal { padding: 26px 18px; }
  .jm-float { width: 50px; height: 50px; font-size: 1.35rem; }
  .jm-floats { right: 12px; bottom: 14px; gap: 10px; }
  .jm-brand__name { font-size: .95rem; }
}

/* Prevent floating buttons overlapping the cookie banner on mobile */
@media (max-width: 991.98px) {
  .jm-cookie ~ .jm-floats,
  body.jm-cookie-open .jm-floats { bottom: 96px; }
}

/* Larger touch targets on coarse pointers */
@media (pointer: coarse) {
  .nav-link { padding: .7rem .9rem !important; }
  .btn { min-height: 44px; }
}

/* Print friendliness for legal pages */
@media print {
  .jm-header, .jm-footer, .jm-floats, .jm-cookie, .jm-cookie-modal, .jm-enquiry, .jm-hero { display: none !important; }
  body { color: #000; }
  .jm-legal { border: none; padding: 0; }
}
