/*
 * Praça PWA native design system
 * Escopo intencional: somente o frontend carregado por store/partials/head.php.
 * Os layouts da home e os layouts de nicho continuam controlando suas cores e
 * hierarquias; este arquivo padroniza superfícies, tipografia e interação.
 */
body.pwa-native-app {
  --pwa-brand: #e99a08;
  --pwa-brand-strong: #9b5100;
  --pwa-accent-readable: #8f4800;
  --pwa-ink: #172033;
  --pwa-muted: #6f7889;
  --pwa-line: rgba(23, 32, 51, .09);
  --pwa-canvas: #f6f7fa;
  --pwa-surface: #fff;
  --pwa-surface-soft: #f8f9fb;
  --pwa-success: #20a567;
  --pwa-danger: #df4450;
  --pwa-warning: #f0a00c;
  --pwa-info: #367fd3;
  --pwa-radius-sm: 12px;
  --pwa-radius-md: 17px;
  --pwa-radius-lg: 23px;
  --pwa-shadow-sm: 0 4px 14px rgba(20, 31, 52, .055);
  --pwa-shadow-md: 0 10px 30px rgba(20, 31, 52, .085);
  --pwa-shadow-float: 0 18px 55px rgba(20, 31, 52, .16);
  margin: 0;
  color: var(--pwa-ink);
  background: var(--pwa-canvas);
  background:
    radial-gradient(circle at 12% -10%, color-mix(in srgb, var(--accent) 9%, transparent), transparent 27rem),
    var(--pwa-canvas);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "SF Pro Text", Inter, "Segoe UI", Roboto, Arial, sans-serif;
  font-size: 15px;
  line-height: 1.45;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  min-height: 100%;
  overscroll-behavior-y: auto;
  touch-action: pan-x pan-y pinch-zoom;
}

