/* WooCommerce Store PWA app-shell UI. Keep selectors scoped to avoid theme collisions. */
.wcspwa-bottom-nav { display:flex; position:fixed; z-index:9998; right:0; bottom:0; left:0; box-sizing:border-box; justify-content:space-around; gap:4px; padding:8px max(8px, env(safe-area-inset-left)) calc(8px + env(safe-area-inset-bottom)) max(8px, env(safe-area-inset-right)); background:rgba(255,255,255,.96); border-top:1px solid rgba(17,24,39,.12); box-shadow:0 -8px 24px rgba(17,24,39,.08); backdrop-filter:blur(14px); }
.wcspwa-bottom-nav[hidden] { display:none !important; }
.wcspwa-nav-item { display:flex; position:relative; min-width:0; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:3px; padding:3px 2px; border:0; background:transparent; color:#4b5563; font:inherit; font-size:11px; line-height:1.1; text-decoration:none; cursor:pointer; }
.wcspwa-nav-icon { position:relative; display:block; min-height:20px; font-size:21px; line-height:20px; }
.wcspwa-nav-icon svg { display:block; width:21px; height:21px; fill:none; stroke:currentColor; stroke-linecap:round; stroke-linejoin:round; stroke-width:1.8; }
.wcspwa-nav-item:hover, .wcspwa-nav-item:focus-visible { color:#111827; }
.wcspwa-cart-count { position:absolute; top:-7px; right:-12px; min-width:16px; padding:1px 4px; border-radius:999px; background:#dc2626; color:#fff; font-size:10px; font-weight:700; line-height:14px; text-align:center; }
.wcspwa-install-block { display:flex; align-items:center; gap:10px; flex-wrap:wrap; margin:1em 0; }
.wcspwa-install-trigger { padding:.7em 1em; border:0; border-radius:8px; background:#111827; color:#fff; font:inherit; cursor:pointer; }
.wcspwa-install-trigger:hover, .wcspwa-install-trigger:focus-visible { background:#374151; }
.wcspwa-install-block pwa-install { display:block; }
.wcspwa-loading { display:flex; position:fixed; z-index:10000; top:16px; left:50%; align-items:center; gap:8px; padding:8px 12px; border-radius:999px; background:#111827; color:#fff; font:500 13px/1 system-ui,sans-serif; opacity:0; pointer-events:none; transform:translate(-50%,-12px); transition:opacity .16s ease,transform .16s ease; }
.wcspwa-loading.is-visible { opacity:1; transform:translate(-50%,0); }
.wcspwa-spinner { width:14px; height:14px; border:2px solid rgba(255,255,255,.35); border-top-color:#fff; border-radius:50%; animation:wcspwa-spin .7s linear infinite; }
.wcspwa-ptr { display:flex; position:fixed; z-index:9999; top:0; left:50%; align-items:center; gap:8px; padding:8px 14px; border-radius:0 0 14px 14px; background:#111827; color:#fff; font:500 12px/1 system-ui,sans-serif; opacity:0; transform:translate(-50%,-70px); transition:opacity .15s ease; pointer-events:none; }
.wcspwa-ptr.is-active { opacity:1; }
.wcspwa-ptr-arrow { font-size:18px; line-height:14px; }
body.wcspwa-is-standalone { padding-bottom:76px; }
@keyframes wcspwa-spin { to { transform:rotate(360deg); } }
@media (min-width: 800px) { .wcspwa-bottom-nav { right:24px; bottom:24px; left:auto; width:360px; border:1px solid rgba(17,24,39,.12); border-radius:18px; } body.wcspwa-is-standalone { padding-bottom:0; } }
