
/* PWA install banner + trial badge + preview-ended */
.install-banner{
  position:fixed;left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom,0px));
  z-index:1200;background:rgba(255,255,255,.96);backdrop-filter:blur(14px);
  border-radius:20px;box-shadow:0 16px 48px rgba(45,58,74,.18);border:2px solid #ffe08a;
  padding:14px 14px 12px;animation:fgInstallIn .32s ease;max-width:420px;margin:0 auto;
}
@keyframes fgInstallIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.install-banner-x{position:absolute;top:8px;right:10px;width:32px;height:32px;border:0;background:transparent;font-size:22px;color:#9aa0a6;cursor:pointer}
.install-banner-row{display:flex;gap:12px;align-items:flex-start;padding-right:28px}
.install-banner-icon{width:48px;height:48px;border-radius:12px;flex-shrink:0;box-shadow:0 4px 12px rgba(255,122,107,.3)}
.install-banner-copy strong{display:block;font-size:1.05rem;font-weight:800;font-family:"Baloo 2",sans-serif;margin-bottom:4px}
.install-banner-copy p{margin:0;font-size:.88rem;color:var(--soft);line-height:1.4}
.install-banner-copy .ios-share{display:inline-flex;vertical-align:-2px;color:var(--coral)}
.install-banner-cta{width:100%;margin-top:12px;justify-content:center}
.sw-update-toast{
  position:fixed;left:50%;bottom:calc(80px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);
  z-index:1300;border:0;cursor:pointer;background:#2d3a4a;color:#fff;font-weight:800;font-size:.85rem;
  padding:12px 18px;border-radius:999px;box-shadow:0 10px 28px rgba(0,0,0,.28);white-space:nowrap;
}
.app-preview-badge{position:relative;display:block;width:100%;box-sizing:border-box;z-index:1;margin:0;padding:calc(6px + env(safe-area-inset-top,0px)) 12px 6px;background:linear-gradient(90deg,#ff7a6b,#ff6fae);color:#fff;font:700 12px/1.35 Nunito,system-ui,sans-serif;text-align:center}
.app-preview-badge a{color:#fff;text-decoration:underline}
.preview-ended{
  position:fixed;inset:0;z-index:2000;background:linear-gradient(160deg,#fff3a3,#ffe0c2 40%,#ffd6ea 70%,#d7f0ff);
  display:flex;align-items:center;justify-content:center;padding:24px;overflow:auto;
}
.preview-ended-card{
  background:#fff;border-radius:28px;padding:28px 24px;max-width:420px;width:100%;
  box-shadow:0 12px 36px rgba(45,58,74,.12);border:3px solid #ffe08a;text-align:center;
}
.preview-ended-card img{width:88px;height:88px;border-radius:20px;margin:0 auto 14px;display:block;box-shadow:0 6px 16px rgba(255,122,107,.25)}
.preview-ended-card h1{font-size:1.55rem;margin:0 0 10px}
.preview-ended-card p{color:var(--soft);margin:0 0 12px;font-size:.95rem}
.preview-ended-card .price{font-family:"Baloo 2",sans-serif;font-size:1.35rem;font-weight:800;color:var(--coral);margin:8px 0 16px}
.preview-ended-card .steps{text-align:left;background:#fff8ec;border-radius:16px;padding:14px 16px;margin:16px 0;font-size:.88rem}
.preview-ended-card .steps strong{display:block;margin-bottom:6px;color:var(--ink)}
.preview-ended-card .steps ol{margin:0;padding-left:18px}
.preview-ended-card .steps li{margin:4px 0}
.preview-ended-card .note{font-size:.8rem;color:var(--soft);margin-top:12px}
body.has-preview-badge{padding-top:0}
@media(min-width:960px){
  .install-banner{left:max(12px,calc(50% - 480px));right:auto;width:min(390px,calc(100vw - 24px))}
}
