/* The contact bar belongs at the viewport edge, not above a guessed preview
   banner height. Wix branding remains untouched and keeps its own layout. */
@media (max-width:800px) {
  body { padding-bottom:calc(88px + env(safe-area-inset-bottom, 0px)); }
  .mobile-contact {
    position:fixed;
    inset:auto 0 0;
    bottom:0;
    margin:0;
    padding-bottom:env(safe-area-inset-bottom, 0px);
  }
  .mobile-contact a { min-height:60px; }
  footer { padding-bottom:24px; }
  /* The preview banner is preserved; production espresso.tw never gets this marker. */
  html.wix-project-preview-layout body { padding-bottom:calc(164px + env(safe-area-inset-bottom, 0px)); }
  html.wix-project-preview-layout .mobile-contact { bottom:76px; }
}

/* Product-photo category overlays removed sitewide at owner request.
   Keep card-body brand labels, category filters and underlying metadata intact. */
.card-image > small { display: none; }
/* Small labels and utility copy can wrap instead of clipping on narrow screens. */
.crumb, .card-body > small, footer p, footer a, .hero-note small { line-height: 1.6; overflow-wrap: anywhere; }
/* Same category-photo overlay in the homepage's featured-card layout. */
.product-photo > span { display: none; }

/* Owner-requested smaller MOBILE cross-site service labels only.
   Keep the established 44px tap targets and every other typography rule. */
@media (max-width:600px) {
  nav.service-nav { font-size:13px; }
  .service-nav > a > span { font-size:14px; }
}
