/* Shared mobile typography: loaded on every public page, before the first paint. */
@media (max-width:767px) {
 body main .e-con,
 body main .e-con-inner,
 body main .elementor-widget-heading,
 body main .elementor-widget-woocommerce-breadcrumb,
 body main .elementor-widget-breadcrumbs,
 body main .lpd-header,
 body main .hero-section { min-width:0!important; }

 body main .elementor-widget-heading,
 body main .elementor-widget-woocommerce-breadcrumb,
 body main .elementor-widget-breadcrumbs { max-width:100%!important; box-sizing:border-box; }

 body main h1,
 body main .page-title,
 body main .elementor-heading-title {
  max-width:100%!important; min-width:0!important;
  white-space:normal!important; overflow-wrap:anywhere!important; word-break:normal!important;
  text-overflow:clip!important; height:auto!important;
 }
 body main h1,
 body main h1.elementor-heading-title,
 body main .woocommerce-products-header__title {
  font-size:clamp(24px,6vw,30px)!important; line-height:1.25!important;
 }
 body main h2.elementor-heading-title:not(.je-card *):not(.jet-listing-grid__item *):not(.products *):not(.related *) {
  font-size:clamp(22px,5.5vw,28px)!important; line-height:1.3!important;
 }
 body main .woocommerce-breadcrumb,
 body main .ct-breadcrumbs,
 body main .ct-breadcrumbs-shortcode,
 body main .rank-math-breadcrumb,
 body main .breadcrumbs,
 body main #breadcrumbs {
  min-width:0!important; max-width:100%!important; width:auto!important; height:auto!important;
  white-space:normal!important; overflow-wrap:anywhere!important; word-break:normal!important;
  font-size:12px!important; line-height:1.6!important; box-sizing:border-box;
  flex-wrap:wrap!important; overflow:visible!important; text-overflow:clip!important;
 }
 body main :is(.woocommerce-breadcrumb,.ct-breadcrumbs,.ct-breadcrumbs-shortcode,.rank-math-breadcrumb,.breadcrumbs,#breadcrumbs) :is(a,span,li,p) {
  min-width:0!important; max-width:100%!important; white-space:normal!important;
  overflow-wrap:anywhere!important; word-break:normal!important;
 }
 body main :is(.ct-breadcrumbs,.ct-breadcrumbs-shortcode,.rank-math-breadcrumb,.breadcrumbs,#breadcrumbs) :is(ol,ul) {
  max-width:100%!important; min-width:0!important; flex-wrap:wrap!important;
 }
}

/* The fixed mobile header is 80px high. WordPress global body{padding:0}
   is emitted after its stylesheet, so restore the space explicitly. */
@media (max-width:1024px) {
 body:has(.lmh-custom-wrap) { padding-top:80px!important; }
 body:not(.home):has(.lmh-custom-wrap) main > .elementor > .e-con.e-parent:first-child {
  --margin-top:0px; margin-top:0!important;
 }
}
