/* ============================================================
   Mobile optimization overrides for fiesta-massage 1:1 clone.
   Desktop look stays 1:1 — all rules scoped to small screens.
   ============================================================ */

/* universal safety: media never overflows its container */
img, video, iframe, table, embed, object { max-width: 100%; }
img, video { height: auto; }

@media (max-width: 1024px) {
  html, body { overflow-x: hidden; -webkit-text-size-adjust: 100%; }
}

@media (max-width: 768px) {
  /* no horizontal scroll from wide fixed elements */
  body, #page, .site, .container, .row, .wrap, .content, #content, #main, .main {
    max-width: 100% !important;
    overflow-x: hidden;
  }
  /* fluid containers */
  .container, .row, [class*="col-"], .elementor-section, .vc_row, .wpb_column {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
  }
  /* readable body text */
  body { font-size: 16px; line-height: 1.6; }
  p, li { font-size: 1rem; }
  h1 { font-size: 1.7rem; line-height: 1.2; }
  h2 { font-size: 1.4rem; }
  h3 { font-size: 1.2rem; }
  /* comfortable tap targets */
  a, button, .button, input[type="submit"], .menu-item a {
    min-height: 44px;
  }
  nav a, .menu a, .menu-item a { padding-top: 10px; padding-bottom: 10px; display: block; }
  /* forms full width */
  input, textarea, select { max-width: 100% !important; box-sizing: border-box; }
  /* wide tables scroll instead of breaking layout */
  table { display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  /* kill huge fixed background heights that waste mobile space */
  .layerslider, .ls-wp-container { max-width: 100% !important; }
  /* generous spacing so columns that stack don't crush */
  .wpb_column, .vc_column_container { margin-bottom: 16px; }
  /* images centered when stacked */
  img.aligncenter, .aligncenter { float: none; margin-left: auto; margin-right: auto; display: block; }
}

@media (max-width: 480px) {
  h1 { font-size: 1.45rem; }
  body { font-size: 15.5px; }
  /* avoid tiny side gutters eating content */
  .container, .wrap, #content { padding-left: 12px !important; padding-right: 12px !important; }
}
