/* Boutique installée sur le téléphone : plein écran sous la barre d'état, sans rebond ni surlignage, invitation à installer. */
.of-pwa-banner { position: fixed; left: 12px; right: 12px; bottom: calc(86px + env(safe-area-inset-bottom)); z-index: 1200; padding: .9rem 1rem; border-radius: 18px; background: #002117; color: #faf8f1; box-shadow: 0 14px 34px rgba(0, 33, 23, .35); font-family: inherit; }
.of-pwa-banner p { margin: 0 0 .7rem; font-size: .92rem; line-height: 1.4; }
.of-pwa-banner-actions { display: flex; gap: .6rem; justify-content: flex-end; }
.of-pwa-banner button { min-height: 44px; padding: 0 1.2rem; border-radius: 999px; border: 0; font: inherit; font-weight: 700; cursor: pointer; }
.of-pwa-install { background: #e6c27a; color: #002117; }
.of-pwa-later { background: rgba(250, 248, 241, .14); color: #faf8f1; }

html.shop-standalone { -webkit-text-size-adjust: 100%; }
html.shop-standalone body { overscroll-behavior-y: none; -webkit-tap-highlight-color: transparent; padding-top: env(safe-area-inset-top); }
html.shop-standalone body::before { content: ""; position: fixed; top: 0; left: 0; right: 0; height: env(safe-area-inset-top); background: #faf8f1; z-index: 2000; pointer-events: none; }
html.shop-standalone a, html.shop-standalone button { -webkit-touch-callout: none; touch-action: manipulation; }
html.shop-standalone .of-desktop-only { display: none !important; }
html.shop-standalone .shop-footer { padding-bottom: calc(96px + env(safe-area-inset-bottom)); }
@media (display-mode: standalone) { .of-pwa-banner { display: none; } }
