/* Rezz'd Out — Snakepit mobile fixes. Scoped to tablets/phones; desktop untouched. */
@media (max-width: 1024px) {
  html { max-width: 100%; overflow-x: clip; }
  body { max-width: 100%; overflow-x: clip; }
  img, video, iframe, embed, object { max-width: 100%; }
  img { height: auto; }
  .elementor, .elementor-section, .elementor-container, .e-con, .e-con-inner,
  .elementor-widget-wrap, .elementor-widget-container { min-width: 0; max-width: 100%; }
  .elementor-widget-image img { max-width: 100%; height: auto; }
  .elementor-widget-video iframe, .elementor-video, .elementor iframe { max-width: 100%; }
  .wpm-playlist, .wolf-jplayer-playlist, .wolf-playlist, .mejs-container,
  .woocommerce div.product, .woocommerce div.product .summary { max-width: 100%; min-width: 0; }
  .woocommerce div.product div.images, .woocommerce div.product div.summary { max-width: 100%; }
  .woocommerce div.product form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
  .woocommerce div.product form.cart .quantity { float: none; margin: 0; }
  .woocommerce div.product form.cart .single_add_to_cart_button { float: none; }
  #mobile-menu-panel { max-width: min(444px, 100vw); }
  #mobile-menu-panel-inner { box-sizing: border-box; max-width: 100%; }
}
@media (max-width: 767px) {
  /* Allow stacked content rather than fixed-width desktop columns. */
  .elementor-section .elementor-container { flex-wrap: wrap; }
  .elementor-column { min-width: 0; }
  .elementor-widget-image img, .woocommerce-product-gallery img { max-width: 100%; height: auto; }
  .woocommerce div.product div.images,
  .woocommerce div.product div.summary { width: 100%; float: none; clear: both; }
  .woocommerce ul.products { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
  .woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
  .woocommerce ul.products li.product { float: none; width: auto !important; margin: 0 !important; min-width: 0; }
  .woocommerce ul.products li.product img { width: 100%; height: auto; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; flex-wrap: wrap; }
  .wpm-playlist, .wolf-jplayer-playlist, .wolf-playlist { width: 100%; overflow-wrap: anywhere; }
  /* Snakepit's full-height hero can hide content behind mobile browser chrome. */
  .hero-layout-fullheight #hero { height: auto; min-height: 65svh; }
  .hero-layout-fullheight.admin-bar #hero { height: auto; min-height: calc(65svh - 46px); }
  #hero-content, #hero-inner { max-width: 100%; }
  .elementor-widget-heading .elementor-heading-title { overflow-wrap: break-word; }
}
@media (max-width: 420px) {
  .woocommerce ul.products { gap: 10px; }
  .woocommerce ul.products li.product .button { max-width: 100%; white-space: normal; }
}
/* Recovery only on narrow/touch screens. Snakepit may leave body.loading active. */
@media (max-width: 1024px) {
 html, body { overflow-y: auto !important; height: auto !important; min-height: 100%; touch-action: pan-y pinch-zoom; }
 body.loading { overflow-y: auto !important; }
 body.loading #page, body.loading #page-content, body.loading #main, body.loading #content { visibility: visible !important; opacity: 1 !important; }
 body.rezzd-mobile-recovered #loading-overlay, body.rezzd-mobile-recovered .loading-overlay, body.rezzd-mobile-recovered #loader-overlay { display: none !important; pointer-events: none !important; }
}
