/* PWA install card + calendar subscription section (theme variables, works in every theme) */
.pwa-card{position:fixed;left:50%;bottom:calc(16px + env(safe-area-inset-bottom));transform:translate(-50%,140%);z-index:150;display:flex;align-items:center;gap:12px;width:min(520px,calc(100% - 24px));padding:12px 12px 12px 14px;border-radius:16px;background:var(--card,#17171a);color:var(--fg,#f4f2ee);border:1px solid var(--line);box-shadow:0 18px 50px rgba(0,0,0,.4);transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.pwa-card.show{transform:translate(-50%,0)}
.pwa-card img{border-radius:10px;flex:none}
.pwa-txt{display:flex;flex-direction:column;gap:2px;min-width:0;font-size:13px;line-height:1.35}.pwa-txt b{font-size:14.5px}.pwa-txt span{color:var(--muted)}
.pwa-share{width:16px;height:16px;vertical-align:-3px;color:#0a84ff}
.pwa-acts{margin-left:auto;display:flex;gap:6px;flex:none}
.pwa-go,.pwa-x{font:600 13px/1 var(--f-body,Inter,sans-serif);padding:10px 14px;border-radius:999px;border:1px solid var(--line);background:none;color:var(--fg);cursor:pointer}
.pwa-go{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.pwa-card.ios .pwa-x{font-size:20px;padding:6px 11px}
.pwa-card.ios:after{content:"";position:absolute;left:50%;bottom:-8px;width:16px;height:16px;background:inherit;border-right:1px solid var(--line);border-bottom:1px solid var(--line);transform:translateX(-50%) rotate(45deg)}
.cal-sub{padding:clamp(40px,6vw,72px) var(--pad,24px);border-top:1px solid var(--line);background:var(--bg);color:var(--fg)}
.cal-in{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:minmax(260px,1fr) 1.6fr;gap:clamp(24px,4vw,56px);align-items:start}
.cal-k{font:700 11.5px/1 var(--f-body,Inter,sans-serif);letter-spacing:.14em;text-transform:uppercase;color:var(--reme)}
.cal-head h2{font:800 clamp(26px,3vw,38px)/1.05 var(--f-display);letter-spacing:-.02em;margin:10px 0}.cal-head p{color:var(--muted)}
.cal-feeds{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cal-feed{padding:14px;border:1px solid var(--line);border-radius:14px;background:var(--card)}.cal-feed.main{border-color:var(--reme)}
.cal-feed b{display:block;font-size:15px;margin-bottom:10px}
.cal-btns{display:flex;flex-wrap:wrap;gap:6px}
.cal-btn{font:600 12.5px/1 var(--f-body,Inter,sans-serif);padding:9px 11px;border-radius:999px;background:var(--fg);color:var(--bg);border:1px solid var(--fg);cursor:pointer}
.cal-btn.ghost{background:none;color:var(--fg);border-color:var(--line)}
.cal-how{grid-column:2;margin:4px 0 0;padding-left:18px;color:var(--muted);font-size:13px;line-height:1.55}.cal-how li+li{margin-top:4px}
@media (max-width:860px){.cal-in{grid-template-columns:1fr}.cal-feeds{grid-template-columns:1fr}.cal-how{grid-column:1}}
.cal-head{grid-row:span 2}@media (max-width:860px){.cal-head{grid-row:auto}}
@media (prefers-reduced-motion:reduce){.pwa-card{transition:none}} /* r68 */

/* r85 A8: the install card is a slim bar above the bottom bars; never over search results */
.pwa-card{gap:10px;padding:6px 8px 6px 10px;border-radius:14px;box-shadow:0 8px 24px rgba(0,0,0,.3);width:min(460px,calc(100% - 24px))}
.pwa-card img{width:28px;height:28px;border-radius:7px}
.pwa-txt{font-size:12.5px;line-height:1.25}.pwa-txt b{font-size:13px}
.pwa-card:not(.ios) .pwa-txt span{display:none}.pwa-card.ios .pwa-txt b{display:none}.pwa-card.ios .pwa-txt span{color:var(--fg,#f4f2ee)}
.pwa-go,.pwa-x{padding:7px 11px;font-size:12.5px}.pwa-card.ios .pwa-x{font-size:18px;padding:3px 9px}.pwa-card.ios:after{display:none}
html.evb-on .pwa-card{bottom:calc(76px + env(safe-area-inset-bottom))}
html.sn.evb-on .pwa-card{bottom:calc(132px + env(safe-area-inset-bottom))}
body.has-results .pwa-card,body.has-map .pwa-card,html.nt-open .pwa-card{display:none}

/* r71.7.2: the install card never shows on event pages */
body:has(#ev) .pwa-card{display:none!important}

/* r71.7.4 install bar (Hater r2): never fixed over page content. It sits in flow at the top of the Saved sheet. */
.pwa-card.pwa-in{position:static;left:auto;bottom:auto;transform:none;width:auto;margin:0 16px 12px;box-shadow:none;border-radius:12px;transition:none;z-index:auto}
.pwa-card.pwa-in.ios .pwa-txt span{color:var(--fg,#f4f2ee)}
html.evb-on .pwa-card.pwa-in,html.sn.evb-on .pwa-card.pwa-in{bottom:auto}