body.pwa-native-app *, body.pwa-native-app *::before, body.pwa-native-app *::after { box-sizing: border-box; }
body.pwa-native-app img, body.pwa-native-app svg { max-width: 100%; }
body.pwa-native-app button, body.pwa-native-app input, body.pwa-native-app select, body.pwa-native-app textarea { font: inherit; }
body.pwa-native-app button, body.pwa-native-app a, body.pwa-native-app summary, body.pwa-native-app select { touch-action: pan-y pinch-zoom; }
body.pwa-native-app .product-category-carousel,
body.pwa-native-app .product-category-carousel *,
body.pwa-native-app .shop-category-strip,
body.pwa-native-app .shop-category-strip *,
body.pwa-native-app .offer-banner-viewport,
body.pwa-native-app .offer-banner-viewport *,
body.pwa-native-app .home-featured-viewport,
body.pwa-native-app .home-featured-viewport *,
body.pwa-native-app .shop-featured-viewport,
body.pwa-native-app .shop-featured-viewport *,
body.pwa-native-app .snack-featured-track,
body.pwa-native-app .snack-featured-track *,
body.pwa-native-app .niche-feature-track,
body.pwa-native-app .niche-feature-track * { touch-action: pan-x pan-y pinch-zoom; }
body.pwa-native-app :focus-visible { outline: 3px solid rgba(155,81,0,.38); outline: 3px solid color-mix(in srgb, var(--accent) 34%, transparent); outline-offset: 2px; }
body.pwa-native-app ::selection { color: #fff; background: var(--accent); }

/* App shell */
body.pwa-native-app .topbar {
  min-height: 72px;
  padding: calc(12px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));
  gap: 10px;
  color: #fff;
  background: linear-gradient(135deg, #9b5100, #763800);
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 58%, #111), color-mix(in srgb, var(--accent) 46%, #111));
  border-bottom: 1px solid rgba(255,255,255,.22);
  box-shadow: 0 8px 30px rgba(48, 36, 17, .12);
}
body.pwa-native-app .topbar h1 { font-size: clamp(18px, 4vw, 22px); font-weight: 850; letter-spacing: -.025em; }
body.pwa-native-app .topbar .back,
body.pwa-native-app .topbar .nav-icon,
body.pwa-native-app .topbar-shop-link {
  width: 44px;
  height: 44px;
  min-width: 44px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 50%;
  color: var(--pwa-accent-readable);
  background: rgba(255,255,255,.94);
  box-shadow: 0 5px 16px rgba(43, 31, 12, .12);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
}
body.pwa-native-app .topbar .back { color: #fff; background: rgba(255,255,255,.15); font-weight: 900; }
body.pwa-native-app .topbar .nav-icon svg { width: 23px; height: 23px; }
body.pwa-native-app .topbar .pwa-home-head-action,
body.pwa-native-app .topbar .pwa-nav-toggle { border-color: rgba(255,255,255,.7); background: rgba(255,255,255,.94); }
body.pwa-native-app .topbar .pwa-home-head-action:hover,
body.pwa-native-app .topbar .pwa-home-head-action:focus-visible,
body.pwa-native-app .topbar .pwa-nav-toggle:hover,
body.pwa-native-app .topbar .pwa-nav-toggle:focus-visible { background: #fff; transform: translateY(-1px); outline: 3px solid rgba(255,255,255,.72); outline-offset: 2px; }
body.pwa-native-app .topbar .pwa-home-head-action [data-cart-badge] { color: #fff; background: var(--pwa-danger); box-shadow: 0 0 0 2px #fff; }
body.pwa-native-app .topbar-shop-link { padding: 3px; }
body.pwa-native-app .topbar-shop-link img { border-radius: 50%; }

body.pwa-native-app main {
  width: 100%;
  max-width: 980px;
  padding: 20px max(14px, env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(14px, env(safe-area-inset-left));
}
body.pwa-native-app main.wide { max-width: 1240px; }
body.pwa-native-app.has-bottom-nav main {
  /* The measured height already includes the iPhone safe area. */
  padding-bottom: calc(var(--pwa-bottom-nav-height, 92px) + 30px);
  scroll-padding-bottom: calc(var(--pwa-bottom-nav-height, 92px) + 24px);
}
html { scroll-padding-bottom: calc(var(--pwa-bottom-nav-height, 0px) + 24px); }
body.pwa-native-app.has-bottom-nav main > :last-child {
  scroll-margin-bottom: calc(var(--pwa-bottom-nav-height, 92px) + 24px);
}
body.pwa-native-app.android-showcase main { padding-top: 10px; padding-bottom: calc(20px + env(safe-area-inset-bottom)); }
body.pwa-native-app.storefront-layout-preview main { padding-top: 8px; padding-bottom: 18px; }

body.pwa-native-app .pwa-nav-backdrop { background: rgba(12, 19, 31, .42); backdrop-filter: none; -webkit-backdrop-filter: none; }
body.pwa-native-app .pwa-nav-menu {
  left: max(12px, env(safe-area-inset-left));
  right: max(12px, env(safe-area-inset-right));
  width: auto;
  max-width: 310px;
  margin-left: auto;
  padding: 10px;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: var(--pwa-radius-lg);
  color: var(--pwa-ink);
  background: #fff;
  box-shadow: var(--pwa-shadow-float);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.pwa-native-app .pwa-toast { left: max(12px, env(safe-area-inset-left)); right: max(12px, env(safe-area-inset-right)); }
body.pwa-native-app .pwa-nav-item { min-height: 50px; border-radius: 15px; font-weight: 760; }
body.pwa-native-app .pwa-nav-item svg { color: var(--pwa-accent-readable); }
body.pwa-native-app .pwa-nav-item:hover, body.pwa-native-app .pwa-nav-item:focus-visible { background: #fff7e8; background: color-mix(in srgb, var(--accent) 9%, #fff); }

body.pwa-native-app .pwa-bottom-nav {
  z-index: 1250;
  left: max(0px, env(safe-area-inset-left));
  right: max(0px, env(safe-area-inset-right));
  width: auto;
  max-width: 980px;
  min-height: 76px;
  margin-inline: auto;
  padding: 7px 10px calc(8px + env(safe-area-inset-bottom));
  gap: 4px;
  border: 1px solid rgba(27, 37, 56, .08);
  border-bottom: 0;
  border-radius: 24px 24px 0 0;
  background: #fff;
  box-shadow: 0 -12px 38px rgba(21, 31, 49, .10);
  opacity: 1;
  pointer-events: auto;
  isolation: isolate;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  transform: translate3d(0,0,0);
  -webkit-transform: translate3d(0,0,0);
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
body.pwa-native-app .pwa-bottom-nav.is-hidden {
  transform: translate3d(0,calc(100% + env(safe-area-inset-bottom) + 6px),0);
  -webkit-transform: translate3d(0,calc(100% + env(safe-area-inset-bottom) + 6px),0);
  opacity: 0;
  pointer-events: none;
}
body.pwa-native-app .pwa-bottom-nav:not(.is-hidden) { pointer-events: auto; }
body.pwa-native-app .pwa-bottom-nav a { min-height: 58px; gap: 3px; border-radius: 16px; color: #667085; font-size: 10px; font-weight: 780; }
body.pwa-native-app .pwa-bottom-nav a svg { width: 38px; height: 34px; padding: 5px 7px; border-radius: 13px; background: transparent; }
body.pwa-native-app .pwa-bottom-nav a.active { color: var(--pwa-accent-readable); background: #fff7e8; background: color-mix(in srgb, var(--accent) 8%, #fff); }
body.pwa-native-app .pwa-bottom-nav a.active svg { color: var(--pwa-accent-readable); background: #fff2d8; background: color-mix(in srgb, var(--accent) 14%, #fff); box-shadow: none; }
body.pwa-native-app .pwa-bottom-nav .pwa-bottom-badge { top: 3px; right: calc(50% - 22px); color: #fff; background: var(--pwa-danger); box-shadow: 0 0 0 2px #fff; }

/* Reusable components */
body.pwa-native-app .card,
body.pwa-native-app .shop-row,
body.pwa-native-app .empty,
body.pwa-native-app .journey-page-head,
body.pwa-native-app .journey-checkout-panel,
body.pwa-native-app .journey-cart-summary,
body.pwa-native-app .related-panel,
body.pwa-native-app .journey-panel,
body.pwa-native-app .driver-find-card,
body.pwa-native-app .driver-search-card,
body.pwa-native-app .driver-profile-card,
body.pwa-native-app .shop-chat-box,
body.pwa-native-app .customer-chat-row {
  border: 1px solid var(--pwa-line);
  border-radius: var(--pwa-radius-md);
  background: var(--pwa-surface);
  box-shadow: var(--pwa-shadow-sm);
}
body.pwa-native-app .card { overflow: hidden; }
body.pwa-native-app .card .thumb { background: #eef0f3; }
body.pwa-native-app .card .body { padding: 13px; }
body.pwa-native-app .card .name { color: var(--pwa-ink); font-size: 14px; font-weight: 800; }
body.pwa-native-app :where(.section-title) { margin: 22px 2px 12px; color: var(--pwa-ink); font-size: clamp(17px, 4vw, 20px); font-weight: 880; letter-spacing: -.025em; }
body.pwa-native-app .empty { padding: 38px 18px; color: var(--pwa-muted); }
body.pwa-native-app :where(.empty, .pwa-empty-state) {
  min-width: 0;
  max-width: 100%;
  text-align: center;
  overflow-wrap: anywhere;
}
body.pwa-native-app :where(.alert, .flash, .notice, .status-box, .pwa-alert) {
  min-width: 0;
  max-width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--pwa-line);
  border-radius: 14px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}
body.pwa-native-app :where(.alert.ok, .flash.ok, .status-box.ok, .pwa-alert-success) { border-color: #a7dfc3; color: #17643b; background: #e9f8ef; }
body.pwa-native-app :where(.alert.err, .flash.err, .status-box.err, .pwa-alert-error) { border-color: #efb8b5; color: #982d2a; background: #fff0ef; }
body.pwa-native-app :where(.notice, .pwa-alert-warning) { border-color: #eed59d; color: #735015; background: #fff7e5; }
body.pwa-native-app :where(.pwa-skeleton, [data-pwa-skeleton]) {
  position: relative;
  min-height: 16px;
  overflow: hidden;
  border-radius: 10px;
  color: transparent !important;
  background: #e9edf2;
}
body.pwa-native-app :where(.pwa-skeleton, [data-pwa-skeleton])::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, rgba(255,255,255,.72), transparent);
  animation: pwa-native-skeleton 1.25s ease-in-out infinite;
}
@keyframes pwa-native-skeleton { to { transform: translateX(100%); } }
body.pwa-native-app :where(button, [role="button"])[aria-busy="true"] { pointer-events: none; cursor: wait; }
body.pwa-native-app :where(.tabs, .filters, .nav, [role="tablist"]) { max-width: 100%; -webkit-overflow-scrolling: touch; }
body.pwa-native-app :where([role="dialog"], .modal, .pwa-modal) { max-width: 100%; max-height: calc(100dvh - env(safe-area-inset-top) - env(safe-area-inset-bottom)); }
body.pwa-native-app :where(.shop-row) { min-height: 78px; margin-bottom: 11px; padding: 12px; gap: 12px; }
body.pwa-native-app :where(.shop-row img) { width: 58px; height: 58px; border-radius: 15px; }
body.pwa-native-app :where(.shop-row .info .nm) { color: var(--pwa-ink); font-weight: 820; }
body.pwa-native-app :where(.shop-row .info .sub) { color: var(--pwa-muted); }

body.pwa-native-app :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]), select, textarea, .pwa-input) {
  width: 100%;
  min-height: 48px;
  padding: 12px 14px;
  color: var(--pwa-ink);
  border: 1px solid #dfe3e9;
  border-radius: 14px;
  background: #fff;
  box-shadow: inset 0 1px 1px rgba(23,32,51,.02);
  outline: none;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
body.pwa-native-app textarea { min-height: 96px; resize: vertical; }
body.pwa-native-app :where(input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="range"]):not([type="color"]):not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="image"]), select, textarea, .pwa-input):focus { border-color: #b47714; border-color: color-mix(in srgb, var(--accent) 72%, #fff); box-shadow: 0 0 0 4px rgba(155,81,0,.13); box-shadow: 0 0 0 4px color-mix(in srgb, var(--accent) 12%, transparent); }
body.pwa-native-app input::placeholder, body.pwa-native-app textarea::placeholder { color: #959dac; opacity: 1; }
body.pwa-native-app :where(label) { color: #3c4658; font-weight: 760; }

body.pwa-native-app .pwa-btn,
body.pwa-native-app .journey-primary-button,
body.pwa-native-app .journey-page-link,
body.pwa-native-app .driver-primary,
body.pwa-native-app .driver-find-button,
body.pwa-native-app .save-button {
  min-height: 48px;
  padding: 12px 17px;
  border: 0;
  border-radius: 14px;
  color: #fff;
  background: linear-gradient(135deg, #ae5f00, #8f4800);
  box-shadow: 0 8px 20px rgba(143,72,0,.24);
  font-weight: 850;
  cursor: pointer;
}
body.pwa-native-app [style*="background:var(--accent)"],
body.pwa-native-app .install-banner .ok,
body.pwa-native-app .pwa-public-qr-copy {
  background: #8f4800 !important;
  background: color-mix(in srgb, var(--accent) 58%, #111) !important;
}
body.pwa-native-app .journey-primary-button,
body.pwa-native-app #addToCart,
body.pwa-native-app.pwa-page-login main form button[type="submit"],
body.pwa-native-app.pwa-page-register main form button[type="submit"],
body.pwa-native-app.pwa-page-forgot_password main form button[type="submit"],
body.pwa-native-app.pwa-page-reset_password main form button[type="submit"] {
  color: #fff !important;
  background: linear-gradient(135deg, #9b5100, #763800) !important;
  background: linear-gradient(135deg, color-mix(in srgb, var(--accent) 58%, #111), color-mix(in srgb, var(--accent) 46%, #111)) !important;
}
body.pwa-native-app button:disabled, body.pwa-native-app [aria-disabled="true"] { opacity: .52; cursor: not-allowed; box-shadow: none; }
body.pwa-native-app .pwa-btn:not(:disabled):active,
body.pwa-native-app .journey-primary-button:not(:disabled):active,
body.pwa-native-app .journey-page-link:active,
body.pwa-native-app .driver-primary:not(:disabled):active,
body.pwa-native-app .driver-find-button:not(:disabled):active,
body.pwa-native-app .save-button:not(:disabled):active,
body.pwa-native-app .home-search-submit:not(:disabled):active,
body.pwa-native-app .home-shop-favorite:not(:disabled):active { transform: scale(.98); }
body.pwa-native-app .pwa-loading-card,
body.pwa-native-app .install-card,
body.pwa-native-app .pwa-public-qr-card,
body.pwa-native-app .pwa-share-card { border: 1px solid rgba(255,255,255,.75); border-radius: 24px; box-shadow: var(--pwa-shadow-float); }
body.pwa-native-app .pwa-toast { border: 1px solid rgba(255,255,255,.14); border-radius: 18px; box-shadow: var(--pwa-shadow-float); }

/* Native home */
body.pwa-native-app.pwa-page-home .topbar {
  position: relative;
  z-index: auto;
  min-height: 146px;
  align-items: flex-start;
  padding-top: calc(28px + env(safe-area-inset-top));
  padding-bottom: 54px;
  overflow: hidden;
  background:
    linear-gradient(115deg, rgba(174,95,0,.97), rgba(143,72,0,.96)),
    #9b5100;
  border-radius: 0 0 28px 28px;
}
body.pwa-native-app.pwa-page-home .topbar::before,
body.pwa-native-app.pwa-page-home .topbar::after { content: ""; position: absolute; pointer-events: none; border-radius: 50%; background: rgba(255,255,255,.10); }
body.pwa-native-app.pwa-page-home .topbar::before { width: 210px; height: 210px; right: 20%; top: -155px; }
body.pwa-native-app.pwa-page-home .topbar::after { width: 110px; height: 110px; right: -42px; bottom: -38px; }
body.pwa-native-app.pwa-page-home .topbar > * { position: relative; z-index: 1; }
body.pwa-native-app.pwa-page-home .topbar .pwa-nav-wrap { z-index: 1302; }
body.pwa-native-app.pwa-page-home .topbar h1 { align-self: center; color: #fff; font-size: clamp(28px, 8vw, 39px); font-weight: 920; letter-spacing: -.045em; text-shadow: 0 2px 12px rgba(111,66,0,.12); }
body.pwa-native-app.pwa-page-home main { position: relative; z-index: auto; margin-top: -52px; padding-top: 0; }
body.pwa-native-app.pwa-page-home .pwa-home-layout { border-radius: 0; background: transparent; }
body.pwa-native-app.pwa-page-home .home-block-search {
  position: relative;
  z-index: 1201;
  margin: 0 0 14px;
  padding: 18px;
  border: 1px solid rgba(255,255,255,.8);
  border-radius: 28px;
  background: rgba(255,255,255,.97);
  background-clip: padding-box;
  box-shadow: var(--pwa-shadow-md);
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
body.pwa-native-app .home-search-stack { gap: 11px; margin-bottom: 0; }
body.pwa-native-app .home-search-field { display: grid; grid-template-columns: minmax(0,1fr) 44px; align-items: end; column-gap: 8px; }
body.pwa-native-app .home-search-label { grid-column: 1 / -1; margin: 0 2px 7px; color: var(--pwa-ink); font-size: 13px; font-weight: 850; }
body.pwa-native-app .home-search-input { grid-column: 1; min-height: 54px; padding: 14px 16px; border: 1px solid #dfe3e9; border-radius: 16px; background: #fff; box-shadow: none; }
body.pwa-native-app .home-search-submit {
  grid-column: 2;
  width: 44px;
  min-height: 44px;
  height: 44px;
  margin-bottom: 5px;
  padding: 0;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: #9b5100;
  box-shadow: 0 7px 17px rgba(143,72,0,.24);
}
body.pwa-native-app .pwa-home-banner-view { color: #fff; background: linear-gradient(135deg, #9b5100, #763800); }
body.pwa-native-app .home-search-submit svg { width: 20px; height: 20px; fill: none; stroke: currentColor; stroke-width: 2.2; }
body.pwa-native-app .home-search-field > .live-results { grid-column: 1 / -1; }

body.pwa-native-app .pwa-home-layout .home-block-search .home-map-card {
  position: relative;
  min-height: 92px;
  margin: 0 0 18px !important;
  padding: 18px 20px !important;
  width: 100%;
  display: flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: 12px !important;
  justify-content: flex-start !important;
  overflow: hidden;
  border: 1px solid var(--pwa-line) !important;
  border-radius: 20px !important;
  color: #8f4800 !important;
  background: #fff !important;
  background: linear-gradient(110deg, #fff 45%, color-mix(in srgb, var(--home-accent, var(--accent)) 10%, #fff)) !important;
  box-shadow: var(--pwa-shadow-sm) !important;
}
body.pwa-native-app .home-map-card::after { content: ""; position: absolute; width: 190px; height: 120px; right: -30px; top: -12px; opacity: .45; transform: rotate(-8deg); background: linear-gradient(90deg, transparent 44%, #fff 45% 52%, transparent 53%), linear-gradient(0deg, transparent 44%, #fff 45% 52%, transparent 53%); background-size: 52px 44px; }
body.pwa-native-app .home-map-icon { position: relative; z-index: 1; width: 46px; height: 46px; display: grid; place-items: center; border-radius: 15px; background: #fff2d8; background: color-mix(in srgb, var(--home-accent, var(--accent)) 12%, #fff); }
body.pwa-native-app .home-map-icon svg { width: 26px; height: 26px; fill: none; stroke: currentColor; stroke-width: 1.9; }
body.pwa-native-app .home-map-copy { position: relative; z-index: 1; display: grid; gap: 2px; text-align: left; }
body.pwa-native-app .home-map-copy strong { font-size: 17px; font-weight: 900; }
body.pwa-native-app .home-map-copy small { color: var(--pwa-muted); font-size: 13px; font-weight: 600; }
body.pwa-native-app .home-map-arrow { position: relative; z-index: 1; width: 36px; height: 36px; flex: 0 0 36px; margin-left: auto; display: grid; place-items: center; border-radius: 50%; color: #fff; background: #9b5100; font-size: 20px; line-height: 1; }

body.pwa-native-app :where(.shop-category-strip) { margin-inline: -2px; padding: 4px 2px 14px; gap: 11px; }
body.pwa-native-app :where(.shop-category-item) { flex-basis: 98px; min-width: 98px; padding: 10px 6px; border: 1px solid var(--pwa-line); border-radius: 18px; background: #fff; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app :where(.shop-category-icon) { width: 62px; height: 58px; margin-bottom: 8px; border: 0; border-radius: 16px; background: #fff7e8; background: color-mix(in srgb, var(--home-accent, var(--accent)) 8%, #fff); box-shadow: none; }
body.pwa-native-app :where(.shop-category-item.is-active) { border-color: #d48800; border-color: color-mix(in srgb, var(--home-accent, var(--accent)) 65%, #fff); box-shadow: 0 8px 22px rgba(143,72,0,.14); box-shadow: 0 8px 22px color-mix(in srgb, var(--home-accent, var(--accent)) 14%, transparent); }
body.pwa-native-app :where(.shop-category-item.is-active .shop-category-icon) { border: 0; }
body.pwa-native-app :where(.shop-category-count) { margin-top: 7px; color: var(--pwa-muted); background: #f1f3f6; }

body.pwa-native-app :where(.home-featured-card, .offer-banner-card) { border: 1px solid var(--pwa-line); border-radius: 20px; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app .home-featured-card:active { transform: scale(.985); }
body.pwa-native-app .home-shops-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 20px 2px 12px; }
body.pwa-native-app .home-shops-heading .section-title { margin: 0; }
body.pwa-native-app .home-toggle { display: inline-flex !important; align-items: center; gap: 8px !important; padding: 6px 10px !important; border: 0 !important; border-radius: 999px !important; background: transparent !important; box-shadow: none !important; color: var(--pwa-muted); font-size: 13px !important; font-weight: 750; cursor: pointer; }
body.pwa-native-app .home-toggle input[type="checkbox"],
body.pwa-native-app .distance-outside input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  width: 46px;
  height: 27px;
  margin: 0;
  padding: 3px;
  flex: 0 0 auto;
  border: 0;
  border-radius: 999px;
  background: #d8dde5;
  box-shadow: inset 0 1px 3px rgba(23,32,51,.12);
  cursor: pointer;
  transition: background .18s ease;
}
body.pwa-native-app .home-toggle input[type="checkbox"]::before,
body.pwa-native-app .distance-outside input[type="checkbox"]::before { content: ""; display: block; width: 21px; height: 21px; border-radius: 50%; background: #fff; box-shadow: 0 2px 6px rgba(23,32,51,.2); transition: transform .18s ease; }
body.pwa-native-app .home-toggle input[type="checkbox"]:checked,
body.pwa-native-app .distance-outside input[type="checkbox"]:checked { background: var(--home-accent, var(--accent)); }
body.pwa-native-app .home-toggle input[type="checkbox"]:checked::before,
body.pwa-native-app .distance-outside input[type="checkbox"]:checked::before { transform: translateX(19px); }

body.pwa-native-app :where(.distance-controls) { grid-template-columns: minmax(132px,180px) minmax(0,1fr); padding: 14px 15px; border: 1px solid var(--pwa-line); border-radius: 18px; background: #fff; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app :where(.distance-radius-label select) { min-height: 42px; border-radius: 12px; background-color: #fff; }
body.pwa-native-app :where(.distance-outside) { justify-content: flex-end; gap: 9px; color: var(--pwa-muted); }
body.pwa-native-app :where(.distance-location-note) { color: var(--pwa-muted); }
body.pwa-native-app .home-store-tabs { display: grid; grid-template-columns: 1fr 1fr; gap: 4px; margin: 17px 0 13px; padding: 4px; border-radius: 15px; background: #eceff3; }
body.pwa-native-app .home-store-tab { min-height: 42px; display: grid; place-items: center; border-radius: 12px; color: var(--pwa-muted); font-weight: 820; }
body.pwa-native-app .home-store-tab.is-active { color: var(--pwa-accent-readable); background: #fff; box-shadow: 0 3px 10px rgba(23,32,51,.08); }

body.pwa-native-app #shopList { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 12px; }
body.pwa-native-app #shopList .home-shop-card { position: relative; min-height: 0; margin: 0; padding: 0; display: block; overflow: hidden; border-radius: 20px !important; background: #fff; }
body.pwa-native-app .home-shop-card-link { display: block; min-width: 0; }
body.pwa-native-app .home-shop-card-media { position: relative; aspect-ratio: 16/9; overflow: hidden; border-radius: 20px 20px 0 0; background: #eef0f3; }
body.pwa-native-app #shopList .home-shop-card img { width: 100%; height: 100%; border-radius: 20px 20px 0 0 !important; object-fit: cover; }
body.pwa-native-app .home-shop-card .info { min-height: 104px; padding: 11px 12px 12px; }
body.pwa-native-app .home-shop-card .nm { padding-right: 28px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.pwa-native-app .home-shop-card .shop-card-category { margin-top: 2px; color: var(--pwa-muted); font-size: 12px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
body.pwa-native-app .home-shop-card .shop-card-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 7px; margin-top: 7px; color: var(--pwa-muted); font-size: 12px; }
body.pwa-native-app .home-shop-card .shop-card-rating { color: #a76800; font-weight: 800; }
body.pwa-native-app .home-featured-price,
body.pwa-native-app .shop-feed-more {
  color: #8f4800 !important;
  color: color-mix(in srgb, var(--home-accent, var(--accent)) 58%, #111) !important;
}
body.pwa-native-app .home-shop-card .shop-open-badge { position: absolute; z-index: 2; left: 8px; top: 8px; max-width: calc(100% - 16px); padding: 4px 8px; overflow: hidden; border-radius: 999px; box-shadow: 0 3px 9px rgba(23,32,51,.18); white-space: nowrap; text-overflow: ellipsis; }
body.pwa-native-app .home-shop-card .shop-boosted-badge { display: inline-block; margin: 5px 0 0; }
body.pwa-native-app .home-shop-favorite { position: absolute; z-index: 3; right: 9px; top: 44px; width: 36px; height: 36px; padding: 0; display: grid; place-items: center; border: 0; border-radius: 50%; color: #8f4800; background: rgba(255,255,255,.97); box-shadow: 0 4px 12px rgba(23,32,51,.16); font-size: 20px; line-height: 1; cursor: pointer; }
body.pwa-native-app .home-shop-favorite::before { content: ""; position: absolute; inset: -4px; border-radius: 50%; }
body.pwa-native-app .home-shop-favorite.is-active { color: #fff; background: #9b5100; }
body.pwa-native-app .home-shop-action-status { margin: 0 0 12px; padding: 10px 12px; border: 1px solid #f0b7bc; border-radius: 13px; color: #93252e; background: #fff2f3; font-size: 13px; font-weight: 750; }
body.pwa-native-app.pwa-home-body-compact #shopList .home-shop-card { padding: 0 !important; }
body.pwa-native-app.pwa-home-body-compact #shopList .home-shop-card img { width: 100% !important; height: 100% !important; border-radius: 20px 20px 0 0 !important; }

/* Store layouts: same app language, preserved niche identity */
body:where(.pwa-native-app[class*="storefront-layout-"]) main.wide { padding-left: max(clamp(12px, 3vw, 26px), env(safe-area-inset-left)); padding-right: max(clamp(12px, 3vw, 26px), env(safe-area-inset-right)); }
body.pwa-native-app .shop-profile,
body.pwa-native-app .snack-shell,
body.pwa-native-app .niche-shell { color: var(--pwa-ink); }
body.pwa-native-app .shop-profile-main,
body.pwa-native-app .shop-product-categories,
body.pwa-native-app .shop-product-catalog,
body.pwa-native-app .snack-info-card,
body.pwa-native-app .snack-category-browser,
body.pwa-native-app .snack-group,
body.pwa-native-app .niche-info-card,
body.pwa-native-app .niche-category-browser,
body.pwa-native-app .niche-section,
body.pwa-native-app .niche-group { border-radius: var(--pwa-radius-lg); box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app .shop-profile-cover,
body.pwa-native-app .snack-hero,
body.pwa-native-app .niche-hero { border-radius: 0 0 26px 26px; overflow: hidden; }
body.pwa-native-app .shop-profile-actions,
body.pwa-native-app .snack-profile-actions,
body.pwa-native-app .niche-profile-actions { gap: 8px; }
body.pwa-native-app .shop-action,
body.pwa-native-app .snack-profile-action,
body.pwa-native-app .niche-profile-action,
body.pwa-native-app .snack-circle-action,
body.pwa-native-app .niche-round-action { border-radius: 15px; transition: transform .16s ease, box-shadow .16s ease; }
body.pwa-native-app .shop-action:active,
body.pwa-native-app .snack-profile-action:active,
body.pwa-native-app .niche-profile-action:active { transform: scale(.97); }
body.pwa-native-app .shop-product-search,
body.pwa-native-app .snack-search,
body.pwa-native-app .niche-search { min-height: 52px; border-radius: 16px; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app .shop-product-category,
body.pwa-native-app .snack-category-card,
body.pwa-native-app .niche-category-card { border-radius: 18px; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app .prod-card,
body.pwa-native-app .snack-product,
body.pwa-native-app .niche-product,
body.pwa-native-app .shop-featured-card,
body.pwa-native-app .snack-feature-card,
body.pwa-native-app .niche-feature-card { border: 1px solid var(--pwa-line); border-radius: 19px; box-shadow: var(--pwa-shadow-sm); overflow: hidden; }
body.pwa-native-app .prod-card-quick-add,
body.pwa-native-app .snack-quick-add,
body.pwa-native-app .niche-quick-add { min-width: 42px; min-height: 42px; border-radius: 14px; box-shadow: 0 7px 18px rgba(143,72,0,.20); box-shadow: 0 7px 18px color-mix(in srgb, var(--accent) 20%, transparent); }
body.pwa-native-app .prod-card-quick-add:not(.is-added),
body.pwa-native-app .snack-quick-add:not(.is-added),
body.pwa-native-app .snack-cart-top,
body.pwa-native-app .snack-category-button.is-active,
body.pwa-native-app .snack-rating button,
body.pwa-native-app .snack-chat-link,
body.pwa-native-app .shop-contact-button,
body.pwa-native-app .shop-rating-submit,
body.pwa-native-app .shop-chat-launch {
  color: #fff;
  background: #8f4800;
  background: color-mix(in srgb, var(--accent) 58%, #111);
}
body.pwa-native-app .niche-quick-add:not(.is-added),
body.pwa-native-app .niche-cart-top,
body.pwa-native-app .niche-category.is-active,
body.pwa-native-app .niche-rating button,
body.pwa-native-app .niche-chat {
  color: #fff;
  background: #8f4800;
  background: color-mix(in srgb, var(--niche-accent, var(--accent)) 58%, #111);
}
body.pwa-native-app .card .price,
body.pwa-native-app .live-result .lr-price,
body.pwa-native-app .shop-rating-summary strong,
body.pwa-native-app .shop-action.on,
body.pwa-native-app .snack-product-bottom .price,
body.pwa-native-app .snack-product-bottom .offer-price-stack,
body.pwa-native-app .snack-info-card a,
body.pwa-native-app .snack-profile-action.on,
body.pwa-native-app .snack-cart-count {
  color: #8f4800;
  color: color-mix(in srgb, var(--accent) 58%, #111);
}
body.pwa-native-app .niche-product-bottom .price,
body.pwa-native-app .niche-product-bottom .offer-price-stack,
body.pwa-native-app .niche-info-card a,
body.pwa-native-app .niche-profile-action.on,
body.pwa-native-app .niche-cart-count {
  color: #8f4800;
  color: color-mix(in srgb, var(--niche-accent, var(--accent)) 58%, #111);
}
body.pwa-native-app .product-category-carousel-card.is-current .product-category-carousel-count,
body.pwa-native-app .pwa-nav-item .pwa-menu-badge,
body.pwa-native-app .pwa-bottom-nav .pwa-bottom-badge {
  color: #fff;
  background: #8f4800;
  background: color-mix(in srgb, var(--accent) 58%, #111);
}
body.pwa-native-app .niche-badge:not(.booking):not(.rental) {
  color: #fff;
  background: #8f4800;
  background: color-mix(in srgb, var(--niche-accent, var(--accent)) 58%, #111);
}
body.pwa-native-app .product-category-drawer { top: calc(72px + env(safe-area-inset-top)); border-bottom: 1px solid var(--pwa-line); background: rgba(255,255,255,.96); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
body.pwa-native-app .product-category-drawer-toggle { min-height: 42px; }
body.pwa-native-app .product-category-carousel-card { border-radius: 17px; box-shadow: var(--pwa-shadow-sm); }

/* Product, cart and checkout */
body.pwa-native-app .storefront-journey { --journey-radius: var(--pwa-radius-lg); }
body.pwa-native-app .journey-page-head { padding: clamp(17px, 4vw, 24px); }
body.pwa-native-app .journey-page-icon { border-radius: 16px; }
body.pwa-native-app .product-layout { gap: clamp(16px, 3vw, 28px); }
body.pwa-native-app .gallery { border-radius: 22px; overflow: hidden; background: #fff; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app .gimg, body.pwa-native-app .detail-img { border-radius: 20px; background: #eef0f3; }
body.pwa-native-app .detail-name { color: var(--pwa-ink); font-size: clamp(22px, 5vw, 30px); font-weight: 900; letter-spacing: -.035em; }
body.pwa-native-app .detail-price { color: var(--pwa-accent-readable); font-size: clamp(23px, 5vw, 31px); font-weight: 920; }
body.pwa-native-app .detail-desc { color: #535e70; }
body.pwa-native-app .addon-accordion,
body.pwa-native-app .addon-option-row,
body.pwa-native-app .rental-selector,
body.pwa-native-app .service-radius-notice,
body.pwa-native-app .catalog-only-notice { border-radius: 16px; }
body.pwa-native-app .product-buy-row { position: sticky; bottom: calc(82px + env(safe-area-inset-bottom)); z-index: 100; padding: 10px; border: 1px solid var(--pwa-line); border-radius: 18px; background: rgba(255,255,255,.94); box-shadow: var(--pwa-shadow-md); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
body.pwa-native-app .product-qty { min-height: 48px; border-radius: 14px; }
body.pwa-native-app .journey-cart-item { padding: 14px; }
body.pwa-native-app .journey-cart-summary,
body.pwa-native-app .journey-checkout-panel { padding: clamp(16px, 4vw, 24px); }
body.pwa-native-app .journey-total-card { position: sticky; top: calc(84px + env(safe-area-inset-top)); }
body.pwa-native-app .journey-checkout-form input:not([type="hidden"]):not([type="checkbox"]):not([type="radio"]),
body.pwa-native-app .journey-checkout-form select,
body.pwa-native-app .journey-checkout-form textarea { border-radius: 14px; }
body.pwa-native-app .coupon-chip { border-radius: 999px; }

/* Lists, account, authentication and order flow */
body.pwa-native-app.pwa-page-login main,
body.pwa-native-app.pwa-page-register main,
body.pwa-native-app.pwa-page-forgot_password main,
body.pwa-native-app.pwa-page-reset_password main { max-width: 520px; padding-top: 28px; }
body.pwa-native-app.pwa-page-login main > form > div,
body.pwa-native-app.pwa-page-login main > div,
body.pwa-native-app.pwa-page-register main > form > div,
body.pwa-native-app.pwa-page-forgot_password main > form > div,
body.pwa-native-app.pwa-page-reset_password main > form > div { border: 1px solid var(--pwa-line) !important; border-radius: 20px !important; box-shadow: var(--pwa-shadow-sm) !important; }
body.pwa-native-app.pwa-page-login main form input:not([type="hidden"]),
body.pwa-native-app.pwa-page-register main form input:not([type="hidden"]),
body.pwa-native-app.pwa-page-forgot_password main form input:not([type="hidden"]),
body.pwa-native-app.pwa-page-reset_password main form input:not([type="hidden"]) { min-height: 52px !important; padding: 13px 12px !important; border-width: 0 0 1px !important; border-radius: 0 !important; box-shadow: none !important; }
body.pwa-native-app.pwa-page-login main form button[type="submit"],
body.pwa-native-app.pwa-page-register main form button[type="submit"],
body.pwa-native-app.pwa-page-forgot_password main form button[type="submit"],
body.pwa-native-app.pwa-page-reset_password main form button[type="submit"] { min-height: 52px !important; border-radius: 16px !important; }
body.pwa-native-app .verification-spam-card { border-radius: 24px; box-shadow: var(--pwa-shadow-float); }

body.pwa-native-app.pwa-page-account .account-profile-card { border: 1px solid var(--pwa-line) !important; border-radius: 22px !important; box-shadow: var(--pwa-shadow-sm) !important; }
body.pwa-native-app.pwa-page-orders main > div,
body.pwa-native-app.pwa-page-order main > section,
body.pwa-native-app.pwa-page-success main > div { border: 1px solid var(--pwa-line) !important; border-radius: 19px !important; box-shadow: var(--pwa-shadow-sm) !important; }
body.pwa-native-app .order-flow { overflow: hidden; }
body.pwa-native-app .order-flow > div { line-height: 1.25; }
body.pwa-native-app.pwa-page-notifications .notification-checkbox { transform: scale(1.15); accent-color: var(--accent); }
body.pwa-native-app.pwa-page-notifications .notification-selector { width: 44px; height: 44px; margin: -4px 0 0 -4px; display: grid; place-items: center; flex: 0 0 44px; border-radius: 12px; cursor: pointer; }
body.pwa-native-app.pwa-page-notifications .notification-selector:hover { background: #fff7e8; background: color-mix(in srgb, var(--accent) 8%, #fff); }
body.pwa-native-app.pwa-page-notifications .shop-row .info > img { width: 100% !important; max-width: 440px !important; height: auto !important; border-radius: 15px !important; }
body.pwa-native-app .shop-search-form { padding: 12px; border: 1px solid var(--pwa-line); border-radius: 18px; background: #fff; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app .shop-search-card { border: 1px solid var(--pwa-line); border-radius: 18px; box-shadow: var(--pwa-shadow-sm); overflow: hidden; }
body.pwa-native-app .praca-catalog-pager { gap: 7px; }
body.pwa-native-app .praca-catalog-pager a, body.pwa-native-app .praca-catalog-pager span { min-width: 42px; min-height: 42px; display: inline-grid; place-items: center; border-radius: 13px; }

/* Driver and customer support remain operational, but use the same surfaces. */
body.pwa-native-app.pwa-page-driver { --accent: #e99a08; background: #f4f7fb; }
body.pwa-native-app.pwa-page-driver > .top,
body.pwa-native-app.pwa-page-driver > header.top,
body.pwa-native-app.pwa-page-driver .driver-page-top {
  min-height: 70px;
  padding: calc(12px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));
  border: 0;
  border-radius: 0 0 22px 22px;
  color: #3b2500;
  background: linear-gradient(135deg, #f2ad27, #d88700);
  box-shadow: 0 8px 26px rgba(85,53,5,.15);
}
body.pwa-native-app.pwa-page-driver .driver-hero { color: #3b2500; background: linear-gradient(135deg, #f2ad27, #d88700); }
body.pwa-native-app.pwa-page-driver .driver-nav a.active { color: #fff; background: linear-gradient(135deg, #9b5100, #763800); }
body.pwa-native-app.pwa-page-driver > .top a,
body.pwa-native-app.pwa-page-driver > header.top a,
body.pwa-native-app.pwa-page-driver .driver-page-top a { color: inherit; }
body.pwa-native-app.pwa-page-driver > .top h1,
body.pwa-native-app.pwa-page-driver > header.top h1,
body.pwa-native-app.pwa-page-driver .driver-page-top h1 { color: #3b2500; font-weight: 880; letter-spacing: -.025em; }
body.pwa-native-app.pwa-page-driver .page,
body.pwa-native-app.pwa-page-driver .driver-page-main { width: min(100%, 980px); margin-inline: auto; padding-left: max(14px, env(safe-area-inset-left)); padding-right: max(14px, env(safe-area-inset-right)); padding-bottom: calc(100px + env(safe-area-inset-bottom)); }
body.pwa-native-app.pwa-page-driver main.driver-content { max-width: 1180px; padding: 20px max(20px, env(safe-area-inset-right)) calc(28px + env(safe-area-inset-bottom)) max(20px, env(safe-area-inset-left)); }
body.pwa-native-app.pwa-page-driver .card,
body.pwa-native-app.pwa-page-driver .ride,
body.pwa-native-app.pwa-page-driver .driver-result { border: 1px solid var(--pwa-line); border-radius: 18px; background: #fff; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app.pwa-page-driver .btn,
body.pwa-native-app.pwa-page-driver .submit { min-height: 46px; border-radius: 14px; font-weight: 850; }
body.pwa-native-app.pwa-page-driver .hero { border-radius: 22px; box-shadow: var(--pwa-shadow-sm); }
body.pwa-native-app.pwa-page-driver .nav { border-top: 1px solid var(--pwa-line); border-radius: 22px 22px 0 0; background: rgba(255,255,255,.96); box-shadow: 0 -9px 30px rgba(23,32,51,.08); backdrop-filter: blur(16px); -webkit-backdrop-filter: blur(16px); }
body.pwa-native-app.pwa-page-driver .nav a.active { color: var(--pwa-accent-readable); background: #fff7e8; background: color-mix(in srgb, var(--accent) 10%, #fff); }
body.pwa-native-app .driver-find,
body.pwa-native-app .driver-page-main,
body.pwa-native-app .driver-shell { color: var(--pwa-ink); }
body.pwa-native-app .driver-find-card,
body.pwa-native-app .driver-search-card,
body.pwa-native-app .driver-profile-card { padding: clamp(15px, 4vw, 22px); }
body.pwa-native-app .driver-field input,
body.pwa-native-app .driver-field select,
body.pwa-native-app .driver-field textarea { border-radius: 14px; }
body.pwa-native-app .driver-secondary { min-height: 46px; border-radius: 14px; }
body.pwa-native-app .driver-map-preview,
body.pwa-native-app .driver-search-map { border-radius: 18px; overflow: hidden; }
body.pwa-native-app .driver-profile-modal,
body.pwa-native-app .driver-search-modal { backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); }
body.pwa-native-app .driver-profile-modal > *, body.pwa-native-app .driver-search-modal > * { border-radius: 24px; }

body.pwa-native-app .customer-chats,
body.pwa-native-app .shop-chat { max-width: 780px; margin-inline: auto; }
body.pwa-native-app .customer-chat-row { min-height: 78px; margin-bottom: 10px; padding: 13px; }
body.pwa-native-app .shop-chat-box { padding: 14px; }
body.pwa-native-app .chat-bubble { border-radius: 17px; box-shadow: 0 2px 8px rgba(23,32,51,.05); }

/* Desktop keeps the mobile app language inside a contained shell. */
@media (min-width: 760px) {
  body.pwa-native-app .topbar { padding-left: max(24px, calc((100vw - 1180px) / 2), env(safe-area-inset-left)); padding-right: max(24px, calc((100vw - 1180px) / 2), env(safe-area-inset-right)); }
  body.pwa-native-app.pwa-page-home .topbar { padding-left: max(34px, calc((100vw - 980px) / 2), env(safe-area-inset-left)); padding-right: max(34px, calc((100vw - 980px) / 2), env(safe-area-inset-right)); }
  body.pwa-native-app.pwa-page-home main { padding-left: max(22px, env(safe-area-inset-left)); padding-right: max(22px, env(safe-area-inset-right)); }
  body.pwa-native-app #shopList { grid-template-columns: repeat(3, minmax(0,1fr)); }
  body.pwa-native-app .home-shop-card .info { min-height: 96px; }
  body.pwa-native-app .pwa-bottom-nav { bottom: 10px; border-bottom: 1px solid rgba(27,37,56,.08); border-radius: 24px; padding-bottom: 8px; }
  body.pwa-native-app.has-bottom-nav main { padding-bottom: calc(var(--pwa-bottom-nav-height, 92px) + 30px); }
}

@media (min-width: 601px) {
  body.pwa-native-app[class*="storefront-layout-"] main.wide { padding-left: max(clamp(12px, 3vw, 26px), env(safe-area-inset-left)); padding-right: max(clamp(12px, 3vw, 26px), env(safe-area-inset-right)); }
}

@media (max-width: 620px) {
  body.pwa-native-app .topbar { gap: 7px; padding-left: max(12px, env(safe-area-inset-left)); padding-right: max(12px, env(safe-area-inset-right)); }
  body.pwa-native-app .topbar .back,
  body.pwa-native-app .topbar .nav-icon,
  body.pwa-native-app .topbar-shop-link { width: 42px; height: 42px; min-width: 42px; }
  body.pwa-native-app.pwa-page-home .topbar { min-height: 138px; padding-bottom: 48px; }
  body.pwa-native-app.pwa-page-home .topbar h1 { font-size: 31px; }
  body.pwa-native-app.pwa-page-home main { margin-top: -46px; }
  body.pwa-native-app .home-block-search { padding: 15px; }
  body.pwa-native-app .distance-controls { grid-template-columns: 1fr; }
  body.pwa-native-app .distance-outside { justify-content: space-between; }
  body.pwa-native-app .home-shops-heading { align-items: flex-start; }
  body.pwa-native-app .home-toggle { flex-direction: column-reverse; align-items: flex-end; gap: 4px !important; padding: 0 !important; }
  body.pwa-native-app .product-buy-row { bottom: calc(78px + env(safe-area-inset-bottom)); }
  body.pwa-native-app .order-flow { grid-template-columns: repeat(2,1fr) !important; row-gap: 13px !important; }
}

@media (max-width: 370px) {
  body.pwa-native-app #shopList { grid-template-columns: 1fr; }
  body.pwa-native-app .home-shop-card-media { aspect-ratio: 2/1; }
  body.pwa-native-app .pwa-bottom-nav a { font-size: 9px; }
  body.pwa-native-app .pwa-bottom-nav a svg { width: 34px; }
}

@media (prefers-reduced-motion: reduce) {
  body.pwa-native-app *, body.pwa-native-app *::before, body.pwa-native-app *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

/* Keep the visual navbar and its hit area on the same iOS compositor layer. */
body.pwa-native-app .pwa-loading-overlay { pointer-events: none; }
body.pwa-native-app .praca-page-hidden { display: none !important; }
