.playhub,.playhub *{box-sizing:border-box!important}
.playhub{
  --ph-orange:#f05a17;--ph-preto:#0c0d15;--ph-branco:#ffffff;
  width:100%!important;margin:0 auto!important;padding:0!important;
  font-family:Arial,Helvetica,sans-serif!important;-webkit-font-smoothing:antialiased!important;
}
.playhub.is-escuro{--ph-bg:var(--ph-preto);--ph-fg:var(--ph-branco);--ph-card:#15171f;--ph-card2:#1c1f28;--ph-muted:#a7adbd;--ph-line:rgba(255,255,255,.10);--ph-sh:0 18px 44px rgba(0,0,0,.4)}
.playhub.is-claro{--ph-bg:var(--ph-branco);--ph-fg:#14151a;--ph-card:#ffffff;--ph-card2:#f6f7f9;--ph-muted:#5b6373;--ph-line:rgba(10,12,20,.10);--ph-sh:0 14px 36px rgba(10,12,20,.10)}
.playhub{
  background:var(--ph-bg)!important;color:var(--ph-fg)!important;
  background-image:radial-gradient(1200px 520px at 50% -10%,rgba(240,90,23,.16),transparent 60%)!important;
}
.ph-wrap{width:min(1180px,calc(100% - 32px))!important;margin:0 auto!important;padding:clamp(32px,5vw,64px) 0!important}

/* Full-bleed: estoura pra largura total mesmo dentro de um container limitado.
   Usa --ph-vw (largura real da tela, sem o scrollbar) definido via JS; cai para 100vw se o JS não rodar. */
.playhub.ph-full{
  width:var(--ph-vw,100vw)!important;
  max-width:var(--ph-vw,100vw)!important;
  margin-left:calc(50% - var(--ph-vw,100vw) / 2)!important;
  margin-right:calc(50% - var(--ph-vw,100vw) / 2)!important;
}

/* ===== Cabeçalho ===== */
.ph-head{text-align:center!important;max-width:760px!important;margin:0 auto clamp(26px,4vw,44px)!important}
.ph-kicker{display:inline-flex!important;align-items:center!important;gap:8px!important;margin-bottom:16px!important;padding:7px 16px!important;border-radius:999px!important;background:linear-gradient(135deg,var(--ph-orange),#ff9a3d)!important;color:#fff!important;font-size:11px!important;font-weight:900!important;letter-spacing:1.5px!important;text-transform:uppercase!important;box-shadow:0 10px 24px rgba(240,90,23,.32)!important}
.ph-title{margin:0 0 12px!important;font-size:clamp(28px,5vw,50px)!important;font-weight:950!important;line-height:1.05!important;color:var(--ph-fg)!important}
.ph-sub{margin:0 auto!important;max-width:620px!important;font-size:clamp(14px,1.7vw,17px)!important;line-height:1.6!important;color:var(--ph-muted)!important}
.ph-badge-como{display:inline-block!important;margin-top:16px!important;padding:8px 18px!important;border-radius:999px!important;background:var(--ph-card)!important;border:1px dashed var(--ph-line)!important;font-size:12.5px!important;font-weight:800!important;color:var(--ph-fg)!important}

/* ===== Faixas de categoria ===== */
.ph-cats{display:flex!important;flex-direction:column!important;gap:18px!important}
.ph-cat{
  position:relative!important;overflow:visible!important;
  padding:clamp(20px,3vw,30px)!important;border-radius:22px!important;
  background:linear-gradient(180deg,var(--ph-card2),var(--ph-card))!important;
  border:1px solid var(--ph-line)!important;box-shadow:var(--ph-sh)!important;
}
.ph-cat:before{content:""!important;position:absolute!important;left:0!important;top:20px!important;bottom:20px!important;width:5px!important;border-radius:0 4px 4px 0!important;background:linear-gradient(180deg,var(--ph-accent),#ff9a3d)!important}
.ph-cat.is-destaque{border-color:var(--ph-accent)!important;background:linear-gradient(180deg,rgba(240,90,23,.14),var(--ph-card))!important;box-shadow:0 22px 54px rgba(240,90,23,.24)!important}

.ph-cat-head{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:14px!important;flex-wrap:wrap!important}
.ph-cat-id{display:flex!important;align-items:center!important;gap:12px!important;flex-wrap:wrap!important}
.ph-cat-nome{margin:0!important;font-size:clamp(22px,3.2vw,32px)!important;font-weight:950!important;letter-spacing:.5px!important;text-transform:uppercase!important;color:var(--ph-fg)!important}
.ph-cat-selo{padding:5px 14px!important;border-radius:999px!important;background:linear-gradient(135deg,var(--ph-accent),#ff9a3d)!important;color:#fff!important;font-size:10px!important;font-weight:950!important;letter-spacing:.5px!important;text-transform:uppercase!important;box-shadow:0 8px 18px rgba(240,90,23,.4)!important}
.ph-cat-price{display:flex!important;align-items:baseline!important;gap:7px!important}
.ph-cat-price strong{font-size:clamp(26px,3.4vw,38px)!important;font-weight:950!important;color:var(--ph-accent)!important;line-height:1!important}
.ph-cat-price em{font-style:normal!important;font-size:13px!important;font-weight:700!important;color:var(--ph-muted)!important}
.ph-cat-help{margin:8px 0 18px!important;font-size:13px!important;line-height:1.5!important;color:var(--ph-muted)!important}
.ph-cat-help b{color:var(--ph-fg)!important}

/* ===== Grade de apps (grande, auto-fill) ===== */
.ph-apps{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(118px,1fr))!important;gap:12px!important}
@media (max-width:520px){.ph-apps{grid-template-columns:repeat(auto-fill,minmax(92px,1fr))!important;gap:9px!important}}
.ph-app{
  position:relative!important;aspect-ratio:1/1!important;border-radius:14px!important;
  background:var(--tile)!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:10px!important;
  border:2px solid transparent!important;cursor:pointer!important;overflow:visible!important;
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease!important;
}
.ph-app:hover{transform:translateY(-4px) scale(1.04)!important;z-index:3!important;box-shadow:0 14px 28px rgba(0,0,0,.4)!important}
.ph-app-logo{width:100%!important;height:100%!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important;display:block!important}
.ph-app-name{font-size:clamp(10px,1.15vw,13px)!important;font-weight:900!important;line-height:1.15!important;text-align:center!important;color:var(--tileText)!important;word-break:break-word!important}
.ph-app-check{position:absolute!important;top:6px!important;right:6px!important;width:22px!important;height:22px!important;border-radius:50%!important;display:flex!important;align-items:center!important;justify-content:center!important;background:var(--ph-accent)!important;color:#fff!important;font-size:13px!important;font-weight:900!important;transform:scale(0)!important;transition:transform .2s cubic-bezier(.34,1.56,.64,1)!important;box-shadow:0 4px 10px rgba(0,0,0,.35)!important}
.ph-app.is-selected{border-color:var(--ph-accent)!important;box-shadow:0 0 0 3px rgba(240,90,23,.25),0 12px 24px rgba(240,90,23,.3)!important}
.ph-app.is-selected .ph-app-check{transform:scale(1)!important}
.ph-app-tip{position:absolute!important;left:50%!important;bottom:calc(100% + 8px)!important;transform:translateX(-50%) translateY(6px)!important;width:max-content!important;max-width:200px!important;padding:8px 11px!important;border-radius:10px!important;background:#000!important;color:#fff!important;font-size:11.5px!important;font-weight:700!important;line-height:1.35!important;text-align:center!important;opacity:0!important;pointer-events:none!important;transition:opacity .2s ease,transform .2s ease!important;z-index:6!important;box-shadow:0 12px 28px rgba(0,0,0,.5)!important}
.ph-app-tip:after{content:""!important;position:absolute!important;top:100%!important;left:50%!important;transform:translateX(-50%)!important;border:6px solid transparent!important;border-top-color:#000!important}
@media (hover:hover){.ph-app:hover .ph-app-tip{opacity:1!important;transform:translateX(-50%) translateY(0)!important}}

/* ===== Rodapé da faixa ===== */
.ph-cat-foot{display:flex!important;align-items:center!important;justify-content:space-between!important;gap:16px!important;flex-wrap:wrap!important;margin-top:18px!important;padding-top:18px!important;border-top:1px solid var(--ph-line)!important}
.ph-cat-summary{display:flex!important;align-items:baseline!important;gap:12px!important;flex-wrap:wrap!important}
.ph-side-count{font-size:13px!important;font-weight:800!important;color:var(--ph-muted)!important}
.ph-side-value{font-size:clamp(26px,3vw,34px)!important;font-weight:950!important;color:var(--ph-accent)!important;line-height:1!important}
.ph-cat-actions{display:flex!important;align-items:center!important;gap:10px!important;flex-wrap:wrap!important}
.ph-selall,.ph-clear{padding:11px 16px!important;border-radius:10px!important;border:1px solid var(--ph-line)!important;background:transparent!important;color:var(--ph-fg)!important;font-size:12.5px!important;font-weight:800!important;cursor:pointer!important;transition:background .18s ease,border-color .18s ease,color .18s ease!important}
.ph-selall:hover{border-color:var(--ph-accent)!important;color:var(--ph-accent)!important}
.ph-clear:hover{border-color:#e2231a!important;color:#ff6b6b!important}
.ph-cta{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:52px!important;padding:0 28px!important;border:0!important;border-radius:12px!important;background:linear-gradient(135deg,var(--ph-accent),#ff9a3d)!important;color:#fff!important;text-decoration:none!important;font-size:14.5px!important;font-weight:950!important;text-transform:uppercase!important;letter-spacing:.5px!important;box-shadow:0 12px 26px rgba(240,90,23,.3)!important;transition:transform .22s ease,box-shadow .22s ease!important;cursor:pointer!important;text-align:center!important}
.ph-cta:hover{transform:translateY(-3px)!important;box-shadow:0 18px 36px rgba(240,90,23,.42)!important}

@media (max-width:600px){
  .ph-cat-head{align-items:flex-start!important}
  .ph-cat-foot{flex-direction:column!important;align-items:stretch!important}
  .ph-cat-summary{justify-content:space-between!important}
  .ph-cat-actions{width:100%!important}
  .ph-selall,.ph-clear{flex:1!important;text-align:center!important}
  .ph-cta{flex:1 1 100%!important;order:-1!important;margin-bottom:2px!important}
}

/* ===== Toast ===== */
.ph-toast{position:fixed!important;left:50%!important;bottom:24px!important;transform:translateX(-50%) translateY(140%)!important;z-index:99999!important;max-width:min(420px,calc(100vw - 32px))!important;width:max-content!important;display:flex!important;gap:12px!important;align-items:flex-start!important;padding:14px 16px!important;border-radius:14px!important;background:#111318!important;color:#fff!important;box-shadow:0 20px 50px rgba(0,0,0,.55)!important;border:1px solid rgba(255,255,255,.12)!important;opacity:0!important;transition:transform .35s cubic-bezier(.34,1.4,.64,1),opacity .35s ease!important;pointer-events:none!important}
.ph-toast.is-show{transform:translateX(-50%) translateY(0)!important;opacity:1!important}
.ph-toast-ico{flex:none!important;width:34px!important;height:34px!important;border-radius:9px!important;display:flex!important;align-items:center!important;justify-content:center!important;font-size:18px!important;font-weight:900!important;background:var(--ph-orange)!important;color:#fff!important}
.ph-toast.is-remove .ph-toast-ico{background:#444!important}
.ph-toast-body{min-width:0!important}
.ph-toast-title{display:block!important;font-size:13.5px!important;font-weight:900!important;line-height:1.2!important;margin-bottom:2px!important}
.ph-toast-title b{color:var(--ph-orange)!important}
.ph-toast-desc{display:block!important;font-size:12px!important;font-weight:600!important;color:#c7cbd8!important;line-height:1.4!important}

/* ===== Reveal ===== */
.playhub.ph-js .ph-reveal{opacity:0!important;translate:0 26px!important;transition:opacity .6s ease,translate .6s ease!important}
.playhub.ph-js .ph-reveal.is-in{opacity:1!important;translate:0 0!important}
@media (prefers-reduced-motion:reduce){
  .playhub.ph-js .ph-reveal{opacity:1!important;translate:0 0!important;transition:none!important}
  .ph-app,.ph-cta{transition:none!important}
}
