@media (max-width: 760px) {
  body.mobile-storefront-theme {
    --mobile-dock-height: calc(72px + env(safe-area-inset-bottom, 0px));
    --mobile-primary: #35664f;
    --mobile-secondary: #111827;
    --mobile-header-height: 128px;
    padding-top: var(--mobile-header-height);
    padding-bottom: calc(var(--mobile-dock-height) + 56px);
    scroll-padding-bottom: calc(var(--mobile-dock-height) + 56px);
  }
  body.mobile-storefront-theme .site-header .header-main { min-height: var(--mobile-header-height) !important; height: var(--mobile-header-height); grid-template-columns: minmax(0, 1fr) auto !important; align-items: center; padding: 8px 0 !important; }
  body.mobile-storefront-theme .site-header,
  body.mobile-storefront-theme .site-header.is-menu-open { position: fixed !important; inset: 0 0 auto !important; z-index: 1000; overflow: visible; background: var(--storefront-bg, #e3ebe0); box-shadow: none; }
  body.mobile-storefront-theme .site-header .brand { width: 112px; min-width: 0; }
  body.mobile-storefront-theme .site-header .brand-logo { width: 112px !important; height: 112px !important; max-height: none !important; object-fit: contain; }
  .mobile-storefront-theme .site-header .purchase-progress,
  .mobile-storefront-theme .site-header .cart-link,
  .mobile-storefront-theme .site-header > .main-nav:not(.is-menu-open) { display: none !important; }
  body.mobile-storefront-theme .site-header > .main-nav { position: fixed; right: 12px; left: auto; width: min(330px, calc(100% - 24px)); margin: 0; padding: 8px; border: 1px solid var(--storefront-border, #d9e2d5); border-radius: 12px; background: var(--storefront-surface-raised, white); box-shadow: 0 8px 24px rgba(0,0,0,.12); overflow: auto; overscroll-behavior: contain; }
  body.mobile-storefront-theme .site-header.is-menu-open > .main-nav { display: block !important; }
  body.mobile-storefront-theme .site-header .main-nav .nav-inner { display: flex !important; flex-direction: column; align-items: stretch; width: 100%; min-height: 0; gap: 4px; margin: 0; padding: 0; }
  body.mobile-storefront-theme .site-header .main-nav a,
  body.mobile-storefront-theme .site-header .main-nav button { display: flex; align-items: center; justify-content: flex-start; gap: 10px; min-height: 44px; padding: 8px 10px; max-width: 100%; font-size: .95rem; font-weight: 700; white-space: normal; overflow-wrap: anywhere; }
  body.mobile-storefront-theme .site-header .main-nav .nav-icon { flex: 0 0 28px; }
  body.mobile-storefront-theme .site-header .main-nav .mobile-account-section { width: 100%; margin: 4px 0 0; padding: 4px 0 0; }
  body.mobile-storefront-theme .site-header .mobile-menu-button { display: grid !important; place-items: center; width: 44px; height: 44px; min-width: 44px; min-height: 44px; margin: 0; border: 1px solid var(--storefront-border, #d9e2d5); border-radius: 12px; background: var(--storefront-surface-raised, white); color: var(--storefront-text, #263b30); font-size: 20px; }
  .mobile-storefront-theme .site-header .header-actions { gap: 8px; }
  .mobile-storefront-theme .site-header .account-trigger { display: none !important; }
  .mobile-shipping-progress { padding: 0 16px 8px; font-size: 11px; line-height: 1.3; background: var(--header-bg, #e3ebe0); }
  .mobile-shipping-progress p { margin: 0 0 4px; }
  .mobile-shipping-progress progress { display: block; width: 100%; height: 4px; accent-color: var(--mobile-primary); }
  body.mobile-storefront-theme:has(.mobile-shipping-progress:not([hidden])) { padding-top: calc(var(--mobile-header-height) + var(--mobile-shipping-height,36px)); }
  .mobile-storefront-theme .mobile-bottom-nav { display: grid; }
  .mobile-storefront-theme .storefront-returns-action,
  .mobile-storefront-theme .cookie-consent-settings-link { bottom: calc(var(--mobile-dock-height) + 8px) !important; left: auto !important; right: 12px !important; width: 44px; height: 44px; min-height: 44px; max-width: 44px; padding: 0; display: grid; place-items: center; border-radius: 50%; font-size: 18px; }
  .mobile-storefront-theme .storefront-returns-action { right: 64px !important; }
  .mobile-storefront-theme .cookie-consent-settings-link > i { display: block !important; }
  .mobile-storefront-theme .cookie-consent-banner { bottom: calc(var(--mobile-dock-height) + 8px); }
  .mobile-storefront-theme .builder-summary.is-sticky,
  .mobile-storefront-theme .builder-footer,
  .mobile-storefront-theme .cart-sticky-actions { bottom: calc(var(--mobile-dock-height) + 48px); }
  .mobile-storefront-theme.mobile-keyboard-open .mobile-bottom-nav,
  .mobile-storefront-theme.mobile-keyboard-open .storefront-returns-action,
  .mobile-storefront-theme.mobile-keyboard-open .cookie-consent-settings-link,
  .mobile-storefront-theme.mobile-keyboard-open .mobile-checkout-summary,
  .mobile-storefront-theme.mobile-consent-open .mobile-bottom-nav { display: none; }
  .mobile-storefront-theme .mobile-nav-item:focus-visible { outline: 2px solid var(--mobile-primary); outline-offset: -3px; }
  body.mobile-storefront-theme .storefront-footer-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-areas: "information details" "brand details"; gap: 24px 20px; }
  .mobile-storefront-theme .storefront-footer-information { grid-area: information; }
  .mobile-storefront-theme .storefront-footer-details { grid-area: details; }
  .mobile-storefront-theme .storefront-footer-brand { grid-area: brand; justify-self: start; }
  .mobile-storefront-theme .storefront-footer-description { overflow-wrap: anywhere; }
  .mobile-storefront-theme .mobile-footer-toggle { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; max-width: 100%; padding: 4px 0; border: 0; background: transparent; color: inherit; font: inherit; text-align: left; }
  .mobile-footer-toggle::after { content: "+"; }
  .mobile-footer-toggle[aria-expanded="true"]::after { content: "−"; }
  .mobile-footer-content[hidden] { display: none !important; }
  body.mobile-storefront-theme.mobile-checkout-theme { --mobile-dock-height: 0px; padding-bottom: 76px; }
  body.mobile-storefront-theme.mobile-summary-active { --mobile-dock-height: calc(60px + env(safe-area-inset-bottom, 0px)); padding-bottom: calc(var(--mobile-dock-height) + 76px); }
  body.mobile-storefront-theme .cart-layout { grid-template-columns: minmax(0, 1fr); gap: 20px; }
  body.mobile-storefront-theme .checkout-shell,
  body.mobile-storefront-theme .checkout-panel,
  body.mobile-storefront-theme .cart-main,
  body.mobile-storefront-theme .cart-summary { min-width: 0; max-width: 100%; }
  body.mobile-storefront-theme:has(.checkout-shell) .field-grid { grid-template-columns: minmax(0, 1fr); align-items: stretch; }
  body.mobile-storefront-theme:has(.checkout-shell) .fake-field,
  body.mobile-storefront-theme:has(.checkout-shell) .fake-field input,
  body.mobile-storefront-theme:has(.checkout-shell) .fake-field select,
  body.mobile-storefront-theme:has(.checkout-shell) .fake-field textarea { min-width: 0; max-width: 100%; box-sizing: border-box; }
  body.mobile-storefront-theme:has(.checkout-shell) .phone-field-row { grid-template-columns: minmax(88px, .65fr) minmax(0, 1fr); }
  body.mobile-storefront-theme:has(.checkout-shell) .checkout-progress-panel .progress-track { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; min-height: 72px; padding: 6px; gap: 4px; }
  body.mobile-storefront-theme:has(.checkout-shell) .checkout-progress-panel .progress-step { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 4px; min-width: 0; min-height: 60px; padding: 6px 2px; transform: none; }
  body.mobile-storefront-theme:has(.checkout-shell) .checkout-progress-panel .step-label { font-size: .75rem; line-height: 1.2; overflow-wrap: anywhere; }
  body.mobile-storefront-theme:has(.checkout-shell) .checkout-progress-panel .step-icon { flex: 0 0 24px; width: 24px; height: 24px; }
  body.mobile-storefront-theme .mobile-checkout-summary { position: fixed !important; inset: auto 0 0; z-index: 800; display: flex; flex-direction: column; align-items: stretch; max-height: min(65dvh, 540px); padding: 0 !important; border-radius: 12px 12px 0 0; overflow: auto; background: var(--storefront-surface-raised, white); }
  .mobile-storefront-theme .mobile-checkout-summary > :not(.mobile-summary-toggle) { display: none; }
  .mobile-storefront-theme .mobile-checkout-summary.is-expanded > :not(.mobile-summary-toggle) { display: block; margin: 12px 16px; }
  .mobile-storefront-theme .mobile-checkout-summary .mobile-summary-toggle { flex: 0 0 auto; position: sticky; top: 0; z-index: 1; width: 100%; min-height: 60px; padding: 12px 16px calc(12px + env(safe-area-inset-bottom, 0px)); display: flex; align-items: center; justify-content: space-between; gap: 12px; border: 0; background: var(--storefront-surface-raised, white); color: var(--storefront-text, #263b30); font: inherit; font-weight: 700; text-align: left; }
  .mobile-summary-toggle::after { content: "+"; }
  .mobile-summary-toggle[aria-expanded="true"]::after { content: "−"; }
  .mobile-storefront-theme .cart-layout.is-confirmation-step .mobile-checkout-summary,
  .mobile-storefront-theme .cart-layout.is-success-state .mobile-checkout-summary { display: none; }
}
@media (max-width: 360px) {
  body.mobile-storefront-theme .storefront-footer-grid { grid-template-columns: minmax(0, 1fr); grid-template-areas: "information" "details" "brand"; gap: 16px; }
}
.mobile-bottom-nav { display: none; position: fixed; inset: auto 0 0; z-index: 800; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: center; min-height: 72px; padding: 8px 4px calc(8px + env(safe-area-inset-bottom, 0px)); background: var(--admin-panel, #fff); border-top: 1px solid var(--admin-line, #d9e2d5); }
.mobile-nav-item { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; min-width: 0; min-height: 48px; padding: 4px; border: 0; border-radius: 8px; background: transparent; color: var(--mobile-secondary, #263b30); font: inherit; font-size: 11px; line-height: 1.2; text-decoration: none; cursor: pointer; overflow-wrap: anywhere; }
.mobile-nav-item > i { font-size: 20px; }
.mobile-nav-item[aria-current="page"] { color: var(--mobile-primary, #35664f); font-weight: 700; }
.mobile-nav-central { margin: 0 4px; background: var(--mobile-primary, #35664f); color: white !important; border-radius: 12px; }
.mobile-cart-badge { position: absolute; top: -4px; right: 0; min-width: 20px; height: 20px; padding: 2px 4px; border: 2px solid white; border-radius: 50%; background: var(--mobile-secondary, #263b30); color: white; font-size: 10px; line-height: 12px; text-align: center; }
.mobile-cart-feedback { position: absolute; top: -22px; left: calc(50% - 16px); padding: 3px 6px; border-radius: 6px; background: var(--mobile-primary, #35664f); color: white; font-weight: 700; }
.mobile-nav-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.mobile-quick-actions { width: min(360px, calc(100vw - 32px)); padding: 24px; border: 1px solid var(--admin-line, #d9e2d5); border-radius: 12px; background: var(--admin-panel, #fff); color: var(--admin-text, #263b30); }
.mobile-quick-actions a, .mobile-quick-actions button { display: block; min-height: 44px; padding: 12px; color: inherit; font: inherit; }

@media(max-width:760px) {
  body.mobile-storefront-theme > .main-nav[data-mobile-menu-portal] { display: block !important; position: fixed !important; z-index: 1100 !important; left: 12px !important; right: auto !important; width: min(340px,calc(100vw - 24px)) !important; margin: 0 !important; box-sizing: border-box; overflow: auto !important; overscroll-behavior: contain; border-radius: 14px; border: 1px solid var(--mobile-secondary,#bdad7a); background: var(--surface,#fffdf3); box-shadow: 0 12px 32px #20352826; }
  body.mobile-storefront-theme > .main-nav[data-mobile-menu-portal] :is(.nav-inner,.nav-categories) { display: flex !important; flex-direction: column; align-items: stretch !important; width: 100%; min-width: 0; gap: 4px; padding: 8px; box-sizing: border-box; }
  body.mobile-storefront-theme > .main-nav[data-mobile-menu-portal] :is(a,button) { text-align: left !important; justify-content: flex-start !important; min-height: 44px; padding: 10px 12px; width: 100%; box-sizing: border-box; }
  body.mobile-storefront-theme > .main-nav[data-mobile-menu-portal] :is(.nav-dropdown,.category-submenu) { position: static !important; max-width: 100%; margin-left: 12px; }
}

@media(max-width:760px){body.mobile-storefront-theme:not(.zenbio-botanical-theme):has(.site-header.is-menu-open){padding-top:calc(var(--mobile-header-height) + var(--mobile-shipping-height,36px))}body.mobile-storefront-theme [data-mobile-menu-portal]{border:1px solid var(--zenbio-line,var(--storefront-border,#d9e2d5))!important;background:var(--zenbio-surface,var(--storefront-surface-raised,#fff))!important;color:var(--zenbio-ink,var(--storefront-text,#263b30))!important;box-shadow:var(--zenbio-shadow,0 8px 24px #0002)!important}body.mobile-storefront-theme [data-mobile-menu-portal] a:hover{background:var(--zenbio-hover,var(--storefront-surface,#edf3e9))}}

.mobile-search-panel{position:fixed;left:12px;right:12px;bottom:calc(var(--mobile-dock-height,72px) + env(safe-area-inset-bottom) + 12px);max-height:65dvh;overflow:auto;overscroll-behavior:contain;z-index:1050;padding:16px;border:1px solid var(--zenbio-line,#d9e2d5);border-radius:16px;background:var(--zenbio-surface,#fffdf7);color:var(--zenbio-ink,#173d2c);box-shadow:var(--zenbio-shadow,0 8px 24px #0002)}.mobile-search-panel form,.mobile-search-panel label{display:grid;gap:8px}.mobile-search-panel input{width:100%;box-sizing:border-box;min-height:44px}.mobile-search-panel form>div{display:flex;gap:8px}.mobile-search-panel button{min-height:44px;border:1px solid var(--zenbio-line,#ddd);border-radius:8px;background:var(--surface,#fff);color:inherit;padding:8px 12px}.mobile-search-panel a{display:flex;align-items:center;gap:12px;padding:10px 0;color:inherit;overflow-wrap:anywhere}.mobile-search-panel img{width:48px;height:48px;object-fit:contain;flex:none}.mobile-search-panel :focus-visible{outline:2px solid var(--zenbio-focus,#315b3f);outline-offset:2px}
