/**
 * Felipe PWA — módulo de aplicativo progressivo integrado ao Felipe Security.
 *
 * Copyright (c) 2026 Felipe Badecam. Todos os direitos reservados.
 * Autor: Felipe Badecam
 * Site: https://felipebadecam.com
 * Componente proprietário integrado ao Felipe Security.
 * Proibida a cópia, redistribuição, sublicença, revenda, cessão, publicação,
 * modificação para terceiros ou instalação em domínio não autorizado.
 *
 * @package Felipe_PWA
 * @license Proprietary - Exclusive Use - All Rights Reserved
 */

.felipe-pwa-install-launcher{position:fixed;right:18px;bottom:18px;z-index:999999;display:none;align-items:center;gap:10px;padding:14px 18px;border:0;border-radius:18px;background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#111827;font-weight:800;box-shadow:0 20px 40px rgba(0,0,0,.25);cursor:pointer}.felipe-pwa-install-launcher.is-visible{display:flex}.felipe-pwa-install-sheet{position:fixed;inset:0;z-index:999998;background:rgba(2,6,23,.6);display:none;align-items:flex-end;justify-content:center;padding:18px}.felipe-pwa-install-sheet.is-visible{display:flex}.felipe-pwa-install-card{width:min(540px,100%);background:rgba(15,23,42,.94);border:1px solid rgba(251,191,36,.18);border-radius:28px;padding:22px;color:#fff;box-shadow:0 25px 80px rgba(0,0,0,.45);backdrop-filter:blur(18px)}.felipe-pwa-install-card h3{margin:0 0 8px;font-size:26px}.felipe-pwa-install-card p{margin:0 0 16px;color:#cbd5e1;line-height:1.55}.felipe-pwa-install-actions{display:flex;gap:12px;flex-wrap:wrap}.felipe-pwa-install-actions button,.felipe-pwa-install-actions a{padding:12px 16px;border-radius:14px;border:0;text-decoration:none;font-weight:800;cursor:pointer}.felipe-pwa-install-primary{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#111827}.felipe-pwa-install-secondary{background:#1f2937;color:#fff}.felipe-pwa-install-muted{font-size:13px;margin-top:12px;color:#94a3b8}.felipe-pwa-install-list{margin:8px 0 0 18px;color:#e2e8f0}.felipe-pwa-install-success{font-size:14px;color:#86efac;margin-top:10px}
.felipe-pwa-splash{position:fixed;inset:0;z-index:1000000;display:none;align-items:center;justify-content:center;opacity:0;transition:opacity .25s ease}.felipe-pwa-splash.is-visible{display:flex;opacity:1}.felipe-pwa-splash__media{max-width:min(76vw,var(--felipe-splash-size,220px));max-height:50vh;object-fit:contain;filter:drop-shadow(0 18px 40px rgba(0,0,0,.35))}

.felipe-pwa-splash{backdrop-filter:blur(6px)}
.felipe-pwa-splash.is-mobile{padding:16px}
.felipe-pwa-splash__device{width:min(var(--felipe-splash-mobile-width,84vw),430px);aspect-ratio:var(--felipe-splash-mobile-ratio,9/19.5);border-radius:34px;overflow:hidden;border:1px solid rgba(255,255,255,.12);box-shadow:0 40px 110px rgba(0,0,0,.5),inset 0 0 0 8px rgba(255,255,255,.04);background:rgba(255,255,255,.03);display:flex;align-items:center;justify-content:center;position:relative}.felipe-pwa-splash__device::before{content:'';position:absolute;top:10px;left:50%;transform:translateX(-50%);width:28%;max-width:120px;height:18px;border-radius:999px;background:rgba(0,0,0,.38);z-index:2}.felipe-pwa-splash.is-mobile .felipe-pwa-splash__media{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;filter:none}.felipe-pwa-splash__desktop-wrap{width:min(92vw,var(--felipe-splash-desktop-width,520px));display:flex;align-items:center;justify-content:center}.felipe-pwa-splash.is-desktop .felipe-pwa-splash__media{max-width:100%;max-height:72vh;object-fit:contain}.

/* Felipe PWA - central de notificações do usuário */
.felipe-pwa-push-center{max-width:860px;margin:18px auto;padding:22px;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.96),rgba(248,250,255,.9));box-shadow:0 24px 70px rgba(15,23,42,.14);border:1px solid rgba(148,163,184,.22);color:#0f172a;font-family:inherit}
.felipe-pwa-push-center__head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:16px}
.felipe-pwa-push-center h3{margin:0 0 6px;font-size:22px;font-weight:700;color:#0f172a}
.felipe-pwa-push-center p{margin:0;color:#64748b;line-height:1.5}
.felipe-pwa-push-center__head span{white-space:nowrap;border-radius:999px;padding:8px 12px;background:linear-gradient(135deg,#38bdf8,#8b5cf6,#f59e0b);color:#fff;font-size:12px;font-weight:700;box-shadow:0 12px 28px rgba(99,102,241,.22)}
.felipe-pwa-push-center__actions{display:flex;gap:10px;flex-wrap:wrap;margin:16px 0}
.felipe-pwa-push-center__actions button,.felipe-pwa-push-center-button{border:0;border-radius:999px;padding:12px 16px;background:linear-gradient(135deg,#38bdf8,#8b5cf6,#f59e0b);color:#fff;text-decoration:none;font-weight:700;box-shadow:0 16px 36px rgba(99,102,241,.24);cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.felipe-pwa-push-center__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.felipe-pwa-push-pref{display:flex;align-items:flex-start;gap:12px;padding:14px;border-radius:18px;background:rgba(255,255,255,.72);border:1px solid rgba(148,163,184,.24);box-shadow:0 10px 24px rgba(15,23,42,.06);cursor:pointer}
.felipe-pwa-push-pref input{width:20px;height:20px;accent-color:#8b5cf6;margin-top:2px}
.felipe-pwa-push-pref b{display:block;color:#0f172a;font-weight:700;margin-bottom:3px}
.felipe-pwa-push-pref em{display:block;color:#64748b;font-style:normal;font-size:13px;line-height:1.35}
.felipe-pwa-push-center__ios{margin-top:16px;padding:12px 14px;border-radius:16px;background:rgba(15,23,42,.06);font-size:13px;color:#334155}
.felipe-pwa-push-center-button{margin:8px 0}
.felipe-theme-night .felipe-pwa-push-center{background:linear-gradient(180deg,rgba(17,24,39,.96),rgba(15,23,42,.92));border-color:rgba(255,255,255,.12);color:#f8fafc}
.felipe-theme-night .felipe-pwa-push-center h3,.felipe-theme-night .felipe-pwa-push-pref b{color:#fff}
.felipe-theme-night .felipe-pwa-push-center p,.felipe-theme-night .felipe-pwa-push-pref em{color:#cbd5e1}
.felipe-theme-night .felipe-pwa-push-pref{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.12)}
.felipe-theme-night .felipe-pwa-push-center__ios{background:rgba(255,255,255,.08);color:#cbd5e1}
@media(max-width:680px){.felipe-pwa-push-center{margin:12px;padding:16px;border-radius:20px}.felipe-pwa-push-center__head{display:block}.felipe-pwa-push-center__head span{display:inline-flex;margin-top:12px}.felipe-pwa-push-center__grid{grid-template-columns:1fr}}
/* Felipe PWA v41.0.1: splash sempre full-screen, sem moldura pequena */
.felipe-pwa-splash{position:fixed!important;inset:0!important;width:100vw!important;height:100vh!important;z-index:2147483647!important;display:flex;align-items:center;justify-content:center;overflow:hidden}.felipe-pwa-splash__media{width:100vw!important;height:100vh!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important}.felipe-pwa-splash__device,.felipe-pwa-splash__desktop-wrap{width:100vw!important;height:100vh!important;max-width:none!important;border-radius:0!important;border:0!important;box-shadow:none!important;background:transparent!important}.felipe-pwa-splash__device:before{display:none!important}

/* Felipe PWA: modal de ativação de push em /notificacoes e botão Gerenciar Push */
.felipe-pwa-push-modal{position:fixed;inset:0;z-index:2147483002;display:none;align-items:center;justify-content:center;padding:18px;background:rgba(2,6,23,.68);backdrop-filter:blur(10px)}
.felipe-pwa-push-modal.is-visible{display:flex}
.felipe-pwa-push-modal__card{width:min(460px,100%);border-radius:28px;padding:22px;background:linear-gradient(180deg,rgba(15,23,42,.97),rgba(30,41,59,.96));color:#fff;border:1px solid rgba(255,255,255,.14);box-shadow:0 28px 90px rgba(0,0,0,.44);position:relative;text-align:center}
.felipe-pwa-push-modal__close{position:absolute;top:12px;right:12px;width:38px;height:38px;border:0;border-radius:999px;background:rgba(255,255,255,.10);color:#fff;font-size:24px;line-height:1;cursor:pointer}
.felipe-pwa-push-modal__icon{width:74px;height:74px;margin:4px auto 14px;border-radius:24px;display:grid;place-items:center;font-size:34px;background:linear-gradient(135deg,#33c7ff,#6f6ef6 55%,#f4a11a);box-shadow:0 0 34px rgba(111,110,246,.30);animation:felipePwaPushGlow 2.4s ease-in-out infinite}
.felipe-pwa-push-modal h3{margin:0 0 8px;font-size:24px;color:#fff}
.felipe-pwa-push-modal p{margin:0 auto 18px;color:rgba(255,255,255,.78);line-height:1.55;max-width:360px}
.felipe-pwa-push-modal__actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.felipe-pwa-push-modal__primary,.felipe-pwa-push-modal__secondary{border:0;border-radius:999px;padding:12px 18px;font-weight:900;cursor:pointer}
.felipe-pwa-push-modal__primary{background:linear-gradient(135deg,#f59e0b,#fbbf24);color:#111827}
.felipe-pwa-push-modal__secondary{background:rgba(255,255,255,.12);color:#fff}
.felipe-pwa-manage-push-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;border:0;border-radius:999px;padding:12px 18px;background:linear-gradient(135deg,#38bdf8,#8b5cf6,#f59e0b);color:#fff;text-decoration:none;font-weight:800;box-shadow:0 16px 36px rgba(99,102,241,.24);line-height:1}
.felipe-pwa-manage-push-button:hover,.felipe-pwa-manage-push-button:focus{color:#fff;filter:saturate(1.1);transform:translateY(-1px)}

/* Felipe PWA v41.2: modal push premium blindado contra CSS do tema */
.felipe-pwa-push-modal,.felipe-pwa-push-modal *{box-sizing:border-box!important}.felipe-pwa-push-modal{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;min-height:100vh!important;z-index:2147483646!important;display:none!important;align-items:center!important;justify-content:center!important;padding:18px!important;margin:0!important;background:rgba(2,6,23,.70)!important;backdrop-filter:blur(12px)!important;-webkit-backdrop-filter:blur(12px)!important}.felipe-pwa-push-modal.is-visible{display:flex!important}.felipe-pwa-push-modal__card{width:min(460px,calc(100vw - 28px))!important;max-height:calc(100dvh - 28px)!important;overflow:auto!important;border-radius:28px!important;padding:26px 20px 20px!important;background:linear-gradient(180deg,rgba(15,23,42,.98),rgba(30,41,59,.96))!important;color:#fff!important;border:1px solid rgba(255,255,255,.14)!important;box-shadow:0 28px 90px rgba(0,0,0,.48)!important;position:relative!important;text-align:center!important;transform:translate3d(0,0,0)!important}.felipe-pwa-push-modal__close{position:absolute!important;top:12px!important;right:12px!important;width:38px!important;height:38px!important;border:0!important;border-radius:999px!important;background:rgba(255,255,255,.12)!important;color:#fff!important;font-size:24px!important;line-height:38px!important;padding:0!important;cursor:pointer!important;display:grid!important;place-items:center!important}.felipe-pwa-push-modal__icon{width:76px!important;height:76px!important;margin:2px auto 14px!important;border-radius:24px!important;display:grid!important;place-items:center!important;font-size:34px!important;background:linear-gradient(135deg,#33c7ff,#6f6ef6 55%,#f4a11a)!important;box-shadow:0 0 34px rgba(111,110,246,.32)!important;animation:felipePwaPushGlow 2.4s ease-in-out infinite!important}.felipe-pwa-push-modal h3{margin:0 0 8px!important;font-size:24px!important;line-height:1.18!important;color:#fff!important;font-weight:800!important}.felipe-pwa-push-modal p{margin:0 auto 18px!important;color:rgba(255,255,255,.82)!important;line-height:1.55!important;max-width:370px!important;font-size:15px!important}.felipe-pwa-push-modal__actions{display:flex!important;gap:10px!important;justify-content:center!important;flex-wrap:wrap!important}.felipe-pwa-push-modal__primary,.felipe-pwa-push-modal__secondary{appearance:none!important;-webkit-appearance:none!important;border:0!important;border-radius:999px!important;padding:12px 18px!important;font-weight:800!important;cursor:pointer!important;font-size:14px!important;line-height:1!important}.felipe-pwa-push-modal__primary{background:linear-gradient(135deg,#d9a24a 0%,#c98a2f 45%,#e2b45d 100%)!important;color:#fff!important;box-shadow:0 16px 36px rgba(201,138,47,.28)!important}.felipe-pwa-push-modal__secondary{background:rgba(255,255,255,.12)!important;color:#fff!important}.felipe-pwa-modal-lock{overflow:hidden!important}@media(max-width:520px){.felipe-pwa-push-modal{padding:14px!important}.felipe-pwa-push-modal__card{border-radius:24px!important;padding:24px 16px 18px!important}.felipe-pwa-push-modal__actions{display:grid!important;grid-template-columns:1fr!important}.felipe-pwa-push-modal__primary,.felipe-pwa-push-modal__secondary{width:100%!important}}.felipe-theme-day .felipe-pwa-push-modal__card,body:not(.felipe-theme-night) .felipe-pwa-push-modal__card{background:linear-gradient(180deg,rgba(255,250,240,.98),rgba(255,255,255,.96))!important;color:#1f2937!important;border-color:rgba(217,162,74,.22)!important}.felipe-theme-day .felipe-pwa-push-modal h3,body:not(.felipe-theme-night) .felipe-pwa-push-modal h3{color:#1f2937!important}.felipe-theme-day .felipe-pwa-push-modal p,body:not(.felipe-theme-night) .felipe-pwa-push-modal p{color:#475569!important}.felipe-theme-day .felipe-pwa-push-modal__close,body:not(.felipe-theme-night) .felipe-pwa-push-modal__close{background:rgba(15,23,42,.08)!important;color:#1f2937!important}.felipe-theme-day .felipe-pwa-push-modal__secondary,body:not(.felipe-theme-night) .felipe-pwa-push-modal__secondary{background:rgba(15,23,42,.08)!important;color:#1f2937!important}

/* Felipe PWA v41.3: página de instalação e botões premium */
.felipe-pwa-button-premium,
.felipe-pwa-shortcode__button,
.felipe-pwa-install-launcher,
.felipe-pwa-install-primary,
[data-felipe-pwa-install="1"]{
  appearance:none!important;-webkit-appearance:none!important;border:0!important;border-radius:16px!important;
  min-height:48px!important;padding:14px 20px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important;
  background:linear-gradient(135deg,#d9a24a 0%,#c98a2f 45%,#e2b45d 100%)!important;color:#fff!important;text-decoration:none!important;
  font-weight:700!important;letter-spacing:.01em!important;box-shadow:0 16px 38px rgba(201,138,47,.28)!important;cursor:pointer!important;
  position:relative!important;overflow:hidden!important;isolation:isolate!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
.felipe-pwa-button-premium:before,
.felipe-pwa-shortcode__button:before,
.felipe-pwa-install-launcher:before,
[data-felipe-pwa-install="1"]:before{
  content:''!important;position:absolute!important;inset:-40% -70%!important;background:linear-gradient(90deg,transparent,rgba(255,255,255,.34),transparent)!important;
  transform:translateX(-70%) rotate(12deg)!important;animation:felipePwaButtonShine 2.9s ease-in-out infinite!important;z-index:-1!important;
}
.felipe-pwa-button-premium:hover,
.felipe-pwa-shortcode__button:hover,
.felipe-pwa-install-launcher:hover,
[data-felipe-pwa-install="1"]:hover{transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 20px 46px rgba(201,138,47,.34);color:#fff}
@keyframes felipePwaButtonShine{0%,42%{transform:translateX(-80%) rotate(12deg)}70%,100%{transform:translateX(80%) rotate(12deg)}}
.felipe-pwa-install-page{position:relative;overflow:hidden;max-width:1120px;margin:24px auto;padding:clamp(18px,3vw,34px);border-radius:32px;background:radial-gradient(760px 360px at 10% 0%,rgba(217,162,74,.20),transparent 62%),radial-gradient(680px 360px at 92% 16%,rgba(56,189,248,.16),transparent 60%),linear-gradient(180deg,#0b1220,#111827);color:#fff;border:1px solid rgba(255,255,255,.10);box-shadow:0 30px 90px rgba(2,6,23,.28);font-family:inherit;isolation:isolate}
.felipe-pwa-install-page *{box-sizing:border-box}
.felipe-pwa-install-page__glow{position:absolute;inset:-35%;background:conic-gradient(from 120deg,rgba(217,162,74,0),rgba(217,162,74,.18),rgba(56,189,248,.12),rgba(226,180,93,.18),rgba(217,162,74,0));filter:blur(34px);animation:felipePwaInstallSpin 16s linear infinite;z-index:-1;opacity:.85}
.felipe-pwa-install-page__hero{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);gap:clamp(18px,4vw,36px);align-items:center}
.felipe-pwa-install-page__badge{display:inline-flex;width:max-content;padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);color:#fdecc8;font-size:13px;font-weight:700;margin-bottom:14px}
.felipe-pwa-install-page h2{margin:0 0 14px;color:#fff;font-size:clamp(32px,5vw,58px);line-height:.98;letter-spacing:-.045em;font-weight:700}
.felipe-pwa-install-page__intro p,.felipe-pwa-install-page__footer p{margin:0;color:#cbd5e1;line-height:1.72;font-size:clamp(16px,1.7vw,19px)}
.felipe-pwa-install-page__actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:24px}
.felipe-pwa-install-page__actions span{color:#94a3b8;font-size:14px}
.felipe-pwa-install-page__phone{min-height:330px;border-radius:30px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid rgba(255,255,255,.12);display:grid;place-items:center;position:relative;overflow:hidden}
.felipe-pwa-install-page__phone:before{content:'';position:absolute;width:260px;height:260px;border-radius:999px;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 42px rgba(255,255,255,.025),0 0 0 90px rgba(255,255,255,.018)}
.felipe-pwa-install-page__phone>div{position:relative;width:170px;height:250px;border-radius:32px;background:linear-gradient(160deg,#111827,#020617);border:1px solid rgba(255,255,255,.16);box-shadow:0 26px 70px rgba(0,0,0,.42);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;animation:felipePwaInstallFloat 3.4s ease-in-out infinite}
.felipe-pwa-install-page__phone span{width:64px;height:64px;border-radius:20px;background:linear-gradient(135deg,#d9a24a,#c98a2f,#e2b45d);box-shadow:0 18px 38px rgba(201,138,47,.28);margin-bottom:14px}
.felipe-pwa-install-page__phone strong{max-width:120px;color:#fff;font-size:18px;line-height:1.15;font-weight:700}.felipe-pwa-install-page__phone em{font-style:normal;color:#94a3b8;margin-top:7px}
.felipe-pwa-install-page__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:24px}
.felipe-pwa-install-page__card{border-radius:24px;padding:20px;background:rgba(255,255,255,.075);border:1px solid rgba(255,255,255,.11);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(14px)}
.felipe-pwa-install-page__icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;background:rgba(255,255,255,.10);font-size:24px;margin-bottom:14px;color:#fff}
.felipe-pwa-install-page__card h3{margin:0 0 8px;color:#fff;font-size:21px;font-weight:700}
.felipe-pwa-install-page__card p{margin:0;color:#cbd5e1;line-height:1.62;font-size:15px}
.felipe-pwa-install-page__footer{margin-top:18px;padding:16px 18px;border-radius:22px;background:rgba(217,162,74,.11);border:1px solid rgba(217,162,74,.20)}
.felipe-theme-day .felipe-pwa-install-page,body:not(.felipe-theme-night) .felipe-pwa-install-page{background:radial-gradient(760px 360px at 10% 0%,rgba(217,162,74,.20),transparent 62%),linear-gradient(180deg,#fffaf0,#ffffff);color:#172033;border-color:rgba(217,162,74,.20)}
.felipe-theme-day .felipe-pwa-install-page h2,body:not(.felipe-theme-night) .felipe-pwa-install-page h2,.felipe-theme-day .felipe-pwa-install-page__card h3,body:not(.felipe-theme-night) .felipe-pwa-install-page__card h3{color:#172033}
.felipe-theme-day .felipe-pwa-install-page__intro p,body:not(.felipe-theme-night) .felipe-pwa-install-page__intro p,.felipe-theme-day .felipe-pwa-install-page__card p,body:not(.felipe-theme-night) .felipe-pwa-install-page__card p,.felipe-theme-day .felipe-pwa-install-page__footer p,body:not(.felipe-theme-night) .felipe-pwa-install-page__footer p{color:#475569}
.felipe-theme-day .felipe-pwa-install-page__card,body:not(.felipe-theme-night) .felipe-pwa-install-page__card{background:rgba(255,255,255,.82);border-color:rgba(15,23,42,.08);box-shadow:0 14px 42px rgba(15,23,42,.08)}
.felipe-theme-day .felipe-pwa-install-page__badge,body:not(.felipe-theme-night) .felipe-pwa-install-page__badge{background:#fff;color:#9a5b10;border-color:rgba(217,162,74,.22)}
@keyframes felipePwaInstallSpin{to{transform:rotate(360deg)}}@keyframes felipePwaInstallFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:780px){.felipe-pwa-install-page{margin:14px auto;padding:18px;border-radius:26px}.felipe-pwa-install-page__hero,.felipe-pwa-install-page__grid{grid-template-columns:1fr}.felipe-pwa-install-page__phone{min-height:250px;order:-1}.felipe-pwa-install-page__actions{display:grid}.felipe-pwa-install-page__button{width:100%}}

/* Felipe PWA install page polish - offline style */
.felipe-pwa-install-page{
  max-width:1120px!important;
  margin:28px auto!important;
  padding:clamp(20px,4vw,38px)!important;
  border-radius:34px!important;
  background:radial-gradient(820px 420px at 12% 8%,rgba(56,189,248,.18),transparent 62%),radial-gradient(720px 380px at 88% 16%,rgba(139,92,246,.18),transparent 60%),radial-gradient(760px 520px at 50% 110%,rgba(247,183,51,.16),transparent 62%),linear-gradient(145deg,rgba(15,23,42,.96),rgba(2,6,23,.90))!important;
  border:1px solid rgba(255,255,255,.10)!important;
  box-shadow:0 34px 110px rgba(0,0,0,.30),inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(22px);
}
.felipe-pwa-install-page:before{
  content:'';position:absolute;inset:1px;border-radius:33px;padding:1px;
  background:linear-gradient(135deg,rgba(56,189,248,.50),rgba(139,92,246,.32),rgba(247,183,51,.58));
  -webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;
  pointer-events:none;opacity:.70;
}
.felipe-pwa-install-page__badge{background:rgba(56,189,248,.10);border-color:rgba(56,189,248,.18);color:#dff6ff;font-weight:800}
.felipe-pwa-install-page h2{font-size:clamp(34px,5vw,58px);line-height:.98;letter-spacing:-.05em;font-weight:800;color:#fff}
.felipe-pwa-install-page__intro p,.felipe-pwa-install-page__footer p{font-size:clamp(16px,2vw,19px);line-height:1.72;color:#cbd5e1}
.felipe-pwa-install-page__button,.felipe-pwa-button-premium,.felipe-pwa-shortcode__button{
  border-radius:16px!important;background:linear-gradient(135deg,#f7b733,#ffcf67)!important;color:#111827!important;font-weight:850!important;box-shadow:0 16px 36px rgba(247,183,51,.24)!important;border:0!important;padding:15px 22px!important;letter-spacing:-.01em!important
}
.felipe-pwa-install-page__button:before,.felipe-pwa-button-premium:before,.felipe-pwa-shortcode__button:before{background:linear-gradient(120deg,transparent,rgba(255,255,255,.55),transparent)}
.felipe-pwa-install-page__phone{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.025));border-color:rgba(255,255,255,.08)}
.felipe-pwa-install-page__phone:before{animation:felipePwaPulse 2.6s ease-in-out infinite}
.felipe-pwa-install-page__card{border-radius:24px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);backdrop-filter:blur(14px)}
.felipe-pwa-install-page__card h3{font-size:21px;color:#fff;font-weight:800;letter-spacing:-.02em}
.felipe-pwa-install-page__card p{color:#cbd5e1;line-height:1.68}
.felipe-pwa-install-page__icon{background:linear-gradient(145deg,rgba(56,189,248,.18),rgba(247,183,51,.15));border:1px solid rgba(255,255,255,.10)}
.felipe-pwa-install-page__footer{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.10)}
.felipe-theme-day .felipe-pwa-install-page,body:not(.felipe-theme-night) .felipe-pwa-install-page{background:radial-gradient(820px 420px at 12% 8%,rgba(56,189,248,.12),transparent 62%),radial-gradient(760px 520px at 50% 110%,rgba(247,183,51,.15),transparent 62%),linear-gradient(180deg,#fffaf0,#ffffff);color:#172033;border-color:rgba(217,162,74,.20);box-shadow:0 30px 80px rgba(15,23,42,.12)}
.felipe-theme-day .felipe-pwa-install-page h2,body:not(.felipe-theme-night) .felipe-pwa-install-page h2,.felipe-theme-day .felipe-pwa-install-page__card h3,body:not(.felipe-theme-night) .felipe-pwa-install-page__card h3{color:#172033}
.felipe-theme-day .felipe-pwa-install-page__intro p,body:not(.felipe-theme-night) .felipe-pwa-install-page__intro p,.felipe-theme-day .felipe-pwa-install-page__card p,body:not(.felipe-theme-night) .felipe-pwa-install-page__card p,.felipe-theme-day .felipe-pwa-install-page__footer p,body:not(.felipe-theme-night) .felipe-pwa-install-page__footer p{color:#475569}
@keyframes felipePwaPulse{0%,100%{transform:scale(.92);opacity:.20}50%{transform:scale(1.08);opacity:.55}}
@media(max-width:780px){.felipe-pwa-install-page{margin:16px auto;border-radius:28px;padding:20px}.felipe-pwa-install-page__phone{min-height:245px}.felipe-pwa-install{display:none}}

/* Phosphor icons nos shortcodes PWA */
.felipe-pwa-shortcode__button .felipe-pwa-shortcode__ph,
.felipe-pwa-install-page__button .felipe-pwa-install-page__button-icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:1.18em;
  line-height:1;
  color:currentColor;
}
.felipe-pwa-shortcode__button span,
.felipe-pwa-install-page__button span{
  position:relative;
  z-index:1;
}
.felipe-pwa-shortcode__button .felipe-pwa-shortcode__ph{
  position:relative;
  z-index:1;
  margin-right:2px;
}
.felipe-pwa-install-page__icon i{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:30px;
  line-height:1;
  color:currentColor;
}

/* Felipe PWA v41.4: botões com texto branco, hover invertido, brilho e ocultação quando instalado */
.felipe-pwa-shortcode__button,
.felipe-pwa-shortcode__button:visited,
.felipe-pwa-shortcode__button span,
.felipe-pwa-shortcode__button i,
[data-felipe-pwa-install="1"],
[data-felipe-pwa-install="1"] span,
[data-felipe-pwa-install="1"] i{color:#fff;-webkit-text-fill-color:#fff}
.felipe-pwa-shortcode__button,
[data-felipe-pwa-install="1"]{background-color:#d9a24a;background-image:linear-gradient(135deg,#d9a24a 0%,#c98a2f 45%,#e2b45d 100%);position:relative;overflow:hidden;isolation:isolate}
.felipe-pwa-shortcode__button > *,[data-felipe-pwa-install="1"] > *{position:relative;z-index:2}
.felipe-pwa-shortcode__button:hover,.felipe-pwa-shortcode__button:focus,[data-felipe-pwa-install="1"]:hover,[data-felipe-pwa-install="1"]:focus{background-image:linear-gradient(135deg,#e2b45d 0%,#c98a2f 55%,#d9a24a 100%);color:#fff;-webkit-text-fill-color:#fff;box-shadow:0 20px 46px rgba(201,138,47,.38)}
.felipe-pwa-shortcode__button:after,[data-felipe-pwa-install="1"]:after{content:'';position:absolute;top:-55%;bottom:-55%;left:-45%;width:34%;transform:skewX(-24deg) translateX(-180%);background:linear-gradient(90deg,rgba(255,255,255,0),rgba(255,255,255,.18),rgba(255,255,255,.72),rgba(255,255,255,.18),rgba(255,255,255,0));filter:blur(.35px);pointer-events:none;z-index:1;animation:felipePwaButtonLightSweep 2.7s ease-in-out infinite}
@keyframes felipePwaButtonLightSweep{0%,28%{transform:skewX(-24deg) translateX(-190%)}72%,100%{transform:skewX(-24deg) translateX(520%)}}
html.felipe-pwa-is-installed .felipe-pwa-shortcode[data-hide-in-app="1"],body.felipe-pwa-is-installed .felipe-pwa-shortcode[data-hide-in-app="1"],html.felipe-pwa-is-installed [data-felipe-pwa-install="1"],body.felipe-pwa-is-installed [data-felipe-pwa-install="1"]{display:none}

/* Felipe PWA v41.5: blindagem extra dos shortcodes contra CSS externo */
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"],.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] *,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"],.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] *{box-sizing:border-box}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--simple{display:inline-flex;align-items:center;justify-content:center;width:auto;margin:0;padding:0;background:transparent;border:0;box-shadow:none;outline:0;isolation:isolate}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__button,.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] a.felipe-pwa-shortcode__button,.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] button.felipe-pwa-shortcode__button,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button{all:unset;appearance:none;-webkit-appearance:none;box-sizing:border-box;display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;max-width:100%;padding:14px 20px;border:0;border-radius:16px;background:#d9a24a;background-image:linear-gradient(135deg,#d9a24a 0%,#c98a2f 45%,#e2b45d 100%);color:#fff;-webkit-text-fill-color:#fff;text-decoration:none;text-shadow:none;font-family:inherit;font-size:15px;font-weight:700;line-height:1.15;letter-spacing:.01em;text-align:center;box-shadow:0 16px 38px rgba(201,138,47,.28);cursor:pointer;position:relative;overflow:hidden;isolation:isolate;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__button:hover,.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__button:focus,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button:hover,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button:focus{background-image:linear-gradient(135deg,#e2b45d 0%,#c98a2f 55%,#d9a24a 100%);color:#fff;-webkit-text-fill-color:#fff;text-decoration:none;transform:translateY(-2px);filter:saturate(1.08);box-shadow:0 20px 46px rgba(201,138,47,.34);outline:0}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__button::before,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button::before{content:'';position:absolute;inset:-45% -75%;background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.12) 38%,rgba(255,255,255,.62) 50%,rgba(255,255,255,.12) 62%,transparent 100%);transform:translateX(-75%) rotate(12deg);animation:felipePwaShieldShine 2.8s ease-in-out infinite;pointer-events:none;z-index:-1;display:block;border:0;border-radius:inherit;opacity:1}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__button span,.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__button i,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button span,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button i{color:#fff;-webkit-text-fill-color:#fff;font-weight:700;line-height:1;text-decoration:none;position:relative;z-index:2}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__ph,.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button-icon{font-family:'Phosphor';font-style:normal;font-size:19px;display:inline-flex;align-items:center;justify-content:center;width:1em;height:1em;min-width:1em;color:#fff;-webkit-text-fill-color:#fff}
@keyframes felipePwaShieldShine{0%,38%{transform:translateX(-75%) rotate(12deg)}68%,100%{transform:translateX(75%) rotate(12deg)}}
@media(max-width:640px){.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"]:not(.felipe-pwa-shortcode--page) .felipe-pwa-shortcode__button{width:100%}}

/* Felipe PWA - desktop install modal polish */
.felipe-pwa-install{
  width:min(520px,calc(100vw - 36px))!important;
  max-width:min(520px,calc(100vw - 36px))!important;
  right:24px!important;
  bottom:24px!important;
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  gap:16px!important;
  padding:18px!important;
  border-radius:28px!important;
  overflow:hidden!important;
  isolation:isolate!important;
  color:#fff!important;
  background:radial-gradient(260px 180px at 8% 0%,rgba(217,162,74,.24),transparent 62%),linear-gradient(145deg,rgba(17,24,39,.98),rgba(31,41,55,.96))!important;
  border:1px solid rgba(255,255,255,.14)!important;
  box-shadow:0 28px 70px rgba(2,6,23,.34), inset 0 1px 0 rgba(255,255,255,.08)!important;
  backdrop-filter:blur(18px)!important;
  -webkit-backdrop-filter:blur(18px)!important;
}
.felipe-pwa-install:before{content:''!important;position:absolute!important;inset:0!important;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.08) 35%,transparent 70%)!important;transform:translateX(-110%)!important;animation:felipePwaInstallModalShine 4.8s ease-in-out infinite!important;pointer-events:none!important;z-index:-1!important}
.felipe-pwa-install__orb{width:58px!important;height:58px!important;border-radius:20px!important;display:grid!important;place-items:center!important;background:linear-gradient(135deg,#d9a24a 0%,#c98a2f 48%,#e2b45d 100%)!important;color:#fff!important;box-shadow:0 16px 34px rgba(201,138,47,.30)!important;font-size:26px!important;line-height:1!important}
.felipe-pwa-install__copy{min-width:0!important}
.felipe-pwa-install h3{margin:0 0 7px!important;font-size:19px!important;line-height:1.18!important;font-weight:700!important;letter-spacing:-.02em!important;color:#fff!important}
.felipe-pwa-install p{margin:0 0 14px!important;font-size:14.5px!important;line-height:1.55!important;color:rgba(255,255,255,.82)!important;opacity:1!important}
.felipe-pwa-install__actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.felipe-pwa-install button{min-height:42px!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;border:none!important;border-radius:999px!important;padding:11px 16px!important;font-size:14px!important;font-weight:700!important;line-height:1!important;cursor:pointer!important;transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important}
.felipe-pwa-install .is-primary{background:linear-gradient(135deg,#d9a24a 0%,#c98a2f 46%,#e2b45d 100%)!important;color:#fff!important;box-shadow:0 14px 30px rgba(201,138,47,.28)!important}
.felipe-pwa-install .is-primary:hover{background:linear-gradient(135deg,#e2b45d 0%,#c98a2f 50%,#d9a24a 100%)!important;transform:translateY(-1px)!important;color:#fff!important}
.felipe-pwa-install .is-secondary{background:rgba(255,255,255,.10)!important;color:rgba(255,255,255,.92)!important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)!important}
.felipe-pwa-install .is-secondary:hover{background:rgba(255,255,255,.16)!important;color:#fff!important}
.felipe-theme-day .felipe-pwa-install,body:not(.felipe-theme-night) .felipe-pwa-install{background:radial-gradient(260px 180px at 8% 0%,rgba(217,162,74,.18),transparent 62%),linear-gradient(145deg,rgba(255,255,255,.98),rgba(255,250,240,.96))!important;color:#182033!important;border-color:rgba(217,162,74,.24)!important;box-shadow:0 24px 70px rgba(15,23,42,.15), inset 0 1px 0 rgba(255,255,255,.72)!important}
.felipe-theme-day .felipe-pwa-install h3,body:not(.felipe-theme-night) .felipe-pwa-install h3{color:#182033!important}
.felipe-theme-day .felipe-pwa-install p,body:not(.felipe-theme-night) .felipe-pwa-install p{color:#4b5563!important}
.felipe-theme-day .felipe-pwa-install .is-secondary,body:not(.felipe-theme-night) .felipe-pwa-install .is-secondary{background:#eef2f7!important;color:#334155!important;box-shadow:inset 0 0 0 1px rgba(15,23,42,.06)!important}
@keyframes felipePwaInstallModalShine{0%,45%{transform:translateX(-120%)}70%,100%{transform:translateX(120%)}}
@media(max-width:600px){.felipe-pwa-install{left:12px!important;right:12px!important;bottom:12px!important;width:auto!important;max-width:none!important;grid-template-columns:1fr!important;padding:18px!important}.felipe-pwa-install__orb{display:none!important}.felipe-pwa-install button{width:auto!important}}

/* Felipe PWA v41.6: correção visual do card de instalação e mockup no modo claro */
.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__phone strong,
.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__phone strong *,
.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__phone em{
  color:#ffffff!important;
  -webkit-text-fill-color:#ffffff!important;
  text-shadow:0 2px 18px rgba(0,0,0,.38)!important;
}
.felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__phone em{
  color:#dbeafe!important;
  -webkit-text-fill-color:#dbeafe!important;
  opacity:.92!important;
}
.felipe-theme-day .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__phone > div,
body:not(.felipe-theme-night) .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__phone > div{
  background:linear-gradient(160deg,#111827 0%,#0b1025 100%)!important;
  border-color:rgba(255,255,255,.18)!important;
}
.felipe-theme-day .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--shield:not(.felipe-pwa-shortcode--simple),
body:not(.felipe-theme-night) .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--shield:not(.felipe-pwa-shortcode--simple){
  display:flex!important;
  align-items:flex-start!important;
  gap:14px!important;
  width:100%!important;
  max-width:620px!important;
  margin:18px 0 0!important;
  padding:17px 18px!important;
  border-radius:22px!important;
  background:radial-gradient(360px 160px at 10% 0%,rgba(217,162,74,.16),transparent 60%),linear-gradient(180deg,#ffffff 0%,#fff8ec 100%)!important;
  border:1px solid rgba(195,123,39,.20)!important;
  box-shadow:0 18px 42px rgba(15,23,42,.10)!important;
  color:#172033!important;
  -webkit-text-fill-color:initial!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.felipe-theme-day .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta,
body:not(.felipe-theme-night) .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta{
  display:grid!important;
  gap:4px!important;
  min-width:0!important;
  padding-top:4px!important;
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
}
.felipe-theme-day .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta strong,
body:not(.felipe-theme-night) .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta strong{
  color:#172033!important;
  -webkit-text-fill-color:#172033!important;
  font-weight:800!important;
  line-height:1.2!important;
}
.felipe-theme-day .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta span,
body:not(.felipe-theme-night) .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta span{
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
  font-size:13.5px!important;
  line-height:1.45!important;
}
.felipe-theme-day .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--shield:not(.felipe-pwa-shortcode--simple) .felipe-pwa-shortcode__button,
body:not(.felipe-theme-night) .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--shield:not(.felipe-pwa-shortcode--simple) .felipe-pwa-shortcode__button{
  flex:0 0 auto!important;
  box-shadow:0 14px 30px rgba(201,138,47,.18)!important;
}
.felipe-theme-night .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--shield:not(.felipe-pwa-shortcode--simple){
  background:radial-gradient(360px 160px at 10% 0%,rgba(217,162,74,.22),transparent 60%),linear-gradient(145deg,rgba(17,24,39,.98),rgba(31,41,55,.96))!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#f8fafc!important;
}
.felipe-theme-night .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta strong{color:#ffffff;-webkit-text-fill-color:#ffffff}
.felipe-theme-night .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"] .felipe-pwa-shortcode__meta span{color:#cbd5e1;-webkit-text-fill-color:#cbd5e1}
@media(max-width:680px){
  .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--shield:not(.felipe-pwa-shortcode--simple){display:grid;gap:12px;padding:16px}
}

/* Controle seguro do botão flutuante de instalação: não interfere nos shortcodes [pwa] e [pwa-page]. */
.felipe-pwa-install-launcher.is-floating{
  opacity:0!important;
  transform:translateY(18px)!important;
  pointer-events:none!important;
  display:flex!important;
  transition:opacity .28s ease, transform .28s ease, box-shadow .28s ease!important;
}
.felipe-pwa-install-launcher.is-floating.is-visible{
  opacity:1!important;
  transform:translateY(0)!important;
  pointer-events:auto!important;
}
html.felipe-pwa-is-installed .felipe-pwa-install-launcher.is-floating,
body.felipe-pwa-is-installed .felipe-pwa-install-launcher.is-floating{
  display:none!important;
}
/* O [pwa-page] é link de navegação para /app, então não deve ser escondido pelas regras do launcher. */
.felipe-pwa-shortcode--page{
  display:inline-flex!important;
}


/* Felipe PWA v41.4: remove botões flutuantes persistentes do rodapé.
   Mantém os shortcodes [pwa] e [pwa-page] funcionando apenas onde forem inseridos. */
html .felipe-pwa-openapp{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
html .felipe-pwa-shortcode,
html .felipe-pwa-shortcode--simple,
html .felipe-pwa-shortcode--page{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  bottom:auto!important;
  top:auto!important;
  z-index:auto!important;
}



/* Felipe PWA v42: [felipe_pwa] ativo somente no ponto do shortcode, nunca como botão flutuante. */
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--card{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  z-index:auto!important;
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:16px!important;
  width:100%!important;
  max-width:760px!important;
  margin:18px auto!important;
  padding:18px!important;
  border-radius:24px!important;
  border:1px solid rgba(226,180,93,.28)!important;
  background:linear-gradient(135deg,rgba(255,247,232,.96),rgba(255,255,255,.92))!important;
  box-shadow:0 22px 56px rgba(15,23,42,.10), inset 0 1px 0 rgba(255,255,255,.75)!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--card:before{
  content:""!important;
  position:absolute!important;
  inset:-35% -10% auto auto!important;
  width:260px!important;
  height:260px!important;
  border-radius:999px!important;
  background:radial-gradient(circle,rgba(226,180,93,.28),rgba(255,171,67,.10),transparent 68%)!important;
  pointer-events:none!important;
  z-index:-1!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__orb{
  width:56px!important;
  height:56px!important;
  min-width:56px!important;
  border-radius:18px!important;
  display:grid!important;
  place-items:center!important;
  background:linear-gradient(135deg,#d9a24a 0%,#c98a2f 48%,#e2b45d 100%)!important;
  color:#fff!important;
  box-shadow:0 16px 34px rgba(201,138,47,.28)!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__orb i{
  font-size:27px!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__meta{
  display:grid!important;
  gap:4px!important;
  margin:0!important;
  min-width:0!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__meta strong{
  margin:0!important;
  color:#111827!important;
  -webkit-text-fill-color:#111827!important;
  font-size:18px!important;
  line-height:1.15!important;
  font-weight:850!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__meta span{
  margin:0!important;
  color:#475569!important;
  -webkit-text-fill-color:#475569!important;
  font-size:14px!important;
  line-height:1.45!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__button{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  z-index:1!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:9px!important;
  width:auto!important;
  min-width:max-content!important;
  padding:13px 18px!important;
  border:0!important;
  border-radius:16px!important;
  text-decoration:none!important;
  cursor:pointer!important;
  font-weight:850!important;
  line-height:1!important;
  background:linear-gradient(135deg,#d9a24a 0%,#c98a2f 55%,#e2b45d 100%)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 16px 34px rgba(201,138,47,.28)!important;
  overflow:hidden!important;
}
.felipe-theme-night .felipe-pwa-shortcode--card{
  background:linear-gradient(135deg,rgba(15,23,42,.96),rgba(30,41,59,.92))!important;
  border-color:rgba(226,180,93,.22)!important;
  box-shadow:0 22px 56px rgba(0,0,0,.36)!important;
}
.felipe-theme-night .felipe-pwa-shortcode--card .felipe-pwa-shortcode__meta strong{color:#fff;-webkit-text-fill-color:#fff}
.felipe-theme-night .felipe-pwa-shortcode--card .felipe-pwa-shortcode__meta span{color:#cbd5e1;-webkit-text-fill-color:#cbd5e1}
@media(max-width:680px){
  .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--card{
    grid-template-columns:auto minmax(0,1fr)!important;
    padding:16px!important;
  }
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__button{
    grid-column:1/-1!important;
    width:100%!important;
  }
}

/* Felipe PWA v42.1: correção do card [felipe_pwa] e brilho do [pwa-page]
   Evita que o botão invada o texto/card quando o shortcode fica em colunas estreitas. */
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--card{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:wrap!important;
  gap:14px!important;
  container-type:inline-size!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__orb{
  flex:0 0 56px!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__meta{
  flex:1 1 220px!important;
  min-width:180px!important;
  max-width:100%!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__button{
  flex:0 1 auto!important;
  max-width:100%!important;
  min-width:0!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
  text-align:center!important;
}
.felipe-pwa-shortcode--card .felipe-pwa-shortcode__button span{
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}
@container (max-width: 520px){
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__button{
    flex:1 1 100%!important;
    width:100%!important;
  }
}
@media(max-width:680px){
  .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--card{
    display:flex!important;
  }
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__button{
    flex:1 1 100%!important;
    width:100%!important;
  }
}

/* [pwa-page]: mesmo padrão visual dos botões PWA, com gradiente, hover invertido e luz passando. */
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--page{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:100%!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  isolation:isolate!important;
}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--page .felipe-pwa-shortcode__button{
  all:unset!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  box-sizing:border-box!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  min-height:48px!important;
  max-width:100%!important;
  padding:14px 20px!important;
  border-radius:16px!important;
  border:0!important;
  background:#d9a24a!important;
  background-image:linear-gradient(135deg,#d9a24a 0%,#c98a2f 50%,#e2b45d 100%)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-family:inherit!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1.1!important;
  letter-spacing:.01em!important;
  text-align:center!important;
  text-decoration:none!important;
  text-shadow:none!important;
  box-shadow:0 16px 38px rgba(201,138,47,.28)!important;
  cursor:pointer!important;
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease!important;
}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--page .felipe-pwa-shortcode__button:hover,
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--page .felipe-pwa-shortcode__button:focus{
  background-image:linear-gradient(135deg,#e2b45d 0%,#c98a2f 55%,#d9a24a 100%)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  transform:translateY(-2px)!important;
  filter:saturate(1.08)!important;
  box-shadow:0 20px 46px rgba(201,138,47,.38)!important;
  outline:0!important;
}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--page .felipe-pwa-shortcode__button:before{
  content:''!important;
  position:absolute!important;
  inset:-55% -80%!important;
  background:linear-gradient(100deg,transparent 0%,rgba(255,255,255,.12) 38%,rgba(255,255,255,.68) 50%,rgba(255,255,255,.12) 62%,transparent 100%)!important;
  transform:translateX(-75%) rotate(12deg)!important;
  animation:felipePwaShieldShine 2.8s ease-in-out infinite!important;
  pointer-events:none!important;
  z-index:1!important;
  border-radius:inherit!important;
}
.felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--page .felipe-pwa-shortcode__button > *{
  position:relative!important;
  z-index:2!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

@media(min-width:781px){
.felipe-pwa-install-page__hero{grid-template-columns:minmax(0,1.1fr) minmax(360px,.9fr);align-items:stretch}
.felipe-pwa-install-page__phone{min-height:100%;padding:26px}
.felipe-pwa-install-page__phone>div{width:min(100%,220px);height:320px}
.felipe-pwa-install-page__actions{align-items:center}
.felipe-pwa-install-page__button,.felipe-pwa-shortcode__button{min-width:220px;justify-content:center}
.felipe-pwa-install-page__grid{grid-template-columns:repeat(3,minmax(220px,1fr))}
}
@media(max-width:1100px) and (min-width:781px){
.felipe-pwa-install-page__hero{grid-template-columns:1fr}
.felipe-pwa-install-page__phone{max-width:420px;margin:0 auto}
}

/* Felipe PWA v41.16.2: blindagem do botão/card de instalação em desktop. */
@media (min-width:781px){
  .felipe-pwa-shortcode[data-felipe-pwa-scope="shortcode"].felipe-pwa-shortcode--card{
    display:grid!important;
    grid-template-columns:64px minmax(0,1fr)!important;
    grid-template-areas:"orb meta" "orb action"!important;
    align-items:center!important;
    justify-content:initial!important;
    gap:10px 16px!important;
    max-width:760px!important;
    min-height:0!important;
  }
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__orb{grid-area:orb!important;align-self:start!important;flex:none!important}
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__meta{grid-area:meta!important;flex:none!important;min-width:0!important;width:100%!important}
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__button,
  .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__button{
    grid-area:action!important;
    justify-self:start!important;
    align-self:start!important;
    display:inline-flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:center!important;
    gap:10px!important;
    width:auto!important;
    min-width:220px!important;
    max-width:100%!important;
    min-height:48px!important;
    height:auto!important;
    padding:14px 20px!important;
    border-radius:16px!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    overflow:visible!important;
    line-height:1.15!important;
  }
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__button i,
  .felipe-pwa-shortcode--card .felipe-pwa-shortcode__button span,
  .felipe-pwa-install-page__button i,
  .felipe-pwa-install-page__button span{
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    width:auto!important;
    height:auto!important;
    writing-mode:horizontal-tb!important;
    text-orientation:mixed!important;
    white-space:normal!important;
    line-height:1.15!important;
  }
}
@media (min-width:781px){
  .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"]{
    max-width:min(1120px,calc(100vw - 48px))!important;
    overflow:hidden!important;
  }
  .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__hero{
    grid-template-columns:minmax(0,1fr) minmax(300px,380px)!important;
    gap:28px!important;
    align-items:center!important;
  }
  .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__copy,
  .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__intro{
    min-width:0!important;
    max-width:100%!important;
  }
  .felipe-pwa-install-page[data-felipe-pwa-scope="install-page"] .felipe-pwa-install-page__actions{
    display:flex!important;
    flex-direction:row!important;
    flex-wrap:wrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:12px!important;
  }
}

/* Felipe PWA v41.18: feedback visual quando o shortcode aciona instalação nativa */
[data-felipe-pwa-install="1"].is-loading{pointer-events:none;filter:saturate(.9) brightness(.96);opacity:.86}
[data-felipe-pwa-install="1"].is-loading:before{animation-duration:.9s!important}
html.felipe-pwa-is-installed .felipe-pwa-shortcode[data-hide-in-app="1"],body.felipe-pwa-is-installed .felipe-pwa-shortcode[data-hide-in-app="1"]{display:none!important}

/* [pwa-device] - lojas/dispositivos */
.felipe-pwa-device-icons{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  vertical-align:middle;
}
.felipe-pwa-device-icons__title{flex:0 0 100%;text-align:center;font-weight:900;margin:0 0 6px;color:inherit}
.felipe-pwa-device-icons__button{
  position:relative;
  width:50px;
  height:50px;
  min-width:50px;
  border:0;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-decoration:none!important;
  cursor:pointer;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:linear-gradient(135deg,#151515,#2b2b2b);
  box-shadow:0 15px 34px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.18);
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
  overflow:hidden;
}
.felipe-pwa-device-icons__button:before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);
  transform:translateX(-120%);
  transition:transform .55s ease;
}
.felipe-pwa-device-icons__button:hover,
.felipe-pwa-device-icons__button:focus{
  transform:translateY(-2px);
  filter:saturate(1.08);
  box-shadow:0 20px 44px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.22);
  color:#fff!important;
}
.felipe-pwa-device-icons__button:hover:before,.felipe-pwa-device-icons__button:focus:before{transform:translateX(120%)}
.felipe-pwa-device-icons__button i{
  position:relative;
  z-index:1;
  font-size:26px;
  line-height:1;
  color:inherit!important;
  -webkit-text-fill-color:inherit!important;
}
.felipe-pwa-device-icons__button span:not(.screen-reader-text){position:relative;z-index:1;font-weight:900;letter-spacing:-.02em;white-space:nowrap;color:inherit!important;-webkit-text-fill-color:inherit!important}
.felipe-pwa-device-icons__button,
.felipe-pwa-device-icons__button:visited,
.felipe-pwa-device-icons__button:hover,
.felipe-pwa-device-icons__button:active{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.felipe-pwa-device-icons__button.is-google-play{background:linear-gradient(135deg,#ff9f2f 0%,#ff5e62 100%)!important}
.felipe-pwa-device-icons__button.is-app-store{background:linear-gradient(135deg,#f59e0b 0%,#b45309 100%)!important}
.felipe-pwa-device-icons__button.is-windows{background:linear-gradient(135deg,#2563eb 0%,#7c3aed 100%)!important}
.felipe-pwa-device-icons__button.is-chrome-extension{background:linear-gradient(135deg,#ffffff 0%,#fffaf0 100%)!important;color:#21180c!important;-webkit-text-fill-color:#21180c!important;border:1px solid rgba(33,24,12,.10)!important}
.felipe-pwa-device-icons__button.is-chrome-extension:visited,.felipe-pwa-device-icons__button.is-chrome-extension:hover,.felipe-pwa-device-icons__button.is-chrome-extension:active{color:#21180c!important;-webkit-text-fill-color:#21180c!important}
.felipe-pwa-device-icons__button.is-google-play:hover,.felipe-pwa-device-icons__button.is-app-store:hover,.felipe-pwa-device-icons__button.is-windows:hover,.felipe-pwa-device-icons__button.is-chrome-extension:hover{filter:brightness(1.05) saturate(1.15)}
.felipe-pwa-device-icons--large{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;width:min(980px,100%)}
.felipe-pwa-device-icons--large .felipe-pwa-device-icons__button{
  width:100%;
  min-width:0;
  min-height:72px;
  height:auto;
  padding:15px 18px;
  border-radius:22px;
  justify-content:flex-start;
  font-size:15px;
  box-shadow:0 18px 44px rgba(0,0,0,.20), inset 0 1px 0 rgba(255,255,255,.2);
}
.felipe-pwa-device-icons--large .felipe-pwa-device-icons__button i{font-size:32px;flex:0 0 auto}
@media (max-width:720px){
  .felipe-pwa-device-icons--large{grid-template-columns:1fr;width:100%}
  .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button{min-height:64px;border-radius:18px;justify-content:center}
}
@media (max-width:480px){
  .felipe-pwa-device-icons:not(.felipe-pwa-device-icons--large){gap:9px}
  .felipe-pwa-device-icons:not(.felipe-pwa-device-icons--large) .felipe-pwa-device-icons__button{width:46px;height:46px;min-width:46px;border-radius:14px}
  .felipe-pwa-device-icons:not(.felipe-pwa-device-icons--large) .felipe-pwa-device-icons__button i{font-size:24px}
}



/* Felipe PWA v41.21: correção do [pwa-device] dentro de menus/docks */
.menu-item:has(.felipe-pwa-device-icons) > a.felipe-footerbtn:empty,
.menu-item:has(.felipe-pwa-device-icons) > a.felipe-footerbtn[href=""],
.menu-item:has(.felipe-pwa-device-icons) > a.felipe-footerbtn:not([href]){
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  opacity:0!important;
  pointer-events:none!important;
}
.menu-item:has(.felipe-pwa-device-icons){
  gap:0!important;
}
.menu-item .felipe-pwa-device-icons,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:10px!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.menu-item .felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] a.felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] button.felipe-pwa-device-icons__button{
  appearance:none!important;
  -webkit-appearance:none!important;
  position:relative!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(255,255,255,.24)!important;
  border-radius:17px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  line-height:1!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background:#f97316!important;
  background-image:linear-gradient(135deg,#ffb13b 0%,#fb7c24 38%,#ef4444 100%)!important;
  box-shadow:0 14px 28px rgba(239,103,26,.30), inset 0 1px 0 rgba(255,255,255,.30)!important;
  overflow:hidden!important;
  filter:none!important;
  transform:translateZ(0)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-app-store{
  background:#f59e0b!important;
  background-image:linear-gradient(135deg,#ffd166 0%,#f59e0b 45%,#d97706 100%)!important;
  box-shadow:0 14px 28px rgba(217,119,6,.30), inset 0 1px 0 rgba(255,255,255,.30)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-windows{
  background:#2563eb!important;
  background-image:linear-gradient(135deg,#60a5fa 0%,#2563eb 45%,#7c3aed 100%)!important;
  box-shadow:0 14px 28px rgba(37,99,235,.28), inset 0 1px 0 rgba(255,255,255,.30)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button:before{
  content:""!important;
  position:absolute!important;
  inset:-35%!important;
  z-index:0!important;
  background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.55) 48%,rgba(255,255,255,.18) 54%,transparent 66%)!important;
  transform:translateX(-135%) rotate(8deg)!important;
  animation:felipePwaDeviceLight 2.8s ease-in-out infinite!important;
  pointer-events:none!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button:hover,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button:focus-visible{
  transform:translateY(-2px) scale(1.03)!important;
  box-shadow:0 18px 36px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.34)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button svg,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button span{
  position:relative!important;
  z-index:1!important;
  color:#fff!important;
  fill:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i{
  font-size:25px!important;
  line-height:1!important;
}
@keyframes felipePwaDeviceLight{
  0%,42%{transform:translateX(-135%) rotate(8deg)}
  62%,100%{transform:translateX(135%) rotate(8deg)}
}

/* Felipe PWA v41.22: mata o link fantasma que alguns menus injetam DENTRO do [pwa-device] */
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] > a.felipe-footerbtn,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] > a.felipe-btn-dark,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] > a.felipe-footerbtn.felipe-btn-dark,
.felipe-pwa-device-icons > a.felipe-footerbtn:empty,
.felipe-pwa-device-icons > a.felipe-btn-dark:empty{
  display:none!important;
  visibility:hidden!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  max-width:0!important;
  flex:0 0 0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  opacity:0!important;
  overflow:hidden!important;
  pointer-events:none!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"]{
  column-gap:10px!important;
  row-gap:10px!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  background-color:#fb923c!important;
  background-image:linear-gradient(135deg,#ffd166 0%,#fb923c 36%,#ef4444 100%)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-google-play{
  background-color:#fb923c!important;
  background-image:linear-gradient(135deg,#ffe08a 0%,#fb923c 38%,#f43f5e 100%)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-app-store{
  background-color:#d97706!important;
  background-image:linear-gradient(135deg,#fff1a8 0%,#f59e0b 42%,#b45309 100%)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-windows{
  background-color:#2563eb!important;
  background-image:linear-gradient(135deg,#93c5fd 0%,#2563eb 45%,#7c3aed 100%)!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i:before{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}

/* Felipe PWA v41.23: alinhamento fino dos ícones [pwa-device] */
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button,
.menu-item .felipe-pwa-device-icons__button{
  border:0!important;
  border-radius:10px!important;
  width:50px!important;
  height:50px!important;
  min-width:50px!important;
  max-width:50px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  text-align:center!important;
  line-height:0!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i,
.menu-item .felipe-pwa-device-icons__button i{
  width:1em!important;
  height:1em!important;
  display:grid!important;
  place-items:center!important;
  margin:0!important;
  padding:0!important;
  line-height:1!important;
  font-size:26px!important;
  vertical-align:middle!important;
  transform:none!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i:before,
.menu-item .felipe-pwa-device-icons__button i:before{
  display:block!important;
  line-height:1!important;
  margin:0!important;
  padding:0!important;
  text-align:center!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-app-store,
.menu-item .felipe-pwa-device-icons__button.is-app-store{
  background-color:#16a34a!important;
  background-image:linear-gradient(135deg,#86efac 0%,#22c55e 42%,#15803d 100%)!important;
  box-shadow:0 14px 28px rgba(22,163,74,.30), inset 0 1px 0 rgba(255,255,255,.28)!important;
}
.felipe-pwa-device-icons--large .felipe-pwa-device-icons__button{
  border:0!important;
  border-radius:10px!important;
}
.felipe-pwa-device-icons--large .felipe-pwa-device-icons__button i{
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
}


/* Felipe PWA v41.24: tamanho exato do shortcode e botões grandes da página /app */
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"]:not(.felipe-pwa-device-icons--large) .felipe-pwa-device-icons__button,
.menu-item .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"]:not(.felipe-pwa-device-icons--large) .felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"]:not(.felipe-pwa-device-icons--large) a.felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"]:not(.felipe-pwa-device-icons--large) button.felipe-pwa-device-icons__button{
  width:43px!important;
  height:43px!important;
  min-width:43px!important;
  max-width:43px!important;
  border:0px solid rgba(255,255,255,.24)!important;
  border-radius:10px!important;
  padding:0!important;
  display:inline-grid!important;
  place-items:center!important;
  line-height:0!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"]:not(.felipe-pwa-device-icons--large) .felipe-pwa-device-icons__button i{
  font-size:23px!important;
  width:1em!important;
  height:1em!important;
  display:grid!important;
  place-items:center!important;
  line-height:1!important;
  margin:0!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-app-store{
  background-color:#22c55e!important;
  background-image:linear-gradient(135deg,#86efac 0%,#22c55e 43%,#15803d 100%)!important;
  box-shadow:0 14px 28px rgba(34,197,94,.28), inset 0 1px 0 rgba(255,255,255,.30)!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(210px,1fr))!important;
  gap:14px!important;
  width:min(820px,100%)!important;
  margin-inline:auto!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large a.felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large button.felipe-pwa-device-icons__button{
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:68px!important;
  min-height:68px!important;
  border:0!important;
  border-radius:16px!important;
  padding:0 20px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:11px!important;
  line-height:1.1!important;
  white-space:nowrap!important;
  text-align:center!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button i,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button i,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button i{
  font-size:28px!important;
  flex:0 0 auto!important;
  line-height:1!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button span:not(.screen-reader-text),
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button span:not(.screen-reader-text),
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button span:not(.screen-reader-text){
  display:inline-block!important;
  max-width:100%!important;
  overflow:visible!important;
  white-space:nowrap!important;
  font-size:14px!important;
  font-weight:900!important;
  letter-spacing:-.025em!important;
  line-height:1.1!important;
}
@media(max-width:720px){
  .felipe-app-page--device-only .felipe-pwa-device-icons--large,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large{
    grid-template-columns:1fr!important;
    width:min(360px,100%)!important;
  }
  .felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button{
    height:62px!important;
    min-height:62px!important;
    justify-content:center!important;
  }
}

/* Felipe PWA - iPhone install banner clean light style */
.felipe-pwa-install-sheet{
  align-items:center!important;
  justify-content:center!important;
  padding:22px!important;
  background:rgba(15,23,42,.38)!important;
  backdrop-filter:blur(10px)!important;
  -webkit-backdrop-filter:blur(10px)!important;
}
.felipe-pwa-install-sheet .felipe-pwa-install-card{
  width:min(440px,calc(100vw - 34px))!important;
  margin:auto!important;
  padding:26px 22px 22px!important;
  border:1px solid rgba(34,197,94,.18)!important;
  border-radius:26px!important;
  background:
    radial-gradient(360px 180px at 50% -20%,rgba(34,197,94,.22),transparent 70%),
    linear-gradient(180deg,#ffffff 0%,#f7fff9 100%)!important;
  color:#0f172a!important;
  text-align:center!important;
  box-shadow:0 28px 80px rgba(15,23,42,.28), inset 0 1px 0 rgba(255,255,255,.9)!important;
  overflow:hidden!important;
  position:relative!important;
}
.felipe-pwa-install-sheet .felipe-pwa-install-card:before{
  content:'🍏'!important;
  display:grid!important;
  place-items:center!important;
  width:58px!important;
  height:58px!important;
  margin:0 auto 14px!important;
  border-radius:18px!important;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 48%,#86efac 100%)!important;
  box-shadow:0 16px 36px rgba(22,163,74,.28)!important;
  color:#fff!important;
  font-size:28px!important;
  line-height:1!important;
}
.felipe-pwa-install-sheet .felipe-pwa-install-card h3{
  margin:0 0 8px!important;
  color:#0f172a!important;
  font-size:clamp(24px,6vw,32px)!important;
  line-height:1.02!important;
  letter-spacing:-.05em!important;
  font-weight:900!important;
}
.felipe-pwa-install-sheet .felipe-pwa-install-card p{
  max-width:340px!important;
  margin:0 auto 18px!important;
  color:#475569!important;
  font-size:15.5px!important;
  line-height:1.55!important;
}
.felipe-pwa-ios-install{
  display:grid!important;
  gap:10px!important;
  margin:16px 0 18px!important;
  text-align:left!important;
}
.felipe-pwa-ios-step{
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  padding:12px!important;
  border:1px solid rgba(15,23,42,.07)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.78)!important;
  box-shadow:0 10px 26px rgba(15,23,42,.06)!important;
}
.felipe-pwa-ios-step__icon{
  width:42px!important;
  height:42px!important;
  min-width:42px!important;
  border-radius:14px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 55%,#86efac 100%)!important;
  color:#fff!important;
  box-shadow:0 12px 22px rgba(22,163,74,.22)!important;
}
.felipe-pwa-ios-step__icon i{font-size:21px!important;line-height:1!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.felipe-pwa-ios-step strong{display:block!important;color:#0f172a!important;font-size:14.5px!important;line-height:1.1!important;font-weight:900!important;letter-spacing:-.01em!important}
.felipe-pwa-ios-step em{display:block!important;margin-top:4px!important;color:#64748b!important;font-size:12.5px!important;line-height:1.25!important;font-style:normal!important}
.felipe-pwa-install-actions--center{justify-content:center!important}
.felipe-pwa-install-sheet .felipe-pwa-install-secondary{
  min-height:44px!important;
  padding:0 22px!important;
  border:0!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#22c55e 0%,#16a34a 55%,#86efac 100%)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font-weight:900!important;
  box-shadow:0 14px 30px rgba(22,163,74,.24)!important;
}
.felipe-pwa-install-sheet .felipe-pwa-install-muted{
  max-width:320px!important;
  margin:12px auto 0!important;
  color:#64748b!important;
  font-size:12.5px!important;
  line-height:1.35!important;
}
@media(max-width:520px){
  .felipe-pwa-install-sheet{padding:16px!important}
  .felipe-pwa-install-sheet .felipe-pwa-install-card{border-radius:24px!important;padding:22px 16px 18px!important}
}


/* Felipe PWA - iPhone install banner definitivo claro/intuitivo */
.felipe-pwa-install-sheet{align-items:center!important;justify-content:center!important;background:rgba(15,23,42,.34)!important;-webkit-backdrop-filter:blur(12px)!important;backdrop-filter:blur(12px)!important;}
.felipe-pwa-install-sheet .felipe-pwa-install-card{width:min(430px,calc(100vw - 28px))!important;padding:20px 16px 16px!important;border:0!important;border-radius:24px!important;background:linear-gradient(180deg,#ffffff 0%,#f6fff8 100%)!important;color:#0f172a!important;text-align:center!important;box-shadow:0 26px 80px rgba(15,23,42,.32),inset 0 1px 0 rgba(255,255,255,.96)!important;}
.felipe-pwa-install-sheet .felipe-pwa-install-card h3{color:#0f172a!important;-webkit-text-fill-color:#0f172a!important;text-shadow:none!important;opacity:1!important;}
.felipe-pwa-install-sheet .felipe-pwa-install-card p,.felipe-pwa-install-sheet .felipe-pwa-install-muted{color:#475569!important;-webkit-text-fill-color:#475569!important;text-shadow:none!important;opacity:1!important;}
.felipe-pwa-install-list{display:none!important;}


/* Felipe PWA v41.26: ícones Ph locais robustos + brilho corrigido nos botões grandes de /app */
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button{
  position:relative!important;
  overflow:hidden!important;
  isolation:isolate!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button::after,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button::after,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button::after{
  content:""!important;
  position:absolute!important;
  top:-45%!important;
  bottom:-45%!important;
  left:-55%!important;
  width:42%!important;
  z-index:0!important;
  pointer-events:none!important;
  background:linear-gradient(105deg,transparent 0%,rgba(255,255,255,.08) 20%,rgba(255,255,255,.72) 48%,rgba(255,255,255,.20) 62%,transparent 100%)!important;
  filter:blur(.2px)!important;
  transform:translateX(-135%) skewX(-18deg)!important;
  animation:felipePwaDeviceShineFixed 2.9s ease-in-out infinite!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.is-google-play::after,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.is-google-play::after,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.is-google-play::after{
  animation-delay:.12s!important;
  opacity:1!important;
}
@keyframes felipePwaDeviceShineFixed{
  0%,34%{transform:translateX(-135%) skewX(-18deg)}
  56%,100%{transform:translateX(420%) skewX(-18deg)}
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button > i,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button > span,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button > svg{
  position:relative!important;
  z-index:2!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i.ph{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}
body .felipe-app-page__chrome .ph,
body .felipe-app-device-only__chrome .ph{
  font-size:22px!important;
  color:currentColor!important;
  width:1em!important;
  height:1em!important;
}
body .felipe-app-page__brandicon{
  color:var(--fa-text)!important;
  -webkit-text-fill-color:currentColor!important;
}


/* Felipe PWA v41.27: usar Phosphor Icons real no /app sem sobrescrever ::before */
body .felipe-app-page .ph,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .ph,
body .felipe-app-page__chrome .ph,
body .felipe-app-device-only__chrome .ph{
  display:inline-block!important;
  width:1em!important;
  height:1em!important;
  line-height:1!important;
  font-family:"Phosphor"!important;
  font-style:normal!important;
  font-weight:400!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  vertical-align:-.125em!important;
}
body .felipe-app-page .ph::before,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .ph::before,
body .felipe-app-page__chrome .ph::before,
body .felipe-app-device-only__chrome .ph::before{
  display:inline-block!important;
  line-height:1!important;
  color:currentColor!important;
  -webkit-text-fill-color:currentColor!important;
  background:none!important;
  -webkit-mask:none!important;
  mask:none!important;
}
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i.ph,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button i.ph::before{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* Felipe PWA 41.26.9: Chrome Store em tom neutro e profissional. */
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-chrome-extension,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-chrome-extension:visited,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-chrome-extension:hover,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-chrome-extension:active{
  background:linear-gradient(135deg,#111827 0%,#334155 100%)!important;
  border:1px solid rgba(255,255,255,.14)!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 18px 44px rgba(15,23,42,.22),inset 0 1px 0 rgba(255,255,255,.14)!important;
}
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-chrome-extension i.ph,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-chrome-extension i.ph::before,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"] .felipe-pwa-device-icons__button.is-chrome-extension span{
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
}


/* Direitos autorais das páginas de distribuição do aplicativo. */
.fbap-copyright{position:relative;z-index:2;margin:18px auto 0;padding:0 18px;text-align:center;font-size:12px;line-height:1.5;opacity:.72;}

/* Felipe PWA 41.31: atualização controlada do Service Worker. */
.felipe-pwa-update-notice{
  position:fixed!important;
  left:50%!important;
  bottom:max(18px,env(safe-area-inset-bottom))!important;
  z-index:2147482500!important;
  transform:translateX(-50%)!important;
  display:flex!important;
  align-items:center!important;
  gap:12px!important;
  width:min(520px,calc(100vw - 28px))!important;
  box-sizing:border-box!important;
  padding:12px 14px!important;
  border:1px solid rgba(15,23,42,.10)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  color:#0f172a!important;
  box-shadow:0 20px 55px rgba(15,23,42,.22)!important;
  -webkit-backdrop-filter:blur(14px)!important;
  backdrop-filter:blur(14px)!important;
}
.felipe-pwa-update-notice__text{min-width:0!important;flex:1!important;font-size:13px!important;line-height:1.35!important;font-weight:700!important;color:#334155!important;}
.felipe-pwa-update-notice__button{
  flex:0 0 auto!important;
  min-height:40px!important;
  padding:0 16px!important;
  border:0!important;
  border-radius:12px!important;
  background:#0f172a!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  font:inherit!important;
  font-size:13px!important;
  font-weight:850!important;
  cursor:pointer!important;
}
.felipe-pwa-update-notice__button[disabled]{opacity:.62!important;cursor:wait!important;}
@media(max-width:520px){.felipe-pwa-update-notice{align-items:stretch!important;flex-direction:column!important}.felipe-pwa-update-notice__button{width:100%!important}}


/* Felipe PWA 41.32.3: alinha a grade de lojas na página /app.
   Com quatro opções, mantém três na primeira linha e centraliza a quarta abaixo. */
.felipe-app-page--device-only .felipe-pwa-device-icons--large.has-4-items > .is-chrome-extension,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-4-items > .is-chrome-extension,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-4-items > .is-chrome-extension{
  grid-column:2!important;
}
@media(max-width:720px){
  .felipe-app-page--device-only .felipe-pwa-device-icons--large.has-4-items > .is-chrome-extension,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-4-items > .is-chrome-extension,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-4-items > .is-chrome-extension{
    grid-column:1!important;
  }
}


/* Felipe PWA 41.33.1 — imagens dos botões em /app preservam 100% da proporção, sem recorte. */
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image{
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  border:0!important;
  padding:0!important;
  overflow:visible!important;
  height:auto!important;
  min-height:68px!important;
  line-height:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image::before,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image::before,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image::before,
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image::after,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image::after,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image::after{
  content:none!important;
  display:none!important;
  animation:none!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__custom-image,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__custom-image,
body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__custom-image{
  display:block!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  object-fit:contain!important;
  object-position:center center!important;
  border:0!important;
  border-radius:16px!important;
  box-shadow:none!important;
  margin:0 auto!important;
  padding:0!important;
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  clip-path:none!important;
  z-index:2!important;
}
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:hover{
  transform:translateY(-1px)!important;
  filter:brightness(1.02)!important;
}
@media(max-width:720px){
  .felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image{
    height:auto!important;
    min-height:62px!important;
  }
  .felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__custom-image,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__custom-image,
  body .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__custom-image{
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
  }
}


/* Felipe PWA 41.33.2 — evita a borda preta de foco após clique nas artes personalizadas.
   O foco de teclado continua visível com um anel discreto e acessível. */
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:focus:not(:focus-visible),
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:focus:not(:focus-visible),
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:focus:not(:focus-visible),
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:active,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:active,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:active{
  outline:none!important;
  outline-offset:0!important;
  border:0!important;
  box-shadow:none!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:focus-visible,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:focus-visible,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large .felipe-pwa-device-icons__button.has-custom-image:focus-visible{
  outline:2px solid rgba(37,99,235,.72)!important;
  outline-offset:4px!important;
  border:0!important;
  box-shadow:none!important;
}


/* Felipe PWA 41.33.3 — imagens personalizadas não herdam borda/sombra do botão Chrome Store. */
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image,
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image:link,
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image:visited,
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image:hover,
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image:focus,
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image:focus-visible,
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image:active{
  background:transparent!important;
  background-image:none!important;
  border:0!important;
  box-shadow:none!important;
  outline:0!important;
  outline-offset:0!important;
  -webkit-box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image::before,
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image::after{
  content:none!important;
  display:none!important;
  box-shadow:none!important;
  border:0!important;
}
/* Mantém indicação de foco por teclado sem desenhar aro/borda ao redor da arte. */
body .felipe-pwa-device-icons .felipe-pwa-device-icons__button.is-chrome-extension.has-custom-image:focus-visible .felipe-pwa-device-icons__custom-image{
  filter:brightness(.96)!important;
}


/* Felipe PWA 41.35.6: centraliza os destinos da /app de acordo com a quantidade realmente visível. */
.felipe-app-page--device-only .felipe-pwa-device-icons--large,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large{
  justify-content:center!important;
  justify-items:stretch!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large.has-1-items,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-1-items,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-1-items{
  grid-template-columns:minmax(210px,360px)!important;
  width:min(360px,100%)!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large.has-2-items,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-2-items,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-2-items{
  grid-template-columns:repeat(2,minmax(210px,360px))!important;
  width:min(734px,100%)!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large.has-3-items,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-3-items,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-3-items{
  grid-template-columns:repeat(3,minmax(210px,1fr))!important;
  width:min(820px,100%)!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large.has-4-items,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-4-items,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-4-items{
  grid-template-columns:repeat(4,minmax(180px,1fr))!important;
  width:min(980px,100%)!important;
}
.felipe-app-page--device-only .felipe-pwa-device-icons--large.has-0-items,
.felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-0-items,
.felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-0-items{
  display:none!important;
}
@media(max-width:720px){
  .felipe-app-page--device-only .felipe-pwa-device-icons--large.has-1-items,
  .felipe-app-page--device-only .felipe-pwa-device-icons--large.has-2-items,
  .felipe-app-page--device-only .felipe-pwa-device-icons--large.has-3-items,
  .felipe-app-page--device-only .felipe-pwa-device-icons--large.has-4-items,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-1-items,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-2-items,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-3-items,
  .felipe-app-device-only__buttons .felipe-pwa-device-icons--large.has-4-items,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-1-items,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-2-items,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-3-items,
  .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large.has-4-items{
    grid-template-columns:minmax(0,360px)!important;
    width:min(360px,100%)!important;
  }
}


/* Felipe PWA 41.35.7: centralização robusta dos botões da /app sem depender da classe de contagem. */
.felipe-app-device-only__buttons{display:flex!important;justify-content:center!important;align-items:center!important;width:100%!important}
.felipe-app-device-only__buttons>.felipe-pwa-device-icons--large{display:flex!important;flex-wrap:wrap!important;justify-content:center!important;align-items:stretch!important;gap:14px!important;width:100%!important;max-width:980px!important;margin-left:auto!important;margin-right:auto!important}
.felipe-app-device-only__buttons>.felipe-pwa-device-icons--large>.felipe-pwa-device-icons__button{flex:1 1 210px!important;width:auto!important;max-width:360px!important;margin-left:0!important;margin-right:0!important}
@media(max-width:720px){.felipe-app-device-only__buttons>.felipe-pwa-device-icons--large{max-width:360px!important}.felipe-app-device-only__buttons>.felipe-pwa-device-icons--large>.felipe-pwa-device-icons__button{flex:1 1 100%!important;max-width:360px!important}}


/* Felipe PWA 41.35.8 — /app: neutraliza a grade legada de 3 colunas e centraliza a quantidade real de lojas. */
body .felipe-app-page--device-only .felipe-app-device-only__buttons > .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large{
  display:flex!important;
  grid-template-columns:none!important;
  flex-wrap:wrap!important;
  justify-content:center!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  max-width:980px!important;
  margin-left:auto!important;
  margin-right:auto!important;
}
body .felipe-app-page--device-only .felipe-app-device-only__buttons > .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large > .felipe-pwa-device-icons__button{
  flex:0 1 300px!important;
  width:300px!important;
  max-width:min(300px,100%)!important;
  min-width:0!important;
  margin-left:0!important;
  margin-right:0!important;
}
@media(max-width:720px){
  body .felipe-app-page--device-only .felipe-app-device-only__buttons > .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large{max-width:100%!important}
  body .felipe-app-page--device-only .felipe-app-device-only__buttons > .felipe-pwa-device-icons[data-felipe-pwa-scope="device-icons"].felipe-pwa-device-icons--large > .felipe-pwa-device-icons__button{width:min(300px,100%)!important;max-width:min(300px,100%)!important}
}
