/* Proposta: página de instalação + avisos de versão e conexão do Terminal.
   Tokens do app (app.css) com fallback para os do site público (public-site.css). */

.pw-page,
.pw-layer,
.pw-upd-item,
.pw-upd-mobile {
  --pw-bg: var(--bg-primary, var(--bg));
  --pw-surface: var(--card-bg, var(--surface));
  --pw-surface-2: var(--bg-secondary, var(--surface-2));
  --pw-border: var(--border-color, var(--border));
  --pw-text: var(--text-primary, var(--text));
  --pw-text-2: var(--text-secondary, var(--text-2));
  --pw-brand: var(--primary, var(--brand));
  --pw-brand-ink: var(--opb-electric-ink, var(--brand-ink));
  --pw-brand-soft: color-mix(in srgb, var(--pw-brand) 12%, transparent);
  --pw-ink-ok: color-mix(in srgb, var(--pw-brand) 55%, var(--pw-text));
  --pw-ink-warn: color-mix(in srgb, var(--warning, #f59e0b) 45%, var(--pw-text));
  --pw-shadow: 0 24px 60px -24px rgba(1, 10, 2, .55);
  --pw-radius: 14px;
}

.pw-ic { width: 1em; height: 1em; flex: none; }
.pw-logo { width: 18px; height: 18px; flex: none; object-fit: contain; }
.pw-logo-apple { display: inline-block; width: 15px; height: 18px; background: currentColor; -webkit-mask: url(/assets/images/pwa/logos/apple.svg) center / contain no-repeat; mask: url(/assets/images/pwa/logos/apple.svg) center / contain no-repeat; }

/* Botão de ação dos avisos (verde da marca, usado só onde a ação é "seguir em frente") */
.pw-go {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  height: 40px; padding: 0 18px; border: 0; border-radius: 9px;
  background: var(--pw-brand); color: var(--pw-brand-ink);
  font-size: .875rem; font-weight: 700; letter-spacing: -.005em; white-space: nowrap; cursor: pointer;
  transition: filter .15s, transform .15s;
}
.pw-go:hover { filter: brightness(1.08); }
.pw-go:active { transform: translateY(1px); }
.pw-go:focus-visible { outline: 2px solid var(--pw-brand); outline-offset: 3px; }
.pw-go[disabled] { cursor: default; filter: none; opacity: .85; }
.pw-ghost {
  display: inline-flex; align-items: center; justify-content: center; height: 40px; padding: 0 14px;
  border: 1px solid var(--pw-border); border-radius: 9px; background: transparent; color: var(--pw-text);
  font-size: .875rem; font-weight: 600; cursor: pointer;
}
.pw-ghost:hover { background: var(--pw-surface-2); }
.pw-ghost:focus-visible { outline: 2px solid var(--pw-brand); outline-offset: 2px; }
.pw-spin { width: 15px; height: 15px; flex: none; border: 2px solid currentColor; border-right-color: transparent; border-radius: 50%; animation: pw-spin .7s linear infinite; }
@keyframes pw-spin { to { transform: rotate(360deg); } }

/* ---------------------------------------------------------------- página */
.pw-page { width: min(1160px, 100%); margin: 0 auto; padding: clamp(24px, 4vw, 48px) 16px 72px; color: var(--pw-text); }

.pw-hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: clamp(24px, 4vw, 56px); align-items: center; margin-bottom: 36px; }
.pw-eyebrow { margin: 0 0 14px; color: var(--pw-ink-ok); font-size: var(--fs-label, .75rem); font-weight: 700; letter-spacing: .12em; text-transform: uppercase; }
.pw-hero h1 { margin: 0 0 14px; font-size: clamp(1.9rem, 4.2vw, 2.9rem); font-weight: 800; line-height: 1.08; letter-spacing: -.02em; text-wrap: balance; }
.pw-hero h1 span { color: var(--pw-text-2); }
.pw-lead { max-width: 33rem; margin: 0 0 26px; color: var(--pw-text-2); font-size: 1.02rem; line-height: 1.6; }

.pw-cta-row { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 12px; }
.pw-cta .btn { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-height: 50px; padding-inline: 24px; font-weight: 700; }
.pw-cta .btn .pw-ic { font-size: 1.1em; }
.pw-cta .btn[aria-busy="true"] { pointer-events: none; }
.pw-cta-note { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; margin: 14px 0 0; color: var(--pw-text-2); font-size: .875rem; line-height: 1.5; }
.pw-cta-note b { color: var(--pw-text); font-weight: 600; }
.pw-detected { display: inline-flex; align-items: center; gap: 7px; padding: 4px 10px 4px 6px; border: 1px solid var(--pw-border); border-radius: 999px; background: var(--pw-surface); color: var(--pw-text); font-size: .8rem; font-weight: 600; }
.pw-detected .pw-logo { width: 18px; height: 18px; }

.pw-result { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; align-items: start; max-width: 34rem; padding: 16px 18px; border: 1px solid var(--pw-border); border-radius: var(--pw-radius); background: var(--pw-surface); animation: pw-rise .28s cubic-bezier(.22, 1, .36, 1); }
.pw-result + .pw-cta-row { margin-top: 14px; }
.pw-result-ic { display: grid; place-items: center; width: 36px; height: 36px; grid-row: span 2; border-radius: 10px; background: var(--pw-brand-soft); color: var(--pw-ink-ok); font-size: 18px; }
.pw-result-ic .pw-logo { width: 22px; height: 22px; }
.pw-result strong { font-size: 1rem; line-height: 1.35; }
.pw-result p { margin: 0; color: var(--pw-text-2); font-size: .9rem; line-height: 1.5; }
.pw-result.is-success { border-color: color-mix(in srgb, var(--pw-brand) 45%, var(--pw-border)); background: color-mix(in srgb, var(--pw-brand) 6%, var(--pw-surface)); }
.pw-result.is-neutral .pw-result-ic { background: var(--pw-surface-2); color: var(--pw-text-2); }
.pw-result.is-warn .pw-result-ic { background: color-mix(in srgb, var(--warning, #f59e0b) 16%, transparent); color: var(--pw-ink-warn); }
.pw-inline-steps { grid-column: 2; margin: 10px 0 0; padding: 0; list-style: none; counter-reset: s; }
.pw-inline-steps li { position: relative; padding: 5px 0 5px 28px; color: var(--pw-text); font-size: .9rem; line-height: 1.45; counter-increment: s; }
.pw-inline-steps li::before { content: counter(s); position: absolute; left: 0; top: 5px; display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--pw-surface-2); color: var(--pw-text); font-size: .72rem; font-weight: 700; }
@keyframes pw-rise { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }

.pw-kbd { display: inline-flex; align-items: center; gap: 5px; padding: 1px 7px; margin: 0 1px; border: 1px solid var(--pw-border); border-radius: 6px; background: var(--pw-surface-2); color: var(--pw-text); font-weight: 600; white-space: nowrap; vertical-align: 1px; }
.pw-kbd .pw-ic { font-size: .95em; }

.pw-account { margin: 22px 0 0; padding-top: 16px; border-top: 1px solid var(--pw-border); color: var(--pw-text-2); font-size: .9rem; }
.pw-account a { color: var(--pw-text); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--pw-brand); }

/* ------------------------------------------------ cena: PC Windows + iPhone */
.pw-scene { position: relative; height: 470px; }
.pw-shot-light { display: none; }
html.light .pw-shot-light { display: block; }
html.light .pw-shot-dark { display: none; }

/* Monitor com Windows 11 (imagem parada, sem animação) */
.pw-win { position: absolute; left: 0; top: 6px; width: 90%; }
.pw-win-screen {
  position: relative; container-type: inline-size; aspect-ratio: 16 / 10; overflow: hidden;
  border: 7px solid #0b0b0c; border-bottom-width: 14px; border-radius: 12px;
  background: #0b1733; box-shadow: 0 30px 70px -30px rgba(0, 0, 0, .75), 0 0 0 1px rgba(255, 255, 255, .07);
}
.pw-win-wall { position: absolute; inset: 0; background:
  radial-gradient(38% 55% at 62% 58%, rgba(147, 197, 253, .95) 0%, rgba(59, 130, 246, .75) 30%, transparent 62%),
  radial-gradient(55% 70% at 70% 45%, #1d4ed8 0%, transparent 70%),
  radial-gradient(60% 60% at 20% 90%, #0e2a6b 0%, transparent 70%), #081330; }
html.light .pw-win-wall { background:
  radial-gradient(38% 55% at 62% 58%, #ffffff 0%, #bfdbfe 34%, transparent 64%),
  radial-gradient(55% 70% at 70% 45%, #93c5fd 0%, transparent 72%), #dbeafe; }
.pw-win-app { position: absolute; left: 3.5%; top: 3.5%; right: 3.5%; bottom: calc(5.4cqw + 2.5%); overflow: hidden; border-radius: .8cqw; background: #000; box-shadow: 0 2cqw 5cqw rgba(0, 0, 0, .55), 0 0 0 .08cqw rgba(255, 255, 255, .12); }
html.light .pw-win-app { background: #fff; box-shadow: 0 2cqw 5cqw rgba(0, 0, 0, .25), 0 0 0 .08cqw rgba(0, 0, 0, .12); }
.pw-win-title { display: flex; align-items: center; gap: .9cqw; height: 3.2cqw; padding-left: 1.2cqw; background: #0a0a0a; color: #e6e6e6; font: 600 1.2cqw/1 "Segoe UI Variable", "Segoe UI", system-ui, sans-serif; }
html.light .pw-win-title { background: #f3f3f3; color: #1b1b1b; }
.pw-win-title img { width: 1.7cqw; height: 1.7cqw; border-radius: .35cqw; }
.pw-win-title span { flex: 1; }
.pw-win-menu { display: grid; place-items: center; width: 3.4cqw; font-style: normal; font-size: 1.5cqw; opacity: .75; }
.pw-cap { position: relative; width: 5.2cqw; height: 100%; }
.pw-cap-min::before, .pw-cap-max::before { content: ""; position: absolute; left: 50%; top: 50%; width: 1.1cqw; transform: translate(-50%, -50%); }
.pw-cap-min::before { height: 0; border-top: .09cqw solid currentColor; }
.pw-cap-max::before { height: 1.1cqw; border: .09cqw solid currentColor; border-radius: .15cqw; }
.pw-cap-close::before, .pw-cap-close::after { content: ""; position: absolute; left: 50%; top: 50%; width: 1.4cqw; height: 0; border-top: .09cqw solid currentColor; }
.pw-cap-close::before { transform: translate(-50%, -50%) rotate(45deg); }
.pw-cap-close::after { transform: translate(-50%, -50%) rotate(-45deg); }
.pw-win-body { position: absolute; inset: 3.2cqw 0 0; overflow: hidden; }
.pw-win-body .pw-shot { width: 100%; height: auto; }
.pw-taskbar { position: absolute; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; gap: .9cqw; height: 5.4cqw; padding: 0 1.4cqw; background: rgba(28, 28, 30, .86); backdrop-filter: blur(20px); border-top: .08cqw solid rgba(255, 255, 255, .08); color: #fff; font-family: "Segoe UI Variable", "Segoe UI", system-ui, sans-serif; }
html.light .pw-taskbar { background: rgba(238, 241, 246, .9); border-top-color: rgba(0, 0, 0, .06); color: #1b1b1b; }
.pw-taskbar > span { display: grid; place-items: center; height: 4cqw; border-radius: .6cqw; }
.pw-tb-start, .pw-tb-app { position: relative; width: 4cqw; }
.pw-tb-start img { width: 2.3cqw; height: 2.3cqw; }
.pw-tb-app img { width: 2.5cqw; height: 2.5cqw; border-radius: .45cqw; }
.pw-tb-app.is-open { background: rgba(255, 255, 255, .09); }
html.light .pw-tb-app.is-open { background: rgba(0, 0, 0, .05); }
.pw-tb-app.is-open::after { content: ""; position: absolute; bottom: .15cqw; left: 50%; width: 1.4cqw; height: .3cqw; border-radius: 1cqw; background: #60cdff; transform: translateX(-50%); }
html.light .pw-tb-app.is-open::after { background: #005fb8; }
.pw-tb-folder i { width: 2.5cqw; height: 2cqw; border-radius: .3cqw; background: linear-gradient(#ffd97a, #f4b400); box-shadow: inset 0 .5cqw 0 #ffe8a8; }
.pw-taskbar > .pw-tb-search { display: flex; gap: .7cqw; width: 14cqw; padding: 0 1.2cqw; justify-content: flex-start; align-items: center; background: rgba(255, 255, 255, .08); border-radius: 2cqw; font-size: 1.1cqw; opacity: .9; }
html.light .pw-taskbar > .pw-tb-search { background: #fff; box-shadow: 0 0 0 .08cqw rgba(0, 0, 0, .08); }
.pw-tb-search svg { width: 1.4cqw; height: 1.4cqw; }
.pw-taskbar > .pw-tb-tray { position: absolute; right: 1.2cqw; display: grid; justify-items: end; gap: .3cqw; font-size: 1.05cqw; line-height: 1; }
.pw-tb-tray b { font-weight: 400; } .pw-tb-tray small { font-size: 1.05cqw; }
.pw-win-stand { display: grid; justify-items: center; }
.pw-win-stand i { width: 13%; height: 44px; background: linear-gradient(90deg, #8e9297, #d3d6da 45%, #9ea2a7); clip-path: polygon(18% 0, 82% 0, 100% 100%, 0 100%); }
.pw-win-stand b { width: 38%; height: 9px; border-radius: 3px 3px 10px 10px; background: linear-gradient(#e2e4e7, #9a9ea3); box-shadow: 0 14px 24px -10px rgba(0, 0, 0, .6); }

/* iPhone de última geração */
.pw-iphone { position: absolute; right: 0; bottom: 0; z-index: 2; width: 214px; height: 444px; padding: 3px; border-radius: 44px;
  background: linear-gradient(150deg, #9ea3a8 0%, #50555a 22%, #8b9095 48%, #3e4246 74%, #7d8287 100%);
  box-shadow: 0 40px 70px -30px rgba(0, 0, 0, .85), inset 0 0 0 .5px rgba(255, 255, 255, .5); }
.pw-iphone-btn { position: absolute; width: 3px; border-radius: 2px; background: linear-gradient(90deg, #5d6166, #a3a8ad); }
.pw-iphone-btn.is-action { left: -2px; top: 86px; height: 22px; }
.pw-iphone-btn.is-vol-up { left: -2px; top: 122px; height: 38px; }
.pw-iphone-btn.is-vol-down { left: -2px; top: 168px; height: 38px; }
.pw-iphone-btn.is-power { right: -2px; top: 130px; height: 58px; }
.pw-iphone-btn.is-camera { right: -2px; top: 268px; height: 34px; border-radius: 3px; }
.pw-iphone-screen { position: relative; container-type: inline-size; height: 100%; overflow: hidden; border: 5px solid #000; border-radius: 41px; background: #000; color: #fff; font-family: -apple-system, "SF Pro Text", system-ui, sans-serif; }
.pw-ios-status { position: absolute; z-index: 5; left: 0; right: 0; top: 0; display: flex; align-items: center; justify-content: space-between; height: 16cqw; padding: 1cqw 7.5cqw 0 10cqw; color: #fff; transition: color .2s; }
.pw-ios-time { font-size: 5.6cqw; font-weight: 600; letter-spacing: -.02em; }
.pw-ios-island { position: absolute; left: 50%; top: 3.6cqw; width: 30cqw; height: 9cqw; transform: translateX(-50%); border-radius: 6cqw; background: #000; }
.pw-ios-island i { position: absolute; right: 3.4cqw; top: 50%; width: 3.2cqw; height: 3.2cqw; transform: translateY(-50%); border-radius: 50%; background: radial-gradient(circle at 35% 35%, #2a3350 0 30%, #0b0d14 60%); }
.pw-ios-right { display: flex; align-items: center; gap: 1.6cqw; }
.pw-ios-signal { display: flex; align-items: flex-end; gap: .55cqw; height: 4cqw; }
.pw-ios-signal i { width: 1cqw; border-radius: .3cqw; background: currentColor; }
.pw-ios-signal i:nth-child(1) { height: 35%; } .pw-ios-signal i:nth-child(2) { height: 55%; } .pw-ios-signal i:nth-child(3) { height: 78%; } .pw-ios-signal i:nth-child(4) { height: 100%; }
.pw-ios-5g { font-size: 4.2cqw; font-weight: 700; letter-spacing: -.02em; }
.pw-ios-battery { position: relative; width: 9.4cqw; height: 4.4cqw; padding: .6cqw; border: .45cqw solid color-mix(in srgb, currentColor 40%, transparent); border-radius: 1.4cqw; }
.pw-ios-battery::after { content: ""; position: absolute; right: -1.3cqw; top: 50%; width: .7cqw; height: 1.6cqw; transform: translateY(-50%); border-radius: 0 .5cqw .5cqw 0; background: color-mix(in srgb, currentColor 45%, transparent); }
.pw-ios-battery i { display: block; width: 82%; height: 100%; border-radius: .6cqw; background: currentColor; }
.pw-iphone.is-app-light .pw-ios-status { color: #000; }

.pw-ios-home { position: absolute; inset: 0; padding-top: 18cqw; background:
  radial-gradient(90% 55% at 15% 8%, #3c9e7a 0%, transparent 60%), radial-gradient(80% 60% at 95% 40%, #2e5fa8 0%, transparent 62%),
  radial-gradient(90% 70% at 40% 100%, #16382f 0%, transparent 70%), #0f1f1c; transform-origin: 50% 50%; }
.pw-ios-widgets { display: grid; grid-template-columns: 1fr 1fr; gap: 5cqw; padding: 2cqw 6cqw 0; }
.pw-ios-widget { display: grid; align-content: space-between; height: 38cqw; padding: 4cqw; border-radius: 8cqw; line-height: 1.15; }
.pw-ios-widget small { font-size: 3.6cqw; font-weight: 600; opacity: .9; }
.pw-ios-widget b { font-size: 12cqw; font-weight: 300; letter-spacing: -.03em; }
.pw-ios-widget span { font-size: 3.4cqw; font-weight: 600; }
.pw-ios-widget em { font-size: 3.1cqw; font-style: normal; opacity: .8; }
.pw-ios-widget.is-weather { background: linear-gradient(170deg, #3b8fe0, #1f5fb3); }
.pw-ios-widget.is-cal { background: #fff; color: #111; }
.pw-ios-widget.is-cal small { color: #e0342b; opacity: 1; }
.pw-ios-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 5cqw 0; padding: 6cqw 3cqw 0; }
.pw-ios-app { display: grid; justify-items: center; gap: 1.5cqw; font-size: 3.1cqw; font-weight: 500; text-shadow: 0 .3cqw 1cqw rgba(0, 0, 0, .35); }
.pw-ios-app i, .pw-ios-dock i { position: relative; display: grid; place-items: center; width: 14.4cqw; height: 14.4cqw; overflow: hidden; border-radius: 3.4cqw; }
.pw-ios-app i img, .pw-ios-dock i img { width: 100%; height: 100%; }
.pw-ios-app i.g-logo, .pw-ios-dock i.g-logo { background: #fff; }
.pw-ios-app i.g-logo img, .pw-ios-dock i.g-logo img { width: 72%; height: 72%; }
.g-photos { background: #fff; }
.g-photos::after { content: ""; width: 64%; height: 64%; border-radius: 50%; background: conic-gradient(#f5b400, #f7751c, #e5195f, #a02fd6, #3d73f5, #1eb574, #b6d42b, #f5b400); -webkit-mask: radial-gradient(circle, transparent 0 16%, #000 17%); mask: radial-gradient(circle, transparent 0 16%, #000 17%); }
.g-camera { background: linear-gradient(#e2e3e6, #9ea1a7); }
.g-camera::after { content: ""; width: 42%; height: 42%; border-radius: 50%; background: radial-gradient(circle at 38% 38%, #4b5a7a, #0d1018 62%); box-shadow: 0 0 0 1.4cqw #2b2d31; }
.g-maps { background: linear-gradient(135deg, #b6e3a3 0 45%, #f2e7c9 45% 60%, #9fd1f5 60%); }
.g-maps::after { content: ""; position: absolute; left: 38%; top: 20%; width: 4cqw; height: 4cqw; border-radius: 50% 50% 50% 0; transform: rotate(-45deg); background: #f24; box-shadow: 0 0 0 .8cqw #fff; }
.g-mail { background: linear-gradient(#27a4ff, #0a63e6); }
.g-notes { background: linear-gradient(#fcd34d 0 26%, #fff 26%); }
.g-notes::after { content: ""; position: absolute; left: 18%; right: 18%; top: 44%; height: 34%; background: repeating-linear-gradient(#d4d4d4 0 .4cqw, transparent .4cqw 3.4cqw); }
.g-settings { background: linear-gradient(#b8bcc2, #7c8189); }
.g-phone { background: linear-gradient(#5ee872, #1fbf3c); }
.g-messages { background: linear-gradient(#6af07e, #19c13b); }
.g-music { background: linear-gradient(#fb5c74, #fa233b); }
.g-mail::after, .g-settings::after, .g-phone::after, .g-messages::after, .g-music::after { content: ""; width: 60%; height: 60%; background: #fff; -webkit-mask: var(--glyph) center / contain no-repeat; mask: var(--glyph) center / contain no-repeat; }
.g-mail { --glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3 6.5A1.5 1.5 0 0 1 4.5 5h15A1.5 1.5 0 0 1 21 6.5v11a1.5 1.5 0 0 1-1.5 1.5h-15A1.5 1.5 0 0 1 3 17.5zm1.6.3 7.4 5.6 7.4-5.6z'/%3E%3C/svg%3E"); }
.g-settings { --glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill-rule='evenodd' d='M10.3 2h3.4l.5 2.6 1.6.7 2.2-1.5 2.4 2.4-1.5 2.2.7 1.6 2.6.5v3.4l-2.6.5-.7 1.6 1.5 2.2-2.4 2.4-2.2-1.5-1.6.7-.5 2.6h-3.4l-.5-2.6-1.6-.7-2.2 1.5-2.4-2.4 1.5-2.2-.7-1.6L2 13.7v-3.4l2.6-.5.7-1.6-1.5-2.2 2.4-2.4 2.2 1.5 1.6-.7zM12 8.5a3.5 3.5 0 1 0 0 7 3.5 3.5 0 0 0 0-7z'/%3E%3C/svg%3E"); }
.g-phone { --glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 3.2c.6-.4 1.4-.3 1.8.3l2 2.9c.4.6.3 1.4-.2 1.8l-1.3 1.1c.9 1.9 2.5 3.5 4.4 4.4l1.1-1.3c.4-.5 1.2-.6 1.8-.2l2.9 2c.6.4.7 1.2.3 1.8l-1.2 1.7c-.7 1-2 1.4-3.2 1-5.3-1.7-9.5-5.9-11.2-11.2-.4-1.2 0-2.5 1-3.2z'/%3E%3C/svg%3E"); }
.g-messages { --glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3.5c5 0 9 3.3 9 7.4s-4 7.4-9 7.4c-.9 0-1.8-.1-2.6-.3L5 20l.9-3.4C4.1 15.3 3 13.2 3 10.9 3 6.8 7 3.5 12 3.5z'/%3E%3C/svg%3E"); }
.g-music { --glyph: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 3v11.5a3 3 0 1 1-2-2.8V7.3l-7 1.6v7.6a3 3 0 1 1-2-2.8V6l11-3z'/%3E%3C/svg%3E"); }
.pw-ios-search { display: flex; align-items: center; justify-content: center; gap: 1.4cqw; width: 28cqw; margin: 9cqw auto 0; padding: 1.8cqw 0; border-radius: 5cqw; background: rgba(255, 255, 255, .2); backdrop-filter: blur(10px); font-size: 3.4cqw; font-weight: 600; }
.pw-ios-search svg { width: 3.4cqw; height: 3.4cqw; }
.pw-ios-dock { position: absolute; left: 3.5cqw; right: 3.5cqw; bottom: 3.5cqw; display: flex; justify-content: space-around; padding: 4cqw 3cqw; border-radius: 10cqw; background: rgba(255, 255, 255, .2); backdrop-filter: blur(16px); }
.pw-ios-touch { position: absolute; z-index: 6; width: 11cqw; height: 11cqw; margin: -5.5cqw 0 0 -5.5cqw; border-radius: 50%; background: rgba(255, 255, 255, .45); box-shadow: 0 0 0 .6cqw rgba(255, 255, 255, .25); opacity: 0; pointer-events: none; }
.pw-ios-appview { position: absolute; inset: 0; z-index: 4; padding-top: 16cqw; background: #000; clip-path: inset(50% 50% 50% 50% round 10px); visibility: hidden; }
html.light .pw-ios-appview { background: #fff; }
.pw-ios-appnav { position: relative; z-index: 1; height: var(--pw-nav-h, 16cqw); overflow: hidden; }
.pw-ios-appnav .pw-shot, .pw-ios-appbody .pw-shot { width: 100%; height: auto; }
.pw-ios-appbody { position: absolute; left: 0; right: 0; bottom: 0; top: calc(16cqw + var(--pw-nav-h, 16cqw)); overflow: hidden; }
.pw-ios-appbody .pw-shot { margin-top: calc(-1 * var(--pw-nav-h, 16cqw)); will-change: transform; }
.pw-ios-homebar { position: absolute; z-index: 7; left: 50%; bottom: 2cqw; width: 36cqw; height: 1.5cqw; transform: translateX(-50%); border-radius: 1cqw; background: #fff; }
.pw-iphone.is-app-light .pw-ios-homebar { background: #111; }


/* ---------------------------------------------------------- seções */
.pw-card { margin-top: 18px; padding: clamp(18px, 3vw, 28px); border: 1px solid var(--pw-border); border-radius: var(--pw-radius); background: var(--pw-surface); scroll-margin-top: calc(var(--terminal-nav-height, 68px) + 16px); }
.pw-card-head { margin-bottom: 18px; }
.pw-card h2, .pw-faq h2 { margin: 0 0 4px; font-size: 1.15rem; font-weight: 700; letter-spacing: -.01em; }
.pw-card-head p { margin: 0; color: var(--pw-text-2); font-size: .9rem; }

/* Ícones */
.pw-icon-options { display: grid; grid-template-columns: repeat(auto-fill, minmax(92px, 1fr)); gap: 10px; }
.pw-icon-option { position: relative; display: grid; justify-items: center; gap: 8px; padding: 14px 6px 10px; border: 1px solid var(--pw-border); border-radius: 12px; color: var(--pw-text); text-decoration: none; font-size: .8rem; font-weight: 600; text-align: center; transition: border-color .15s, background-color .15s; }
.pw-icon-option img { width: 52px; height: 52px; border-radius: 13px; box-shadow: 0 0 0 1px var(--pw-border), 0 6px 14px -8px rgba(0, 0, 0, .5); transition: transform .2s; }
.pw-icon-option:hover { border-color: color-mix(in srgb, var(--pw-brand) 40%, var(--pw-border)); color: var(--pw-text); }
.pw-icon-option:hover img { transform: translateY(-2px); }
.pw-icon-option:focus-visible { outline: 2px solid var(--pw-brand); outline-offset: 2px; }
.pw-icon-option.is-selected { border-color: var(--pw-brand); background: var(--pw-brand-soft); }
.pw-icon-tick { position: absolute; top: 6px; right: 6px; display: none; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: var(--pw-brand); color: var(--pw-brand-ink); font-size: 11px; font-style: normal; }
.pw-icon-option.is-selected .pw-icon-tick { display: grid; }
.pw-icons.is-locked .pw-icon-option:not(.is-selected) { opacity: .55; }

/* Passo a passo */
.pw-tabs { display: inline-flex; gap: 4px; max-width: 100%; margin-bottom: 20px; padding: 4px; overflow-x: auto; border: 1px solid var(--pw-border); border-radius: 11px; background: var(--pw-surface-2); }
.pw-tabs button { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding: 0 14px; border: 0; border-radius: 8px; background: transparent; color: var(--pw-text-2); font-size: .87rem; font-weight: 600; white-space: nowrap; cursor: pointer; }
.pw-tabs button .pw-ic { font-size: 17px; }
.pw-tabs button[aria-selected="true"] { background: var(--pw-surface); color: var(--pw-text); box-shadow: 0 1px 2px rgba(0, 0, 0, .12), 0 0 0 1px var(--pw-border); }
.pw-tabs button:focus-visible { outline: 2px solid var(--pw-brand); outline-offset: 1px; }
.pw-tab-here { margin-left: 2px; padding: 1px 7px; border-radius: 999px; background: var(--pw-brand-soft); color: var(--pw-ink-ok); font-size: .68rem; font-weight: 700; }

.pw-panel-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.12fr); gap: 28px; align-items: start; }
.pw-panel-text { display: grid; gap: 18px; }
.pw-steps { display: grid; gap: 6px; margin: 0; padding: 0; list-style: none; }
.pw-steps li { display: grid; grid-template-columns: 32px 1fr; gap: 14px; padding: 12px; border: 1px solid transparent; border-radius: 12px; transition: background-color .35s, border-color .35s; }
.pw-step-jump { padding: 0; border: 0; background: none; border-radius: 50%; cursor: pointer; align-self: start; }
.pw-step-jump:focus-visible { outline: 2px solid var(--pw-brand); outline-offset: 2px; }
.pw-step-n { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid var(--pw-border); background: var(--pw-surface-2); font-size: .85rem; font-weight: 700; transition: background-color .3s, color .3s, border-color .3s; }
.pw-steps strong { display: block; margin: 5px 0 3px; font-size: .95rem; }
.pw-steps p { margin: 0; color: var(--pw-text-2); font-size: .88rem; line-height: 1.55; }
.pw-steps p b { color: var(--pw-text); font-weight: 600; }
.pw-steps li.is-now { border-color: color-mix(in srgb, var(--pw-brand) 45%, var(--pw-border)); background: color-mix(in srgb, var(--pw-brand) 7%, transparent); }
.pw-steps li.is-now .pw-step-n { border-color: var(--pw-brand); background: var(--pw-brand); color: var(--pw-brand-ink); }
.pw-steps li.is-done .pw-step-n { border-color: color-mix(in srgb, var(--pw-brand) 50%, var(--pw-border)); color: var(--pw-ink-ok); }
.pw-steps li.is-done strong { color: var(--pw-text-2); }

.pw-browsers { padding: 16px; border-radius: 12px; background: var(--pw-surface-2); }
.pw-browsers > p { margin: 0 0 12px; color: var(--pw-text-2); font-size: .75rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
.pw-browsers ul { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.pw-browsers li { display: inline-flex; align-items: center; gap: 7px; padding: 6px 10px 6px 7px; border: 1px solid var(--pw-border); border-radius: 999px; background: var(--pw-surface); font-size: .8rem; font-weight: 600; }
.pw-browsers li .pw-logo { width: 18px; height: 18px; }
.pw-browsers small { display: block; margin-top: 12px; color: var(--pw-text-2); font-size: .8rem; line-height: 1.45; }
.pw-qr { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: center; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--pw-border); }
.pw-qr-code { width: 84px; height: 84px; padding: 5px; border-radius: 8px; background: #fff; }
.pw-qr-code svg { display: block; width: 100%; height: 100%; }
.pw-qr strong { display: block; margin-bottom: 2px; font-size: .88rem; }
.pw-qr p { margin: 0; color: var(--pw-text-2); font-size: .8rem; }

/* Benefícios */
.pw-benefits { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 18px; }
.pw-benefits article { padding: 18px; border: 1px solid var(--pw-border); border-radius: var(--pw-radius); background: var(--pw-surface); }
.pw-benefit-ic { display: grid; place-items: center; width: 34px; height: 34px; margin-bottom: 12px; border-radius: 9px; background: var(--pw-brand-soft); color: var(--pw-ink-ok); font-size: 17px; }
.pw-benefits h3 { margin: 0 0 6px; font-size: .95rem; font-weight: 700; }
.pw-benefits p { margin: 0; color: var(--pw-text-2); font-size: .86rem; line-height: 1.5; }

/* FAQ: acordeão com abertura suave, um item aberto por vez */
.pw-faq { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 2fr); gap: clamp(20px, 4vw, 56px); align-items: start; margin-top: 56px; }
.pw-faq-intro h2 { margin: 0 0 8px; font-size: 1.5rem; font-weight: 800; letter-spacing: -.02em; }
.pw-faq-intro p { margin: 0 0 16px; color: var(--pw-text-2); font-size: .95rem; line-height: 1.55; }
.pw-faq-help { display: inline-flex; align-items: center; gap: 6px; padding-bottom: 2px; border-bottom: 1px solid color-mix(in srgb, var(--pw-brand) 60%, transparent); color: var(--pw-text); font-size: .9rem; font-weight: 600; text-decoration: none; }
.pw-faq-help:hover { color: var(--pw-text); border-bottom-color: var(--pw-brand); }
.pw-faq-help .pw-ic { font-size: 14px; }
.pw-faq-acc { overflow: hidden; border: 1px solid var(--pw-border); border-radius: 14px; background: var(--pw-surface); }
.pw-faq-item + .pw-faq-item { border-top: 1px solid var(--pw-border); }
.pw-faq-item h3 { margin: 0; padding: 0; font: inherit; }
.pw-faq-btn { display: grid; grid-template-columns: 1fr 28px; align-items: center; gap: 16px; width: 100%; margin: 0; padding: 18px 20px 18px 22px; border: 0; border-radius: 0; background: transparent; color: var(--pw-text); font-family: inherit; font-size: .98rem; font-weight: 600; line-height: 1.4; text-align: left; cursor: pointer; transition: background-color .2s; }
.pw-faq-btn:hover { background: color-mix(in srgb, var(--pw-text) 3%, transparent); }
.pw-faq-btn:focus-visible { outline: none; box-shadow: inset 0 0 0 2px color-mix(in srgb, var(--pw-brand) 55%, transparent); }
.pw-faq-sign { display: grid; place-items: center; width: 28px; height: 28px; border: 1px solid var(--pw-border); border-radius: 50%; color: var(--pw-text-2); font-size: 15px; font-style: normal; transition: transform .35s cubic-bezier(.22, 1, .36, 1), background-color .25s, color .25s, border-color .25s; }
.pw-faq-btn[aria-expanded="true"] .pw-faq-sign { transform: rotate(45deg); border-color: var(--pw-brand); background: var(--pw-brand); color: var(--pw-brand-ink); }
.pw-faq-body { display: grid; grid-template-rows: 0fr; transition: grid-template-rows .38s cubic-bezier(.22, 1, .36, 1); }
.pw-faq-body > div { min-height: 0; overflow: hidden; }
.pw-faq-body p { margin: 0; padding: 0 64px 20px 22px; color: var(--pw-text-2); font-size: .93rem; line-height: 1.65; opacity: 0; transform: translateY(-4px); transition: opacity .3s ease, transform .35s cubic-bezier(.22, 1, .36, 1); }
.pw-faq-item.is-open .pw-faq-body { grid-template-rows: 1fr; }
.pw-faq-item.is-open .pw-faq-body p { opacity: 1; transform: none; transition-delay: .06s; }
@media (max-width: 860px) {
  .pw-faq { grid-template-columns: 1fr; gap: 16px; }
  .pw-faq-body p { padding-right: 20px; }
}


@media (max-width: 1080px) { .pw-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 900px) {
  .pw-hero { grid-template-columns: 1fr; }
  .pw-scene { display: none; }
  .pw-panel-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .pw-qr { display: none; }
  .pw-cta .btn { width: 100%; }
  .pw-cta-row { flex-direction: column; align-items: stretch; }
  .pw-icon-options { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
  .pw-icon-option { padding: 10px 2px 8px; font-size: .72rem; }
  .pw-icon-option img { width: 44px; height: 44px; border-radius: 11px; }
}
@media (max-width: 520px) {
  .pw-benefits { grid-template-columns: 1fr; }
  .pw-benefits article { display: grid; grid-template-columns: 34px 1fr; gap: 0 12px; padding: 14px; }
  .pw-benefit-ic { grid-row: span 2; margin: 0; }
  .pw-steps li { padding: 8px 4px; }
}

/* ============================================ aviso de nova versão */
.pw-layer { position: fixed; z-index: 2050; pointer-events: none; }
.pw-layer > * { pointer-events: auto; }

/* Lista de novidades (cartão, selo e confirmação) */
.pw-rel-date { margin: 0; color: var(--pw-text-2); font-size: .75rem; font-weight: 600; }
.pw-rel-title { margin: 3px 0 0; color: var(--pw-text); font-size: 1rem; font-weight: 700; line-height: 1.35; letter-spacing: -.01em; }
.pw-rel-list { display: grid; gap: 12px; margin: 0; padding: 0; list-style: none; }
.pw-rel-list li { position: relative; padding-left: 16px; }
.pw-rel-list li::before { content: ""; position: absolute; left: 0; top: 7px; width: 6px; height: 6px; border-radius: 2px; background: var(--pw-brand); }
.pw-rel-list strong { display: block; color: var(--pw-text); font-size: .875rem; font-weight: 600; line-height: 1.4; }
.pw-rel-list span { display: block; margin-top: 2px; color: var(--pw-text-2); font-size: .82rem; line-height: 1.45; }
.pw-rel-foot { display: grid; gap: 8px; }
.pw-rel-foot .pw-go { width: 100%; }
.pw-rel-foot small { color: var(--pw-text-2); font-size: .75rem; text-align: center; }

/* Selo na navbar + painel no dropdown oficial (onde o cartão fica guardado ao ser fechado) */
.pw-upd-item { display: flex; align-items: center; margin-right: 8px; }
.pw-upd-chip {
  position: relative; display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px 0 11px;
  border: 1px solid color-mix(in srgb, var(--pw-brand) 38%, transparent); border-radius: 999px;
  background: color-mix(in srgb, var(--pw-brand) 10%, transparent); color: var(--pw-ink-ok);
  font-size: .8125rem; font-weight: 700; white-space: nowrap; cursor: pointer;
  animation: pw-chip-in .45s cubic-bezier(.22, 1, .36, 1);
}
.pw-upd-chip:hover { background: color-mix(in srgb, var(--pw-brand) 16%, transparent); }
.pw-upd-chip:focus-visible { outline: 2px solid var(--pw-brand); outline-offset: 2px; }
.pw-dot { position: relative; width: 7px; height: 7px; flex: none; border-radius: 50%; background: var(--pw-brand); }
.pw-dot::after { content: ""; position: absolute; inset: -4px; border-radius: 50%; border: 2px solid var(--pw-brand); opacity: 0; animation: pw-ping 1.8s ease-out 3; }
@keyframes pw-chip-in { from { opacity: 0; transform: translateY(-4px) scale(.94); } to { opacity: 1; transform: none; } }
@keyframes pw-ping { 0% { transform: scale(.5); opacity: .7; } 100% { transform: scale(1.8); opacity: 0; } }
.pw-upd-menu.dropdown-menu { width: 340px; max-width: calc(100vw - 24px); padding: 0; overflow: hidden; border: 1px solid var(--pw-border); border-radius: 12px; background: var(--pw-surface); box-shadow: 0 24px 60px -20px rgba(1, 10, 2, .6); }
.pw-upd-menu .pw-rel-head { padding: 16px 18px 14px; border-bottom: 1px solid var(--pw-border); }
.pw-upd-menu .pw-rel-list { padding: 16px 18px; }
.pw-upd-menu .pw-rel-foot { padding: 14px 18px 16px; border-top: 1px solid var(--pw-border); background: var(--pw-surface-2); }
.pw-upd-mobile { display: none; margin-left: auto; margin-right: 8px; }
@media (max-width: 991.98px) {
  .pw-upd-item { display: none; }
  .pw-upd-mobile { display: block; }
  .pw-upd-mobile .pw-upd-chip { height: 30px; padding: 0 10px; font-size: .75rem; }
  .pw-upd-mobile .pw-upd-menu.dropdown-menu { position: fixed !important; inset: 64px 12px auto 12px !important; width: auto; transform: none !important; }
}

/* Painel de novidades aberto a partir da confirmação pós-atualização */
.pw-pill-panel { margin-bottom: 10px; padding: 16px 18px; border: 1px solid var(--pw-border); border-radius: 14px; background: var(--pw-surface); box-shadow: 0 24px 50px -20px rgba(0, 0, 0, .6); animation: pw-rise .25s cubic-bezier(.22, 1, .36, 1); }
.pw-pill-panel .pw-rel-head { margin-bottom: 14px; }
@keyframes pw-pill-in { from { opacity: 0; transform: translateY(18px) scale(.96); } to { opacity: 1; transform: none; } }

/* Aviso de nova versão (versão aprovada): cartão com imagem real da novidade */
.pw-card-host { right: 18px; bottom: calc(18px + env(safe-area-inset-bottom)); width: min(352px, calc(100vw - 24px)); }
.pw-news-card { overflow: hidden; border: 1px solid var(--pw-border); border-radius: 16px; background: var(--pw-surface); color: var(--pw-text); box-shadow: 0 28px 60px -22px rgba(0, 0, 0, .65); animation: pw-pill-in .42s cubic-bezier(.22, 1, .36, 1); }
.pw-news-media { position: relative; height: 150px; overflow: hidden; background: var(--pw-surface-2); }
.pw-news-media img { width: 100%; height: 100%; object-fit: cover; object-position: 50% 18%; }
.pw-news-media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 55%, color-mix(in srgb, var(--pw-surface) 85%, transparent)); }
.pw-news-tag { position: absolute; left: 12px; top: 12px; z-index: 1; padding: 4px 9px; border-radius: 999px; background: var(--pw-brand); color: var(--pw-brand-ink); font-size: .68rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.pw-news-x { position: absolute; right: 10px; top: 10px; z-index: 1; display: grid; place-items: center; width: 30px; height: 30px; border: 0; border-radius: 50%; background: rgba(0, 0, 0, .55); color: #fff; cursor: pointer; }
.pw-news-x:focus-visible { outline: 2px solid var(--pw-brand); outline-offset: 2px; }
.pw-news-body { padding: 14px 18px 18px; }
.pw-news-body h3 { margin: 0 0 6px; font-size: 1rem; font-weight: 700; line-height: 1.35; }
.pw-news-body p { margin: 0; color: var(--pw-text-2); font-size: .85rem; line-height: 1.5; }
.pw-news-more { margin-top: 10px; padding: 0; border: 0; background: none; color: var(--pw-text); font-size: .82rem; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; text-decoration-color: var(--pw-brand); cursor: pointer; }
.pw-news-body .pw-rel-list { margin-top: 12px; }
.pw-news-actions { display: flex; gap: 8px; margin-top: 16px; }
.pw-news-actions .pw-go { flex: 1; }

/* Confirmação depois de atualizar */
.pw-done-host { left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); transform: translateX(-50%); }
.pw-done { display: flex; align-items: center; gap: 10px; height: 44px; padding: 0 8px 0 14px; border-radius: 999px; background: var(--pw-text); color: var(--pw-bg); font-size: .86rem; font-weight: 700; white-space: nowrap; box-shadow: 0 18px 40px -12px rgba(0, 0, 0, .55); animation: pw-pill-in .35s cubic-bezier(.22, 1, .36, 1); }
.pw-done .pw-ok { display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; background: var(--pw-brand); color: var(--pw-brand-ink); font-size: 13px; }
.pw-done button { padding: 6px 10px; border: 0; border-radius: 999px; background: color-mix(in srgb, var(--pw-bg) 12%, transparent); color: inherit; font-size: .8rem; font-weight: 600; cursor: pointer; }
.is-leaving { animation: pw-out .2s ease forwards !important; }
@keyframes pw-out { to { opacity: 0; transform: translateY(8px); } }

/* ---------------------------------------------------------- conexão */
.pw-conn { left: 50%; bottom: calc(18px + env(safe-area-inset-bottom)); transform: translateX(-50%); }
.pw-conn-pill { display: inline-flex; align-items: center; gap: 10px; max-width: calc(100vw - 24px); padding: 9px 16px 9px 13px; border: 1px solid var(--pw-border); border-radius: 999px; background: var(--pw-surface); color: var(--pw-text); font-size: .84rem; font-weight: 600; box-shadow: 0 14px 34px -14px rgba(1, 10, 2, .55); animation: pw-pill-in .3s cubic-bezier(.22, 1, .36, 1); }
.pw-conn-pill small { color: var(--pw-text-2); font-size: .8rem; font-weight: 500; }
.pw-conn-dot { position: relative; width: 9px; height: 9px; flex: none; border-radius: 50%; background: var(--warning, #f59e0b); }
.pw-conn-pill.is-back .pw-conn-dot { background: var(--pw-brand); }
html.pw-offline [data-quote-surface] table tbody, html.pw-offline [data-pw-market-surface] table tbody, html.pw-offline [data-quote-surface] .gold-signal-main, html.pw-offline [data-quote-surface] .gold-signal-sub, html.pw-offline [data-quote-surface] .gold-signal-foot__row strong, html.pw-offline [data-quote-surface] .gold-meter, html.pw-offline [data-quote-surface] .us-signal-value, html.pw-offline [data-quote-surface] .us-signal-meta, html.pw-offline [data-quote-surface] .card-value, html.pw-offline [data-pw-market-tape], html.pw-offline [data-quote] { opacity: .5; filter: saturate(.3); transition: opacity .3s, filter .3s; }

/* ---------------------------------------------- sugestão de instalar (celular) */
.pw-nudge { left: 12px; right: 12px; bottom: calc(12px + env(safe-area-inset-bottom)); }
.pw-nudge-card { display: grid; grid-template-columns: 48px 1fr; gap: 4px 12px; align-items: center; padding: 14px; border: 1px solid var(--pw-border); border-radius: 18px; background: var(--pw-surface); color: var(--pw-text); box-shadow: 0 24px 50px -18px rgba(1, 10, 2, .6); animation: pw-pill-in .36s cubic-bezier(.22, 1, .36, 1); }
.pw-nudge-card img { width: 48px; height: 48px; grid-row: span 2; border-radius: 12px; box-shadow: 0 0 0 1px var(--pw-border); }
.pw-nudge-card strong { font-size: .95rem; }
.pw-nudge-card p { margin: 0; color: var(--pw-text-2); font-size: .82rem; line-height: 1.4; }
.pw-nudge-actions { grid-column: 1 / 3; display: flex; gap: 8px; margin-top: 12px; }
.pw-nudge-actions > * { flex: 1; }

/* Prioridade: conexão > nova versão > sugestão de instalar. Nunca dois no mesmo lugar. */
html.pw-offline .pw-nudge, html.pw-offline .pw-card-host, body:has(.pw-card-host .pw-news-card) .pw-nudge { display: none; }

@media (max-width: 575.98px) {
  .pw-card-host { right: 12px; left: 12px; width: auto; }
}
@media (prefers-reduced-motion: reduce) {
  .pw-page *, .pw-layer *, .pw-upd-chip, .pw-dot::after { animation: none !important; transition: none !important; }
  .pw-phone-app-open { opacity: 0; }
}

@media (max-width: 560px) {
  .pw-tabs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); width: 100%; overflow: visible; }
  .pw-tabs button { flex-direction: column; gap: 5px; min-height: 58px; padding: 8px 4px; font-size: .76rem; white-space: normal; text-align: center; line-height: 1.2; }
  .pw-tab-here { display: none; }
  .pw-tabs button[aria-selected="true"]::after { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--pw-brand); }
}

html.pw-shot *, html.pw-shot *::before, html.pw-shot *::after { animation: none !important; transition: none !important; }

/* Generic release: no editorial picture was supplied. */
.pw-news-header { position: relative; height: 50px; }
.pw-news-header .pw-news-tag { background: var(--pw-surface-2); color: var(--pw-text-2); }
